Как выводить кликабельный список
Иногда нужно вывести список позиций, на которые можно кликнуть и совершить выбор (вместо кнопок). Такая возможность есть в канале чат-виджет.
|| Такой вариант реализации будет работать только в чат-виджете на сайте. В других каналах список не будет выводиться корректно.
- Чтобы добавить список, просто добавьте в сценарий блок Текст. В нем напишите что-то вроде этого:
Что вы хотите заказать?* [фалафель]* [морс]
- Каждая позиция выбора должна быть в квадратных скобках:
[фалафель]
- Список можно создать с помощью звездочек.
Выглядеть список будет примерно так:
- Далее, нам нужно обработать этот ввод.
Помните, что для бота нет разницы, каким образом к нему поступает текст.
Пользователь может нажать обычную кнопку, кликнуть на пункт меню, которое оформлено по примеру выше, либо пользователь может набрать текст вручную. Для бота все это — просто введенный текст. Поэтому далее мы, как обычно, оформляем прием введенного текста.
Может быть несколько вариантов приема текста.
- Прием любого текста
Добавьте на этот же экран блок Интенты.
В интенте напишите:
$TEXT::choice
Таким образом, любой текст, который введет пользователь, попадет в $TEXT
, и затем будет записан в переменную $choice
.
Обратите внимание, что любой текст, введенный на этом этапе, попадет в $choice
. Даже если пользователь напишет что-то типа «не знаю» или «не надо». Однако, вы можете доработать сценарий, чтобы такого не происходило с помощью сущностей.
- Прием только того, что попадает в словарь сущностей
Чтобы ограничить прием текста только вариантами из списка, вы можете перейти на вкладку Сущности, создать там словарь, занести в него названия ваших позиций, и затем использовать название словаря в блоке Интенты, например:
$products::choice
Таком образом, в переменную $choice будет записано только то, что попадет в словарь сущностей $products.
- Использование выбранного варианта
Далее, будем использовать переменную $choice для дальнейших задач.
- Вывод выбора
Можем вывести ее содержимое, чтобы уточнить правильность ввода:
Вы хотите выбрать $choice, верно?
- Сравнение и другие операции
Можем сравнить ее с чем-нибудь в блоке Условия, либо выполнить другую операцию в блоке Условия (например, сложить с чем-нибудь).
- Отправка
Можем передать эту информацию одним из способов, таких как:
- отправить сообщением менеджеру в вк;
- отправить личным сообщением в Telegram;
- отправить в группу в Telegram;
- записать в Google Таблицу;
- отправить вам на вашу почту;
- записать в базу данных.