love-bot/bot/handlers/start.py

30 lines
1.4 KiB
Python
Raw Normal View History

2025-04-28 17:21:04 +02:00
from aiogram import Router, types, F
2025-04-28 14:52:32 +02:00
from aiogram.filters import CommandStart
from bot.database.models import User as DbUser
2025-04-28 17:21:04 +02:00
from typing import Optional
import logging
from bot.keyboards.reply_keyboards import get_main_menu_keyboard
2025-04-28 18:23:48 +02:00
from bot.display_names import DISPLAY_NAMES
2025-04-28 14:52:32 +02:00
router = Router()
@router.message(CommandStart())
2025-04-28 17:21:04 +02:00
async def handle_start(message: types.Message, **kwargs):
2025-04-28 14:52:32 +02:00
"""Обработчик команды /start для аутентифицированных пользователей."""
2025-04-28 17:21:04 +02:00
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
2025-04-28 18:23:48 +02:00
username = DISPLAY_NAMES.get(user_db_obj.telegram_id, user_db_obj.username or f"Пользователь {user_db_obj.telegram_id}")
2025-04-28 14:52:32 +02:00
await message.answer(
f"Привет, {username}! ✨\n\n"
2025-04-28 17:21:04 +02:00
f"Это бот 'Кто больше любит'. Используй кнопки ниже, чтобы играть или смотреть статистику! 😉",
reply_markup=get_main_menu_keyboard()
2025-04-28 14:52:32 +02:00
)
2025-04-28 17:21:04 +02:00
# TODO: Возможно, убрать подробное описание правил из /start,
# так как теперь есть кнопки для основных действий.