summaryrefslogtreecommitdiff
path: root/TelegramBot.py
diff options
context:
space:
mode:
authorDmitrii Morozov <snoopdesigns@gmail.com>2024-05-07 16:50:38 +0200
committerDmitrii Morozov <snoopdesigns@gmail.com>2024-05-07 16:50:38 +0200
commitcfa79cbbaf42a8f74a2cd4bca4d1d495b4d597f1 (patch)
tree6112ceda171cda2ed8c40c53cc0a8e0766c6e008 /TelegramBot.py
parentf5c57d8e73f33ca1d7374a2662fbc7a4592eb7cd (diff)
Python code style
Diffstat (limited to 'TelegramBot.py')
-rw-r--r--TelegramBot.py59
1 files changed, 0 insertions, 59 deletions
diff --git a/TelegramBot.py b/TelegramBot.py
deleted file mode 100644
index 50db950..0000000
--- a/TelegramBot.py
+++ /dev/null
@@ -1,59 +0,0 @@
-import telebot
-import os
-import logging
-import traceback
-import sys
-from telebot.async_telebot import AsyncTeleBot
-from persistence import UserRepository
-
-class CommandHandler:
- async def handle(self, message: telebot.types.Message):
- pass
-
-class TelegramBot:
- __bot: AsyncTeleBot
- __userRepository: UserRepository
-
- def __init__(self, userRepository: UserRepository):
- self.__userRepository = userRepository
-
- # Check token in environment variables
- if "TELEBOT_BOT_TOKEN" not in os.environ:
- raise AssertionError("Please configure TELEBOT_BOT_TOKEN as environment variables")
-
- self.__bot = telebot.async_telebot.AsyncTeleBot(
- token=os.environ["TELEBOT_BOT_TOKEN"],
- exception_handler=ExceptionHandler())
-
- async def run(self):
- await self.__bot.polling()
-
- def register_command_handler(self, command: str, command_handler: CommandHandler):
- self.__bot.register_message_handler(
- command_handler.handle,
- commands=[ command ])
-
- async def send_message_to_all(self, message_text: str):
- for user in self.__userRepository.getAllUsers():
- try:
- await self.__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):
- self.__userRepository.removeChat(user[0])
-
- async def reply(self, message, message_text):
- await self.__bot.reply_to(
- message,
- message_text,
- parse_mode='MarkdownV2')
-
-class ExceptionHandler(telebot.ExceptionHandler):
- def handle(self, exception):
- logging.error('Exception happened: {}'.format(str(exception)))
- print(traceback.format_exc())
- sys.exit('Exiting with telebot exception')
- return True \ No newline at end of file