Praktyczny poradnik węzłów stanu

Węzły stanu dają Social Stream Ninja pamięć. Używaj ich do tworzenia okresów oczekiwania, przełączników, liczników, ograniczników częstotliwości, list uczestników i losowań nagród, które utrzymują przewidywalne działanie automatyzacji.

01 · Krótkie wprowadzenie

Narzędzia stanu mają obiekt przechowujący wartość oraz operacje, które ją odczytują lub zmieniają:

Węzeł stanu

  • Znajduje się na obszarze roboczym.
  • Przechowuje wartość (ON/OFF, liczbę, znaczniki czasu lub użytkowników).
  • Bramka, licznik i ogranicznik częstotliwości mogą działać w zwykłej ścieżce zdarzeń.
  • User Memory to wspólny węzeł pamięci, do którego odwołują się inne węzły.

Akcja stanu

  • Umieszczona dalej w przepływie.
  • Odczytuje lub zmienia zapisaną wartość (ustaw ON, dodaj +1, zapamiętaj, wylosuj, zresetuj itp.).
  • Może znajdować się w dowolnym miejscu przepływu — wystarczy wybrać pasującą nazwę węzła.
Pamiętaj: Najpierw dodaj węzeł stanu, nadaj mu unikalną nazwę, a następnie wybierz go w każdej pasującej operacji. Bez węzła bazowego akcje stanu nie mają czego aktualizować.

02 · Przełącznik włącz/wyłącz (bramka)

Przełącznik jest warunkiem logicznym. Gdy jest ON, wiadomości przechodzą; gdy OFF, przepływ zatrzymuje się w tym węźle.

Najlepsze dla

  • Okresy oczekiwania dla poleceń czatu.
  • Ręczne przełączniki (włączanie/wyłączanie nakładek).
  • Okna konserwacyjne (wstrzymywanie funkcji podczas scen BRB).

Najważniejsze akcje

  • Set Gate State— przełącz na ON lub OFF.
  • Reset State Node— przywróć wartość domyślną (zwykle ON).

Przykład: 15 s oczekiwania

!hello ──▶ Przełącznik (ON?) ─▶ Wyślij odpowiedź ─▶ Ustaw bramkę: OFF ─▶ Opóźnienie 15 s ─▶ Ustaw bramkę: ON

Kroki budowania

  1. Dodaj węzeł przełącznika, nazwij go „helloCooldown”, domyślnie ON.
  2. Połącz wyzwalacz → przełącznik → akcje.
  3. Po swojej akcji dodaj Ustaw stan bramki (Set Gate State) (OFF) wskazujący „helloCooldown”.
  4. Dodaj Opóźnienie (Delay) węzeł (15 sekund).
  5. Dodaj kolejny Ustaw stan bramki (Set Gate State) (ON) dla „helloCooldown”.

03 · Licznik

Liczniki śledzą liczby między wiadomościami. Zwiększają się automatycznie, gdy przepływa przez nie wiadomość, a wartości można ręcznie dostosowywać akcjami.

Automatyczne zwiększanie: Za każdym razem, gdy dane przechodzą przez węzeł Counter, dodaje on 1 (chyba że wstrzymasz go opcją „Only count when gate is true”).

Zastosowania

  • Co N-ty uczestnik czatu uruchamia nagrodę.
  • Śledź postęp do celu społeczności.
  • Zapisuj punkty wymieniane przez polecenia.

Akcje

  • Increment Counter— dodaj lub odejmij własne kwoty.
  • Set Counter Value— przejdź do konkretnej liczby.
  • Reset State Node— przywróć domyślną wartość początkową.

Przykład: świętuj co 5 wiadomości

Dowolna wiadomość ─▶ Licznik (nazwa: hype5) ─▶ Warunek (value % 5 === 0?) ─▶ Odtwórz świętowanie

W węźle Condition porównaj state.hype5.value lub po prostu użyj wbudowanej opcji „Trigger when value matches Target” we właściwościach węzła Counter.

04 · Ogranicznik częstotliwości

Ogranicznik pamięta znaczniki czasu i odmawia przyjmowania nowych zdarzeń, dopóki nie zostanie zachowana określona częstotliwość.

Przydatne, gdy potrzebujesz

  • „Tylko pięć zgłoszeń do losowania na minutę”.
  • „Jedno wywołanie API na 10 sekund”.
  • „Odrzucaj alerty, gdy nakładka jest już zajęta”.

Konfiguracja

  • Ustaw maksymalną dozwoloną liczbę zdarzeń.
  • Wybierz okno czasowe (sekundy).
  • Zdecyduj, czy kolejkować nadmiar, czy go odrzucać.
Uwaga: Ograniczniki nie resetują się automatycznie przy edycji przepływu. Użyj Reset State Node , jeśli potrzebujesz czystego stanu podczas testów.

05 · Pamięć użytkowników

User Memory przechowuje jedną nazwaną listę unikalnych osób. Zapamiętuj użytkowników przy ich udziale, sprawdzaj tę listę przy późniejszych wiadomościach, usuwaj osobę, wybieraj losowego zwycięzcę lub czyść tylko tę listę.

Najlepsze dla

  • Uprawnienie oparte na prezencie lub odznace.
  • Zapamiętywanie widzów, którzy polubili, zapisali się lub uczestniczyli.
  • Losowania nagród z unikalnymi zgłoszeniami.
  • Oddzielne listy dla oddzielnych kampanii.

Operacje

  • Remember User i Forget User.
  • User Is Remembered.
  • Pick Random User.
  • Clear All Users lub Reset State Node.
Wyzwalacz udziału ──▶ Zapamiętaj użytkownika ······▶ Pamięć użytkowników: Uczestnicy Polecenie losowania ───────────▶ Wybierz losowego użytkownika ···▶ Pamięć użytkowników: Uczestnicy Polecenie resetu ──────────▶ Wyczyść wszystkich użytkowników ·····▶ Pamięć użytkowników: Uczestnicy

Ciągłe turkusowe przewody przenoszą zdarzenia. Przerywane fioletowe połączenia pokazują, której wspólnej pamięci używa operacja. Każda User Memory ma własną liczbę użytkowników, tryb zapamiętywania i zasady resetowania, więc wyczyszczenie jednej listy nie wpływa na inną.

Zobacz osobny Przewodnik po User Memory , aby zobaczyć sprawdzone zrzuty ekranu, przepływ losowania do pobrania, uprawnienia TikToka, przykłady udziału i szczegóły resetowania.

06 · Gotowe rozwiązania

Wybierz scenariusz i wykonaj kroki.

Przerwa między poleceniami

  1. Węzeł przełącznika o nazwie „commandCooldown”.
  2. Wyzwalacz → przełącznik → odpowiedź.
  3. Ustaw bramkę OFF → Opóźnienie → Ustaw bramkę ON.
  4. W razie potrzeby dodaj wiadomość czatu „Okres oczekiwania aktywny” na wyjściu false.

Ograniczona liczba gratisów

  1. Licznik domyślnie 0, cel 3.
  2. Zwiększaj po każdej wymianie.
  3. Gdy value ≥ 3, przejdź do gałęzi „Przepraszamy, wszystko rozdane”.
  4. Użyj akcji Reset na końcu transmisji.

Przełącznik dla widzów

  1. Przełącznik o nazwie „overlayToggle”.
  2. !overlay on polecenie → Ustaw bramkę ON.
  3. !overlay off polecenie → Ustaw bramkę OFF.
  4. Wszystkie wyzwalacze nakładki przechodzą przez przełącznik.

Przykładowe schematy przepływów

Wyzwalacz ─▶ Przełącznik (overlayToggle) ─▶ Jeśli ON → Pokaż nakładkę └─false─▶ Powiadom moderatora „Nakładka wyłączona”
Wymień nagrodę ─▶ Licznik ticketsSold ├─value < 50 ─▶ Zatwierdź wymianę └─value ≥ 50 ─▶ Odrzuć + zwróć punkty

07 · Rozwiązywanie problemów i FAQ

Objaw Prawdopodobna przyczyna Rozwiązanie
Akcja Set Gate State nie zapisuje się. Nie istnieje pasujący węzeł przełącznika (lub nazwy są różne). Najpierw dodaj węzeł przełącznika i potwierdź, że lista rozwijana go wskazuje.
Licznik nigdy się nie zwiększa. Przepływ omija węzeł licznika lub bramka ma wartość false. Upewnij się, że przewód wyzwalacza przechodzi przez licznik, a wyjście bramki ma wartość true.
Ogranicznik blokuje wszystko bez końca. Zbyt restrykcyjne okno lub stan pozostały po testowaniu. Poluzuj limit i dodaj akcję Reset State Node przed ponownym testem.
Operacja User Memory nie ma przerywanego połączenia. Nie wybrano pamięci docelowej. Wybierz nazwaną pamięć we właściwościach operacji lub przeciągnij jej fioletowe boczne złącze na pamięć.
Przyciski poradników się nie otwierają. Działanie wewnątrz rozszerzenia bez aktualizacji zasobów web_accessible. Upewnij się, że actions/state-nodes-guide.html jest udostępniany przez manifest, i przeładuj rozszerzenie.

Lista kontrolna testowania

  • Użyj narzędzia „Send Test Event” w Event Flow do symulowania poleceń.
  • Podczas weryfikacji tymczasowo skróć okresy oczekiwania (2 sekundy) lub obniż cele liczników.
  • Resetuj węzły stanu między testami, aby nie odczytywać starych danych.
  • Opisuj gałęzie (np. „false → okres oczekiwania aktywny”), aby móc wizualnie śledzić ścieżkę.

08 · Następne kroki

Łącz węzły stanu z pozostałymi narzędziami Event Flow:

  • Użyj bramek logicznych (AND/OR/NOT) przed przełącznikiem, aby określić, kto może go przełączać.
  • Przechowuj metadane wynikające ze stanu w meta , aby nakładki wiedziały, dlaczego uruchomiła się gałąź.
  • Eksportuj działające wzorce jako szablony, aby zespół mógł później ponownie je importować.
Eksperymentuj dalej! Nowy Przewodnik po Event Flow uzupełnia ten poradnik, aby pomóc opanować zarówno warstwę logiki, jak i stanu.