68 lines
2.6 KiB
Python
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
|