Command: !iq¶
Würfelt eine zufällige IQ-Zahl 0–200 und antwortet mit passendem Spruch je nach Range. Funktioniert auf den Sender (!iq) oder auf einen Target (!iq @bob).
Patterns: Set Argument + If/Else (Empty-Check + Range-Cascade) + Get User Info for Target + Get Random Number + Send Message Sub-Actions: 10 Cooldown: User 30s / Global 0s (Fun-Command)
Action: [Cmd] !iq¶
Sub-Action 1: Set Argument — Target vorbereiten¶
Pfad: Core → Arguments → Set Argument
| Feld | Wert |
|---|---|
| Variable Name | targetLogin |
| Value | $replace(%input0%, @, )$ |
| Auto Type | aktiv |
Strippt das @ aus %input0%. Wenn %input0% leer war, ist targetLogin jetzt auch leer.
Sub-Action 2: If/Else — Fallback auf Sender¶
Pfad: Core → Logic → If/Else
| Feld | Wert |
|---|---|
| Input | %targetLogin% |
| Operation | Is Null or Empty |
| Value | (leer) |
Im Then-Branch:
Sub-Action 3: Set Argument (im Then von 2)¶
| Feld | Wert |
|---|---|
| Variable Name | targetLogin |
| Value | %userName% |
Sub-Action 4: Get User Info for Target¶
Pfad: Twitch → User → Get User Info for Target
| Feld | Wert |
|---|---|
| User Login | %targetLogin% |
Setzt %targetUser%, %addTargetResult%, etc.
Sub-Action 5: Get Random Number¶
Pfad: Core → Logic → Get Random Number
| Feld | Wert |
|---|---|
| Type | Between |
| Min | 0 |
| Max | 200 |
Setzt %randomNumber%.
Sub-Action 6: If/Else — Range 0-39 (sehr niedrig)¶
| Feld | Wert |
|---|---|
| Input | %randomNumber% |
| Operation | Less Than |
| Value | 40 |
Im Then-Branch:
Sub-Action 7: Send Message + Break (im Then von 6)¶
| Feld | Wert |
|---|---|
| Message | @%targetUser% hat %randomNumber% IQ. Ouf. 💀 |
Danach Sub-Action: Core → Logic → Break
Sub-Action 8: If/Else — Range 40-89 (unter Durchschnitt)¶
| Feld | Wert |
|---|---|
| Input | %randomNumber% |
| Operation | Less Than |
| Value | 90 |
Then: Send Message @%targetUser% hat %randomNumber% IQ. Knapp unterm Durchschnitt. + Break
Sub-Action 9: If/Else — Range 90-119 (normal)¶
| Feld | Wert |
|---|---|
| Input | %randomNumber% |
| Operation | Less Than |
| Value | 120 |
Then: Send Message @%targetUser% hat %randomNumber% IQ. Gesunder Durchschnitt. + Break
Sub-Action 10: If/Else — Range 120-159 (überdurchschnittlich)¶
| Feld | Wert |
|---|---|
| Input | %randomNumber% |
| Operation | Less Than |
| Value | 160 |
Then: Send Message @%targetUser% hat %randomNumber% IQ. Smart cookie. + Break
Sub-Action 11: Send Message — Default (160-200, Galaxy Brain)¶
Ohne If/Else davor. Wird nur erreicht wenn keiner der Vorherigen gematcht hat.
| Feld | Wert |
|---|---|
| Message | @%targetUser% hat %randomNumber% IQ. Galaxy Brain. 🧠✨ |
Action-Tree¶
[Cmd] !iq
├── 1. Set Argument: targetLogin = $replace(%input0%, @, )$
├── 2. If/Else: %targetLogin% Is Null or Empty
│ └── 3. Set Argument: targetLogin = %userName%
├── 4. Get User Info for Target (User Login = %targetLogin%)
├── 5. Get Random Number (0, 200)
├── 6. If/Else: %randomNumber% Less Than 40
│ ├── 7a. Send Message: "@%targetUser% hat %randomNumber% IQ. Ouf. 💀"
│ └── 7b. Break
├── 8. If/Else: %randomNumber% Less Than 90
│ ├── Send Message: "@%targetUser% hat %randomNumber% IQ. Knapp unterm Durchschnitt."
│ └── Break
├── 9. If/Else: %randomNumber% Less Than 120
│ ├── Send Message: "@%targetUser% hat %randomNumber% IQ. Gesunder Durchschnitt."
│ └── Break
├── 10. If/Else: %randomNumber% Less Than 160
│ ├── Send Message: "@%targetUser% hat %randomNumber% IQ. Smart cookie."
│ └── Break
└── 11. Send Message: "@%targetUser% hat %randomNumber% IQ. Galaxy Brain. 🧠✨"
Command-Einstellungen¶
| Feld | Wert |
|---|---|
| Name | !iq — IQ Würfeln |
| Group | AzaCraft Fun |
| Commands | !iq!iqcheck!intelligence |
| Text Matching Mode | Basic |
| Location | Start |
| Sources | Twitch Message |
| Global Cooldown | 0 |
| User Cooldown | 30 |
Verwendungsbeispiele¶
| Chat-Eingabe | Verhalten |
|---|---|
!iq |
Würfelt für Sender |
!iq @bob |
Würfelt für bob |
!iq bob |
Würfelt für bob (@ ist optional dank $replace) |
!iq @userdergibtsnicht |
Get User Info schlägt fehl, Antwort kann seltsam sein (siehe Edge-Cases) |
Edge-Cases¶
- Target existiert nicht:
%targetUser%ist leer oder Login als Display Name. Optional: nach Sub-Action 4 einIf/Else: %addTargetResult% Equals falsemit Fehler-Message + Break - Range-Grenzen: Cascade nutzt
< 40, < 90, < 120, < 160. Werte exakt 40, 90, 120, 160 fallen in die NÄCHSTE Range. DaLess Than or Equalnicht existiert ist das das übliche Pattern - Sender als Target:
!iqohne Argument würfelt für sich selbst, Message ist@%targetUser%der =%userName%ist
Erweiterungs-Ideen¶
- Special-Case Broadcaster:
If/Else %targetIsBroadcaster% Equals true → "Über jede IQ-Skala erhaben." - Sub-Boost:
If/Else %targetIsSubscribed% Equals true → randomNumber + 20(mit$add(%randomNumber%, 20)$in Set Argument) - Persisted Best Score: Höchsten IQ pro User in Global speichern (
User (target)Persisted), bei neuem Highscore Extra-Message
Import-Code¶
Streamer.bot Export-String
Falls du nicht klicken willst — hier kommt der Export-String rein sobald der Command bei uns getestet und exportiert ist.
So importierst du:
- Streamer.bot öffnen → Tab Actions
- Unten Import klicken
- Den Code-Block oben komplett kopieren und ins Dialog-Feld einfügen
- Import drücken → Action erscheint in der Liste
- Im Tab Commands ggf. die Verknüpfung mit der Action prüfen
Quellen¶
- Get Random Number: https://docs.streamer.bot/api/sub-actions/core/logic/get-random-number
- If/Else: https://docs.streamer.bot/api/sub-actions/core/logic/if-else
- Get User Info for Target: https://docs.streamer.bot/api/sub-actions/twitch/user/get-user-info-for-target
- Set Argument: https://docs.streamer.bot/api/sub-actions/core/arguments/set-argument