You've already forked Travel-Agent
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
# type: ignore
|
|
__all__ = ()
|
|
|
|
from aiogram import F, Router
|
|
from aiogram.exceptions import TelegramBadRequest
|
|
from aiogram.types import CallbackQuery
|
|
|
|
from app import messages
|
|
from app.filters.user import RegisteredCallback
|
|
from app.keyboards.profile import get
|
|
from app.models.user import User
|
|
|
|
|
|
router = Router(name="menu_callback")
|
|
|
|
|
|
@router.callback_query(F.data == "menu_profile", RegisteredCallback())
|
|
async def profile_callback(callback: CallbackQuery) -> None:
|
|
if callback.data is None or callback.message is None:
|
|
return
|
|
|
|
user = User().get_user_by_telegram_id(callback.from_user.id)
|
|
|
|
await callback.message.answer(
|
|
messages.PROFILE.format(
|
|
username=user.username,
|
|
age=user.age,
|
|
bio=user.bio if user.bio else messages.NOT_SET,
|
|
sex=user.sex.capitalize(),
|
|
country=user.country,
|
|
city=user.city,
|
|
date_joined=user.get_human_readable_datejoined(),
|
|
),
|
|
reply_markup=get(),
|
|
)
|
|
await callback.answer()
|
|
|
|
try:
|
|
await callback.message.delete()
|
|
except TelegramBadRequest:
|
|
pass
|