Powiązania reakcji

Reakcje rzadko działają samodzielnie — wywołują się nawzajem przyciskami, łańcuchami, gałęzią „w przeciwnym razie", odpowiedziami w dialogu i tak dalej. Powiązania reakcji pokazują ten graf przejść: dla każdej reakcji widać, dokąd prowadzi (powiązania wychodzące) i skąd do niej przychodzą (powiązania przychodzące). Pomaga to nie zgubić się w rozbudowanych scenariuszach i bezpiecznie usuwać reakcje.

Czym jest powiązanie

Powiązanie to kierunkowe przejście od jednej reakcji do drugiej, oznaczone mechanizmem, który je wygenerował. Platforma przechodzi całą reakcję i zbiera wszystkie przejścia wychodzące, odrzucając odwołania do samej siebie i puste cele, a identyczne przejścia scala. Lista powiązań dostępna jest z edytora reakcji i przez API: GET /api/bots/{id}/reactions/{id}/links.

Przychodzące i wychodzące

  • Wychodzące — na jakie reakcje odwołuje się bieżąca (jej przyciski, łańcuchy, gałąź „w przeciwnym razie" itp.).
  • Przychodzące — jakie reakcje odwołują się do bieżącej. Przydatne przed usunięciem: jeśli ktoś odwołuje się do reakcji, usunięcie jej zerwie scenariusz.

12 mechanizmów powiązań

  • Przycisk (button) — przycisk inline typu „Wywołaj reakcję" otwiera inną reakcję po naciśnięciu.
  • Zamiana przyciskiem (button_replace) — przycisk z zachowaniem „zastąp wiadomość" wstawia zawartość powiązanej reakcji.
  • Dynamiczny przycisk (dynamic_button) — przycisk z bloku „Dynamiczne przyciski z listy" prowadzi do reakcji. Zob. Dynamiczne przyciski i parametry.
  • Blok „Reakcja" (block) — blok wiadomości wywołujący inną reakcję w trakcie wysyłania.
  • Reakcja łańcuchowa (chain) — akcja „Reakcja łańcuchowa" uruchamia inną reakcję.
  • Gałąź „w przeciwnym razie" (else) — jeśli warunki nie zostały spełnione, sterowanie przechodzi do wskazanej reakcji.
  • Żądanie HTTP: sukces (web_success) — reakcja uruchamiana przy udanym żądaniu HTTP.
  • Żądanie HTTP: błąd (web_error) — reakcja uruchamiana przy błędzie żądania HTTP.
  • Oczekiwana odpowiedź (expected_answer) — reakcja uruchamiana na odpowiedź użytkownika w kroku dialogu.
  • Timeout oczekiwania (expected_timeout) — reakcja uruchamiana, gdy odpowiedź nie nadeszła przed upływem czasu.
  • Następna reakcja (goto_next) — akcja „Następna reakcja" przekazuje sterowanie do kolejnej pasującej reakcji na liście.
  • Scenariusz (flow) — reakcja powiązana z zakończeniem scenariusza (flow).

Po co przeglądać graf

  • Nawigacja po scenariuszu — szybkie przejście do powiązanej reakcji bez szukania jej na liście.
  • Bezpieczne usuwanie — sprawdzenie powiązań przychodzących, aby nie zepsuć przejść.
  • Audyt — weryfikacja, że wszystkie gałęzie scenariusza prowadzą tam, gdzie powinny, i nie ma „wiszących" przejść.

Co dalej