Discord bot
The StreamerCatalyst Discord bot is the companion to your Twitch toolkit. Add it to your community server and it posts the moments that matter — going live, subs, cheers, raids, hype trains — auto-posts your clips and VODs, mirrors your Twitch schedule into Discord’s event calendar, offers self-serve role-picker buttons, and answers a set of slash commands.
Available on the Free tier and above.
At a glance
| Capability | What it does |
|---|---|
| Go-live announcements | Rich embed with title, category, and thumbnail the moment you go live, with an optional role ping and custom message |
| Subs, cheers & raids | Independent toggles posting each event to a channel you choose |
| Hype trains | Start and results announcements, configured per train type |
| Clips & VODs | New clips and stream VODs auto-posted (checked every 15 minutes) |
| Schedule sync | Your Twitch schedule mirrored as native Discord scheduled events |
| Button roles | Self-serve role-picker messages your members click to join/leave roles |
| Slash commands | /status, /release, /docs, /feedback, and the /sc command group |
| Update feeds | StreamerCatalyst release and system-status posts |
| Engagement metrics | Opt-in per-server counters and member-growth snapshots |
Add the bot to your server
- Open Discord → Servers in your StreamerCatalyst dashboard.
- Click Add to Discord and pick a server you manage.
- Approve the requested permissions: View Channels, Send Messages, and Embed Links to post; Manage Roles for button roles; Manage Events and Create Events for schedule sync. Mention Everyone is not requested at install — grant it separately only if you want the bot to ping
@everyone/@hereor non-mentionable roles.
Each Discord server links to one StreamerCatalyst (Twitch) channel — yours. You can add the bot to more than one server; each is configured independently. (Re-inviting an existing bot doesn’t update its permissions — adjust them in Discord’s role settings if needed.)
Register the slash commands
After the bot is in your server, open Discord → Servers and click Register slash commands once, so the commands appear when members type /. Global commands can take up to an hour to show everywhere. Re-run this whenever StreamerCatalyst adds new commands (noted in release notes).
Announcements
Configure these on Discord → Announcements. For each category you pick a destination channel and toggle it on. Everything is off by default.
Go live
Posts a rich embed — stream title, category, and a stream thumbnail — the moment you go live (duplicate online events for the same stream are suppressed). You can:
- Choose the channel it posts to.
- Ping a role (a specific role,
@everyone, or@here). Pings are resolved to real mentions only by the bot — literal@nametext you type never pings by accident. - Add a custom message above the embed, with
$(game),$(title),$(viewers), and$(channel)placeholders.
The stream thumbnail is Twitch’s live preview frame, and Twitch takes a minute or two to render one after a stream starts — so the announcement posts immediately without it and the bot edits the preview into the embed as soon as Twitch has it. It never posts Twitch’s grey “no preview” placeholder.
Subs, cheers & raids
One channel, three independent toggles:
| Toggle | Posts when… |
|---|---|
| New subscriptions, resubs & gifted subs | Anyone subscribes, resubs (with tier and months), or gifts subs |
| Bit cheers | A chatter cheers bits |
| Incoming raids | Another streamer raids you |
Hype trains
Hype trains are configured per type — Regular, Golden Kappa, Treasure, and Shared — each with independent controls:
- When it starts — announce the train beginning.
- Results — announce the final level, with the subs and bits contributed during the train.
- A custom message and a role ping for each, supporting
$(type),$(level),$(total),$(subs),$(bits), and$(channel)placeholders.
All types share one hype-train channel. Golden Kappa, Treasure, and Shared trains are detected automatically from Twitch’s event data.
StreamerCatalyst updates
Optionally mirror platform news into your server (off by default):
- New releases — posts when a new StreamerCatalyst version ships.
- System status changes — posts when StreamerCatalyst goes down, degrades, or recovers.
These never re-announce the current release or status when first enabled — only genuinely new changes post afterward.
Clips & VODs
Two more opt-in feeds on the Announcements page, each with its own channel:
- Clips — new clips of your channel are posted (title, clipper credit, and a playable link) within about 15 minutes of creation.
- VODs — when your stream ends, the bot watches for the archive VOD and posts it (title, duration, link) once Twitch publishes it. Only streams that end after you enable the toggle are posted — old VODs are never back-filled.
Stream schedule → Discord events
Toggle Stream schedule on and the bot mirrors your Twitch schedule into native Discord scheduled events: upcoming, non-cancelled segments within the next 30 days (up to 10), each linking to your Twitch channel. Edits to a segment update the Discord event, removed segments delete it, and hand-deleted events are recreated on the next sync. Syncs run every 15 minutes; /sc syncevents forces one immediately.
The bot needs the Create Events permission for this (granted at install); segments without an end time default to a two-hour event.
Button roles
Discord → Button roles builds self-serve role-picker messages: a title, a description, and up to 20 role buttons (label, emoji, and button color each). Post the panel to any channel; members click a button to toggle the role on or off, with a private confirmation. Edit and re-post the panel any time — the message updates in place.
The bot’s own role must sit above any role it hands out, or Discord rejects the grant (members see a hint saying so). Managed/integration roles can’t be offered.
Slash commands
| Command | What it does |
|---|---|
/status | Current StreamerCatalyst system status |
/release | The latest release notes |
/docs <query> | Search the documentation |
/feedback <type> <message> | Send feedback to the team |
/sc setup | Link to configure this server in your dashboard |
/sc stats | The channel’s current stream numbers (followers, subs, bits, raids, hype trains) |
/sc clips | Top 5 clips from the last 7 days |
/sc buttonroles | Link to the button-roles dashboard |
/sc syncevents | Force a schedule sync right now |
Any server member can use the commands; replies to /feedback, /docs, and /sc syncevents are private (ephemeral).
Subscriber roles
The bot does not assign Discord roles from Twitch subscriptions, and that’s deliberate: a bot can’t see which Twitch account a Discord member is connected to. The transparent way to sync sub-tier roles is Discord’s own native Twitch integration:
- In Discord, open Server Settings → Integrations → Twitch and connect your broadcaster account.
- Enable the subscriber role(s) — Discord supports per-tier roles.
- Viewers connect their Twitch account once under User Settings → Connections → Twitch, and Discord keeps their role in sync automatically.
This requires a Twitch Affiliate or Partner account. See Discord’s guide for the full walkthrough.
Engagement metrics (optional)
Discord doesn’t expose announcement or command analytics, so the bot can record its own — opt-in per server. When enabled, it tracks how many announcements it has sent, how many commands have run, and a daily member-count snapshot (giving a 7-day member change once a week of snapshots exists). Enable it from the dashboard’s Engagement card. It uses only standard bot reads — no privileged member-list access.
Server snapshot
The Servers page shows a live snapshot per linked server: member and online counts, channel/category/role counts, boost tier, scheduled events, and how many announcement routes are mapped.
Troubleshooting
- Commands don’t appear — register them (Discord → Servers → Register slash commands); global commands can take up to an hour.
- Nothing posts when I go live / get a sub — make sure the category is toggled on and a destination channel is set, and that the relevant Twitch events are enabled for your channel (the Numbers module covers the common ones).
- A role ping doesn’t notify — the bot’s own role must be high enough in your server’s role list, and either the pinged role is marked mentionable or the bot has Mention Everyone.
- A button role fails — move the bot’s role above the role being granted in Server Settings → Roles.
- Schedule events aren’t created — the bot needs the Create Events permission; re-check its role permissions. Heavy edit bursts are rate-limited by Discord and retried on later syncs.
- “Add to Discord” fails with an invalid redirect — this is a one-time setup item on the StreamerCatalyst side; contact support if you hit it.
Share Feedback
Need help or want to chat? Join our Discord to get support, report bugs, and talk with other streamers.▸ What we're sending
| Module | — |
| Page | — |
| Browser | — |
| Screen | — |
| Channel | anonymous |
| Submitted | — |