Refund-Pattern
Generisches Pattern für Reward-Actions, die bei Fehler die Channel-Points zurückerstatten sollen. Beispiele: !skipsong wenn Spotify nicht antwortet, !customtitle wenn Twitch den String ablehnt, !showcat wenn OBS offline ist.
Die Sub-Action
Abschnitt betitelt „Die Sub-Action“Update Redemption Status
Setzt eine Redemption auf Fulfilled (akzeptiert) oder Canceled (Refund).
| Reward ID | %rewardId% (vom Trigger automatisch) |
|---|---|
| Redemption ID | %redemptionId% |
| Status | Fulfilled / Canceled |
Sobald der Trigger Channel Reward > Reward Redemption feuert, sind Argument %rewardId% Reward-GUID: bezieht sich auf das Reward-Template.
Variablen-Doku und Argument %redemptionId% Einzelne Redemption: die spezifische Einlösung.
Variablen-Doku bereits gesetzt. Die Felder im Standard belassen reicht.
Status-Werte
Abschnitt betitelt „Status-Werte“| Status | Effekt |
|---|---|
Fulfilled | Reward gilt als erfüllt. Points bleiben abgezogen, Reward verschwindet aus Queue. |
Canceled | Reward gilt als abgelehnt. Channel-Points werden zurückerstattet. Reward verschwindet aus Queue mit Cancelled-Status. |
Unfulfilled | Reward bleibt in der Queue (selten gebraucht: für späteres Approval). |
Generisches Pattern
Abschnitt betitelt „Generisches Pattern“- 1 Tatsächliche Aktion (Spotify-API, OBS-Source-Toggle, Set Channel Title …)
- 2 If/Else: <Erfolgs-Check> Equals false
- Then 2a Update Redemption Status: Canceled
- Then 2c Break
-
- 3 Update Redemption Status: Fulfilled
Konkretes Beispiel: Skip Song mit Refund
Abschnitt betitelt „Konkretes Beispiel: Skip Song mit Refund“Fetch URL für die Spotify-Skip-API. Wenn Spotify nicht antwortet, refunden wir.
- 1 Fetch URL: POST https://api.spotify.com/v1/me/player/next (Response in %api%)
- 2 If/Else: %api% Is Null or Empty
- Then 2a Update Redemption Status: Canceled
- Then 2c Break
-
- 3 Update Redemption Status: Fulfilled
Skip-Queue beachten
Abschnitt betitelt „Skip-Queue beachten“Twitch hat zwei Modi für Rewards (Setting im Reward selbst):
| Modus | Verhalten |
|---|---|
| Skip Request Queue = aktiv | Reward wird sofort fulfilled. Du brauchst Update Redemption Status: Fulfilled nicht. Twitch übernimmt. Du brauchst aber Canceled für Refunds. |
| Skip Request Queue = inaktiv | Reward landet in der Approval-Queue. Du musst manuell Fulfilled setzen am Ende einer erfolgreichen Action. |
Empfehlung: Skip Request Queue aktiv lassen und nur Cancel-Refunds eigenständig auslösen: dann ist die Action schlanker.
Häufige Fallen
Abschnitt betitelt „Häufige Fallen“- Reward in Twitch-Dashboard angelegt:
Update Redemption Statusschlägt mit Authentication-Fehler still fehl. Reward in SB neu anlegen. - Vergessen Fulfilled zu setzen: bei
Skip Queue = inaktivbleibt das Reward in der Queue und Twitch zeigt es als “ausstehend”. - Race-Conditions: bei mehreren Rewards parallel kann sich
%rewardId%zwischen Sub-Actions ändern, wenn du eine andere Sub-Action mit Reward-Lookup hast. Lösung: am Action-Anfang perSet Argumentin lokale Variablen kopieren. - Refund nicht sofort sichtbar: Twitch zeigt den Cancelled-Status manchmal erst beim nächsten Page-Reload. UX-Hinweis im Chat-Text einbauen.
Verwendet in
Abschnitt betitelt „Verwendet in“- Reward: Custom Stream-Title: Length-Filter, Slur-Filter, Twitch-Ablehnung
- Reward: Skip Song: Spotify-API-Fehler
- OBS: Source-Toggle via Reward: wenn OBS offline ist