Zum Inhalt springen
  • Dunkel
  • Hell
  • System

Reward: Custom Stream-Title

Reward: Stream-Titel ändern

Pro

Viewer setzt per Reward-Input den Stream-Titel. Mit Längen-Check, Slur-Filter und Refund bei Twitch-Ablehnung.

Steps
8
Cooldown
0s/User
Cooldown
10 minglobal
Zugriff
Public

Klassisches Premium-Reward. Viewer zahlt Channel-Points, tippt einen Wunsch-Titel ins Reward-Input, und der Bot setzt ihn live. Sicherheits-Netz: Länge prüfen (Twitch erlaubt 140 Zeichen), gegen eine Slur-Liste filtern, und bei Twitch-Ablehnung die Points zurückerstatten via Refund-Pattern.

Trigger setzt unter anderem Argument %user% Display-Name des Redeemers. Variablen-Doku , Argument %rawInput% Das was der User ins Reward-Feld getippt hat. Variablen-Doku , Argument %redemptionId% Wird für Update Redemption Status gebraucht. Variablen-Doku . Nach Set Channel Title steht in Argument %titleSuccess% bool: true wenn Twitch den Titel akzeptiert hat. Variablen-Doku das Ergebnis.

FeldWert
TitleStream-Titel ändern
Cost5000
PromptDu bestimmst den Titel (max 140 Zeichen)
User Input Requiredaktiv
Skip Request Queueaktiv
Max Per User Per Stream1
Global Cooldown600 (10 Minuten)

Trigger: Twitch > Channel Reward > Reward Redemption mit Reward-Filter Stream-Titel ändern.

If/Else: Titel zu lang

Core Logic If/Else

Twitch erlaubt max 140 Zeichen im Stream-Titel.

Input $length(%rawInput%)$
Operation Greater Than
Value 140
Then

Update Redemption Status. Cancel

Twitch Rewards Update Redemption Status

Im Then-Branch von Sub-Action 1. Points zurückerstatten.

Redemption ID %redemptionId%
Status Canceled
Then

Send Message: Zu lang

Twitch Chat Send Message to Channel
Message @%user% Titel zu lang, max 140 Zeichen. Points zurück.
Then

Break

Core Logic Break

Im Then-Branch von Sub-Action 1.

If/Else: Slur-Filter

Core Logic If/Else

Regex-Match gegen verbotene Wörter. Case-insensitive via (?i).

Input %rawInput%
Operation Regex Match
Value (?i)(slur1|slur2|verbotenes-wort)
Then

Update Redemption Status. Cancel

Twitch Rewards Update Redemption Status
Redemption ID %redemptionId%
Status Canceled
Then

Send Message: Slur

Twitch Chat Send Message to Channel
Message @%user% nope, schreib was anständiges. Points zurück.
Then

Break

Core Logic Break

Set Channel Title

Twitch Channel Set Channel Title

Setzt %titleSuccess%: false wenn Twitch ablehnt.

Title %rawInput%

If/Else: Twitch hat abgelehnt

Core Logic If/Else
Input %titleSuccess%
Operation Equals
Value false
Then

Update Redemption Status. Cancel

Twitch Rewards Update Redemption Status
Redemption ID %redemptionId%
Status Canceled
Then

Send Message: Twitch-Ablehnung

Twitch Chat Send Message to Channel
Message @%user% Twitch hat den Titel abgelehnt. Points zurück.
Then

Break

Core Logic Break

Update Redemption Status. Fulfilled

Twitch Rewards Update Redemption Status

Reward als erfolgreich markieren.

Redemption ID %redemptionId%
Status Fulfilled

Send Message: Erfolg

Twitch Chat Send Message to Channel
Message 📺 @%user% hat den Titel gesetzt: %rawInput%
AzaBot: 📺 @AzazeliTV hat den Titel gesetzt: Sub-Action-Tutorial Day 3
So sieht's im Chat aus
  1. 1 If/Else: $length(%rawInput%)$ Greater Than 140
    1. Then 1a Update Redemption Status: Canceled
    2. Then 1b Send Message: "@%user% Titel zu lang..."
    3. Then 1c Break
  2. 2 If/Else: %rawInput% Regex Match (?i)(slur1|slur2)
    1. Then 2a Update Redemption Status: Canceled
    2. Then 2b Send Message: "@%user% nope..."
    3. Then 2c Break
  3. 3 Set Channel Title: %rawInput%
  4. 4 If/Else: %titleSuccess% Equals false
    1. Then 4a Update Redemption Status: Canceled
    2. Then 4b Send Message: "Twitch hat den Titel abgelehnt..."
    3. Then 4c Break
  5. 5 Update Redemption Status: Fulfilled
  6. 6 Send Message: "📺 @%user% hat den Titel gesetzt..."
InputResultat
Tutorial Tag 3Titel wird gesetzt, Points fulfilled
AAAAA... (200 Zeichen)Length-Filter cancelt, Points zurück
verbotenes-wort lolSlur-Filter cancelt, Points zurück
(leer)Reward erfordert Input. Twitch lässt das gar nicht erst zu
  • Leerer %rawInput%: bei User Input Required = aktiv blockt Twitch das eigentlich, kann aber bei Race-Conditions trotzdem auftreten. Vorsorglich als erste Sub-Action ein If/Else %rawInput% Is Null or Empty → Cancel + Refund + Break.
  • Filter umgangen mit Spaces/Sonderzeichen: Regex härten, aber niemals als alleinige Sicherheit verlassen. Mods im Loop halten.
  • Titel-Length zählt Emojis anders: Twitch zählt Bytes, nicht visible chars. 140 ist konservativ: bei viel Emoji eher 100 setzen.
  • Game ändern statt Titel: gleiche Logik mit Twitch > Channel > Set Channel Game. Setzt %gameSuccess%, %gameName%, %gameId%. Cancel/Refund bei gameSuccess = false.
  • Mod-Approval statt direkter Apply: Reward mit Skip Request Queue = false, plus Discord-Webhook an Mods. Mods entscheiden manuell im Twitch-Dashboard.
  • Audit-Log: Core > File I/O > Write To File mit Append-Mode für Title-History.