Zum Inhalt

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:

  1. Reward-Setting: Skip Request Queue = false
  2. Action sendet eine Discord-Notification an dich/Mods mit dem vorgeschlagenen Titel
  3. 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 + Refund als 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-MappingJust Chatting und Software Development haben spezielle Twitch-IDs, normale Game-Namen funktionieren meist direkt

Quellen