Files
myfirstprogram/bot/core.py
T

41 lines
1.4 KiB
Python

from aiogram import Bot, Dispatcher
from config import Config
from models.state import BotState
from addons.manager import AddonManager
class TelegramBot:
def __init__(self):
self.bot = Bot(token=Config.API_TOKEN)
self.dp = Dispatcher()
self.state = BotState()
self.addons = AddonManager(self.dp, self.state, self.bot)
def setup_handlers(self):
"""Регистрация всех обработчиков"""
from handlers import admin, schedule # , media, common
# Регистрируем обработчики из разных модулей
admin.register_handlers(self.dp, self.state, self.bot)
# schedule.register_handlers(self.dp, self.state)
# media.register_handlers(self.dp, self.state, self.bot)
# common.register_handlers(self.dp, self.state, self.bot)
# add addons
self.addons.load("download_mp3_to_youtube")
self.addons.load("id")
self.addons.load("send_message")
self.addons.load("poll")
self.addons.load("hello")
self.addons.load("weather")
self.addons.load("gpt")
self.addons.load("rule34")
# self.addons.load("todo")
self.addons.load("miniapps")
self.addons.load("x_days_to")
async def start(self):
"""Запуск бота"""
self.setup_handlers()
await self.dp.start_polling(self.bot)