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

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

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

Чем полезно? ​

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

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

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

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

В настройках диалогового окна необходимо указать действие подтверждения, в шаблоне которого будет доступна переменная-карта 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. Сохраните.

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