Условный блок
Работа условного блока — ветвление логики бота.
Пример
В процессе диалога нужно перевести подписчика на оператора. Как можно это сделать?
Шаг 1 из 3
Чтобы создать условие, нужно добавить условный блок (1) в группе сообщений.
Шаг 2 из 3
В блоке сообщений «Приветствие» сохраняем ответы в переменную и переводим в условный блок. Получаем такую схему, в условном блоке (1) срабатывает условие и далее переводит подписчика в блок сообщений (2) или (3) в зависимости от того, какой выбор он сделал.
В блоке сообщений «Приветствие» указываем ответы, которые должен выбрать подписчик. Ответы «Попасть бесплатно» и «Торт в подарок». Чтобы сохранить результат в Context переменную нужно поставить галочку «Подождать ответа». Более подробную информацию по опциям блока сообщений, читайте по ссылке.
Получаем действие от подписчика, нажатие на кнопки ответов «Попасть бесплатно» или «Торт в подарок» и переводим в условный блок, где и происходит переход.
Шаг 3 из 3
Переходим внутрь условного блока и смотрим, какое условие прописали.
В предыдущем блоке «Приветствие» сохранили ответ в переменную privet.
Прописываем условие с переходом к блоку сообщений «Имя». Выглядит оно так:
Context.privet == "Попасть бесплатно"
Где, Context.privet — переменная, в которую сохраняем ответ от подписчика. Далее ставим пробел, двойное равно, пробел и в кавычках указываем ответ, который указывали в блоке «Приветствие» Таким образом получаем выражение, по которому выполняется условие, и подписчик переходит в блок «Имя». Точно такой же порядок действий и с другим условием.
Выше рассмотрели легкий вариант. А что если нам нужно сделать двойное условие с выбором опции И / ИЛИ? Для этой задачи подойдет обычный режим условного блока
Пример. Вариант с «ИЛИ»
При условии такого выражения бот понимает, что переменные param или param2 равны соответствующим значениям. И переход пользователя бота будет в другой блок при соблюдении одного из условий.
Context.param == "Попасть бесплатно" || Context.param2 == "Хочу торт"
Пример. Вариант с «И»
При условии такого выражения бот понимает, что одна и вторая переменная param или param2 равна соответствующему значению. И переход пользователя бота будет в другой блок при соблюдении двух условий.
Context.param == "Попасть бесплатно" && Context.param2 == "Хочу торт"
Пример. Вариант с неверным значением
При условии такого выражения бот понимает, что переменные param не равна соответствующему значению. И переход пользователя бота будет в другой блок при соблюдении условия.
Context.param != "Попасть бесплатно"
После этого условия вы переводите в другой блок подписчика
Остались вопросы?
Напишите нам в техническую поддержку