fix: подключены все роутеры, исправлена ошибка callback обработчиков
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Some checks reported errors
continuous-integration/drone/push Build encountered an error
- Подключены роутеры: admin_panel, registration, admin_account, admin_chat, redraw, account, chat - Исправлен back_to_main_handler: использует callback.message вместо fake_message - Роутеры подключены в правильном порядке (от специфичных к общим) - Все кнопки админ-панели теперь работают корректно
This commit is contained in:
29
main.py
29
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
|
||||
|
||||
Reference in New Issue
Block a user