База знаний GetMyBot

Связи реакций

Как реакции вызывают друг друга: 12 механизмов связей, входящие и исходящие переходы.

На этой странице

Реакции редко работают в одиночку: они вызывают друг друга кнопками, цепочками, веткой «иначе», ответами в диалоге и так далее. Связи реакций показывают этот граф переходов: для любой реакции видно, куда она ведёт (исходящие связи) и откуда в неё приходят (входящие связи). Это помогает не потеряться в больших сценариях и безопасно удалять реакции.

Что такое связь

Связь показывает направленный переход от одной реакции к другой и помечается механизмом, который этот переход породил. Платформа обходит реакцию целиком и собирает все исходящие переходы, отбрасывая ссылки на саму себя и пустые цели, а одинаковые переходы схлопывает. Список связей доступен из редактора реакции и по API: GET /api/bots/{id}/reactions/{id}/links.

Входящие и исходящие

  • Исходящие: на какие реакции ссылается текущая (её кнопки, цепочки, ветка «иначе» и т. д.).
  • Входящие: какие реакции ссылаются на текущую. Полезно перед удалением: если на реакцию кто-то ссылается, удаление разорвёт сценарий.

12 механизмов связей

  • Кнопка (button): inline-кнопка типа «Вызов реакции» открывает другую реакцию при нажатии.
  • Замена кнопкой (button_replace): кнопка с поведением «заменить сообщение» подставляет содержимое привязанной реакции.
  • Динамическая кнопка (dynamic_button): кнопка из блока «Динамические кнопки из списка» ведёт в реакцию. См. Динамические кнопки и параметры.
  • Блок «Реакция» (block): блок сообщения, который вызывает другую реакцию по ходу отправки.
  • Цепная реакция (chain): действие «Цепная реакция» запускает другую реакцию.
  • Ветка «иначе» (else): если условия не выполнились, управление уходит в указанную реакцию.
  • Веб-запрос: успех (web_success): реакция, запускаемая при успешном веб-запросе.
  • Веб-запрос: ошибка (web_error): реакция, запускаемая при ошибке веб-запроса.
  • Ожидаемый ответ (expected_answer): реакция, которая срабатывает на ответ пользователя в шаге диалога.
  • Таймаут ожидания (expected_timeout): реакция, срабатывающая, если ответа не было до таймаута.
  • Следующая реакция (goto_next): действие «Следующая реакция» передаёт управление следующей подходящей реакции в списке.
  • Сценарий (flow): реакция, привязанная к завершению сценария (flow).

Зачем смотреть граф

  • Навигация по сценарию: быстро перейти к связанной реакции, не ища её в списке.
  • Безопасное удаление: увидеть входящие связи и не сломать переходы.
  • Аудит: проверить, что все ветки сценария ведут куда нужно и нет «висящих» переходов.

Что дальше