"""Start and help handlers""" from aiogram import Router, F from aiogram.filters import CommandStart from aiogram.types import Message from sqlalchemy.orm import Session from app.db.database import SessionLocal from app.db.repositories import UserRepository, FamilyRepository from app.bot.keyboards import main_menu_keyboard router = Router() @router.message(CommandStart()) async def cmd_start(message: Message): """Handle /start command""" user_repo = UserRepository(SessionLocal()) # Create or update user user = user_repo.get_or_create( telegram_id=message.from_user.id, username=message.from_user.username, first_name=message.from_user.first_name, last_name=message.from_user.last_name, ) welcome_text = ( "👋 Добро пожаловать в Finance Bot!\n\n" "Я помогу вам управлять семейными финансами:\n" "💰 Отслеживать доходы и расходы\n" "👨‍👩‍👧‍👦 Управлять семейной группой\n" "📊 Видеть аналитику\n" "🎯 Ставить финансовые цели\n\n" "Выберите действие:" ) await message.answer(welcome_text, reply_markup=main_menu_keyboard()) @router.message(CommandStart()) async def cmd_help(message: Message): """Handle /help command""" help_text = ( "📚 **Справка по командам:**\n\n" "/start - Главное меню\n" "/help - Эта справка\n" "/account - Мои счета\n" "/transaction - Новая операция\n" "/budget - Управление бюджетом\n" "/analytics - Аналитика\n" "/family - Управление семьей\n" "/settings - Параметры\n" ) await message.answer(help_text) def register_start_handlers(dp): """Register start handlers""" dp.include_router(router)