Sender Справка

Условия и ветвления

Шаг «Условие» отправляет человека по разным веткам: по ответу, метке, переменной, времени и другим признакам.

5 мин
Где в Sender: Коммуникации → Чат-боты → бот → «+» → «Условие»Открыть в Sender

Как работает шаг «Условие»

  • Добавьте шаг: «+» → «Условие». В панели — «Группы условий»: каждая группа — это ветка.
  • У ветки есть название (по умолчанию «ветка 1») и режим: «все условия» — должны выполниться все, «любое условие» — достаточно одного.
  • «Добавить условие» добавляет правило в ветку, кнопка «ветка» — ещё одну ветку. Всего — до 10 веток и до 20 условий в каждой.
  • Ветки проверяются сверху вниз, и бот идёт по первой подошедшей. Не подошла ни одна — по выходу «иначе». Ветка без условий подходит всегда.
  • На карточке ветки пронумерованы, у каждой — своя точка-выход, внизу — «иначе». Порядок веток меняют стрелками «Выше» и «Ниже».

Условие проверяется сразу и ничего не ждёт. Чтобы проверить ответ человека, поставьте условие сразу после «Сообщения» с «Ожиданием ответа».

Пример: «если ответил да»

  1. Добавьте «Сообщение» с текстом «Записать вас на завтра?» и отметьте «Ожидание ответа».
  2. От выхода «ответ» протяните стрелку к новому шагу «Условие».
  3. В ветке нажмите «Добавить условие» и выберите «Текст ответа» — «равно» — да. Назовите ветку «Да».
  4. От ветки «Да» протяните стрелку к записи, а от «иначе» — к сообщению «Хорошо, напишите, когда будет удобно».

Текст сравнивается без учёта регистра и пробелов по краям: «Да» и «да » подойдут, а «Да!» — уже нет. Поэтому для «да или нет» удобнее кнопки: у каждой своя стрелка, и условие не нужно. Нажатие кнопки тоже считается ответом — «Текст ответа» сравнит подпись кнопки.

Пример: «если есть метка»

Ветка «VIP»: «Метка» — «есть» — «VIP» → сообщение с особым предложением. Выход «иначе» → обычное предложение. Так один бот говорит с постоянными клиентами и с новичками по-разному. Как ставить метки — в статье Метки.

Какие бывают условия

ГруппаУсловия
Ответ подписчика«Текст ответа», «Вложение в ответе» (фото, видео, голосовое, стикер…), «Реакция на сообщение» (кроме МАКС)
Переменные«Переменная подписчика», «Глобальная переменная», «Поле ответа вебхука»
Профиль«Имя», «Последний контакт»; во ВКонтакте ещё «Пол», «Возраст», «Страна (номер в ВК)», «Город (номер в ВК)», «Участник сообщества», «Профиль», «Онлайн»; в Telegram — «Состоит в канале/группе Telegram»
Боты«Участие в боте», «Текущий шаг бота», «Прочтение сообщения шага» (ВКонтакте), «Переход по ссылке шага»
Подписки«Метка», «Группа подписчиков», «Рассылка» (получил, прочитал, перешёл по ссылке, ошибка отправки…)
Источник«UTM-метка», «код ссылки (ref)», «источник кода»
Время«Текущее время (МСК)», «Текущая дата», «День недели», «Дней до конца оплаченного периода»; во ВКонтакте — «Дней до дня рождения»
Прочее«Всегда»

Что с чем можно сравнивать:

  • «Текст ответа»: «равно», «не равно», «содержит», «не содержит», «регулярное выражение», «похоже на телефон», «похоже на почту», «число =», «число >», «число <», «любой ответ».
  • Переменные: «равно», «не равно», больше и меньше (>, ≥, <, ≤), «задана», «не задана», «содержит», «не содержит», «регулярное выражение». Числа сравниваются как числа.
  • «Метка» и «Группа подписчиков»: «есть», «нет», «есть хоть одна», «нет ни одной».
  • «Последний контакт»: «более N часов назад» или «менее N часов назад» — по любому контакту, только по рассылке или только по боту.
  • Источник: код ссылки и UTM-метки, с которыми человек пришёл, — удобно, чтобы пришедшим из рекламы показывать одно приветствие, а из поста — другое.

«Похоже на телефон» узнаёт российский номер из 10–11 цифр — с +7, 8 или без кода, с пробелами, скобками и дефисами. В ответе не должно быть ничего, кроме номера. «Похоже на почту» ищет в ответе адрес вида имя@домен.ru — вокруг него может быть и другой текст.

Условия, которых нет в вашем канале, в списке не показываются. Если такое условие попало в бота при переносе, проверка схемы предупредит, например: «Условие «Пол» недоступно в Telegram».

Регулярные выражения

Регулярное выражение — шаблон для сложных проверок, например «ровно шесть цифр»: ^\d{6}$. Оно есть в «Тексте ответа» и в условиях по переменным — оператор «регулярное выражение».

  • Регистр букв не важен, совпадение ищется в любом месте текста. Нужна проверка всего ответа целиком — начните образец с ^ и закончите $.
  • Образец — до 200 символов. Образцы, которые могут «зависнуть» на длинном тексте, Sender не сохранит и объяснит почему.
  • Проверяются первые 2 000 символов ответа.

В большинстве случаев хватает «содержит», «похоже на телефон» и «похоже на почту» — регулярные выражения нужны редко.

Частые вопросы

Человек ответил, а бот ушёл в «иначе»

Скорее всего, ответ не совпал буквально: «равно» требует точного текста. Попробуйте «содержит» или замените вопрос кнопками. Что написал человек, видно в «Диалогах», а по каким шагам он прошёл — в карточке подписчика: вкладка «Боты» → «Путь».

Можно ли проверить несколько признаков сразу?

Да. Добавьте в ветку несколько условий и выберите режим: «все условия» — должны совпасть все, «любое условие» — хватит одного.

Как ночью отвечать одно, а днём другое?

Ветка «Ночь» в режиме «любое условие»: «Текущее время (МСК)» — «не раньше» — 22:00 и «Текущее время (МСК)» — «не позже» — 08:00. Выход «иначе» ведёт к дневному ответу.

Не нашли ответ?Напишите нам — ответим и дополним справку.
Написать в поддержку