Перейти к содержимому

Диалоговое окно

Тип действия "Диалоговое окно" используется для отображения всплывающего окна с полями ввода для получения каких-либо данных от участника в удобном интерфейсе.

Чем полезно?

Вы можете создать действие, которое покажет диалоговое окно для заполнения какой-либо информации участником, подтверждение которого запустит другое действие для обработки этих данных.

Поведение и настройки

Диалоговые окна состоят из компонентов и могут быть запущены, используя только:

Все компоненты, доступные для добавления в диалоговое окно, описаны в статье Компоненты.

В настройках диалогового окна необходимо указать действие подтверждения, в шаблоне которого будет доступна переменная-карта modal.values, ключи которой — идентификаторы компонентов, а значения — введённые участником данные.

Ограничения

Ограничения

Диалоговые окна имеют некоторые ограничения:

  1. Диалоговое окно должно иметь хотя бы один компонент, но не более пяти компонентов.
  2. Диалоговое окно не может запускать другое диалоговое окно при подтверждении.

Пример

Например, вы хотите создать простую команду профиля участника. Для этого:

  1. Создайте новую пользовательскую команду (обратите внимание на уже существующее действие, не трогайте его пока, оно понадобится позже);

  2. Создайте новое действие с названием "Подтверждение" и выберите "Отправка сообщение" как тип действия, отметьте "Эфемерное сообщение" и вставьте следующий шаблон:

    JuniperBot Template
    {% do member.getAttribute('profile').update(modal.values.profile) %}
    Новый профиль успешно сохранён.
    {{ modal.values.profile }}
    
  3. Создайте новое действие с названием "Диалог" и сделайте следующее:

    1. Выберите "Диалоговое окно" как тип действия;

    2. Введите наименование "Обновление профиля";

    3. Установите действие "Подтверждение" как действие подтверждения диалога:

    4. Добавьте компонент Поле ввода как многострочный, заполните наименование как "Введите профиль", введите profile в идентификатор, отметьте "Требуется значение" и вставьте следующий шаблон в значение по-умолчанию:

      JuniperBot Template
      {{ member.getAttribute('profile').value }}
      
  4. В стандартном действии из первого шага убедитесь что оно типа "Отправка сообщения" и введите следующий шаблон для отображения текущего профиля:

    JuniperBot Template
    {{- (member.getAttribute('profile').value) ?: 'Нет информации' -}}
    

    Сюда же добавьте новую Кнопку с наименованием "Обновить" и любым идентификатором и выберите "Диалог" как его действие.

  5. Сохраните.

Все права зафырканы.