Connect Twitch
This guide is for streamers who broadcast on Twitch. Once connected, the app receives events through EventSub WebSocket:
- Bits / Cheer — queued as donations
- Subscription / Resub / Gift Sub — queued as donation events
- Regular chat — flows into the Live Chat feed
Just like YouTube — you'll need to register an app in the Twitch Developer Console to get a Client ID + Secret first.
What you'll need
- A Twitch account (the one you stream from)
- Access to the Twitch Developer Console
- Stream Community Manager open
Step 1 — Register an app in the Twitch Developer Console
- Go to dev.twitch.tv/console and log in with your Twitch account
- Click Applications → Register Your Application
- Fill in:
- Name — anything you like (e.g. "Mor9an")
- OAuth Redirect URLs —
http://localhost:3001/api/auth/twitch/callback - Category — Application Integration
- Click Create
- Open the new app → click Manage → copy the Client ID and click New Secret to generate a Client Secret
:::warning The Redirect URL must match exactly
The URL http://localhost:3001/api/auth/twitch/callback has to match character-for-character — no trailing /, no https — otherwise Twitch rejects the OAuth flow.
:::
Step 2 — Paste Client ID / Secret into the app
- In the app, head to Settings → Connections
- Scroll to the Twitch section
- Paste the Client ID + Client Secret into the fields
- Click Save
Step 3 — Click Connect Twitch and approve OAuth
- Click Connect Twitch
- Your browser opens the Twitch OAuth page
- Click Authorize to grant the required scopes (read chat, read subscriptions, read bits)
- The window pops back into the app — the Twitch status dot should flip to green
Step 4 — Test events
Once connected:
- Have a friend cheer 1 bit or gift a sub on your channel
- Or use the Test Panel, set source = Twitch, and send a fake donation
If everything is wired up: the queue pops, TTS speaks, and the overlay fires in OBS.
Tips & Troubleshooting
- OAuth error "Invalid redirect URI": check the Redirect URL in the Twitch Console matches
http://localhost:3001/api/auth/twitch/callbackexactly. - Connected but no events: EventSub needs to subscribe to topics — the app does this automatically on connect. If it didn't, try disconnect and connect again.
- Token expired: EventSub tokens can expire — the app refreshes them automatically most of the time. If the status flips to red on its own, just reconnect.
- Lost the Client Secret: back in the Twitch Console → Manage → click New Secret (the old one gets revoked).