Files
VK_bot/handlers/menu.py
2026-04-30 18:38:38 +03:00

68 lines
2.6 KiB
Python

from vkbottle.bot import Message
from menus.menu_config import MENUS
from menus.engine import show_menu
from services.instructions import (
send_pinpad_error,
send_terminal_instruction,
)
from keyboards.factory import back_to_main
async def handle_menu(message: Message) -> bool:
if not message.text:
return False
text = message.text.lower()
for menu_name, menu in MENUS.items():
for btn in menu["buttons"]:
if btn["title"].lower() == text:
if "goto" in btn:
if btn["goto"] == "main":
await message.answer(
"👋 Привет! Кратко опишите проблему в одном сообщении — я попробую найти инструкцию.\n"
"🔗 Полезные ссылки доступны в меню «Важные ссылки»."
)
await show_menu(message, btn["goto"])
return True
if "error" in btn:
await send_pinpad_error(
message,
str(btn["error"]),
keyboard=back_to_main(),
)
return True
if "terminal_instruction" in btn:
await send_terminal_instruction(
message,
btn["terminal_instruction"],
keyboard=back_to_main(),
)
return True
if btn.get("action") == "admins_links":
await message.answer(
"🔗 Распределение админов:\nhttps://docs.google.com/spreadsheets/d/1uLVYGyX8PzjHowpoKE8ZK6XX4NtNHbl5a153KoOpzww/",
keyboard=back_to_main(),
)
return True
if btn.get("action") == "instructions_links":
await message.answer(
"🔗 Технические инструкции:\nhttps://docs.google.com/document/d/1prGV8WdVsu2IAaqN1kuebXaQP-WNW5ySrHMMOS1TQhY/",
keyboard=back_to_main(),
)
return True
if btn.get("action") == "accounts_links":
await message.answer(
"🔗 Полный список ссылок:\nhttps://docs.google.com/spreadsheets/d/1nzah5AUJEn-0mrindXK8BtKWFIj1ac6BCTe2HSO83Oc",
keyboard=back_to_main(),
)
return True
return False