diff --git a/main.py b/main.py index 25e74e5..d7727f4 100644 --- a/main.py +++ b/main.py @@ -15,6 +15,13 @@ from src.core.config import BOT_TOKEN from src.core.database import async_session_maker from src.container import container from src.interfaces.base import IBotController +from src.handlers.admin_panel import admin_router +from src.handlers.registration_handlers import router as registration_router +from src.handlers.admin_account_handlers import router as admin_account_router +from src.handlers.redraw_handlers import router as redraw_router +from src.handlers.chat_handlers import router as chat_router +from src.handlers.admin_chat_handlers import router as admin_chat_router +from src.handlers.account_handlers import account_router # Настройка логирования logging.basicConfig( @@ -114,16 +121,8 @@ async def conduct_specific_lottery_handler(callback: CallbackQuery): @router.callback_query(F.data == "back_to_main") async def back_to_main_handler(callback: CallbackQuery): """Обработчик возврата в главное меню""" - # Имитируем команду /start - fake_message = Message( - message_id=callback.message.message_id, - date=callback.message.date, - chat=callback.message.chat, - from_user=callback.from_user - ) - async with get_controller() as controller: - await controller.handle_start(fake_message) + await controller.handle_start(callback.message) # === ЗАГЛУШКИ ДЛЯ ОСТАЛЬНЫХ CALLBACKS === @@ -145,7 +144,17 @@ async def main(): """Главная функция запуска бота""" logger.info("Запуск бота...") - # Подключаем роутер + # Подключаем роутеры в правильном порядке + # 1. Сначала специфичные роутеры + dp.include_router(admin_router) # Админ панель - самая высокая специфичность + dp.include_router(registration_router) # Регистрация + dp.include_router(admin_account_router) # Админские команды счетов + dp.include_router(admin_chat_router) # Админские команды чата + dp.include_router(redraw_router) # Повторные розыгрыши + dp.include_router(account_router) # Пользовательские счета + dp.include_router(chat_router) # Пользовательский чат (последним - ловит все сообщения) + + # 2. Основной роутер main.py dp.include_router(router) # Запускаем polling