Guía práctica de nodos de estado

Los nodos de estado dan memoria a Social Stream Ninja. Úsalos para crear tiempos de espera, interruptores, contadores, límites, listas de participantes y sorteos que mantengan predecibles las automatizaciones.

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.
Recuerda: Añade primero el nodo de estado, dale un nombre único y selecciónalo en cada operación correspondiente. Sin el nodo base, las acciones de estado no tienen nada que actualizar.

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

!hello ──▶ Interruptor (¿ON?) ─▶ Enviar respuesta ─▶ Puerta: OFF ─▶ Esperar 15 s ─▶ Puerta: ON

Pasos de creación

  1. Coloca el nodo de interruptor, llámalo «helloCooldown» y configúralo en ON de forma predeterminada.
  2. Conecta tu activador → interruptor → acciones.
  3. Después de tu acción, añade Establecer estado de puerta (Set Gate State) (OFF) que haga referencia a «helloCooldown».
  4. Añade un Espera (Delay) nodo (15 segundos).
  5. 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.

Incremento automático: Cada vez que unos datos pasan por el nodo Contador, suma 1 (salvo que lo pauses con la opción «Contar solo cuando la puerta sea verdadera»).

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

Cualquier mensaje ─▶ Contador (nombre: hype5) ─▶ Condición (¿value % 5 === 0?) ─▶ Reproducir celebración

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.
Atención: Los limitadores no se restablecen automáticamente al editar el flujo. Utiliza 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 User y Forget User.
  • User Is Remembered.
  • Pick Random User.
  • Clear All Users o Reset State Node.
Activador de participación ──▶ Recordar usuario ······▶ Memoria de usuarios: Participantes Comando de sorteo ───────────▶ Elegir usuario aleatorio ···▶ Memoria de usuarios: Participantes Comando de restablecimiento ──────────▶ Borrar todos los usuarios ·····▶ Memoria de usuarios: Participantes

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.

Consulta la guía específica guía de memoria de usuarios para capturas revisadas, un flujo de sorteo descargable, elegibilidad de TikTok, ejemplos de participación y detalles de restablecimiento.

06 · Soluciones prácticas

Elige un caso y sigue los pasos.

Tiempo de espera de comandos

  1. Nodo de interruptor llamado «commandCooldown».
  2. Activador → interruptor → respuesta.
  3. Puerta OFF → Esperar → Puerta ON.
  4. Si quieres, añade un mensaje de chat «Tiempo de espera activo» en la salida false.

Regalos limitados

  1. Contador con valor predeterminado 0 y objetivo 3.
  2. Aumenta después de cada canje.
  3. Cuando value ≥ 3, dirige a «Lo siento, se agotaron».
  4. Utiliza una acción de restablecimiento al terminar la transmisión.

Interruptor para espectadores

  1. Interruptor llamado «overlayToggle».
  2. !overlay on comando → Puerta ON.
  3. !overlay off comando → Puerta OFF.
  4. Todos los activadores de superposición pasan por el interruptor.

Diagramas de flujo de ejemplo

Activador ─▶ Interruptor (overlayToggle) ─▶ Si ON → Mostrar superposición └─false─▶ Avisar al moderador «Superposición desactivada»
Canjear recompensa ─▶ Contador ticketsSold ├─value < 50 ─▶ Aprobar canje └─value ≥ 50 ─▶ Rechazar + Devolver puntos

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 meta para que las superposiciones sepan por qué se activó una rama.
  • Exporta patrones que funcionen como plantillas para que tu equipo pueda volver a importarlos.
¡Sigue experimentando! La nueva Guía de Event Flow complementa esta guía para que domines tanto la lógica como el estado.