import os from dotenv import load_dotenv from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackQueryHandler import commands from database import connect load_dotenv() class TelegramWrapper: def __init__(self, token): self._token = token self._updater = Updater(token=token) self._dispatcher = self._updater.dispatcher self.registerCommands() self.connect_database() def registerCommands(self): for key in commands.COMMANDS: self._dispatcher.add_handler(CommandHandler(key, commands.COMMANDS[key])) self._dispatcher.add_handler(CallbackQueryHandler(commands.callback_handler)) self._dispatcher.add_handler(MessageHandler(Filters.all, commands.message_handler)) def start_polling(self): self._updater.start_polling() self._updater.idle() def connect_database(self): connect(True) if __name__ == "__main__": telegramWrapper = TelegramWrapper(os.getenv("TOKEN")) telegramWrapper.start_polling()