from aiogram import Router, types, F from aiogram.filters import CommandStart from bot.database.models import User as DbUser from typing import Optional import logging from bot.keyboards.reply_keyboards import get_main_menu_keyboard from bot.display_names import DISPLAY_NAMES router = Router() @router.message(CommandStart()) async def handle_start(message: types.Message, **kwargs): """Обработчик команды /start для аутентифицированных пользователей.""" user_db_obj: Optional[DbUser] = kwargs.get('user_db_obj') if not user_db_obj: logging.error(f"Error in handle_start: user_db_obj not found in kwargs for user {message.from_user.id}") await message.answer("Произошла ошибка при получении ваших данных.") return username = DISPLAY_NAMES.get(user_db_obj.telegram_id, user_db_obj.username or f"Пользователь {user_db_obj.telegram_id}") await message.answer( f"Привет, {username}! ✨\n\n" f"Это бот 'Кто больше любит'. Используй кнопки ниже, чтобы играть или смотреть статистику! 😉", reply_markup=get_main_menu_keyboard() ) # TODO: Возможно, убрать подробное описание правил из /start, # так как теперь есть кнопки для основных действий.