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("draw") 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)