Direkt zum Hauptinhalt

Reward erstellt aber nichts passiert

Klassisches Symptom: Du hast einen Channel-Points-Reward angelegt, dem eine Action zugeordnet, eingeloest — und nichts. Gehe die Diagnose streng der Reihe nach durch. Nicht die Action neu bauen, bevor die Stufen davor sauber sind. Die Pipeline laeuft in dieser Reihenfolge: Twitch-Reward → Twitch-EventSub → Chatlix-Worker → Event-Log → Action → (optional) Connect/OBS.

1. Twitch-Reward aktiv?

Oeffne im Twitch-Dashboard die Channel-Points-Rewards. Pruefe:

  • Ist der Reward auf enabled?
  • Steht er auf Pause? Twitch pausiert Rewards automatisch, wenn der Streamer offline ist und die Option Only redeemable while live gesetzt ist.
  • Stimmt der Cost mit dem ueberein, was Zuschauer sehen? Wenn der Cost niedriger ist und das Redeem mit Not enough points fehlschlaegt, bekommt Chatlix kein Event.
  • Ist das Auto-Fulfill-Flag korrekt? Bei Skip Reward Requests Queue = off muss der Streamer manuell Mark as Fulfilled druecken — bis dahin bleibt das Redeem auf Twitch-Seite in der Warteschlange, das EventSub-Event kommt aber trotzdem sofort.

Wenn der Reward nicht aktiv ist, kommt bei Chatlix kein einziges Event an. Das ist die haeufigste Ursache.

2. Event-Log zeigt Channel-Points-Trigger?

Im Dashboard unter /dashboard/events filterst du nach Typ twitch.channel_points.redeem oder dem konkreten Reward-Namen. Pruefe einen frischen Test-Redeem (lass jemanden den Reward einloesen):

  • Eintrag erscheint — Twitch-Webhook funktioniert. Weiter zu Schritt 3.
  • Kein Eintrag — Twitch-EventSub-Subscription fuer channel.channel_points_custom_reward_redemption.add ist kaputt oder fehlt. Geh ins /dashboard/connect-Twitch-Tab und re-authorize. Manchmal sind nach OAuth-Renewal die Channel-Points-Subscriptions weg, weil der Scope channel:read:redemptions beim Reconnect nicht erneut erteilt wurde.

Der Event-Log ist die Quelle der Wahrheit. Wenn kein Event dort steht, ist das Problem vor Chatlix — meist auf Twitch-Seite oder in der EventSub-Subscription, nicht im Reward selbst.

Wichtig fuer wiederkehrende Aussetzer: Twitch kuendigt EventSub-Subscriptions serverseitig, wenn dein Webhook-Endpoint zu oft nicht rechtzeitig mit 200 antwortet (Cost-Limit-Sperre). Das aeussert sich so, dass mehrere Reward-Typen gleichzeitig aufhoeren zu triggern, nicht nur einer. Wenn das der Fall ist, hilft nur ein vollstaendiges Re-Pairing im Twitch-Tab — nicht das einzelne Reward neu anlegen.

3. Action isoliert testen

Wenn das Event ankommt, aber die Action nichts tut: Im Dashboard unter /dashboard/actions jede gemappte Action einzeln per « Test ausfuehren » triggern. Damit umgehst du den Reward-Pfad komplett.

  • Test funktioniert — Mapping zwischen Reward und Action ist kaputt. Pruefe in der Reward-Konfiguration, ob die richtige Action verknuepft ist.
  • Test scheitert — Die Action selbst hat ein Problem. Lies die Fehlermeldung im Test-Output. Typisch: OBS-Source-Name geaendert, AI-Credits leer, externe URL 5xx.

Bei Sound-Actions gibt es zwei komplett unterschiedliche Abspielwege — das ist eine haeufige Verwechslungsquelle: Browser-Sound laeuft ueber die Overlay-BrowserSource in OBS (siehe Seite « Audio reagiert nicht »), lokaler Sound (Sound-Presets) laeuft direkt auf dem Streamer-PC ueber Chatlix Connect, komplett ohne OBS-Audio-Pfad. Wenn eine Sound-Action als local.sound_play konfiguriert ist, hilft OBS-Mixer-Diagnose gar nichts — dann muss Connect online sein und das Preset lokal registriert (siehe Schritt 4 und Seite « Connect-Status: offline »).

4. Connect / OBS online?

Nur fuer OBS-Actions und lokale lokale Sound-Presets relevant. Im Dashboard unter /dashboard/connect:

  • Connect-Status online? Wenn nicht, siehe Seite « Connect-Status: offline ».
  • OBS-Status connected? Wenn disconnected, lauft OBS und ist OBS-WebSocket aktiv (Werkzeuge/Extras → WebSocket-Server-Einstellungen → Aktivieren)?
  • Stimmt der Port? Default 4455, in der lokalen connect.json (Abschnitt modules.obs.port) muss derselbe Wert stehen wie in OBS.

Eine OBS-Action mit Connect: offline wird vom Event-Log als skipped: connect_offline markiert — nicht als Fehler. Bei lokalen Sound-Presets analog: executor_unavailable bedeutet, Connect laeuft zwar, aber der lokale Sound-Player-Backend ist nicht verfuegbar (z.B. kein unterstuetzter Player auf dem System installiert) — kein Chatlix-seitiger Fehler.

5. Zeitfenster und Cooldown

Wenn alles oben sauber ist, pruefe Reward-spezifische Limits:

  • Cooldown auf Twitch-Seite — Reward hat einen Global- oder Per-User-Cooldown.
  • Cooldown in der Chatlix-Action — Manche Actions haben eigene Throttles, sichtbar in der Action-Konfiguration.
  • Quiet Hours — Achtung, das ist kein allgemeiner Action-Scheduler: die Quiet-Hours-Zeitfenster (quiet_hours_start/quiet_hours_end) gehoeren zum Stream-Commerce/Link-Autopost-Feature und blocken dort nur automatische Posts — sie blocken keine Channel-Points-Reward-Actions.

Wenn eine Action trotz erfolgreichem Event nicht laeuft, ist Quiet Hours also kein Reward-Verdaechtiger — pruefe stattdessen die Cooldowns oben und Schritt 3 (Action isoliert testen).

Verwandtes Symptom: Bot reagiert generell nicht (nicht nur Rewards)

Wenn gar keine Events mehr ankommen — auch keine Chat-Commands, Follows oder Subs — ist es kein Reward-spezifisches Problem, sondern der Twitch-Worker-Prozess selbst haengt oder ist neu gestartet und hat den Chat-Client nicht wieder verbunden. Das Event-Log zeigt in dem Fall ueberhaupt keine frischen Eintraege, unabhaengig vom Event-Typ. Das ist ein Fall fuer den Support — schick den Zeitpunkt, ab dem nichts mehr ankam, mit. Intern wird dafuer der Redis-Kontrollkanal des Twitch-Adapters (Praefix streaming:control:twitch) und der laufende Node-Worker-Prozess geprueft (nicht clientseitig loesbar).

Wenn alles passt und es trotzdem nicht laeuft

Nimm einen Screenshot vom Event-Log-Eintrag (mit Trigger-ID) und schick ihn an den Support. Die Trigger-ID ist der eindeutige Anker, mit dem wir das Event durch die Pipeline (EventSub-Empfang → Worker → Action-Dispatch → Connect/OBS) zurueckverfolgen. Ohne Trigger-ID kann Support nur raten.

Siehe auch: « Connect-Status: offline », « Audio reagiert nicht », « Overlay laedt nicht ».