Ноды и сценарии
Что такое нода
Нода — это один шаг (или команда) вашего бота. Каждая нода содержит набор блоков, которые бот выполняет последовательно сверху вниз: отправить сообщение, показать кнопки, подождать ввода, перейти к другой ноде и т.д.
Все ноды отображаются на холсте как карточки. Линии между ними — это переходы, которые происходят при нажатии кнопок или при выполнении условий.
Типы нод
Стартовая нода
Стартовая нода — единственная на весь сценарий. Это точка входа: именно с неё начинается сценарий, когда пользователь отправляет команду /start боту.
Стартовую ноду нельзя удалить. Для нее можно указать следующую за ней команду в настройках или путем перетягивания коннектора ко входу команды.
Командные ноды
Обычные ноды, к которым ведут кнопки и переходы. Каждая нода имеет:
- Название — отображается на холсте и в выпадающих списках выбора перехода.
- Команду (в дополнительных настройках) — строка вида /название, по которой пользователь может напрямую вызвать ноду в чате.
- Список блоков — контент, который бот выполнит при переходе к этой ноде.
Чтобы создать новую ноду — нажмите кнопку + на холсте или на выходной коннектор существующей ноды, чтобы сразу между ними создать связь.
Нода-триггер
Особый тип ноды, которая запускается не командой пользователя, а событием в канале или группе: вступление участника, новое сообщение, реакция и др. Подробнее — в разделе Нода-триггер.
Настройки ноды
Откройте список дополнительных настроек ноды чтобы указать:
| Настройка | Описание |
|---|---|
| Защита контента | Запрещает пересылку и сохранение сообщений из этой ноды |
| Удалить предыдущее сообщение | Бот удаляет последнее своё сообщение перед выполнением ноды |
| Без звука | Все сообщения этой ноды отправляются без уведомления |
| Фоновая команда | Запускает другую ноду в фоне параллельно с текущей (подробнее — ниже) |
Связи между нодами
Переходы (рёбра) между нодами создаются автоматически, когда вы в кнопке выбираете целевую ноду. На холсте они отображаются в виде линий.
Также переход можно задать явно через блок «Перейти к ноде» — безусловный переход без кнопок.
Цвета рёбер
Каждый тип перехода отображается своим цветом — это помогает быстро разобраться в структуре сценария:
| Цвет | Тип перехода |
|---|---|
| 🟢 Зелёный | Старт → первая команда сценария |
| 🟣 Фиолетовый | Переход по нажатию кнопки (inline или reply) |
| ⚫ Серый пунктир | Переход по умолчанию — если ни одна кнопка не нажата («Любое сообщение») |
| 🩵 Голубой | Срабатывание триггера или переход через инлайн меню (via-bot) |
| 🟩 Изумрудный | Условие выполнено (блок «Условие»), оплата выполнена (блок «Счёт») |
| 🟠 Янтарный | Ни одно условие не выполнено или ошибка / таймаут оплаты |
| 🔵 Индиго | Опрос завершён (блок «Серия опросов») |
| 🟡 Жёлтый пунктир | Фоновая команда — запуск ноды в фоновом режиме |
При клике на ребро в панели справа отображается информация о связи: откуда и куда идёт переход, и подпись (текст кнопки или метка условия). Нажмите на название команды — холст автоматически прокрутится к ней.
Счётчик посещений
Активируется путем нажатия на кнопку с графиком в верхнем левом углу холста. На каждой ноде на холсте отображается бейдж с числом — сколько раз эта нода была выполнена с момента публикации, процент выполнений из всех нод, а также сколько в среднем времени проводит пользователь на этом шаге (при условии, что это не последняя нода на схеме). Это помогает понять, какие ветки сценария наиболее популярны.
Копирование и вставка нод
Конструктор поддерживает копирование нод через системный буфер обмена — это позволяет переносить блоки между разными схемами и даже между разными ботами в разных вкладках браузера.
Горячие клавиши
| Действие | Windows / Linux | macOS |
|---|---|---|
| Копировать выделенные ноды | Ctrl + C |
Cmd + C |
| Вставить ноды | Ctrl + V |
Cmd + V |
Горячие клавиши срабатывают только когда фокус не находится в текстовом поле (например, при редактировании текста блока).
Контекстное меню (правый клик)
Щёлкните правой кнопкой мыши по ноде на холсте, чтобы открыть меню со следующими действиями:
- Копировать — скопировать ноду в буфер обмена.
- Вставить — вставить ноды из буфера в место клика.
- Дублировать — создать копию ноды внутри текущей схемы (без буфера обмена).
- Удалить — удалить ноду.
Правый клик на пустой области холста открывает меню только с пунктом Вставить.
Что переносится при вставке
| Данные | Поведение |
|---|---|
| Текст, настройки, переменные в шаблонах | Копируются без изменений |
| Связи между скопированными нодами (кнопки, переходы) | Сохраняются — ноды внутри группы по-прежнему ссылаются друг на друга |
| Связи на ноды вне скопированной группы | Очищаются (соответствующие кнопки/переходы сбрасываются в «не выбрано») |
Медиафайлы (file_id) |
Сбрасываются: при первой отправке бот заново загрузит файл в Telegram |
При вставке в схему другого бота вы увидите уведомление о том, что медиафайлы будут перезагружены при первой отправке. URL-ссылки на файлы сохраняются.
Множественное выделение
Чтобы скопировать несколько нод одновременно:
- Удерживайте
Ctrlи кликайте по нодам. - Или нарисуйте выделение мышью по пустой области холста (drag-select).
После этого нажмите Ctrl + C — все выделенные ноды попадут в буфер как одна группа.
Удаление ноды
Кликните на ноду на холсте и затем нажмите на значок удаления в настройках команды. Все входящие переходы на удалённую ноду — обрываются, но кнопки, которые на неё ссылались, остаются; просто переход становится незаполненным.
Фоновая команда
Фоновая команда — это механизм запуска другой ноды параллельно с текущей, не прерывая основной сценарий пользователя. Она выполняется в фоне через очередь задач: пользователь видит основной ответ немедленно, а фоновая нода выполняется чуть позже независимо от него.
Настраивается в дополнительных параметрах ноды (секция «Фоновая команда»):
| Параметр | Описание |
|---|---|
| Нода | Какую ноду запустить в фоне |
| Передать переменные | Передать в фоновую ноду текущие переменные пользователя |
| Отправлять сообщения | Разрешить фоновой ноде отправлять сообщения пользователю |
На холсте связь с фоновой нодой отображается жёлтым пунктиром с подписью «Фоновая команда».
Типичные сценарии применения
- Логирование / аналитика — записать данные в базу или уведомить администратора без задержки ответа пользователю.
- Обновление данных пользователя — изменить поле пользователя сразу после команды.
- Отложенные уведомления — отправить сообщение в другой чат или канал.
Использование с формой ввода
⚠️ Важно: фоновая команда, заданная в настройках ноды, запускается в момент начала выполнения ноды, то есть ещё до того, как пользователь ответит на вопрос формы. Если в фоновой ноде нужны переменные, заполняемые формой (например
{{name}}), они в этот момент ещё не будут содержать нового значения.
Правильная схема при наличии формы ввода:
- Нода с блоком «Форма ввода» — задаёт вопрос и ждёт ответа. Фоновую команду здесь не указывать.
- Пользователь отвечает → его ответ сохраняется в переменную.
- Следующая нода (та, что идёт после формы) — вот здесь указать фоновую команду. К этому моменту переменная уже содержит введённое пользователем значение и будет корректно передана в фоновую ноду.
Если форма состоит из нескольких полей подряд, фоновую команду нужно вешать только на ноду, которая выполняется после завершения последнего поля всей цепочки.
Порядок выполнения блоков
Блоки внутри ноды выполняются строго по порядку — сверху вниз. Бот отправит текст, потом изображение, потом покажет кнопки — ровно в том порядке, в котором они расположены в панели свойств.
Вы можете менять порядок блоков в ноде путем нажатия на стрелки ↑↓ в блоках
