Reaction-Tiers (Bits/Sub-Tiers)
Diese Seite wurde am 2026-07-08 gegen den Live-Code korrigiert. Die alte Fassung ging davon aus, dass du pro Tier/Schwelle eine eigene, separate Reaction anlegen kannst (z. B. drei Reactions für Sub Tier 1/2/3, vier Reactions für Bits-Bänder). Das geht technisch nicht — die Datenbank erlaubt nur eine Reaction pro Event-Typ und Channel (UNIQUE KEY (channel_id, event_type)). Was hier beschrieben ist, ist der reale, aktuell mögliche Weg, trotzdem nach Stufe zu differenzieren.
Was du wirklich pro Event-Typ einstellen kannst
| Feld | Bedeutung | Gilt für |
|---|---|---|
min_amount | Eine einzelne Mindestmenge, unter der die Reaction gar nicht feuert | raid (Min. Viewer), cheer (Min. Bits), host (Min. Bits) — im UI direkt als Zahlenfeld an der Karte |
config_json.min_level / min_total | Mindest-Level bzw. Mindest-Punktestand | hype_train_begin, hype_train_progress, hype_train_end |
Bedingungen (config_json.conditions) | Deklarativer Filter auf Event-Feldern, AND/OR-verknüpfbar | alle Event-Typen |
Es gibt keine gestaffelten Bit- oder Raid-„Bänder" (also nicht: eine Reaction für 100–499 Bits, eine andere für 500–999 usw.) — nur einen einzigen Schwellwert pro Event-Typ. Willst du unterschiedliche Texte je nach Höhe, bleiben dir zwei Wege: entweder ein Text, der für alle Mengen ab der Schwelle passt (z. B. „danke für die {amount} Bits!"), oder eine Automation, die verzweigen kann.
Sub-Tiers: die Falle mit den Rohwerten
Twitch liefert für sub/resub den Tier-Wert als 1000, 2000 oder 3000 (Tier 1, 2, 3) — nicht als 1/2/3. Ein einfaches Template wie Danke {user}, Tier {tier}! zeigt Zuschauern also „Tier 1000" statt „Tier 1", wenn du nichts dagegen tust.
Zwei praktikable Ansätze, weil es pro Channel nur eine sub-Reaction geben kann:
- Ein generischer Text ohne konkrete Tier-Zahl:
💜 Danke @{user} für die Subscription! Tier {tier}— akzeptiere, dass Zuschauer „Tier 1000" statt „Tier 1" sehen, oder schreib den Text so, dass die Zahl nicht auffällt. - Eine Bedingung, die nur bei einem bestimmten Tier feuert (siehe unten „Conditions im UI") — z. B. „Sub-Tier ist gleich 3000" — damit die eine Reaction ausschließlich Tier-3-Subs anspricht (Tier 1 und 2 lösen dann gar keine Reaction aus). Für unterschiedliche Texte je Tier gleichzeitig brauchst du eine Automation.
Gift-Sub-Anzahl
gift_sub liefert {amount} als Anzahl verschenkter Subs (nicht Tier + Anzahl getrennt, wie eine ältere Fassung dieser Seite behauptete — im aktuellen Code gibt es für gift_sub nur {user} und {amount}). Ein Beispiel-Template: 🎁 @{user} hat {amount} Subs verschenkt! Willst du erst ab einer bestimmten Anzahl reagieren, nutze eine Bedingung auf dem Feld „Betrag / Menge" mit Operator >=.
Hype-Train-Level
Die drei echten Event-Typen heißen hype_train_begin, hype_train_progress, hype_train_end — nicht „Start/Level-Up/End" wie in einer älteren Fassung. Jeder hat sein eigenes Template mit {level} und {total}. Für hype_train_progress kannst du Min. Level und Min. Punkte direkt an der Karte setzen — die Reaction feuert dann erst ab dem eingestellten Level/Punktestand, aber pro Levelaufstieg immer mit demselben Template (nicht „ab Level 3 eine andere Animation"; das bräuchte wieder eine Automation).
Prime-Sub-Sonderfall
sub_prime und sub_prime_upgrade laufen technisch über das Twitch-EventSub-Topic channel.chat.notification, nicht über ein eigenes Topic. Im Editor steht bei diesen beiden Event-Typen der Hinweis „👑 Erfordert channel.chat.notification EventSub-Abo" — wenn dieses Abo im Tab „Event-Abos" fehlt oder fehlgeschlagen ist, feuert die Reaction nie, egal wie sie konfiguriert ist.
Conditions im UI — der tatsächliche Mechanismus
Unter jeder Reaction-Karte gibt es einen aufklappbaren Block „🔀 Bedingungen (optional)". Er ist deklarativ (kein Code/Eval) und wird serverseitig vom ConditionEvaluator ausgewertet. Verfügbare Felder:
event_type— Event-Typplatform— Plattformuser— User-Nameamount— Betrag / Mengetier— Sub-Tier (Rohwert 1000/2000/3000!)months— Monate (bei Resub)message— Nachrichtlevel— Hype-Train-Leveltotal— Hype-Train-Punkteviewers— Viewer (Raid)currency— Währung
Verfügbare Operatoren: ist gleich / ist nicht gleich, enthält / enthält nicht, beginnt mit, endet mit, >, >=, <, <=, ist nicht leer, ist leer, in Liste, nicht in Liste. Mehrere Bedingungen lassen sich mit UND (alle) oder ODER (eine) verknüpfen (Radio-Buttons erscheinen erst ab der zweiten Zeile). Hartes Limit: maximal 25 Bedingungen pro Reaction, maximal 200 Zeichen pro Wert.
Beispiel — nur bei Tier-3-Subs reagieren: Feld Sub-Tier, Operator ist gleich, Wert 3000.
Beispiel — nur bei Raids ab 50 Viewern und von einem bestimmten Kanal absehen von der Mindestmenge im UI-Feld: Feld Viewer (Raid), Operator >=, Wert 50.
Häufige Fehler
- „Meine Tier-3-Reaction feuert nicht mehr, seit ich Tier 1 auch abdecken wollte" — es gibt nur eine
sub-Reaction. Eine Bedingung „Tier = 3000" schließt Tier 1 und 2 automatisch aus; willst du für alle Tiers reagieren, aber nur den Tier-Wert im Text ausgeben, lass die Bedingung weg. - „Tier {tier} zeigt 1000 statt 1" — kein Bug, siehe oben: Twitch liefert Rohwerte in Tausendern.
- „Bei Resub wird {months} nicht ersetzt" — das Feld heißt exakt
months; wenn im Template ein Tippfehler wie{month}steht, bleibt die Variable unverändert im Text stehen (kein Fehler, keine leere Lücke — Chatlix ersetzt nur exakte Treffer). - „Prime Sub feuert nie" — EventSub-Abo für
channel.chat.notificationim Tab „Event-Abos" prüfen. - „Hype-Train-Reaction feuert bei jedem Level, ich will nur ab Level 3" —
Min. Levelan der Karte auf 3 setzen, nicht über die generischen Bedingungen (die haben zwar auch einlevel-Feld, aberMin. Levelist der dafür vorgesehene, einfachere Weg).
Siehe auch
- Combos + Sequenzen — was an Mehrfach-Effekten pro Reaction wirklich möglich ist.
- Buch Automations — für echte Verzweigung nach Tier/Menge mit unterschiedlichen Ergebnissen, Zählern oder externen Webhooks.