love-bot/bot/handlers/start.py

30 lines
1.4 KiB
Python

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,
# так как теперь есть кнопки для основных действий.