"""Обработчик главного меню.""" from maxapi.dispatcher import Router from maxapi.filters import F from maxapi.types.updates.message_callback import MessageCallback from maxapi.context import BaseContext from bot.keyboards import main_menu_kb from bot.send_helper import bot_reply from database.queries.organizations import get_organization router = Router(router_id="menu") async def _main_menu_text(bot_user: dict) -> str: org_id = bot_user.get("org_id") if org_id: org = await get_organization(org_id) org_name = org["name"] if org else None else: org_name = None if org_name: return f"🏠 {org_name}\nВыберите действие:" return "🏠 Главное меню\nВыберите действие:" @router.message_callback(F.callback.payload == "main_menu") async def cb_main_menu( event: MessageCallback, context: BaseContext, bot_user: dict ) -> None: await context.set_state(None) await event.answer(notification="") text = await _main_menu_text(bot_user) await bot_reply( event, text=text, attachments=[main_menu_kb()], user_id=bot_user["max_user_id"], chat_id=event.message.recipient.chat_id if event.message else None, )