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.
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
Kroki budowania
- Dodaj węzeł przełącznika, nazwij go „helloCooldown”, domyślnie ON.
- Połącz wyzwalacz → przełącznik → akcje.
- Po swojej akcji dodaj Ustaw stan bramki (Set Gate State) (OFF) wskazujący „helloCooldown”.
- Dodaj Opóźnienie (Delay) węzeł (15 sekund).
- 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.
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
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ć.
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 UseriForget User.User Is Remembered.Pick Random User.Clear All UserslubReset State Node.
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ą.
06 · Gotowe rozwiązania
Wybierz scenariusz i wykonaj kroki.
Przerwa między poleceniami
- Węzeł przełącznika o nazwie „commandCooldown”.
- Wyzwalacz → przełącznik → odpowiedź.
- Ustaw bramkę OFF → Opóźnienie → Ustaw bramkę ON.
- W razie potrzeby dodaj wiadomość czatu „Okres oczekiwania aktywny” na wyjściu false.
Ograniczona liczba gratisów
- Licznik domyślnie 0, cel 3.
- Zwiększaj po każdej wymianie.
- Gdy value ≥ 3, przejdź do gałęzi „Przepraszamy, wszystko rozdane”.
- Użyj akcji Reset na końcu transmisji.
Przełącznik dla widzów
- Przełącznik o nazwie „overlayToggle”.
!overlay onpolecenie → Ustaw bramkę ON.!overlay offpolecenie → Ustaw bramkę OFF.- Wszystkie wyzwalacze nakładki przechodzą przez przełącznik.
Przykładowe schematy przepływów
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ć.