01 · Orientación rápida
Las herramientas de estado tienen un objeto que contiene el valor y operaciones que lo leen o cambian:
Nodo de estado
- Se encuentra en el lienzo.
- Contiene el valor (ON/OFF, recuento, fechas y horas o usuarios).
- Gate, Counter y Rate Limiter pueden ejecutarse en la ruta normal de eventos.
- Memoria de usuarios es un nodo central compartido al que hacen referencia otros nodos.
Acción de estado
- Se coloca después.
- Lee o cambia el valor guardado (poner en ON, sumar +1, recordar, sortear, restablecer, etc.).
- Puede estar en cualquier lugar del flujo; solo elige el nombre del nodo correspondiente.
02 · Interruptor de encendido/apagado (Gate)
El interruptor es una condición booleana. En ON, los mensajes pasan; en OFF, el flujo se detiene en este nodo.
Ideal para
- Tiempos de espera para comandos del chat.
- Interruptores manuales (activar/desactivar superposiciones).
- Períodos de mantenimiento (pausar funciones durante escenas de descanso).
Acciones clave
Set Gate State: cambiar a ON u OFF.Reset State Node: volver al valor predeterminado (normalmente ON).
Ejemplo: espera de 15 s
Pasos de creación
- Coloca el nodo de interruptor, llámalo «helloCooldown» y configúralo en ON de forma predeterminada.
- Conecta tu activador → interruptor → acciones.
- Después de tu acción, añade Establecer estado de puerta (Set Gate State) (OFF) que haga referencia a «helloCooldown».
- Añade un Espera (Delay) nodo (15 segundos).
- Añade otro Establecer estado de puerta (Set Gate State) (ON) para «helloCooldown».
03 · Contador
Los contadores mantienen números entre mensajes. Aumentan automáticamente cuando pasa un mensaje y puedes ajustar sus valores manualmente con acciones.
Casos de uso
- Cada cierto número de participantes se activa un premio.
- Sigue el progreso hacia una meta comunitaria.
- Guarda los puntos canjeados mediante comandos.
Acciones
Increment Counter: sumar o restar cantidades personalizadas.Set Counter Value: pasar a un número concreto.Reset State Node: volver al valor inicial predeterminado.
Ejemplo: celebrar cada 5 mensajes
Dentro del nodo Condición, compara state.hype5.value o utiliza la opción integrada «Activar cuando el valor coincida con el objetivo» en las propiedades del nodo Contador.
04 · Limitador de frecuencia (Throttle)
El limitador recuerda las fechas y horas y rechaza nuevos eventos hasta que se respete la frecuencia indicada.
Útil cuando necesitas
- «Solo cinco participaciones en el sorteo por minuto».
- «Una llamada de API cada 10 segundos».
- «Descartar alertas si la superposición ya está ocupada».
Configuración
- Establece el máximo de eventos permitidos.
- Elige el intervalo de tiempo (segundos).
- Decide si poner en cola o descartar el exceso.
Reset State Node si necesitas empezar de cero durante las pruebas.
05 · Memoria de usuarios
Memoria de usuarios contiene una lista con nombre de personas únicas. Recuerda usuarios cuando participen, comprueba la lista en mensajes posteriores, elimina a una persona, elige un ganador aleatorio o borra solo esa lista.
Ideal para
- Elegibilidad basada en regalos o insignias.
- Recordar espectadores que dieron me gusta, se inscribieron o participaron.
- Sorteos con una entrada por persona.
- Listas independientes para campañas independientes.
Operaciones
Remember UseryForget User.User Is Remembered.Pick Random User.Clear All UsersoReset State Node.
Los cables turquesa continuos transportan eventos. Los enlaces morados discontinuos muestran qué memoria compartida utiliza una operación. Cada Memoria de usuarios tiene su propio recuento, modo de persistencia y política de restablecimiento, por lo que borrar una lista no afecta a otra.
06 · Soluciones prácticas
Elige un caso y sigue los pasos.
Tiempo de espera de comandos
- Nodo de interruptor llamado «commandCooldown».
- Activador → interruptor → respuesta.
- Puerta OFF → Esperar → Puerta ON.
- Si quieres, añade un mensaje de chat «Tiempo de espera activo» en la salida false.
Regalos limitados
- Contador con valor predeterminado 0 y objetivo 3.
- Aumenta después de cada canje.
- Cuando value ≥ 3, dirige a «Lo siento, se agotaron».
- Utiliza una acción de restablecimiento al terminar la transmisión.
Interruptor para espectadores
- Interruptor llamado «overlayToggle».
!overlay oncomando → Puerta ON.!overlay offcomando → Puerta OFF.- Todos los activadores de superposición pasan por el interruptor.
Diagramas de flujo de ejemplo
07 · Solución de problemas y preguntas frecuentes
| Síntoma | Causa probable | Solución |
|---|---|---|
| La acción Establecer estado de puerta no se guarda. | No existe un nodo de interruptor coincidente (o los nombres son distintos). | Añade primero el nodo de interruptor y confirma que el desplegable lo referencia. |
| El contador nunca aumenta. | El flujo no pasa por el contador o la puerta es falsa. | Asegúrate de que el cable del activador pase por el contador y que la salida de la puerta sea verdadera. |
| El limitador bloquea todo indefinidamente. | Intervalo demasiado estricto o estado sobrante de las pruebas. | Amplía el límite y coloca una acción Restablecer nodo de estado antes de volver a probar. |
| Una operación de Memoria de usuarios no tiene enlace discontinuo. | No hay ninguna memoria de destino seleccionada. | Elige la memoria con nombre en las propiedades de la operación o arrastra su conector lateral morado a la memoria. |
| Los botones de las guías no se abren. | Se ejecuta dentro de la extensión sin haber actualizado los recursos web_accessible. | Asegúrate de que actions/state-nodes-guide.html se incluya mediante el manifiesto y recarga la extensión. |
Lista de comprobación de pruebas
- Utiliza la herramienta «Enviar evento de prueba» de Event Flow para simular comandos.
- Acorta temporalmente los tiempos de espera (2 segundos) o reduce los objetivos de contadores durante la verificación.
- Restablece los nodos de estado entre pruebas para evitar leer datos antiguos.
- Etiqueta las ramas (por ejemplo, «false → tiempo de espera activo») para poder seguir la ruta visualmente.
08 · Próximos pasos
Combina nodos de estado con las demás herramientas de Event Flow:
- Utiliza puertas lógicas (AND/OR/NOT) antes de un interruptor para decidir quién puede cambiarlo.
- Guarda los metadatos basados en estado en
metapara que las superposiciones sepan por qué se activó una rama. - Exporta patrones que funcionen como plantillas para que tu equipo pueda volver a importarlos.