Reward: Hydrate Reminder¶
Viewer löst Reward ein → Big-Text-Source in OBS popt für 5 Sekunden auf, Chat bekommt Reminder, optional Soundbite.
Voraussetzung: Reward in Streamer.bot angelegt (siehe setup.md) Patterns: Reward Redemption Trigger + Set Source Visibility + Delay + Send Message Sub-Actions: 5-7
Reward in Streamer.bot anlegen¶
| Feld | Wert |
|---|---|
| Title | Hydrate Reminder |
| Cost | 500 |
| Prompt | Erinner mich ans Trinken! |
| Skip Request Queue | true |
| Max Per User Per Stream | 3 |
| Global Cooldown | 60 |
Action: [Reward] Hydrate Reminder¶
Trigger¶
Triggers-Tab → + Add Trigger → Twitch → Channel Reward → Reward Redemption → Reward auswählen.
Sub-Action 1: Send Message¶
| Feld | Wert |
|---|---|
| Message | 💧 @%user% erinnert daran zu trinken! Danke! |
| Send using bot account | aktiv |
Sub-Action 2: Play Sound (optional)¶
Pfad: Core → Sounds → Play Sound
| Feld | Wert |
|---|---|
| File | C:\sounds\hydrate-bell.mp3 |
| Volume | 60 |
Sub-Action 3: Set Source Visibility State — Hydrate-Overlay anzeigen¶
Pfad: OBS Studio → Sources → Set Source Visibility State
| Feld | Wert |
|---|---|
| Connection | Default |
| Scene | Main |
| Source | Hydrate-Overlay |
| State | Visible |
Sub-Action 4: Delay¶
| Feld | Wert |
|---|---|
| Duration | 5000 ms |
Sub-Action 5: Set Source Visibility State — Hydrate-Overlay verstecken¶
| Feld | Wert |
|---|---|
| Scene | Main |
| Source | Hydrate-Overlay |
| State | Hidden |
Action-Tree¶
[Reward] Hydrate Reminder (Trigger: Reward Redemption "Hydrate Reminder")
├── 1. Send Message: "💧 @%user% erinnert daran zu trinken!"
├── 2. Play Sound: hydrate-bell.mp3
├── 3. Set Source Visibility: Hydrate-Overlay = Visible
├── 4. Delay 5000 ms
└── 5. Set Source Visibility: Hydrate-Overlay = Hidden
OBS-Source Vorbereitung¶
In OBS:
- Neue Text (GDI+) Source: Name
Hydrate-Overlay - Text:
💧 HYDRATE - Font: groß (z.B. 120pt, weiß auf transparent)
- Position: oben Mitte
- Standard: ausgeblendet (👁️ aus)
Bei jedem Reward-Einlösen wird die Source 5 Sekunden eingeblendet.
Variante: Wer hat geredeemed im Overlay¶
Mit Set GDI Text Sub-Action den Text dynamisch ändern damit %user% im Overlay steht:
[Reward] Hydrate Reminder
├── 1. Set GDI Text:
│ Source: Hydrate-Overlay
│ Text: 💧 HYDRATE — @%user%
├── 2. Set Source Visibility: Visible
├── 3. Delay 5000 ms
├── 4. Set Source Visibility: Hidden
└── 5. Send Message: "..."
Variante: Mehrere Reminder gleichzeitig (Queue)¶
Wenn 5 Viewer gleichzeitig redeem, hast du das Problem: die Source wird mehrfach an/aus geschaltet. Bei Skip Queue ✅ läuft jede Action parallel.
Lösung 1: Action Queue in SB konfigurieren — Actions laufen sequentiell, nicht parallel.
Lösung 2: Im SB-Action-Editor unter Settings → Concurrent auf Disabled setzen. Dann werden Redemptions queue't, OBS-Overlay sauber ein-/ausgeblendet.
Variante: Mit Refund bei OBS-Disconnect¶
Wenn OBS nicht verbunden ist, schlagen die Visibility-Sub-Actions fehl. Mit Refund-Pattern (siehe refund-pattern.md):
[Reward] Hydrate Reminder
├── 1. Get Status (OBS Studio → Get Status)
│ Setzt %obsConnected%
├── 2. If/Else: %obsConnected% Equals false
│ ├── Update Redemption Status: Cancel
│ ├── Send Message: "@%user% OBS offline — Punkte zurück."
│ └── Break
├── 3-6. (eigentliche Reminder-Logic)
└── 7. Update Redemption Status: Fulfilled
Häufige Fallen¶
- Source bleibt nach SB-Restart sichtbar — wenn Stream/Server während des Delays crasht. Helper-Action bei
Stream Online: alle Reward-Sources auf Hidden setzen - Sound-File-Pfad mit Spaces — am besten Spaces aus Filenamen lassen oder Underscores nutzen
- Animations-Source — wenn Source eine MP4/GIF ist, beim Einblenden auch
Set Media State: Restartdamit's von vorne läuft
Quellen¶
- Reward Redemption Trigger: https://docs.streamer.bot/api/triggers/twitch/channel-reward/reward-redemption
- Set Source Visibility State: https://docs.streamer.bot/api/sub-actions/obs-studio/sources/set-source-visibility-state
- Play Sound: https://docs.streamer.bot/api/sub-actions/core/sounds/play-sound