Блок "Условие"

Блок "условие" дает возможность делить сценарий на несколько веток и отправлять пользователя по нужной ветке, в зависимости от соблюдения или несоблюдения условия.

  1. Пользователь бота доходит до блока "условие".

  2. В этом блоке происходит проверка пользователя по заданным условиям

    Проверка происходит в автоматическом режиме, пользователь бота никах не участвует в проверке и эта проверка никак не отображается в сообщениях от бота.

  3. При соблюдении условия (или нескольких условий), указанного в настройках блока, пользователь направляется по ветке "да".

  4. При несоблюдении условия/условий - пользователь направляется по ветке "нет".

В списке "выбор условия" Вы выбираете необходимое условие, по которому будет осуществляться проверка.

Чтобы добавить условие используем кнопку "+ добавить условие" в настройках блока.

Вы можете выбрать сразу несколько условий для проверки (фильтрации пользователей). При выборе нескольких условий появляется дополнительное поле "способ проверки условий": 1." Выполняются все условия одновременно" - при таком выборе, клиента направит по ветке "да", если выполнены абсолютно все выбранные условия. Если хотя бы одно условие не выполняется, клиента направит по ветке "нет". 2. "Выполняется хотя бы одно из условий" - в таком случае клиента направит по ветке "да", если хотя бы одно из выбранных условий выполняется. И направит по ветке "нет" - если ни одно из выбранных условий не выполняется.

Список доступных условий: 1. Контакт содержит теги - идет проверка по наличию у пользователя бота выбранного тега (тегов). Если пользователь бота помечен выбранным тегом (тегами) - его направляет по ветке "да", если не помечен - по ветке "нет". Тег добавляется при нажатии на кнопку "+добавить". Интересный пример использования условия по тегам рассмотрен подробно в видео к данному разделу обучения (с 1 мин 20 сек).

Доработка:

Теперь контакт может сравниваться с глобальной переменной (константой). На данный момент в конструкторе доступны две константы: name и phone. Обозначается константа просто в фигурные скобочки {{ }} , без знака $. Для того, чтобы подставить константу с именем, нужно ввести {{name}} , а с телефоном - {{phone}}.

2. Контакт не содержит теги - данное условие противоположно условию из п.1. Идет проверка по отсутствию у пользователя бота выбранного тега (тегов). Если пользователь бота не помечен выбранным тегом (тегами) - его направляет по ветке "да", если помечен - по ветке "нет". 3. Сообщение содержит текст Идет проверка по наличию в сообщении от пользователя текста, который указан в настройках блока. Например: Мы просим клиента задать свой вопрос. Пользователь написал нам: "Какой у вас адрес?" В блоке условие проверяется, содержит ли вопрос от клиента слово "адрес".? Если содержит - пользователя отправляет по ветке "да" Если не содержит - пользователя отправляет по ветке "нет". Т.е. в данном условии пользователь может написать любой, довольно длинный вопрос. Бот проверяет, есть ли в этом длинном вопросе заданное слово (или фраза). Бот не чувствителен к регистру: Если в настройках написано: "адрес", а пользователь написал: "Адрес" или "адРЕС", бот будет считать это за совпадение и пропустит по ветке "да".

4. Сообщение совпадает с текстом При данном условии, в отличии от условия из п.3 - текст, который Вы задали в настройках блока и текст, который пользователь отправляет боту должны быть одинаковы и равны по количеству слов. Например: Если в настройках блока Вы задали слово "Иван", и просите пользователя ввести свое имя, то пользователь должен написать только одно слово "Иван" (или "иван", "ИвАН" - бот не чувствителен к регистру), чтобы его направило по ветке "да". Если пользователь напишет "Иван Иванов" - его отправит по ветке "нет". 5. Текущая дата совпадает с установленной датой Бот берет сегодняшнюю дату (дату, когда пользователь пользуется ботом) и сравнивает ее с датой, установленной вами в настройках. Операторы сравнения дат: все стандартные, из школьной алгебры != (это оператор значит "не равны")

6. Текущее время совпадает с установленным временем Аналогично дате Интересный пример использования условия по времени рассмотрен подробно в видео, которое размещено в самом начале статьи (с 5 мин 15 сек) 7. Текущий день недели, совпадает с установленными днями Здесь без комментариев, все интуитивно понятно 8. Сообщение совпадает с установленным числом Просим пользователя отправить нам число и введенное пользователем число сравнивается с установленным в настройках 9. Переменная совпадает с установленным выражением В поле "переменная" выбирается имя переменной, в которую мы записали ответ от пользователя бота. Эта переменная сравнивается с числом (введенным в поле "выражение").

Блоки "условие" можно группировать в большие схемы. Т.е. после одного блока и перенаправления по одной из веток сценария, ставить еще один блок "условие" и сегментировать пользователей бота по другим параметрам, создавая умные и интересные цепочки

Last updated