From 827c3ae451652d7691cfc9a44d5f1486133fecc5 Mon Sep 17 00:00:00 2001 From: Dmitrii Morozov Date: Fri, 21 Jun 2024 17:16:24 +0200 Subject: Do not try to handle messages until fortnite client is ready --- telegram_bot/commands.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'telegram_bot') diff --git a/telegram_bot/commands.py b/telegram_bot/commands.py index cba5d5f..1e3295b 100644 --- a/telegram_bot/commands.py +++ b/telegram_bot/commands.py @@ -44,8 +44,9 @@ class GetFriendsCommand(CommandHandler): self.__fortnite_client = fortnite_client async def handle(self, message: telebot.types.Message): - friends = await self.__fortnite_client.get_friends() - await self.__telegram_bot.reply(message, format_users(friends)) + if self.__fortnite_client.is_initialized(): + friends = await self.__fortnite_client.get_friends() + await self.__telegram_bot.reply(message, format_users(friends)) class GetStatsCommand(CommandHandler): @@ -58,9 +59,10 @@ class GetStatsCommand(CommandHandler): self.__fortnite_client = fortnite_client async def handle(self, message: telebot.types.Message): - friends = await self.__fortnite_client.get_friends() - stats = [await friend.fetch_stats() for friend in friends] - await self.__telegram_bot.reply(message, format_user_stats_list(stats)) + if self.__fortnite_client.is_initialized(): + friends = await self.__fortnite_client.get_friends() + stats = [await friend.fetch_stats() for friend in friends] + await self.__telegram_bot.reply(message, format_user_stats_list(stats)) class GetTodayStatsCommand(CommandHandler): @@ -74,10 +76,11 @@ class GetTodayStatsCommand(CommandHandler): self.__stats_repository = stats_repository async def handle(self, message: telebot.types.Message): - persisted_stats = self.__stats_repository.get_stats() - friends = await self.__fortnite_client.get_friends() - current_stats = [await friend.fetch_stats() for friend in friends] - await self.__telegram_bot.reply(message, format_user_stats_difference(persisted_stats, current_stats)) + if self.__fortnite_client.is_initialized(): + persisted_stats = self.__stats_repository.get_stats() + friends = await self.__fortnite_client.get_friends() + current_stats = [await friend.fetch_stats() for friend in friends] + await self.__telegram_bot.reply(message, format_user_stats_difference(persisted_stats, current_stats)) class RecordStatsCommand(CommandHandler): @@ -89,6 +92,7 @@ class RecordStatsCommand(CommandHandler): self.__stats_repository = stats_repository async def handle(self, message: telebot.types.Message): - friends = await self.__fortnite_client.get_friends() - for friend in friends: - await self.__stats_repository.put_stats(friend) \ No newline at end of file + if self.__fortnite_client.is_initialized(): + friends = await self.__fortnite_client.get_friends() + for friend in friends: + await self.__stats_repository.put_stats(friend) \ No newline at end of file -- cgit v1.2.3