"""User profile handler - auto-registers if missing.""" from aiogram import Router, F from aiogram.types import Message from aiogram.fsm.context import FSMContext from app.db.postgres import PostgresDB from app.config import USE_POSTGRES from app.logger import logger router = Router() @router.message(F.text == "\U0001f464 \u041f\u0440\u043e\u0444\u0438\u043b\u044c") async def profile(message: Message, state: FSMContext): await state.clear() user_id = message.from_user.id name = message.from_user.full_name or "\u0413\u043e\u0441\u0442\u044c" if USE_POSTGRES: user = await PostgresDB.get_user(user_id) if not user: logger.info("Auto-registering user {uid} in PG", uid=user_id) await PostgresDB.set_user(user_id, name) user = await PostgresDB.get_user(user_id) user_name = user.get("name") or user.get("full_name", "\u0413\u043e\u0441\u0442\u044c") else: from app.db.memory import get_user, set_user user = get_user(user_id) if not user: set_user(user_id, {"name": name}) user = get_user(user_id) user_name = user.get("name", "\u0413\u043e\u0441\u0442\u044c") await message.answer(f"\U0001f464 \u041f\u0440\u043e\u0444\u0438\u043b\u044c\n\n\U0001f464 \u0418\u043c\u044f: {user_name}")