772d3d5b83
It's version 0.3.0
34 lines
1.2 KiB
Python
34 lines
1.2 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("example_addon")
|
|
self.addons.load("id")
|
|
self.addons.load("send_message")
|
|
self.addons.load("poll")
|
|
self.addons.load("hello")
|
|
|
|
async def start(self):
|
|
"""Запуск бота"""
|
|
self.setup_handlers()
|
|
await self.dp.start_polling(self.bot) |