diff --git a/flanabot/bots/flana_bot.py b/flanabot/bots/flana_bot.py index 2b03843..3ca4fcd 100644 --- a/flanabot/bots/flana_bot.py +++ b/flanabot/bots/flana_bot.py @@ -423,26 +423,25 @@ class FlanaBot(Connect4Bot, PenaltyBot, PollBot, ScraperBot, UberEatsBot, Weathe await super()._on_new_message_raw(message, whitelist_callbacks, blacklist_callbacks) async def _on_ready(self): - await super()._on_ready() - if self._is_initialized: - return + if not self._is_initialized: + flanautils.do_every(multibot_constants.CHECK_OLD_DATABASE_MESSAGES_EVERY_SECONDS, self.check_old_database_actions) + for chat in Chat.find({ + 'platform': self.platform.value, + 'config.ubereats': {"$exists": True, "$eq": True}, + 'ubereats.cookies': {"$exists": True, "$ne": []} + }): + chat = await self.get_chat(chat.id) + chat.pull_from_database(overwrite_fields=('_id', 'config', 'ubereats')) + if ( + chat.ubereats['next_execution'] + and + (delta_time := chat.ubereats['next_execution'] - datetime.datetime.now(datetime.timezone.utc)) > datetime.timedelta() + ): + flanautils.do_later(delta_time, self.start_ubereats, chat) + else: + await self.start_ubereats(chat) - flanautils.do_every(multibot_constants.CHECK_OLD_DATABASE_MESSAGES_EVERY_SECONDS, self.check_old_database_actions) - for chat in Chat.find({ - 'platform': self.platform.value, - 'config.ubereats': {"$exists": True, "$eq": True}, - 'ubereats.cookies': {"$exists": True, "$ne": []} - }): - chat = await self.get_chat(chat.id) - chat.pull_from_database(overwrite_fields=('_id', 'config', 'ubereats')) - if ( - chat.ubereats['next_execution'] - and - (delta_time := chat.ubereats['next_execution'] - datetime.datetime.now(datetime.timezone.utc)) > datetime.timedelta() - ): - flanautils.do_later(delta_time, self.start_ubereats, chat) - else: - await self.start_ubereats(chat) + await super()._on_ready() @inline(False) async def _on_recover_message(self, message: Message): diff --git a/flanabot/bots/flana_tele_bot.py b/flanabot/bots/flana_tele_bot.py index 6c82a15..61bd987 100644 --- a/flanabot/bots/flana_tele_bot.py +++ b/flanabot/bots/flana_tele_bot.py @@ -83,10 +83,11 @@ class FlanaTeleBot(TelegramBot, FlanaBot): await super()._on_new_message_raw(message, whitelist_callbacks, blacklist_callbacks) async def _on_ready(self): - await super()._on_ready() if not self._is_initialized: await self._update_whitelist() + await super()._on_ready() + # -------------------------------------------------------- # # -------------------- PUBLIC METHODS -------------------- # # -------------------------------------------------------- # diff --git a/flanabot/bots/penalty_bot.py b/flanabot/bots/penalty_bot.py index 678b98a..2452399 100644 --- a/flanabot/bots/penalty_bot.py +++ b/flanabot/bots/penalty_bot.py @@ -122,10 +122,11 @@ class PenaltyBot(MultiBot, ABC): await self.punish(user, message, flanautils.text_to_time(await self.filter_mention_ids(message.text, message)), message) async def _on_ready(self): - await super()._on_ready() if not self._is_initialized: flanautils.do_every(constants.CHECK_PUNISHMENTS_EVERY_SECONDS, self.check_old_punishments) + await super()._on_ready() + @bot_mentioned @group @admin(send_negative=True)