Шаг "Условное ветвление"

Условное ветвление в конструкторе ботов позволяет реагировать по-разному в зависимости от того, что сделал или написал пользователь.

 

Как это можно использовать на практике:

1) Персонализация.

  • Пользователь написал город → если (true) город = "Москва" → показать прогноз погоды для Москвы, если (false) тогда → дать выбор других городов.
  • Клиент уже зарегистрирован → показать скидку, новичку → приветственный бонус.

2) Обработка разных сценариев.

  • Вводит цифру 1 → идём по одной ветке шагов бота, если 2 — по другой, и т.д.

3) Проверка данных.

  • Если номер телефона/заказа соответствует формату → сохранить, тогда → попросить ввести нормально.
  • Если возраст <18 → доступ к техподдержке закрыт.

4) Ветвление по статусу из внешнего API.

  • Если заказ = “в пути” → показать карту с курьером, тогда → вывести текущий статус.
  • Если баланс > 0 → разрешить действие, тогда → предложить пополнить.

5) Оптимизация диалога.

  • Вместо бесконечного списка кнопок бот идёт только в ту ветку, которая реально нужна пользователю.

 

Пример

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

Шаг 1: запрашиваем ввод данных у пользователя. На этом шаге клиент должен ввести свой возраст — число от 1 до 99. Для этого можем добавить проверку через регулярное выражение: ^(?:[1-9]|[1-9][0-9])$

В поле "Название временной переменной" добавим переменную age — в ней будет храниться возраст пользователя:

 

Шаг 2: добавляем шаг с условным ветвлением. В нём прописываем значение, при выполнении которого условие будет истинным (true). В нашем примере это будет переменная age больше или равно 18 (из шага 1):

Шаг 3: для каждой ветки (true и false) добавляем соответствующие шаги: если пользователь ввёл возраст больше 18, то выполняем один набор действий, если же возраст меньше 18 — то другой: