# /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("В данный момент бот находится на техническом обслуживании.") # 1️⃣ Сценарий Б: Короткий шаблон для возврата из подмодулей MENU_TEXT = "🍀 Главное меню:\n\n" + "\n".join(dynamic_items) # 2️⃣ Сценарий А: Длинный приветственный шаблон для старта/таймаута (с исправленной грамматикой) WELCOME_TEXT = ( "🍀 Здравствуйте! Я КЛЕВЕР — ваш персональный цифровой ассистент.\n\n" "С моей помощью вы можете быстро получить доступ к нижеперечисленным корпоративным сервисам.\n\n" "👇 Пожалуйста, отправьте мне в чат цифру, соответствующую нужному пункту меню:\n\n" ) + "\n".join(dynamic_items) # Gенерируем меню один раз при импорте файла build_dynamic_menu()