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
- Reakcje: podstawy — kolejność uruchamiania, łańcuchy i
goto_next. - Wiadomości i przyciski — przyciski i kroki dialogu generujące powiązania.
- Dynamiczne przyciski i parametry — powiązania przez dynamiczną klawiaturę.
- Scenariusze — powiązanie przez zakończenie scenariusza.