Условное ветвление в конструкторе ботов позволяет реагировать по-разному в зависимости от того, что сделал или написал пользователь.
Как это можно использовать на практике:
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 — то другой: