feature/chat-system #1

Merged
trevor merged 11 commits from feature/chat-system into master 2025-11-17 00:32:48 +00:00
38 changed files with 5893 additions and 1051 deletions
Showing only changes of commit 3d7338b3ed - Show all commits

29
main.py
View File

@@ -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