Связи реакций
Как реакции вызывают друг друга: 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).
Зачем смотреть граф
- Навигация по сценарию: быстро перейти к связанной реакции, не ища её в списке.
- Безопасное удаление: увидеть входящие связи и не сломать переходы.
- Аудит: проверить, что все ветки сценария ведут куда нужно и нет «висящих» переходов.
Что дальше
- Реакции: основы: порядок срабатывания, цепочки и
goto_next. - Сообщения и кнопки: кнопки и шаги диалога, порождающие связи.
- Динамические кнопки и параметры: связи через динамическую клавиатуру.
- Сценарии: связь через завершение сценария.