Connecting your own Twitch chat bot to FizzyPeak
Got your own Twitch chat bot (Nightbot, StreamElements or self-built)? Here's how to connect it to FizzyPeak and keep full control over your OAuth tokens.
Connecting your own Twitch chat bot to FizzyPeak
FizzyPeak has its own chat bot for all stream control commands (!privacy, !b, !f, etc.). But maybe you already use Nightbot, StreamElements or built your own bot. No problem — our bot can run in parallel with yours, without conflicts.
Why two bots in parallel?
- FizzyPeak bot = stream control (tech, refresh, privacy, stats)
- Your bot = engagement (giveaways, points, commands, welcome messages)
The two don't fight — they listen for different command prefixes.
Option 1: Create a bot account
Many streamers use a separate Twitch account for their bot. That way you can clearly see in chat what's the bot and what's you.
- Log in to twitch.tv{target="_blank"} in an incognito window
- Register an account (the email and phone number can be the same as your main account)
- If Twitch complains: enable it in your main account under Security → Create Additional Accounts
Option 2: Generate an OAuth token
Bot accounts need an OAuth token to be allowed to post messages.
For Nightbot / StreamElements / third-party
- Log in to the respective app
- Settings → Connect Twitch Account
- Choose the bot account
- Confirm the permissions — done
For self-built bots
- Register your bot app in the Twitch Developer Console{target="_blank"}
- Create Application → Redirect URL:
http://localhost - Note the Client ID and Client Secret
- Implement the OAuth flow (scopes:
chat:read,chat:edit) - Alternatively: use a tool like TwitchTokenGenerator.com{target="_blank"} for simple tokens
Option 3: Register your bot in FizzyPeak
So that your own bot is informed about FizzyPeak events (e.g. on scene switch or ingest drop), you can use our webhook.
- FizzyPeak dashboard → Integrations → Webhooks
- Create Webhook
- URL: your bot endpoint (e.g.
https://mybot.com/fizzypeak-events) - Select the events (scene change, stream start/stop, bitrate drop, etc.)
- Note the secret — your bot must validate webhooks with an HMAC signature
Example payload:
{
"event": "scene.changed",
"streamer_id": "your_user_id",
"scene": "BRB",
"timestamp": "2026-04-24T15:23:00Z"
}
Avoiding command conflicts
If your bot also uses ! as a prefix, conflicts can occur.
FizzyPeak core commands (reserved, your bot should not override them):
!privacy/!live!b/!r/!s(bitrate, RTT, stats)!f(refresh)!scene <name>(scene switch)
Your bot should use its own prefixes, e.g.:
?pingfor a ping check$giveawayfor giveaways%pointsfor loyalty
That way nothing collides.
Ban and mod hierarchy
Important: if your own bot bans someone, our FizzyPeak bot doesn't notice automatically. There's an integration for that:
- FizzyPeak dashboard → Bot Settings → Sync Moderation
- Enter the bot account
- Provide a Twitch API token with the
moderation:readscope
From now on, bans and timeouts are synced between your bot and FizzyPeak.
Revoking access
If you want to disable the bot:
- Twitch → Settings → Connections{target="_blank"}
- Find the bot under Other Connections
- Click Disconnect
From now on the bot can no longer send messages. FizzyPeak core commands keep working.
Troubleshooting
Bot doesn't reply — OAuth token expired. Regenerate the token and update it in the bot app.
Bot sends, but FizzyPeak doesn't react — command prefix collision. Check that your bot isn't accidentally processing !f or !b.
Mod sync doesn't work — the moderation:read scope is missing from the token. Regenerate it with the correct scope.
Noch Fragen? Öffne das Dashboard oder schreib im Discord #support.