01 · Orientamento rapido
Gli strumenti di stato hanno un oggetto che gestisce il valore e operazioni che lo leggono o lo modificano:
Nodo di stato
- Si trova nell'area di lavoro.
- Conserva il valore (ON/OFF, conteggio, timestamp o utenti).
- Gate, Counter e Rate Limiter possono essere inseriti nel normale percorso degli eventi.
- User Memory è un nodo centrale condiviso a cui fanno riferimento altri nodi.
Azione di stato
- Posizionata a valle.
- Legge o modifica il valore memorizzato (imposta ON, aggiunge +1, ricorda, estrae, azzera ecc.).
- Può trovarsi ovunque nel flusso: basta scegliere il nome del nodo corrispondente.
02 · Interruttore acceso/spento (porta)
L'interruttore è un controllo booleano. Quando è ON, i messaggi passano; quando è OFF, il flusso si ferma a questo nodo.
Ideale per
- Tempi di attesa per i comandi chat.
- Interruttori manuali (attiva/disattiva gli overlay).
- Finestre di manutenzione (sospendi le funzionalità durante le scene di pausa).
Azioni principali
Set Gate State— passa a ON o OFF.Reset State Node— torna al valore predefinito (di solito ON).
Esempio: attesa di 15 secondi
Passaggi di creazione
- Inserisci il nodo interruttore, chiamalo “helloCooldown” e imposta ON come predefinito.
- Collega trigger → interruttore → azioni.
- Dopo l'azione, aggiungi Imposta stato porta (Set Gate State) (OFF) con riferimento a “helloCooldown”.
- Aggiungi un Ritardo (Delay) (15 secondi).
- Aggiungi un altro Imposta stato porta (Set Gate State) (ON) per “helloCooldown”.
03 · Contatore
I contatori tengono traccia dei numeri tra i messaggi. Aumentano automaticamente quando passa un messaggio e puoi regolare manualmente i valori tramite azioni.
Casi d'uso
- Ogni ennesimo partecipante alla chat attiva un premio.
- Tieni traccia dei progressi verso un obiettivo della community.
- Memorizza i punti riscattati tramite comandi.
Azioni
Increment Counter— aggiunge o sottrae quantità personalizzate.Set Counter Value— imposta un numero specifico.Reset State Node— torna al valore iniziale predefinito.
Esempio: festeggia ogni 5 messaggi
Nel nodo Condition, confronta state.hype5.value oppure usa semplicemente l'opzione integrata “Trigger when value matches Target” nelle proprietà del nodo Counter.
04 · Limitatore di frequenza (Throttle)
Il limitatore ricorda i timestamp e rifiuta nuovi eventi finché non viene rispettata la frequenza specificata.
Ideale quando ti serve
- “Solo cinque partecipazioni alla lotteria al minuto.”
- “Una chiamata API ogni 10 secondi.”
- “Scarta gli avvisi se l'overlay è già occupato.”
Configurazione
- Imposta il numero massimo di eventi consentiti.
- Scegli la finestra temporale (secondi).
- Decidi se mettere in coda o scartare gli eventi in eccesso.
Reset State Node se ti serve ripartire da zero durante i test.
05 · Memoria utenti
User Memory gestisce un elenco con nome di persone uniche. Ricorda gli utenti quando partecipano, controlla quell'elenco nei messaggi successivi, rimuovi una persona, scegli un vincitore casuale oppure svuota solo quell'elenco.
Ideale per
- Idoneità basata su regali o badge.
- Ricordare gli spettatori che hanno messo Mi piace, si sono iscritti o hanno partecipato.
- Estrazioni con una partecipazione per utente.
- Elenchi separati per campagne separate.
Operazioni
Remember UsereForget User.User Is Remembered.Pick Random User.Clear All UsersoppureReset State Node.
I fili verde acqua continui trasportano gli eventi. I collegamenti viola tratteggiati mostrano quale memoria condivisa usa un'operazione. Ogni User Memory ha un proprio conteggio, una modalità di persistenza e una politica di azzeramento, quindi svuotare un elenco non influisce su un altro.
06 · Soluzioni pratiche
Scegli uno scenario e segui i passaggi.
Tempo di attesa del comando
- Nodo interruttore chiamato “commandCooldown”.
- Trigger → interruttore → risposta.
- Set Gate OFF → Delay → Set Gate ON.
- Se vuoi, aggiungi un messaggio chat “Tempo di attesa attivo” all'uscita false.
Omaggi limitati
- Contatore con valore predefinito 0, obiettivo 3.
- Incrementa dopo ogni riscatto.
- Quando value ≥ 3, passa al ramo “Spiacenti, tutto esaurito”.
- Usa l'azione Reset alla fine della diretta.
Interruttore degli spettatori
- Interruttore chiamato “overlayToggle”.
!overlay oncomando → Set Gate ON.!overlay offcomando → Set Gate OFF.- Tutti i trigger dell'overlay passano attraverso l'interruttore.
Diagrammi di flusso di esempio
07 · Risoluzione dei problemi e domande frequenti
| Sintomo | Causa probabile | Soluzione |
|---|---|---|
| L'azione Set Gate State non viene salvata. | Non esiste un nodo interruttore corrispondente (oppure i nomi differiscono). | Aggiungi prima il nodo interruttore e verifica che il menu a discesa faccia riferimento a esso. |
| Il contatore non aumenta mai. | Il flusso salta il nodo contatore oppure la porta è false. | Verifica che il collegamento del trigger passi attraverso il contatore e che l'uscita della porta sia true. |
| Il limitatore blocca tutto per sempre. | Finestra troppo restrittiva o stato residuo dei test. | Allenta il limite e inserisci un'azione Reset State Node prima di riprovare. |
| Un'operazione User Memory non ha il collegamento tratteggiato. | Non è selezionata alcuna memoria di destinazione. | Scegli la memoria con nome nelle proprietà dell'operazione oppure trascina il connettore laterale viola sulla memoria. |
| I pulsanti delle guide non si aprono. | Esecuzione nell'estensione senza aggiornare le risorse web_accessible. | Assicurati che actions/state-nodes-guide.html sia incluso nel manifest e ricarica l'estensione. |
Elenco dei controlli di test
- Usa lo strumento “Send Test Event” di Event Flow per simulare comandi.
- Durante la verifica, accorcia temporaneamente i tempi di attesa (2 secondi) oppure riduci gli obiettivi dei contatori.
- Azzera i nodi di stato tra un test e l'altro per non leggere dati obsoleti.
- Etichetta i rami (ad esempio “false → tempo di attesa attivo”) per seguirne visivamente il percorso.
08 · Passaggi successivi
Combina i nodi di stato con il resto degli strumenti Event Flow:
- Usa porte logiche (AND/OR/NOT) prima di un interruttore per decidere chi può cambiarne lo stato.
- Memorizza i metadati basati sullo stato sotto
metacosì gli overlay sanno perché si è attivato un ramo. - Esporta gli schemi funzionanti come modelli, così il team potrà reimportarli in seguito.