Zum Inhalt springen
  • Dunkel
  • Hell
  • System

Twitch EventSub in Streamer.bot

Twitch hat mehrere APIs/Event-Systeme im Laufe der Zeit gehabt. Aktuell ist EventSub das offizielle Event-System für alles was in deinem Kanal passiert (Follows, Subs, Bits, Hype-Trains, Predictions, …). Streamer.bot nutzt EventSub unter der Haube: du musst es als User selten direkt konfigurieren, aber es ist gut zu wissen warum.

Wenn du in Tutorials, Forum-Posts oder dem Streamer.bot-Discord die Begriffe PubSub, EventSub, Webhook, WebSocket oder Helix liest und nicht weißt was gemeint ist: diese Seite klärt das. Du brauchst das nicht zum Bauen einer Action, aber zum Troubleshooten von “warum feuert mein Reward-Trigger nicht” hilft das Verständnis enorm.

SystemStatus 2026Was es ist
EventSub✅ AktivAktuelles Event-System. WebSocket-Variante seit 2022, alles neue läuft hier.
PubSub⚠️ Deprecated seit 2024Vorgänger von EventSub. Twitch stellt PubSub schrittweise ab.
Helix✅ AktivTwitchs REST-API für Aktionen (Ban, Timeout, Title setzen, Clips erstellen). Komplementär zu EventSub.
TMI / IRC✅ AktivChat-Protokoll. Nicht-Chat-Events laufen über EventSub.
Kraken❌ Komplett abgeschaltetAlte API vor Helix. Tot seit 2022.

Streamer.bot abstrahiert das alles: du klickst Triggers → Twitch → Follow und SB handhabt im Hintergrund EventSub-Subscription, Token-Refresh und Reconnect.

EventSub ist das Pub/Sub-System (“publish/subscribe”) von Twitch. Drittanbieter wie SB melden sich für bestimmte Events an (“ich will alle Follows in Kanal XYZ wissen”) und Twitch schickt die Events dann live raus.

Es gibt zwei Transport-Varianten:

TransportWer nutzt esVorteil
EventSub WebSocketStreamer.bot, lokale ToolsKeine öffentliche URL nötig. Client-initiated Connection
EventSub WebhooksCloud-Services (Tawmae, StreamElements)Twitch pusht zu öffentlicher HTTPS-URL

SB nutzt EventSub WebSocket weil es lokal läuft und keine öffentliche URL hat. Du musst keinen Webhook-Endpoint konfigurieren oder Port forwarden. SB öffnet eine Verbindung zu Twitch und Twitch pusht Events durch.

Wenn du in SB einen Trigger anlegst (z.B. Triggers → Twitch → Follow), passiert intern:

  1. SB checkt: hat der verbundene Twitch-Account die nötigen Scopes für channel.follow?
  2. Falls ja: SB subscribed bei Twitch für das Event via EventSub-API
  3. Bei jedem Follow pusht Twitch die Event-Daten über die WebSocket-Verbindung an SB
  4. SB feuert deinen Trigger mit den %user%, %followDate% etc. Variablen
  5. Bei SB-Neustart wird die Subscription automatisch erneuert

Du musst nichts davon manuell konfigurieren. Du klickst Trigger an, SB macht den Rest.

Twitch-Events brauchen OAuth-Scopes: Berechtigungen die der verbundene Account dem SB-Tool erteilt hat. Verschiedene Events brauchen unterschiedliche Scopes.

Event-TypBeispiel-ScopeWer muss verbunden sein
Followmoderator:read:followersStreamer ODER ein Mod
Subscribe / Resubchannel:read:subscriptionsStreamer (Broadcaster)
Bits Cheerbits:readStreamer
Channel Points Rewardchannel:read:redemptionsStreamer
Ban / Timeout (Mod-Aktion)moderator:manage:banned_usersStreamer ODER Mod
Pollschannel:read:pollsStreamer
Hype-Trainchannel:read:hype_trainStreamer
Shield Modemoderator:read:shield_modeStreamer ODER Mod
Charitychannel:read:charityStreamer (Affiliate+)
Goalschannel:read:goalsStreamer

Wichtig: Wenn dir ein Trigger nicht feuert obwohl SB connected ist, ist meistens ein Scope nicht erteilt. → Twitch-Account in SB neu verbinden (“Reconnect” / “Reauthorize”), Twitch zeigt dann die aktualisierte Scope-Liste.

Es gibt drei Situationen wo du tatsächlich was wissen musst:

Symptom: Du legst einen Follow-Trigger an, jemand folgt im Test, Action feuert nicht.

Fix: SB → Platforms → Twitch → Scopes → prüfen ob moderator:read:followers aktiv ist. Falls nein → Reauthorize klicken → Twitch öffnet sich → Scope freigeben → SB neu verbinden.

SB kann zwei Twitch-Accounts verbinden: deinen Streamer-Account und einen separaten Bot-Account (für Chat-Output unter anderem Namen). EventSub-Subscriptions hängen aber am Streamer-Account (das ist der “Broadcaster”): der Bot-Account schickt nur Chat-Messages.

Konfiguration in SB: Platforms → Twitch → Streamer Account (für Events) und Bot Account (für Chat-Output).

Twitch hat ein Limit von 3 EventSub-Subscriptions pro Combination aus Client-ID + User-ID. Streamer.bots Client-ID + dein User = 3 parallel verbundene SB-Instanzen pro Account.

Praktische Konsequenz: Wenn du SB auf 4 verschiedenen Rechnern mit demselben Twitch-Account verbindest, fliegt der älteste raus. Für 99% aller User irrelevant: relevant nur bei Multi-PC-Setups oder Test-Streamer.

Twitch-Doku: EventSub Subscription Limits.

Twitch rate-limited einige Events:

EventLimit
FollowMaximal 1× pro User pro Channel (re-following triggert nicht erneut)
Subscribe1× pro Sub-Event
Cheer (Bits)1× pro Cheer-Action
Hype-Train Progress1× pro 1-3 Sekunden während Hype-Train aktiv
Channel Points Redeem1× pro Redemption

Praktische Konsequenz: Du kannst beim Testen nicht “schnell 5x folgen” um einen Trigger zu testen. Twitch sendet nur 1 Follow pro User. Test-Follows brauchen entweder einen zweiten Account oder den Test Trigger-Knopf in SB.

PubSub (alt)EventSub (neu)
StatusDeprecated seit 2024Aktiv
TransportNur WebSocketWebSocket ODER Webhook
AuthOAuth + Topic-SubscribeOAuth + Subscription-API
EventsBegrenztes SetDeutlich mehr Events
Latenz~1-3s~1s
Hype-Train, Polls, PredictionsNur teilweiseKomplett
Charity, Shield Mode, Suspicious UsersVorhanden

Wenn du in alten Tutorials etwas mit “Twitch PubSub” liest, ist das veraltet: alles läuft heute über EventSub.

Du fragst dich vielleicht: warum nicht alles über IRC/Chat? Antwort: Twitch sendet die meisten Events nicht über IRC.

Event-QuelleWo es ankommt
Chat-MessagesIRC (TMI)
!-CommandsIRC + von SB als Command-Trigger interpretiert
Sub / Resub / Gift SubIRC USERNOTICE + EventSub (SB nutzt EventSub für saubere Daten)
Cheer (Bits)IRC USERNOTICE + EventSub
FollowNur EventSub (kein IRC)
Channel Points Reward RedeemNur EventSub
Hype-TrainNur EventSub
Polls / PredictionsNur EventSub
Ban / TimeoutNur EventSub + IRC CLEARCHAT

Kurz: ohne EventSub kein Follow-Trigger, kein Reward-Trigger, keine Hype-Train-Actions.

SymptomUrsacheFix
Follow-Trigger feuert nichtScope moderator:read:followers fehltSB → Twitch → Reauthorize
Reward-Trigger feuert nichtReward wurde im Twitch-Dashboard angelegt, nicht in SBSB-Doku: Rewards-Setup. Reward muss in SB sein für Update Redemption Status
SB verbindet aber Events kommen nichtEventSub-Quota voll (3 parallele Instances)Andere SB-Instances ausloggen oder neu verbinden
Nach Twitch-Outage keine EventsEventSub-Subscription nicht automatisch erneuertSB → Reconnect-Knopf, manchmal SB-Neustart nötig
Test-Follow triggert nichtTwitch limitiert auf 1 Follow pro UserTest-Trigger in SB nutzen oder zweiten Account
”Subscription Limit Exceeded” im LogDu hast 3+ SB-Instances mit selbem AccountIn allen anderen Twitch ausloggen

In > 99% der Fälle nie. Die Ausnahmen:

  • Custom Twitch Extension bauen: eigenes Tool außerhalb SB das eigene EventSub-Subscriptions hat
  • SB-WebSocket-API extern nutzen und parallel eigene Twitch-Events brauchen
  • Cloud-Bot bauen der ohne SB läuft: dann brauchst du EventSub Webhooks (öffentliche HTTPS-URL nötig)

Für alle Standard-Streamer-Use-Cases: SB nutzen, EventSub vergessen, glücklich sein.