Relaciones de reacciones

Las reacciones rara vez trabajan solas — se invocan mutuamente a través de botones, cadenas, la rama «si no», respuestas en el diálogo, etc. Las relaciones de reacciones muestran este grafo de transiciones: para cualquier reacción se puede ver a dónde lleva (relaciones salientes) y desde dónde llegan a ella (relaciones entrantes). Esto ayuda a no perderse en escenarios grandes y a eliminar reacciones de forma segura.

Qué es una relación

Una relación es una transición dirigida de una reacción a otra, marcada con el mecanismo que generó esa transición. La plataforma recorre la reacción completa y recopila todas las transiciones salientes, descartando las autorreferencias y los destinos vacíos, y fusionando las transiciones idénticas. La lista de relaciones está disponible desde el editor de la reacción y por API: GET /api/bots/{id}/reactions/{id}/links.

Entrantes y salientes

  • Salientes — a qué reacciones hace referencia la actual (sus botones, cadenas, rama «si no», etc.).
  • Entrantes — qué reacciones hacen referencia a la actual. Útil antes de eliminar: si alguna reacción apunta a la actual, eliminarla romperá el escenario.

12 mecanismos de relaciones

  • Botón (button) — un botón inline de tipo «Invocar reacción» abre otra reacción al pulsarlo.
  • Reemplazo por botón (button_replace) — un botón con comportamiento «reemplazar mensaje» sustituye el contenido por el de la reacción vinculada.
  • Botón dinámico (dynamic_button) — un botón del bloque «Botones dinámicos desde lista» lleva a una reacción. Ver Botones dinámicos y parámetros.
  • Bloque «Reacción» (block) — un bloque de mensaje que invoca otra reacción durante el envío.
  • Reacción en cadena (chain) — la acción «Reacción en cadena» inicia otra reacción.
  • Rama «si no» (else) — si las condiciones no se cumplen, el control pasa a la reacción indicada.
  • Solicitud web: éxito (web_success) — reacción que se activa cuando la solicitud web tiene éxito.
  • Solicitud web: error (web_error) — reacción que se activa cuando la solicitud web falla.
  • Respuesta esperada (expected_answer) — reacción que se activa con la respuesta del usuario en un paso de diálogo.
  • Tiempo de espera agotado (expected_timeout) — reacción que se activa si no hubo respuesta antes del timeout.
  • Siguiente reacción (goto_next) — la acción «Siguiente reacción» transfiere el control a la siguiente reacción adecuada de la lista.
  • Escenario (flow) — reacción vinculada a la finalización de un escenario (flow).

Para qué ver el grafo

  • Navegación por el escenario — saltar rápidamente a una reacción relacionada sin buscarla en la lista.
  • Eliminación segura — ver las relaciones entrantes y no romper las transiciones.
  • Auditoría — verificar que todas las ramas del escenario llevan a donde deben y no hay transiciones «colgantes».

Qué sigue