summaryrefslogtreecommitdiff
path: root/telegram_bot.py
diff options
context:
space:
mode:
Diffstat (limited to 'telegram_bot.py')
-rw-r--r--telegram_bot.py59
1 files changed, 0 insertions, 59 deletions
diff --git a/telegram_bot.py b/telegram_bot.py
deleted file mode 100644
index 26d3071..0000000
--- a/telegram_bot.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
- __user_repository: UserRepository
-
- def __init__(self, user_repository: UserRepository):
- self.__user_repository = user_repository
-
- # 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.__user_repository.get_all_users():
- 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.__user_repository.remove_chat(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