Zum Inhalt

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 TriggerTwitch → 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:

  1. Neue Text (GDI+) Source: Name Hydrate-Overlay
  2. Text: 💧 HYDRATE
  3. Font: groß (z.B. 120pt, weiß auf transparent)
  4. Position: oben Mitte
  5. 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: Restart damit's von vorne läuft

Quellen