diff options
Diffstat (limited to 'tgbot.py')
-rwxr-xr-x | tgbot.py | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -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( |