Блок «Старт / Стартовое условие»
Стартовое условие — это точка входа в воронку. Именно с него бот решает, запускать ли flow в ответ на сообщение клиента. Когда приходит сообщение, система перебирает все активные воронки проекта и проверяет start-блок каждой: если условие совпало — запускается эта воронка, начиная с самого старт-блока.
Если у старт-блока заполнено поле «Сообщение» (текст, кнопки, вложения), оно отправляется клиенту сразу при входе — старт-блок работает и как триггер, и как приветствие. Пустая исходящая стрелка из старт-блока означает «жди ответа клиента»: бот отправит приветствие и остановится, пока человек не напишет следующее сообщение.
Когда использовать
- Запуск воронки по команде `/start` или deep-link `https://telegram.me/bot?start=promo`
- Реакция на ключевые слова («цена», «купить», «поддержка»)
- Главная воронка «по умолчанию», которая отвечает на любое сообщение
- Разные сценарии под разные фразы — несколько воронок, у каждой свой start-блок
Настройки
Настройки старт-блока собраны на двух вкладках: «Условие» (когда запускать) и «Сообщение» (что отправить при входе).
Вкладка «Условие»:
- Конструктор условий — визуальный набор правил (переменная / оператор / значение) с логикой И / ИЛИ. Если задан — имеет приоритет над текстовым полем «Условие». По умолчанию скрыт.
- Условие — ключевые слова или фразы, на которые реагирует бот. Несколько вариантов разделяются точкой с запятой `;` или переносом строки. Запятая разделителем НЕ считается (можно писать «купи, пожалуйста» как одну фразу). Если поле пустое — воронка ловит любое сообщение (catch-all).
- Выбор соответствия — насколько точным должно быть совпадение: «Игнорируя ошибки» (fuzzy), «По наличию ключевых слов», «Полное совпадение» (exact), «Регулярное выражение» (regex), «Сравнение по смыслу» (semantic). По умолчанию — fuzzy.
- Переменная — выражение на переменных, например `platform_id > 0 and current_time > '11:00'`.
- Строки, на которые не отвечать (расширенные) — стоп-слова через `;`: если хотя бы одно встретилось в тексте, условие не срабатывает.
- Приоритет (расширенные) — число, по умолчанию 10. Подсказка предлагает повышать его, чтобы блок срабатывал раньше других.
- Отвечать один раз / Срабатывать только на Callback / Не срабатывать на Callback (расширенные) — переключатели для тонкой настройки поведения.
Вкладка «Сообщение»: текст, кнопки и вложения, которые отправятся клиенту при входе в воронку (формат — как в блоке «Сообщение»).
Как работает
При входящем сообщении движок:
- Если пришла команда `/start` (в т.ч. `/start payload` или `/start@bot`) — всегда сбрасывает текущее состояние клиента и запускает воронку заново, даже если человек завис на предыдущем шаге.
- Перебирает активные воронки и проверяет start-блок каждой. Логика совпадения:
- есть визуальный конструктор условий → вычисляется он; - иначе есть ключевые слова → текст клиента проверяется по выбранному режиму (exact — точное равенство; regex — по выражению; fuzzy и «по наличию слов» работают как «текст содержит подстроку»); - оба пустые → catch-all (любое сообщение).
- Берётся первая воронка с явным совпадением по условию. Воронки-«ловушки» без условий откладываются как запасной вариант: если ни одно условие не совпало, запускается воронка по умолчанию (is_default) или первая catch-all.
- При `/start` с параметром бот разбирает payload и пишет переменные клиента: формат `utm_source=fb&utm_campaign=promo` сохраняется как отдельные переменные (`utm_source`, `utm_campaign` и т.д.), а простой код `ref_mycode` — в переменную `start_ref` (только при первом входе).
- Запускается старт-блок: выполняется встроенный калькулятор (если есть) и отправляется сообщение блока. Дальше движок идёт по исходящей стрелке к следующему блоку.
Важно: фактический выбор воронки опирается только на «Условие» / ключевые слова, режим соответствия, конструктор условий и стоп-слова. Поля «Приоритет», «Отвечать один раз» и переключатели Callback в самом отборе стартовой воронки не участвуют — при нескольких совпадениях берётся первая подходящая воронка.
Пример
Нужно, чтобы по слову «цена» запускалась воронка с прайсом:
- В поле «Условие» пишем: `цена; стоимость; сколько стоит`
- «Выбор соответствия» — «По наличию ключевых слов»
- На вкладке «Сообщение» добавляем текст «Вот наши тарифы» и кнопки с планами
Параллельно держим вторую воронку с пустым условием — она поймает все остальные сообщения и отправит главное меню.
Частые ошибки
- Несколько ключевых слов через запятую. Разделитель — только `;` или перенос строки. `цена, стоимость` будет воспринято как одна длинная фраза, а не два слова.
- Старт-блок без текста «молчит». Если поле «Сообщение» пустое, клиент напишет `/start` и не получит ответа. Заполните вкладку «Сообщение» либо ведите стрелкой в блок «Сообщение».
- Несколько воронок ловят всё. Воронка с пустым условием перехватывает любое сообщение. Если таких несколько — сработает воронка по умолчанию или первая попавшаяся; задавайте конкретные ключевые слова, чтобы избежать конфликтов.
- Невалидное регулярное выражение. В режиме regex битое выражение даёт «нет совпадения» — редактор подсветит ошибку прямо в поле.
- Instagram. Комментарий к посту/Reels не открывает 24-часовое окно диалога — бот сможет ответить только после сообщения в Direct.