feat: добавить модуль instruct — Инструкции TrueConf и почта
This commit is contained in:
+78
-78
@@ -1,79 +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енерируем меню один раз при импорте файла
|
||||
# /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()
|
||||
@@ -7,6 +7,11 @@
|
||||
|
||||
# --- Main Bot ---
|
||||
# Общее для главного бота
|
||||
INSTRUCT_MAIN_MENU_TEXT = """
|
||||
"""
|
||||
# Instructions module
|
||||
"""
|
||||
|
||||
UNKNOWN_MAIN_CMD_TEXT = (
|
||||
"⚠️ <b>Неизвестная команда.</b>\n\n"
|
||||
"Пожалуйста, используйте только цифры, соответствующие нужным пунктам меню, и отправьте выбранную цифру мне в сообщении."
|
||||
@@ -569,3 +574,28 @@ def lk_nav_text(emojis: dict) -> str:
|
||||
|
||||
def lk_years_menu(current_year: int, emojis: dict) -> str:
|
||||
return lk_years_menu(current_year, emojis)
|
||||
|
||||
def instruct_main_menu_text(emojis: dict) -> str:
|
||||
return instruct_main_menu_text_impl(emojis)
|
||||
|
||||
def _instruct_main_menu_text_impl(emojis: dict) -> str:
|
||||
return (
|
||||
f"📖 Инструкции TrueConf и почта\n\n"
|
||||
f"Выберите, по какому ПО нужна помощь:\n\n"
|
||||
f"{emojis.get('1', '1⃣')} — Приложение TrueConf\n"
|
||||
f"{emojis.get('2', '2⃣')} — Почта на мобильном устройстве\n"
|
||||
)
|
||||
|
||||
def instruct_tc_text() -> str:
|
||||
return (
|
||||
"📖 Инструкция по приложению TrueConf\n\n"
|
||||
"Для получения помощи по настройке и использованию приложения TrueConf, "
|
||||
"свяжитесь с администратором ИТ-инфраструктуры."
|
||||
)
|
||||
|
||||
def instruct_email_text() -> str:
|
||||
return (
|
||||
"📧 Инструкция по почте на мобильном устройстве\n\n"
|
||||
"Для настройки почтового приложения на вашем устройстве, "
|
||||
"свяжитесь с администратором ИТ-инфраструктуры."
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user