Update BotAction

This commit is contained in:
AlberLC
2023-03-03 05:19:18 +01:00
parent 73ad75e8b2
commit d145f70a42
4 changed files with 12 additions and 5 deletions

View File

@@ -246,9 +246,15 @@ class FlanaBot(Connect4Bot, PenaltyBot, PollBot, ScraperBot, WeatherBot, MultiBo
@inline(False) @inline(False)
async def _on_recover_message(self, message: Message): async def _on_recover_message(self, message: Message):
if message.replied_message and message.replied_message.author.id == self.id: if message.replied_message and message.replied_message.author.id == self.id:
message_deleted_bot_action = BotAction.find_one({'action': Action.MESSAGE_DELETED.value, 'chat': message.chat.object_id, 'affected_objects': message.replied_message.object_id}) message_deleted_bot_action = BotAction.find_one({
'platform': self.platform.value,
'action': Action.MESSAGE_DELETED.value,
'chat': message.chat.object_id,
'affected_objects': message.replied_message.object_id
})
elif self.is_bot_mentioned(message): elif self.is_bot_mentioned(message):
message_deleted_bot_action = BotAction.find_one({ message_deleted_bot_action = BotAction.find_one({
'platform': self.platform.value,
'action': Action.MESSAGE_DELETED.value, 'action': Action.MESSAGE_DELETED.value,
'chat': message.chat.object_id, 'chat': message.chat.object_id,
'date': {'$gt': datetime.datetime.now(datetime.timezone.utc) - constants.RECOVERY_DELETED_MESSAGE_BEFORE} 'date': {'$gt': datetime.datetime.now(datetime.timezone.utc) - constants.RECOVERY_DELETED_MESSAGE_BEFORE}

View File

@@ -174,7 +174,7 @@ class ScraperBot(MultiBot, ABC):
message.chat.config['scraping_delete_original'] message.chat.config['scraping_delete_original']
): ):
# noinspection PyTypeChecker # noinspection PyTypeChecker
BotAction(Action.MESSAGE_DELETED, message, affected_objects=[message, *sended_media_messages]).save() BotAction(self.platform.value, Action.MESSAGE_DELETED, message, affected_objects=[message, *sended_media_messages]).save()
await self.delete_message(message) await self.delete_message(message)
return sended_media_messages return sended_media_messages

View File

@@ -40,7 +40,7 @@ class WeatherBot(MultiBot, ABC):
show_progress_state = False show_progress_state = False
elif message.chat.is_group and not self.is_bot_mentioned(message): elif message.chat.is_group and not self.is_bot_mentioned(message):
if message.chat.config['auto_weather_chart']: if message.chat.config['auto_weather_chart']:
if BotAction.find_one({'action': Action.AUTO_WEATHER_CHART.value, 'chat': message.chat.object_id, 'date': {'$gt': datetime.datetime.now(datetime.timezone.utc) - constants.AUTO_WEATHER_EVERY}}): if BotAction.find_one({'platform': self.platform.value, 'action': Action.AUTO_WEATHER_CHART.value, 'chat': message.chat.object_id, 'date': {'$gt': datetime.datetime.now(datetime.timezone.utc) - constants.AUTO_WEATHER_EVERY}}):
return return
show_progress_state = False show_progress_state = False
else: else:
@@ -161,7 +161,7 @@ class WeatherBot(MultiBot, ABC):
if bot_message and not self.is_bot_mentioned(message): if bot_message and not self.is_bot_mentioned(message):
# noinspection PyTypeChecker # noinspection PyTypeChecker
BotAction(Action.AUTO_WEATHER_CHART, message, affected_objects=[bot_message]).save() BotAction(self.platform.value, Action.AUTO_WEATHER_CHART, message, affected_objects=[bot_message]).save()
async def _on_weather_button_press(self, message: Message): async def _on_weather_button_press(self, message: Message):
await self.accept_button_event(message) await self.accept_button_event(message)

View File

@@ -4,7 +4,7 @@ import datetime
from dataclasses import dataclass, field from dataclasses import dataclass, field
from flanautils import DCMongoBase, FlanaBase from flanautils import DCMongoBase, FlanaBase
from multibot.models.user import User from multibot import Platform, User
from flanabot.models.chat import Chat from flanabot.models.chat import Chat
from flanabot.models.enums import Action from flanabot.models.enums import Action
@@ -17,6 +17,7 @@ class BotAction(DCMongoBase, FlanaBase):
unique_keys = 'message' unique_keys = 'message'
nullable_unique_keys = 'message' nullable_unique_keys = 'message'
platform: Platform = None
action: Action = None action: Action = None
message: Message = None message: Message = None
author: User = None author: User = None