2021-09-19 19:34:43 +02:00

35 lines
1020 B
Python

from .config.credentials import bot_token, app_url, port
from .config.handlers import handlers
from .handlers.handlerInterface import HandlerInterface
from telegram.ext.dispatcher import Dispatcher
from telegram.ext import Updater
class App:
updater: Updater
dispatcher: Dispatcher
def __init__(self):
self.updater = Updater(bot_token)
def run(self) -> None:
self.registerHandlers()
self.registerWebhook()
self.updater.idle()
def registerHandlers(self) -> None:
for handler in handlers:
if not isinstance(handler, HandlerInterface):
raise Exception('Invalid list of handlers provided. Handler must implement HandlerInterface')
self.updater.dispatcher.add_handler(handler.getBotHandler())
def registerWebhook(self) -> None:
self.updater.start_webhook(
listen="0.0.0.0",
port=int(port),
url_path=bot_token,
webhook_url=f'{app_url}/{bot_token}'
)