Set Argument — Defaults und Fallbacks
Set Argument legt ein lokales Argument an oder überschreibt eines. Wichtigster Use-Case: Default-Werte BEVOR If/Else prüft.
Doku: docs.streamer.bot — Set Argument
| Feld | Bedeutung |
|---|---|
| Variable Name | Name OHNE %. Beispiel: targetLogin |
| Value | Wert. Kann %arg% und $func()$ enthalten |
| Auto Type | Default an. Automatische Typ-Erkennung (Zahl/Bool/String) |
Auto Type aus = alles als String. Selten nötig.
Klassischer Use-Case: Default vor Check
Abschnitt betitelt „Klassischer Use-Case: Default vor Check“1. Set Argument: targetLogin = $replace(%input0%, @, )$2. If/Else: %targetLogin% Is Null or Empty └─ Set Argument: targetLogin = %userName%3. Get User Info for Target (User Login = %targetLogin%)- Schritt 1 — Default vom Input, mit
@entfernt. Wenn%input0%leer war, isttargetLoginjetzt leer. - Schritt 2 — Falls leer → mit Sender überschreiben.
- Schritt 3 —
%targetLogin%enthält jetzt entweder den Target oder den Sender.
Pattern-Kombination siehe Get User Info for Target.
Use-Case: Output kopieren bevor er überschrieben wird
Abschnitt betitelt „Use-Case: Output kopieren bevor er überschrieben wird“Get Random Number setzt immer %randomNumber%. Wenn du zwei Würfe brauchst, musst du den ersten Wert sichern:
1. Get Random Number (0, 100)2. Set Argument: roll1 = %randomNumber%3. Get Random Number (0, 100)4. Set Argument: roll2 = %randomNumber%5. Send Message: "@%user% rollt %roll1% und %roll2%"Siehe Get Random Number.
Use-Case: String-Manipulation als Variable
Abschnitt betitelt „Use-Case: String-Manipulation als Variable“Wenn du den replaced/lowercased Wert mehrfach brauchst, einmal in eine Variable schreiben:
1. Set Argument: cleanInput = $lower($replace(%input0%, @, ))$2. … %cleanInput% an mehreren Stellen verwenden …Ohne Set Argument müsstest du $lower($replace(%input0%, @, ))$ in jedem Feld wiederholen.
Use-Case: Bool für If/Else vorbereiten
Abschnitt betitelt „Use-Case: Bool für If/Else vorbereiten“1. Set Argument: isAdmin = false2. If/Else: %userType% Equals broadcaster └─ Set Argument: isAdmin = true3. If/Else: %userType% Equals moderator └─ Set Argument: isAdmin = true4. If/Else: %isAdmin% Equals true └─ … mod-only Logic …Häufige Fallen
Abschnitt betitelt „Häufige Fallen“%im Variable-Name-Feld — falsch. Nur den nackten Namen.- Auto Type unbeabsichtigt aktiv —
"5"wird zu Integer5, dann scheitertEquals "5"als String-Vergleich. Im Zweifel mitEquals (Ignore Case)String-Vergleich erzwingen oderAuto Typeaus. - Set Argument im falschen Branch — innerhalb eines If/Else-Then-Pfads gesetzte Argumente überleben das If/Else trotzdem (Scope ist die ganze Action, nicht der Branch).
Pattern-Kombinationen
Abschnitt betitelt „Pattern-Kombinationen“Set Argument ist Glue-Code zwischen vielen Patterns. Klassische Kombi:
Set Argument → If/Else → Set Argument → Get User Info for Target → Send Messageoder
Get Random Number → Set Argument → If/Else cascade → Send Message