Command: !rose¶
Schickt einem User eine Rose mit zufälliger Punchline. Demo für Random Group + Target-Lookup.
Patterns: Set Argument + If/Else (Empty-Check) + Get User Info for Target + Random Group + Send Message Sub-Actions: ~9 Cooldown: User 30s / Global 0s
Action: [Cmd] !rose¶
Sub-Action 1: Set Argument — Target vorbereiten¶
| Feld | Wert |
|---|---|
| Variable Name | targetLogin |
| Value | $replace(%input0%, @, )$ |
Sub-Action 2: If/Else — Fallback auf Sender¶
| Feld | Wert |
|---|---|
| Input | %targetLogin% |
| Operation | Is Null or Empty |
| Value | (leer) |
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¶
| Feld | Wert |
|---|---|
| User Login | %targetLogin% |
Sub-Action 5: If/Else — Lookup fehlgeschlagen¶
| Feld | Wert |
|---|---|
| Input | %addTargetResult% |
| Operation | Equals |
| Value | false |
Then-Branch:
Sub-Action 6 (im Then von 5): Send Message + Break¶
| Feld | Wert |
|---|---|
| Message | @%user% den User gibt's nicht, schreib den Namen richtig. |
Danach Core → Logic → Break.
Sub-Action 7: Random Group "Rose Punchlines"¶
So baust du sie:
- 5 Send-Message Sub-Actions hintereinander erstellen (siehe unten)
- Alle 5 markieren (Strg+Klick)
- Rechtsklick →
Group→ NameRose Punchlines - Rechtsklick auf die Group →
Randomaktivieren ✓
Die 5 Send Messages innerhalb der Group:
| Variante | Message |
|---|---|
| 1 | @%user% gibt @%targetUser% eine Rose. 🌹 |
| 2 | @%user% wirft @%targetUser% einen ganzen Strauß Rosen ins Gesicht. Romantik halt. |
| 3 | Die Rose von @%user% an @%targetUser% explodiert. Niemand weiß warum. |
| 4 | @%user% pflückt eine Rose extra für @%targetUser%. Sehr edel. |
| 5 | @%user% reicht @%targetUser% eine Plastik-Rose. Geizhals. |
Jede Sub-Action ist Twitch → Chat → Send Message to Channel. Alle 5 mit Send using bot account = aktiv, Fallback to Broadcaster = aktiv.
Bei jedem !rose zieht SB EINE der 5 Messages.
Action-Tree¶
[Cmd] !rose
├── 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. If/Else: %addTargetResult% Equals false
│ ├── 6a. Send Message: "@%user% den User gibt's nicht..."
│ └── 6b. Break
└── 7. Group [Random]: Rose Punchlines
├── Send Message: "@%user% gibt @%targetUser% eine Rose. 🌹"
├── Send Message: "@%user% wirft @%targetUser% einen Strauß ins Gesicht..."
├── Send Message: "Die Rose von @%user% an @%targetUser% explodiert..."
├── Send Message: "@%user% pflückt eine Rose für @%targetUser%. Sehr edel."
└── Send Message: "@%user% reicht @%targetUser% eine Plastik-Rose. Geizhals."
Command-Einstellungen¶
| Feld | Wert |
|---|---|
| Name | !rose — Random Rose |
| Group | AzaCraft Fun |
| Commands | !rose!rosen!flower |
| Text Matching Mode | Basic |
| Location | Start |
| Sources | Twitch Message |
| Global Cooldown | 0 |
| User Cooldown | 30 |
Verwendungsbeispiele¶
| Chat-Eingabe | Resultat |
|---|---|
!rose @bob |
Eine der 5 Messages zufällig, mit @bob als Target |
!rose bob |
Funktioniert genauso (@ wird gestrippt) |
!rose |
Target ist Sender selbst (User schenkt sich Rose) |
!rose @derGibtsNicht |
Fehler-Message, kein Random gezogen |
Weights für seltene Sprüche¶
Falls du eine Variante seltener machen willst:
Rechtsklick auf die Sub-Action INNERHALB der Random-Group → Weight setzen.
Default = 1. Höher = öfter gezogen.
Beispiel: Plastik-Rose-Variante mit Weight 0.3 → wird nur ~5% der Zeit gezogen (statt 20%).
Erweiterungs-Ideen¶
- Self-Target Behandlung:
If/Else %targetLogin% Equals %userName% → "Du kannst dir nicht selbst Rosen geben. Cringe."+ Break - Persisted Rose-Counter pro Empfänger:
Global (Set) IncrementmitUser (target)Destination →!rosen @bobzeigt wie oft bob Rosen bekommen hat - VIP-Special:
If/Else %targetIsVip% Equals true → "@%user% wirft @%targetUser% diamantene Rosen. VIP-Style."
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¶
- Random Sub-Action FAQ: https://docs.streamer.bot/faq/random-subaction
- Get User Info for Target: https://docs.streamer.bot/api/sub-actions/twitch/user/get-user-info-for-target