From 1e2ffe48cb470017b1d760238186dc625356ee2e Mon Sep 17 00:00:00 2001 From: Dmitrii Morozov Date: Thu, 11 Apr 2024 21:17:51 +0200 Subject: Remove user if was kicked from chat --- tgbot.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'tgbot.py') diff --git a/tgbot.py b/tgbot.py index 539a1c5..c451741 100755 --- a/tgbot.py +++ b/tgbot.py @@ -40,8 +40,12 @@ fortniteStatusWrapper = FortniteStatusNotifier(FortniteStatusObserver()) fortniteClient = FortniteClient(FortnitePresenceObserver()) @bot.message_handler(commands = ['start']) -async def startCommand(message): - userRepository.putUser(message.chat.id) +async def startCommand(message: telebot.types.Message): + if message.chat.type == 'private': + alias = message.chat.username + else: + alias = message.chat.title + userRepository.putUser(message.chat.id, alias) await reply(message, 'This chat successfully registered to receive Fortnite updates') @bot.message_handler(commands = ['status']) @@ -80,11 +84,15 @@ async def addUser(message): async def send_message_to_all(message_text: str): for user in userRepository.getAllUsers(): - await bot.send_message( - user[0], - message_text, - parse_mode='MarkdownV2' - ) + try: + await bot.send_message( + user[0], + message_text, + parse_mode='MarkdownV2' + ) + except Exception as error: + if 'bot was kicked from the group chat' in str(error): + userRepository.removeChat(user[0]) async def reply(message, message_text): await bot.reply_to( -- cgit v1.2.3