Иногда нужно вывести список позиций, на которые можно кликнуть и совершить выбор (вместо кнопок). Такая возможность есть в канале Чат-виджет.
Такой вариант реализации будет работать только в чат-виджете на сайте. В других каналах список не будет выводиться корректно.
Чтобы добавить список, просто добавьте в сценарий блок Текст. В нём напишите что-то вроде этого:
Что вы хотите заказать?
* [фалафель]
* [морс]

Каждая позиция выбора должна быть в квадратных скобках:
[фалафель]
Список можно создать с помощью звёздочек.
Выглядеть список будет примерно так:

Далее, нам нужно обработать этот ввод.
Помните, что для бота нет разницы, каким образом к нему поступает текст.
Пользователь может нажать обычную кнопку, кликнуть на пункт меню, которое оформлено по примеру выше, либо пользователь может набрать текст вручную. Для бота всё это - просто введённый текст. Поэтому далее мы, как обычно, оформляем прием введённого текста.
Может быть несколько вариантов приёма текста.
Прием любого текста
Добавьте на этот же экран блок Интенты.
В интенте напишите:
$TEXT::choice

Таким образом, любой текст, который введёт пользователь, попадёт в $TEXT, и затем будет записан в переменную $choice.
Обратите внимание, что любой текст, введённый на этом этапе, попадёт в $choice. Даже если пользователь напишет что-то типа "не знаю" или "не надо". Однако, вы можете доработать сценарий, чтобы такого не происходило с помощью сущностей.
Прием только того, что попадает в словарь сущностей
Чтобы ограничить прием текста только вариантами из списка, вы можете перейти на вкладку Сущности, создать там словарь, занести в него названия ваших позиций, и затем использовать название словаря в блоке Интенты, например:
$products::choice
Таком образом, в переменную $choice будет записано только то, что попадёт в словарь сущностей $products.
Использование выбранного варианта
Далее, будем использовать переменную $choice для дальнейших задач.
Вывод выбора
Можем вывести её содержимое, чтобы уточнить правильность ввода:
Вы хотите выбрать $choice, верно?


Сравнение и другие операции
Можем сравнить её с чем-нибудь в блоке Условия, либо выполнить другую операцию в блоке Условия (например, сложить с чем-нибудь).

Отправка
Можем передать эту информацию одним из способов, таких как:
отправить сообщением менеджеру в вк;
отправить личным сообщением в телеграм;
отправить в группу в телеграме;
записать в гугл-таблицу;
отправить вам на вашу почту;
сделать рассылку по имейлам.
записать в базу данных.
Такой вариант реализации будет работать только в чат-виджете на сайте. В других каналах список не будет выводиться корректно.
Чтобы добавить список, просто добавьте в сценарий блок Текст. В нём напишите что-то вроде этого:
Что вы хотите заказать?
* [фалафель]
* [морс]

Каждая позиция выбора должна быть в квадратных скобках:
[фалафель]
Список можно создать с помощью звёздочек.
Выглядеть список будет примерно так:

Далее, нам нужно обработать этот ввод.
Помните, что для бота нет разницы, каким образом к нему поступает текст.
Пользователь может нажать обычную кнопку, кликнуть на пункт меню, которое оформлено по примеру выше, либо пользователь может набрать текст вручную. Для бота всё это - просто введённый текст. Поэтому далее мы, как обычно, оформляем прием введённого текста.
Может быть несколько вариантов приёма текста.
Прием любого текста
Добавьте на этот же экран блок Интенты.
В интенте напишите:
$TEXT::choice

Таким образом, любой текст, который введёт пользователь, попадёт в $TEXT, и затем будет записан в переменную $choice.
Обратите внимание, что любой текст, введённый на этом этапе, попадёт в $choice. Даже если пользователь напишет что-то типа "не знаю" или "не надо". Однако, вы можете доработать сценарий, чтобы такого не происходило с помощью сущностей.
Прием только того, что попадает в словарь сущностей
Чтобы ограничить прием текста только вариантами из списка, вы можете перейти на вкладку Сущности, создать там словарь, занести в него названия ваших позиций, и затем использовать название словаря в блоке Интенты, например:
$products::choice
Таком образом, в переменную $choice будет записано только то, что попадёт в словарь сущностей $products.
Использование выбранного варианта
Далее, будем использовать переменную $choice для дальнейших задач.
Вывод выбора
Можем вывести её содержимое, чтобы уточнить правильность ввода:
Вы хотите выбрать $choice, верно?


Сравнение и другие операции
Можем сравнить её с чем-нибудь в блоке Условия, либо выполнить другую операцию в блоке Условия (например, сложить с чем-нибудь).

Отправка
Можем передать эту информацию одним из способов, таких как:
отправить сообщением менеджеру в вк;
отправить личным сообщением в телеграм;
отправить в группу в телеграме;
записать в гугл-таблицу;
отправить вам на вашу почту;
сделать рассылку по имейлам.
записать в базу данных.
Опубликован в: 08 / 10 / 2019