from aiogram import Router, F from aiogram.filters import Command from aiogram.types import Message from keyboards.main_menu import get_main_menu from services.api_client import api_client router = Router() @router.message(Command("unlink")) async def cmd_unlink(message: Message): """Handle /unlink command to disconnect Telegram account.""" user = await api_client.get_user_by_telegram_id(message.from_user.id) if not user: await message.answer( "Твой аккаунт не привязан к Game Marathon.\n" "Привяжи его через настройки профиля на сайте.", reply_markup=get_main_menu() ) return result = await api_client.unlink_telegram(message.from_user.id) if result.get("success"): await message.answer( "Аккаунт отвязан\n\n" "Ты больше не будешь получать уведомления.\n" "Чтобы привязать аккаунт снова, используй кнопку в настройках профиля на сайте.", reply_markup=get_main_menu() ) else: await message.answer( "Произошла ошибка при отвязке аккаунта.\n" "Попробуй позже или обратись к администратору.", reply_markup=get_main_menu() ) @router.message(Command("status")) async def cmd_status(message: Message): """Check account link status.""" user = await api_client.get_user_by_telegram_id(message.from_user.id) if user: await message.answer( f"Статус аккаунта\n\n" f"✅ Аккаунт привязан\n" f"👤 Никнейм: {user.get('nickname', 'N/A')}\n" f"🆔 ID: {user.get('id', 'N/A')}", reply_markup=get_main_menu() ) else: await message.answer( "Статус аккаунта\n\n" "❌ Аккаунт не привязан\n\n" "Привяжи его через настройки профиля на сайте.", reply_markup=get_main_menu() )