Praxisleitfaden für Zustandsknoten

Zustandsknoten geben Social Stream Ninja ein Gedächtnis. Erstelle damit Abklingzeiten, Schalter, Zähler, Ratenbegrenzungen, Teilnehmerlisten und Verlosungen, die Automatisierungen vorhersehbar halten.

01 · Kurze Orientierung

Zustandswerkzeuge haben ein Objekt, das den Wert verwaltet, und Operationen, die ihn lesen oder ändern:

Zustandsknoten

  • Liegt auf der Arbeitsfläche.
  • Hält den Wert (AN/AUS, Zählstand, Zeitstempel oder Nutzer).
  • Gate, Counter und Rate Limiter können im normalen Ereignispfad laufen.
  • User Memory ist ein gemeinsamer Speicher, auf den andere Knoten verweisen.

Zustandsaktion

  • Wird nachgelagert platziert.
  • Liest oder ändert den gespeicherten Wert (auf AN setzen, +1 addieren, merken, ziehen, zurücksetzen usw.).
  • Kann überall im Flow liegen — wähle einfach den passenden Knotennamen.
Merke: Füge zuerst den Zustandsknoten hinzu, gib ihm einen eindeutigen Namen und wähle ihn dann in jeder zugehörigen Operation. Ohne Basisknoten haben Zustandsaktionen nichts zu aktualisieren.

02 · Ein/Aus-Schalter (Gate)

Der Schalter ist eine boolesche Sperre. Bei AN passieren Nachrichten; bei AUS hält der Flow an diesem Knoten an.

Am besten für

  • Abklingzeiten für Chatbefehle.
  • Manuelle Schalter (Overlays aktivieren/deaktivieren).
  • Wartungsfenster (Funktionen während BRB-Szenen pausieren).

Wichtige Aktionen

  • Set Gate State— auf AN oder AUS schalten.
  • Reset State Node— auf den Standard zurücksetzen (meist AN).

Beispiel: 15 s Abklingzeit

!hello ──▶ Schalter (AN?) ─▶ Antwort senden ─▶ Gate auf AUS ─▶ 15 s warten ─▶ Gate auf AN

Aufbauschritte

  1. Füge den Schalterknoten ein, nenne ihn „helloCooldown“ und setze den Standard auf AN.
  2. Verbinde deinen Auslöser → Schalter → Aktionen.
  3. Füge nach deiner Aktion Gate-Zustand setzen (AUS) mit Verweis auf „helloCooldown“.
  4. Füge hinzu Verzögerung Knoten hinzu (15 Sekunden).
  5. Füge einen weiteren Gate-Zustand setzen (AN) für „helloCooldown“.

03 · Zähler

Zähler verfolgen Zahlen über Nachrichten hinweg. Sie erhöhen sich automatisch, wenn eine Nachricht durchläuft, und du kannst Werte mit Aktionen manuell anpassen.

Automatisches Erhöhen: Jedes Mal, wenn Nutzdaten durch den Counter-Knoten laufen, addiert er 1 (außer du pausierst ihn mit „Only count when gate is true“).

Anwendungsfälle

  • Jeder N-te Chatter löst einen Preis aus.
  • Fortschritt zu einem Community-Ziel verfolgen.
  • Per Befehl eingelöste Punkte speichern.

Aktionen

  • Increment Counter— eigene Beträge addieren oder subtrahieren.
  • Set Counter Value— zu einer bestimmten Zahl springen.
  • Reset State Node— auf den Standardstartwert zurücksetzen.

Beispiel: Alle 5 Nachrichten feiern

Beliebige Nachricht ─▶ Zähler (Name: hype5) ─▶ Bedingung (value % 5 === 0?) ─▶ Feier abspielen

Vergleiche im Condition-Knoten state.hype5.value oder verwende einfach die integrierte Option „Trigger when value matches Target“ in den Eigenschaften des Counter-Knotens.

04 · Ratenbegrenzer (Throttle)

Der Ratenbegrenzer merkt sich Zeitstempel und verweigert neue Ereignisse, bis die angegebene Rate eingehalten wird.

Gut geeignet für

  • „Nur fünf Verlosungsteilnahmen pro Minute.“
  • „Ein API-Aufruf pro 10 Sekunden.“
  • „Benachrichtigungen verwerfen, wenn das Overlay bereits beschäftigt ist.“

Konfiguration

  • Lege die maximal erlaubte Anzahl an Ereignissen fest.
  • Wähle das Zeitfenster (Sekunden).
  • Entscheide, ob überschüssige Ereignisse eingereiht oder verworfen werden.
Hinweis: Ratenbegrenzer setzen sich beim Bearbeiten des Flows nicht automatisch zurück. Verwende Reset State Node wenn du für Tests einen leeren Ausgangszustand brauchst.

05 · Nutzerspeicher

User Memory verwaltet eine benannte Liste eindeutiger Personen. Merke Nutzer bei ihrer Teilnahme, prüfe die Liste bei späteren Nachrichten, entferne eine Person, wähle einen zufälligen Gewinner oder leere nur diese Liste.

Am besten für

  • Teilnahmeberechtigung anhand von Geschenken oder Abzeichen.
  • Zuschauer merken, die gelikt, sich eingetragen oder teilgenommen haben.
  • Verlosungen mit einmaliger Teilnahme.
  • Getrennte Listen für getrennte Aktionen.

Operationen

  • Remember User und Forget User.
  • User Is Remembered.
  • Pick Random User.
  • Clear All Users oder Reset State Node.
Teilnahmeauslöser ──▶ Nutzer merken ······▶ Nutzerspeicher: Teilnehmer Ziehungsbefehl ───────────▶ Zufälligen Nutzer wählen ···▶ Nutzerspeicher: Teilnehmer Rücksetzbefehl ──────────▶ Alle Nutzer löschen ·····▶ Nutzerspeicher: Teilnehmer

Durchgezogene türkise Verbindungen transportieren Ereignisse. Gestrichelte violette Verbindungen zeigen, welchen gemeinsamen Speicher eine Operation nutzt. Jeder User Memory hat einen eigenen Zähler, Speichermodus und eine Rücksetzregel; das Leeren einer Liste beeinflusst daher keine andere.

Siehe die spezielle User-Memory-Anleitung für geprüfte Screenshots, einen herunterladbaren Verlosungsflow, TikTok-Teilnahmeberechtigung, Teilnahmebeispiele und Details zum Zurücksetzen.

06 · Lösungspakete

Wähle ein Szenario und folge den Schritten.

Abklingzeit für Befehle

  1. Schalterknoten namens „commandCooldown“.
  2. Auslöser → Schalter → Antwort.
  3. Gate auf AUS → Verzögerung → Gate auf AN.
  4. Füge bei Bedarf am false-Ausgang eine Chatnachricht „Abklingzeit aktiv“ hinzu.

Begrenzte Gratisartikel

  1. Zählerstandard 0, Ziel 3.
  2. Nach jeder Einlösung erhöhen.
  3. Bei value ≥ 3 zum Zweig „Leider alles weg“ wechseln.
  4. Verwende am Stream-Ende eine Reset-Aktion.

Zuschauerschalter

  1. Schalter namens „overlayToggle“.
  2. !overlay on Befehl → Gate auf AN.
  3. !overlay off Befehl → Gate auf AUS.
  4. Alle Overlay-Auslöser laufen durch den Schalter.

Beispiel-Flussdiagramme

Auslöser ─▶ Schalter (overlayToggle) ─▶ Falls AN → Overlay anzeigen └─false─▶ Moderator benachrichtigen „Overlay deaktiviert“
Belohnung einlösen ─▶ Zähler ticketsSold ├─value < 50 ─▶ Einlösung erlauben └─value ≥ 50 ─▶ Ablehnen + Punkte erstatten

07 · Fehlerbehebung und FAQ

Symptom Wahrscheinliche Ursache Lösung
Die Aktion „Set Gate State“ lässt sich nicht speichern. Kein passender Schalterknoten vorhanden (oder die Namen unterscheiden sich). Füge zuerst den Schalterknoten hinzu und prüfe, ob die Dropdown-Liste auf ihn verweist.
Zähler erhöht sich nie. Der Flow umgeht den Zählerknoten oder das Gate ist false. Prüfe, ob die Auslöserverbindung durch den Zähler läuft und der Gate-Ausgang true ist.
Ratenbegrenzer blockiert dauerhaft alles. Zu strenges Zeitfenster oder übrig gebliebener Testzustand. Lockere das Limit und füge vor einem erneuten Test eine Aktion „Reset State Node“ ein.
Eine User-Memory-Operation hat keine gestrichelte Verbindung. Kein Zielspeicher ausgewählt. Wähle den benannten Speicher in den Eigenschaften der Operation oder ziehe ihren violetten Seitenanschluss auf den Speicher.
Anleitungsschaltflächen öffnen sich nicht. Ausführung innerhalb der Erweiterung ohne aktualisierte web_accessible-Ressourcen. Stelle sicher, dass actions/state-nodes-guide.html über das Manifest bereitgestellt wird, und lade die Erweiterung neu.

Test-Checkliste

  • Verwende „Send Test Event“ in Event Flow, um Befehle zu simulieren.
  • Verkürze beim Prüfen vorübergehend Abklingzeiten (2 Sekunden) oder senke Zählerziele.
  • Setze Zustandsknoten zwischen Tests zurück, damit du keine veralteten Daten liest.
  • Beschrifte Zweige (z. B. „false → Abklingzeit aktiv“), damit du dem Verlauf visuell folgen kannst.

08 · Nächste Schritte

Kombiniere Zustandsknoten mit den übrigen Event-Flow-Werkzeugen:

  • Verwende Logikgatter (AND/OR/NOT) vor einem Schalter, um festzulegen, wer ihn umschalten darf.
  • Speichere zustandsgesteuerte Metadaten unter meta damit Overlays wissen, warum ein Zweig ausgelöst wurde.
  • Exportiere funktionierende Muster als Vorlagen, damit dein Team sie später erneut importieren kann.
Experimentiere weiter! Die neue Event-Flow-Leitfaden ergänzt diesen Leitfaden, damit du sowohl Logik als auch Zustand beherrschst.