Twitch source

Connects directly to Twitch EventSub over WebSocket, without Streamer.bot.

Twitch sign-in

Stream Pulse uses Twitch’s device-code grant flow: it shows a Twitch activation link and code, then waits for approval. There is no redirect or local callback listener.

The Twitch Client ID is operator-managed and supplied with the Stream Pulse build. It is shared by all Twitch accounts in that installation; individual users sign in to their own Twitch accounts and do not need to register an application or provide a Client ID. Legacy Client ID values in saved configurations are ignored. If a build has no operator-configured Client ID, Twitch sign-in is unavailable.

Sign in

Add a Twitch account in Connections > Accounts. Open Sign-in settings, choose event permissions, then Sign in with Twitch: open the link and enter the code shown. Sign out requests token revocation.

In the source editor, choose that account and the events for this source. Multiple sources can share an account, and multiple Twitch accounts can be registered. Sources only offer compatible accounts. When none exist, use Manage accounts to register one. See Accounts.

Changing the source’s events may require enabling more event permissions and signing in again on the Accounts page.

The refresh token is stored locally and never exported. Access tokens stay in memory.

Events

Each event’s name is its EventSub type and its feature is eventsub. data is the EventSub event payload.

Event Default Scope
channel.follow on moderator:read:followers
channel.subscribe on channel:read:subscriptions
channel.subscription.gift on channel:read:subscriptions
channel.subscription.message on channel:read:subscriptions
channel.cheer on bits:read
channel.raid (incoming) on  
channel.channel_points_custom_reward_redemption.add on channel:read:redemptions
stream.online on  
stream.offline on  
channel.chat.message off user:read:chat

Listening to several channels

A source normally listens to its signed-in account’s own channel. Under Channels to listen to, tick any other accounts, for example read-only accounts, to listen to those channels with your sign-in as well. One source can listen to many channels, such as a bot that sits in stream1 and stream2. Only public events are available on channels other than your own: chat messages, incoming raids, and stream online/offline. Other selected events apply only to your own channel (marked “own channel only”), or are skipped if your own channel is not ticked; the source status says so. For chat, enable Chat messages in the signed-in account’s sign-in settings and sign in again to grant user:read:chat.

One rule handles every listened channel. To limit it to some channels, add a condition in the rule, choose the Channel field, is one of, and tick the channels; see Rules. Removing a channel’s account drops it from the source; if it was the only channel, the source is disabled instead of switching back to your own channel.

Connection behaviour

  • Reconnects with backoff, and follows Twitch’s reconnect messages without dropping events.
  • Duplicate deliveries are ignored.
  • Subscriptions that fail are listed in the source status.
  • If the sign-in expires or is revoked, the source asks you to sign in again.