from aiogram import Router, F from aiogram.filters import CommandStart, Command from aiogram.types import Message from aiogram.fsm.context import FSMContext from database.db import async_session_maker from services.user_service import UserService router = Router() @router.message(CommandStart()) async def cmd_start(message: Message, state: FSMContext): """Обработчик команды /start""" async with async_session_maker() as session: user = await UserService.get_or_create_user( session, telegram_id=message.from_user.id, username=message.from_user.username ) if user.created_at.timestamp() > (message.date.timestamp() - 60): # Новый пользователь (создан менее минуты назад) await message.answer( f"👋 Привет, {message.from_user.first_name}!\n\n" f"Я бот для изучения английского языка. Помогу тебе:\n" f"📚 Пополнять словарный запас\n" f"✍️ Выполнять ежедневные задания\n" f"💬 Практиковать язык в диалоге\n\n" f"Основные команды:\n" f"/add [слово] - добавить слово в словарь\n" f"/vocabulary - мой словарь\n" f"/task - получить задание\n" f"/stats - статистика\n" f"/help - справка\n\n" f"Давай начнём! Отправь мне слово, которое хочешь выучить, или используй команду /add" ) else: # Существующий пользователь await message.answer( f"С возвращением, {message.from_user.first_name}! 👋\n\n" f"Готов продолжить обучение?\n" f"/vocabulary - посмотреть словарь\n" f"/task - получить задание\n" f"/stats - статистика" ) @router.message(Command("help")) async def cmd_help(message: Message): """Обработчик команды /help""" await message.answer( "📖 Справка по командам:\n\n" "Управление словарём:\n" "/add [слово] - добавить слово в словарь\n" "/vocabulary - просмотр словаря\n" "/import - импортировать слова из текста\n\n" "Обучение:\n" "/task - получить задание\n" "/practice - практика с ИИ\n\n" "Статистика:\n" "/stats - твой прогресс\n\n" "Настройки:\n" "/settings - настройки бота\n\n" "Ты также можешь просто отправить мне слово, и я предложу добавить его в словарь!" )