Initial commit: TrueConf Chatbot КЛЕВЕР
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# /opt/trueconf_bot/utils/menu.py
|
||||
import config.config as config
|
||||
|
||||
MENU_MAP = {}
|
||||
MENU_TEXT = ""
|
||||
WELCOME_TEXT = "" # 💡 Добавили шаблон для развернутого приветствия
|
||||
|
||||
def build_dynamic_menu():
|
||||
global MENU_MAP, MENU_TEXT, WELCOME_TEXT
|
||||
MENU_MAP.clear()
|
||||
|
||||
# Старый формат keycap-цифр (как в VK)
|
||||
emoji_digits = {
|
||||
1: "1⃣",
|
||||
2: "2⃣",
|
||||
3: "3⃣",
|
||||
4: "4⃣",
|
||||
5: "5⃣",
|
||||
6: "6⃣",
|
||||
7: "7⃣",
|
||||
8: "8⃣",
|
||||
9: "9⃣",
|
||||
10: "🔟",
|
||||
}
|
||||
|
||||
dynamic_items = []
|
||||
counter = 1
|
||||
|
||||
# Безопасно проверяем флаги из конфига и наполняем массив пунктов
|
||||
if getattr(config, 'ENABLE_LK', True):
|
||||
num_char = emoji_digits.get(counter, str(counter))
|
||||
MENU_MAP[str(counter)] = "LK"
|
||||
MENU_MAP[num_char] = "LK"
|
||||
dynamic_items.append(f"{num_char} — 👤 Личный кабинет")
|
||||
counter += 1
|
||||
|
||||
if getattr(config, 'ENABLE_TRANSCRIPTION', True):
|
||||
num_char = emoji_digits.get(counter, str(counter))
|
||||
MENU_MAP[str(counter)] = "TRANSCRIPTION"
|
||||
MENU_MAP[num_char] = "TRANSCRIPTION"
|
||||
dynamic_items.append(f"{num_char} — 🎙 Расшифровка совещаний")
|
||||
counter += 1
|
||||
|
||||
if getattr(config, 'ENABLE_SERVICE_DESK', True):
|
||||
num_char = emoji_digits.get(counter, str(counter))
|
||||
MENU_MAP[str(counter)] = "SD"
|
||||
MENU_MAP[num_char] = "SD"
|
||||
dynamic_items.append(f"{num_char} — 🎫 Создать заявку в Service Desk")
|
||||
counter += 1
|
||||
|
||||
if getattr(config, 'ENABLE_PHOTO_BOT', True):
|
||||
num_char = emoji_digits.get(counter, str(counter))
|
||||
MENU_MAP[str(counter)] = "PHOTO"
|
||||
MENU_MAP[num_char] = "PHOTO"
|
||||
dynamic_items.append(f"{num_char} — Изменить фото профиля")
|
||||
counter += 1
|
||||
|
||||
if getattr(config, 'ENABLE_SEARCH_BOT', True):
|
||||
num_char = emoji_digits.get(counter, str(counter))
|
||||
MENU_MAP[str(counter)] = "SEARCH"
|
||||
MENU_MAP[num_char] = "SEARCH"
|
||||
dynamic_items.append(f"{num_char} — Поиск по регламентам")
|
||||
counter += 1
|
||||
|
||||
if counter == 1:
|
||||
dynamic_items.append("<i>В данный момент бот находится на техническом обслуживании.</i>")
|
||||
|
||||
# 1️⃣ Сценарий Б: Короткий шаблон для возврата из подмодулей
|
||||
MENU_TEXT = "🍀 <b>Главное меню:</b>\n\n" + "\n".join(dynamic_items)
|
||||
|
||||
# 2️⃣ Сценарий А: Длинный приветственный шаблон для старта/таймаута (с исправленной грамматикой)
|
||||
WELCOME_TEXT = (
|
||||
"🍀 <b>Здравствуйте! Я КЛЕВЕР — ваш персональный цифровой ассистент.</b>\n\n"
|
||||
"С моей помощью вы можете быстро получить доступ к нижеперечисленным корпоративным сервисам.\n\n"
|
||||
"👇 Пожалуйста, отправьте мне в чат цифру, соответствующую нужному пункту меню:\n\n"
|
||||
) + "\n".join(dynamic_items)
|
||||
|
||||
# Gенерируем меню один раз при импорте файла
|
||||
build_dynamic_menu()
|
||||
Reference in New Issue
Block a user