Иногда нужно вывести список позиций, на которые можно кликнуть и совершить выбор (вместо кнопок). Такая возможность есть в канале Чат-виджет.

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

Чтобы добавить список, просто добавьте в сценарий блок Текст. В нём напишите что-то вроде этого:

Что вы хотите заказать?
* [фалафель]
* [морс]




Каждая позиция выбора должна быть в квадратных скобках:

[фалафель]

Список можно создать с помощью звёздочек.

Выглядеть список будет примерно так:



Далее, нам нужно обработать этот ввод.

Помните, что для бота нет разницы, каким образом к нему поступает текст.

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

Может быть несколько вариантов приёма текста.

Прием любого текста

Добавьте на этот же экран блок Интенты.

В интенте напишите:

$TEXT::choice



Таким образом, любой текст, который введёт пользователь, попадёт в $TEXT, и затем будет записан в переменную $choice.

Обратите внимание, что любой текст, введённый на этом этапе, попадёт в $choice. Даже если пользователь напишет что-то типа "не знаю" или "не надо". Однако, вы можете доработать сценарий, чтобы такого не происходило с помощью сущностей.

Прием только того, что попадает в словарь сущностей

Чтобы ограничить прием текста только вариантами из списка, вы можете перейти на вкладку Сущности, создать там словарь, занести в него названия ваших позиций, и затем использовать название словаря в блоке Интенты, например:

$products::choice

Таком образом, в переменную $choice будет записано только то, что попадёт в словарь сущностей $products.

Использование выбранного варианта

Далее, будем использовать переменную $choice для дальнейших задач.

Вывод выбора

Можем вывести её содержимое, чтобы уточнить правильность ввода:

Вы хотите выбрать $choice, верно?





Сравнение и другие операции

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



Отправка

Можем передать эту информацию одним из способов, таких как:

отправить сообщением менеджеру в вк;
отправить личным сообщением в телеграм;
отправить в группу в телеграме;
записать в гугл-таблицу;
отправить вам на вашу почту;
сделать рассылку по имейлам.
записать в базу данных.
Была ли эта статья полезна?
отменить
Спасибо!