61 lines
2.3 KiB
Python
61 lines
2.3 KiB
Python
|
|
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(
|
|||
|
|
"<b>Аккаунт отвязан</b>\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"<b>Статус аккаунта</b>\n\n"
|
|||
|
|
f"✅ Аккаунт привязан\n"
|
|||
|
|
f"👤 Никнейм: <b>{user.get('nickname', 'N/A')}</b>\n"
|
|||
|
|
f"🆔 ID: {user.get('id', 'N/A')}",
|
|||
|
|
reply_markup=get_main_menu()
|
|||
|
|
)
|
|||
|
|
else:
|
|||
|
|
await message.answer(
|
|||
|
|
"<b>Статус аккаунта</b>\n\n"
|
|||
|
|
"❌ Аккаунт не привязан\n\n"
|
|||
|
|
"Привяжи его через настройки профиля на сайте.",
|
|||
|
|
reply_markup=get_main_menu()
|
|||
|
|
)
|