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