Reward: Custom Stream-Title (User-Input)¶
Viewer löst Reward mit Text-Input ein → der gegebene Text wird als Stream-Titel gesetzt. Mit Filter gegen Spam-Wörter und Refund bei verbotenem Inhalt.
Voraussetzung: Reward in Streamer.bot angelegt mit User Input Required = true
Patterns: Reward Trigger mit %rawInput% + If/Else (Filter) + Set Channel Title + Refund
Sub-Actions: 5-7
Reward in Streamer.bot anlegen¶
| Feld | Wert |
|---|---|
| Title | Stream-Titel ändern |
| Cost | 5000 |
| Prompt | Du bestimmst den Titel (max 140 Zeichen) |
| Skip Request Queue | false |
| User Input Required | ✅ aktiv |
| Max Per User Per Stream | 1 |
| Global Cooldown | 600 (10 Minuten) |
Action: [Reward] Custom Title¶
Trigger¶
Twitch → Channel Reward → Reward Redemption → Reward Stream-Titel ändern.
Verfügbare Variablen¶
| Variable | Inhalt |
|---|---|
%user% |
Display Name des Redeemers |
%rawInput% |
Was der User getippt hat (der gewünschte Titel) |
%rewardId%, %redemptionId% |
Für Refund-Logic |
Sub-Action 1: If/Else — Input zu lang¶
| Feld | Wert |
|---|---|
| Input | $length(%rawInput%)$ |
| Operation | Greater Than |
| Value | 140 |
Twitch erlaubt max 140 Zeichen im Stream-Titel.
Then-Branch:
Sub-Action 2 (im Then von 1): Refund + Message + Break¶
2a. Update Redemption Status: Cancel
2b. Send Message: "@%user% Titel zu lang (max 140). Refund."
2c. Break
Sub-Action 3: If/Else — Verbotene Wörter¶
| Feld | Wert |
|---|---|
| Input | %rawInput% |
| Operation | Regex Match |
| Value | (?i)(slur1|slur2|spam-wort) |
Liste deine verbotenen Wörter regex-mäßig auf (case-insensitive via (?i)).
Then-Branch:
Sub-Action 4 (im Then von 3): Refund + Message + Break¶
4a. Update Redemption Status: Cancel
4b. Send Message: "@%user% nope, schreib was vernünftiges."
4c. Break
Sub-Action 5: Set Channel Title¶
Pfad: Twitch → Channel → Set Channel Title
| Feld | Wert |
|---|---|
| Title | %rawInput% |
Setzt %titleSuccess% (bool).
Sub-Action 6: If/Else — Twitch API hat Title abgelehnt¶
| Feld | Wert |
|---|---|
| Input | %titleSuccess% |
| Operation | Equals |
| Value | false |
Then-Branch:
Sub-Action 7 (im Then von 6): Refund + Message + Break¶
7a. Update Redemption Status: Cancel
7b. Send Message: "@%user% Twitch hat den Titel abgelehnt — Refund."
7c. Break
Sub-Action 8: Erfolg¶
8a. Update Redemption Status: Fulfilled
8b. Send Message: "📺 @%user% hat den Titel gesetzt: %rawInput%"
Action-Tree¶
[Reward] Custom Title (Trigger: Reward Redemption "Stream-Titel ändern")
├── 1. If/Else: $length(%rawInput%)$ Greater Than 140
│ ├── Update Redemption Status: Cancel
│ ├── Send Message: "@%user% Titel zu lang — Refund."
│ └── Break
├── 2. If/Else: %rawInput% Regex Match (?i)(slur1|slur2)
│ ├── Update Redemption Status: Cancel
│ ├── Send Message: "@%user% nope..."
│ └── Break
├── 3. Set Channel Title: Title = %rawInput%
├── 4. If/Else: %titleSuccess% Equals false
│ ├── Update Redemption Status: Cancel
│ ├── Send Message: "@%user% Twitch hat abgelehnt..."
│ └── Break
├── 5. Update Redemption Status: Fulfilled
└── 6. Send Message: "📺 @%user% hat den Titel gesetzt: %rawInput%"
Variante mit Approval-Queue (Mod genehmigt)¶
Wenn du nicht jeden Titel auto-akzeptieren willst:
- Reward-Setting:
Skip Request Queue = false - Action sendet eine Discord-Notification an dich/Mods mit dem vorgeschlagenen Titel
- Mods entscheiden manuell im Twitch-Dashboard (Approve/Cancel)
Statt Set Channel Title direkt → erst manuelle Bestätigung warten. Komplexer Workflow, hier nicht voll dokumentiert.
Variante: Mod-Notification statt direkter Apply¶
Sicherer für unmoderierte Streams:
[Reward] Custom Title (Mod-Approval)
├── 1. (Filter wie oben)
├── 2. Discord Basic Webhook:
│ Content: "📺 @%user% schlägt vor: '%rawInput%' — Approve im Twitch-Dashboard"
├── 3. Send Message: "@%user% Titel-Vorschlag an Mods geleitet, wird geprüft."
└── (kein Update Redemption Status — Mod entscheidet manuell in Twitch)
Game ändern statt Title — gleiche Logik¶
Variante mit Twitch → Channel → Set Channel Game:
| Feld | Wert |
|---|---|
| Source | String |
| Title | %rawInput% |
Setzt %gameSuccess%, %gameId%, %gameName%. Twitch akzeptiert nur valide Game-Namen — gameSuccess = false wenn der String keiner Twitch-Category entspricht.
Häufige Fallen¶
- User schreibt nichts — Reward verlangt User Input Required, aber bei Lag/Bug kann
%rawInput%leer sein.If/Else %rawInput% Is Null or Empty → Cancel + Refundals erste Sub-Action - Filter regex zu lasch — Verbotene Wörter können um den Filter rumgeschrieben werden. Filter nicht als alleinige Sicherheit verlassen, immer Mods im Loop
- Title-Length von Twitch ≠ Twitch UI Anzeige — Twitch zählt anders als sichtbare Zeichen bei Emojis. 140 ist sicher konservativ
- Set Channel Game ohne Game-Mapping —
Just ChattingundSoftware Developmenthaben spezielle Twitch-IDs, normale Game-Namen funktionieren meist direkt
Quellen¶
- Reward Redemption Trigger: https://docs.streamer.bot/api/triggers/twitch/channel-reward/reward-redemption
- Set Channel Title: https://docs.streamer.bot/api/sub-actions/twitch/channel/set-channel-title
- Update Redemption Status: https://docs.streamer.bot/api/sub-actions/twitch/rewards/update-redemption-status