EnotPRO Logo EnotPRO

Меню

Меню — это интерактивная клавиатура с кнопками, которая позволяет пользователям взаимодействовать с ботом без необходимости вводить команды. Меню могут быть многоуровневыми: один раздел ведёт к другому.

💡 Совет: Используйте меню для навигации, выбора действий, фильтрации и любых сценариев, где пользователю нужно выбрать вариант из списка.

Создание меню

  1. Перейдите в раздел /admМеню
  2. Нажмите кнопку «Добавить»
  3. Заполните настройки меню (см. ниже)
  4. Добавляйте разделы и кнопки
  5. Сохраните меню

Настройки меню (глобальные)

Эти настройки применяются ко всему меню и всем его разделам.

Параметр Описание
Название Техническое название меню (видно только администраторам)
Условия открытия меню Условия, при которых меню доступно пользователю. Если условия не выполнены — меню не отправится
Кнопки навигации Настройка кнопок навигации (см. раздел ниже)
Web-Preview Настройка превью ссылок для всего меню
Удалить Безвозвратное удаление меню

⚠️ Важно: Условия открытия меню применяются как к главному разделу, так и ко всем дочерним подразделам.

Разделы меню

Меню состоит из разделов. Каждый раздел — это отдельный экран с набором кнопок. Разделы могут быть вложенными (до 10 уровней).

Добавление раздела

  1. Внутри меню нажмите «Добавить раздел»
  2. Заполните настройки раздела

Настройки раздела

Параметр Описание
Условия открытия раздела Условия, при которых раздел доступен. Применяются только к этому разделу
Кнопки навигации Настройка кнопок навигации для этого раздела (переопределяют глобальные)
Web-Preview Настройка превью ссылок для этого раздела (переопределяет глобальные)

Редактирование раздела

Чтобы отредактировать существующий раздел, нажмите на его название в дереве меню.

Кнопки навигации

Кнопки навигации отображаются внизу каждого сообщения с меню и позволяют пользователю перемещаться между разделами.

Доступные кнопки

Кнопка Действие
Назад Возврат к предыдущему разделу
Домой Переход в корневой (главный) раздел
Скрыть Закрыть меню (удалить клавиатуру)
Обновить Перезагрузить текущий раздел (обновить кнопки)
Открыть Развернуть скрытое меню
Кнопка 1–5 Пользовательские кнопки навигации (можно настроить свои действия)

Настройка

Параметр Описание
Кнопки в один ряд Если включено — все кнопки навигации отображаются в одной строке (горизонтально). Если выключено — каждая кнопка на новой строке (вертикально)

💡 Совет: Для мобильных устройств рекомендуется использовать вертикальное расположение (режим «Кнопки в один ряд» выключен).

Web-Preview (предпросмотр ссылок)

Настройка отображения превью ссылок в сообщениях меню.

Параметр Описание
Включено Включить/выключить отображение превью ссылок
Ссылка Конкретная ссылка, превью которой нужно показать (если не указана — берётся первая ссылка в тексте)
Расположение Сверху — превью над текстом, Снизу — превью под текстом
Размер Большое медиа — стандартный размер, Маленькое медиа — компактный размер

Значения (Callback Data)

Каждая кнопка в меню может передавать до 5 значений (параметров). Эти значения будут доступны в обработчике нажатия кнопки через переменную ${menu.args1.N}, где N — номер значения от 1 до 5.

Настройка значений

Параметр Описание
1–5 значение Поля для ввода значений. Поддерживаются: строка, число, дробное число, логическое значение
Наследуемые значения Если включено — значения автоматически передаются во все дочерние разделы и обратно при навигации

Типы значений

Тип Пример Описание
Строка delete_user До 8 печатных ASCII символов
Число 42 Целое число (int64)
Дробное число 10.5 Число с плавающей точкой (float64)
Логическое true / false Булево значение

⚠️ Важно: По умолчанию значения хранятся только в рамках одного раздела. При переходе между разделами они сбрасываются. Включите «Наследуемые значения», чтобы передавать их дальше.

Использование значений

В обработчике кнопки значения доступны через переменные:

* ${menu.args1.1}   # Первое значение
* ${menu.args1.2}   # Второе значение
* ${menu.args1.3}   # Третье значение
* ${menu.args1.4}   # Четвёртое значение
* ${menu.args1.5}   # Пятое значение

Пример: Кнопка с значениями:

  • Значение 1: delete
  • Значение 2: ${user.id}

В обработчике:

Действие: ${menu.args1.1}   # "delete"
ID пользователя: ${menu.args1.2}   # 123456789

Добавление кнопок

Типы кнопок

Тип Описание
Callback Кнопка-действие. При нажатии отправляет callback-запрос боту. Может запускать триггеры и реакции
URL Кнопка-ссылка. Открывает указанный URL. Не может запускать триггеры

Параметры кнопки

Параметр Тип Описание
Текст Строка Текст, отображаемый на кнопке (максимум 64 символа)
Файл Медиа Иконка кнопки (опционально)
alert Строка Текст всплывающего уведомления с подтверждением (требует нажатия «OK»)
notification Строка Текст уведомления (показывается и исчезает, без подтверждения)
Сортировка Число Порядок отображения кнопок в разделе (меньше число — выше в списке)
Триггер Выбор Триггер, который запускается при нажатии (для типа Callback)

Разница между alert и notification

Тип Отображение Требует подтверждения
alert Всплывающее окно ✅ Да (нужно нажать «OK»)
notification Уведомление сверху ❌ Нет (исчезает через пару секунд)

💡 Совет: Используйте alert для важных подтверждений (например, «Удалить профиль?»). Используйте notification для информационных сообщений («Данные сохранены»).

Пример структуры меню

Главное меню
├── Профиль (раздел)
│   ├── Посмотреть профиль (кнопка → триггер)
│   └── Редактировать профиль (кнопка → раздел "Редактирование")
├── Магазин (раздел)
│   ├── Товар 1 (кнопка → триггер с значениями: товар_1, 100)
│   ├── Товар 2 (кнопка → триггер с значениями: товар_2, 200)
│   └── Корзина (кнопка → раздел "Корзина")
└── Помощь (кнопка → триггер отправки сообщения)

🔗 Связанные разделы

© 2025 EnotPRO. Все права защищены.