Блок «Начало диалога»
«Начало диалога» — это блок, с которого клиент попадает в воронку. Именно с него бот решает, запускать ли воронку в ответ на сообщение клиента. Когда приходит сообщение, система перебирает все активные воронки проекта и проверяет «Начало диалога» каждой: если условие совпало — запускается эта воронка, начиная с самого входа.
Если у «Начала диалога» заполнена вкладка «Текст» (текст, кнопки, файлы), он отправляется клиенту сразу при входе — «Начало диалога» работает и как триггер, и как приветствие. Пустая исходящая стрелка из «Начала диалога» означает «жди ответа клиента»: бот отправит приветствие и остановится, пока человек не напишет следующее сообщение.
Когда использовать
- Запуск воронки по команде `/start` или deep-link `https://telegram.me/bot?start=promo`
- Реакция на ключевые слова («цена», «купить», «поддержка»)
- Главная воронка «по умолчанию», которая отвечает на любое сообщение
- Разные сценарии под разные фразы — несколько воронок, у каждой своё «Начало диалога»
Настройки
Настройки «Начала диалога» собраны на двух вкладках: «Когда срабатывает» (при каком сообщении запускать) и «Текст» (что отправить при входе).
Вкладка «Когда срабатывает»:
- Конструктор условий — визуальный набор правил (переменная / оператор / значение) с логикой И / ИЛИ. Если задан — имеет приоритет над текстовым полем «Условие». По умолчанию скрыт.
- Условие — ключевые слова или фразы, на которые реагирует бот. Несколько вариантов разделяются точкой с запятой `;` или переносом строки. Запятая разделителем НЕ считается (можно писать «купи, пожалуйста» как одну фразу). Если поле пустое — воронка ловит любое сообщение (catch-all).
- Строгость совпадения — насколько точным должно быть совпадение: «Похоже (с опечатками)» (fuzzy), «Содержит слова», «Точно так» (exact), «Регулярка (regex)», «По смыслу (ИИ)». По умолчанию — «Похоже (с опечатками)».
- Сравнение — одно сравнение по данным клиента, например `cart_total >= 3000`. Формат — «переменная оператор значение»; составные выражения через `and` движок не разбирает.
- Стоп-слова (расширенные) — список через `;`: если хотя бы одно встретилось в тексте, условие не срабатывает.
- Приоритет (расширенные) — очередь проверки, по умолчанию 10: чем больше число, тем раньше блок получает сообщение.
- Отвечать один раз / Ловить только нажатия кнопок / Пропускать нажатия кнопок (расширенные) — переключатели для тонкой настройки поведения.
Вкладка «Текст»: текст, кнопки и файлы, которые отправятся клиенту при входе в воронку (формат — как в блоке «Состояние диалога»).
Как работает
При входящем сообщении движок:
- Если пришла команда `/start` (в т.ч. `/start payload` или `/start@bot`) — всегда сбрасывает текущее состояние клиента и запускает воронку заново, даже если человек завис на предыдущем шаге.
- Перебирает активные воронки и проверяет «Начало диалога» каждой. Логика совпадения:
- есть визуальный конструктор условий → вычисляется он; - иначе есть ключевые слова → текст клиента проверяется по выбранному режиму («Точно так» — точное равенство; «Регулярка» — по выражению; «Похоже» и «Содержит слова» работают как «текст содержит подстроку»); - оба пустые → 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.