Гайд
- 1
«Сохранить» и «Опубликовать» — это разное
Две кнопки, две разные задачи. Их путают чаще всего.
Сохранить в редакторе справа записывает правку в черновик на холсте. Для пользователей не меняется ничего.
Опубликовать на панели над холстом выкладывает этот черновик в канал, где работает бот. Пока вы не нажали эту кнопку, живой бот отвечает по прежней версии.

Поэтому цикл всегда один и тот же: правка, Сохранить, Тест, Опубликовать.
Полезная деталь: кнопка Опубликовать гаснет, когда публиковать нечего. Бледная кнопка значит, что живой бот уже совпадает с холстом.
- 2
Проверьте бота раньше, чем это сделают люди
Нажмите Тест. Справа откроется панель, и вы говорите с ботом ровно так, как это будет делать пользователь, — ещё до подключения канала и не заходя в Telegram.

В панели есть несколько важных переключателей:
- Личный / Группа / Канал имитирует, откуда приходит сообщение. Триггеры, которые срабатывают только в группах или каналах, в режиме Личный не сработают.
- В режиме Группа появляются флажок Упоминание бота (@) и кнопка Участник вступил: она отправляет событие «человек вошёл в группу», чтобы вы проверили приветственный сценарий.
- Тест от имени запускает сессию от существующего контакта. Его профиль и сохранённые значения переменных копируются в тест, поэтому можно проверить сценарии, которые зависят от того, что бот уже знает о человеке. Смена контакта перезапускает чат.
- Обновить подтягивает свежие изменения холста и переменных в уже запущенный тест, не теряя переписку. Сессия стартует с черновика на момент нажатия Тест, поэтому после правки нажмите Сохранить, а затем Обновить.
Пройдите бота так, как это сделает незнакомый человек. Нажмите каждую кнопку, напишите что-нибудь неожиданное и поправьте то, что читается плохо, — пока этого никто не видит.
- 3
Вкладка «Логи»: что именно сделал сценарий
Рядом с вкладкой Чат есть вкладка Логи. В ней видно, что сценарий сделал в этой тестовой сессии, свежее сверху: шаг, время и запись, которую оставил движок. Нажмите на строку, и она раскроется: сценарий, блок, длительность шага, а для обращения к внешнему сервису — запрос и ответ.

Красное число на вкладке — количество шагов, которые упали. Такие строки обведены красным, а под ними стоит текст ошибки; обычно этого хватает, чтобы отличить неверный адрес от неверного ключа.
Сообщения в логах приходят от движка и всегда на английском, даже если интерфейс русский.
- 4
Первая публикация: окно «Запуск»
Если канал ещё не подключён, кнопка Опубликовать ничего не публикует. Вместо этого открывается окно Запуск: выберите, где люди будут общаться с ботом.

- Telegram спросит токен, который выдал BotFather. Вставьте его в поле Токен бота и нажмите Подключить и опубликовать — одно нажатие подключает канал и публикует сценарии.
- Веб-чат обходится без токена: вы получаете виджет для сайта и ссылку, которой можно поделиться.
- Email подключает почтовый ящик по IMAP и SMTP.
Первое развёртывание может занять несколько минут. Дальше это окно больше не появится.
- 5
Все следующие публикации
Одно нажатие на Опубликовать — и версия с холста уходит в работу.
Исключение одно: если в пространстве несколько ботов, например тестовый рядом с рабочим. Тогда сначала откроется окно Развернуть на ботов, где вы отмечаете, кому достанется эта версия. По умолчанию отмечены все, и в каждой строке видно, работает ли бот уже на этой версии.
- 6
Что на самом деле меняет публикация
Происходят две вещи.
Боты, на которые вы опубликовали, начинают работать по сценариям из этой версии. Ради этого всё и затевалось — и именно поэтому просто сохранённая правка ни на кого не влияет.
Для бота в Telegram обновляется ещё и меню команд: оно собирается из командных триггеров в опубликованных сценариях, так что запускать
/setcommandsу BotFather не нужно. Подпись рядом с командой берётся из названия сценария, который она открывает, — хороший повод называть сценарии так, как называют пункты меню.Про эту синхронизацию стоит знать три вещи:
- Она дополняет, а не заменяет. Команды, которые вы завели в BotFather руками, остаются; при совпадении имён побеждает наша.
- Она только добавляет и обновляет. Если удалить сценарий, его команда из меню не исчезнет — уберите её в BotFather.
- Она необязательная. Если Telegram отказал, публикация всё равно проходит и бот на команду отвечает; устаревает только меню.
Триггер, который не является допустимой командой Telegram (всё, кроме строчных латинских букв, цифр и подчёркиваний, до 32 символов), продолжает работать как триггер, но в меню не попадает.
- 7
Если бот не отвечает
Откройте Настройки → Логи. Выберите бота — и вы увидите все выполненные шаги, с фильтрами по полям Сценарий, Уровень, Действие и Контакт и поиском по тексту сообщения. Сначала поставьте Уровень на ERROR: часто ответ находится в одну строку.

Если логи ничего не объясняют, причина почти всегда одна из трёх:
- Изменения не опубликованы. Сохранить — не значит опубликовать. Вернитесь на холст и посмотрите, активна ли кнопка Опубликовать.
- Вы пишете не тому боту. Поиск в Telegram охотно показывает ботов с почти одинаковыми именами. Открывайте своего по точному username от BotFather.
- Ничего не совпало. Если за тот момент, когда вы написали боту, логов нет вообще, сообщение просто не попало ни в один сценарий. Откройте стартовый шаг и проверьте триггер: командный триггер срабатывает только на точную команду, а групповые — только в группах.
Когда ни одно из этого не подходит, быстрее вернуться в панель Тест: там работают те же сценарии, логи лежат в соседней вкладке, а повторять ошибку можно сколько угодно, не беспокоя живых людей.
- 8
Что дальше
В Telegram бот работает — теперь поставьте те же сценарии на сайт.
