Zum Inhalt springen
  • Dunkel
  • Hell
  • System

While: Schleifen in Actions

Wiederholt Sub-Actions in einer Schleife solange eine Bedingung wahr ist. Nützlich für Countdowns, Batch-Operationen und retry-artige Logik.

Core Logic While

Doku: docs.streamer.bot · While

FeldBedeutungEmpfehlung
VariableDer Wert der bei jedem Durchlauf geprüft wirdz.B. %counter%
OperationVergleichsoperator (gleich wie bei If/Else)z.B. Greater Than
ValueRechte Seite des Vergleichsz.B. 0

Die Operatoren sind identisch mit If/Else: Equals, Not Equals, Less Than, Greater Than, Contains, Regex Match, etc.

  1. While prüft die Bedingung
  2. Wenn wahr → alle Sub-Actions innerhalb der While-Group laufen
  3. Zurück zu Schritt 1
  4. Wenn falsch → Schleife endet, Action fährt nach der While-Group fort
[Cmd] !countdown
├── 1. Set Argument: counter = 5
├── 2. While: %counter% Greater Than 0
│ ├── Send Message: "%counter%…"
│ ├── Delay: 1000ms
│ └── Set Argument: counter = $math(%counter% - 1)$
├── 3. Send Message: "LOS GEHT'S! 🎉"

Ergebnis im Chat:

5…
4…
3…
2…
1…
LOS GEHT'S! 🎉

Mehrere User hintereinander ankündigen:

[Event] Stream Online
├── 1. Set Argument: shoutoutIndex = 0
├── 2. Set Argument: shoutoutMax = 3
├── 3. While: %shoutoutIndex% Less Than %shoutoutMax%
│ ├── Global Get: autoShoutout_%shoutoutIndex% → shoutoutUser
│ ├── If/Else: %shoutoutUser% Is Null or Empty → Break
│ ├── Send Message: "Schaut bei @%shoutoutUser% vorbei!"
│ ├── Delay: 2000ms
│ └── Set Argument: shoutoutIndex = $math(%shoutoutIndex% + 1)$

Bau immer eine Obergrenze ein, falls die reguläre Abbruchbedingung nicht greift:

├── Set Argument: safetyCounter = 0
├── While: %condition% Equals true
│ ├── (deine Logik hier)
│ ├── Set Argument: safetyCounter = $math(%safetyCounter% + 1)$
│ ├── If/Else: %safetyCounter% Greater Than 50
│ │ └── Break
AufgabeBesser
Countdown/TimerWhile mit Delay
Zufalls-AuswahlRandom Group
Mehrere feste VariantenSwitch
Bedingungs-Check (einmalig)If/Else
  • Counter nicht hochzählen: Endlosschleife. Set Argument mit $math()$ bei JEDEM Durchlauf.
  • Break innerhalb einer Group: Break beendet die umschließende Group, nicht die While-Schleife. Zum Schleifenabbruch: die While-Bedingung falsch machen (z.B. Counter auf 0 setzen).
  • Zu schnelle Sends: Twitch drosselt bei vielen Messages in kurzer Zeit. Delay von 1–2 Sekunden einbauen.
  • Variable initial nicht gesetzt: %counter% ist undefined → While-Vergleich schlägt fehl. Immer vorher Set Argument.