Skip to content

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

CapabilityWhat it does
Go-live announcementsRich embed with title, category, and thumbnail the moment you go live, with an optional role ping and custom message
Subs, cheers & raidsIndependent toggles posting each event to a channel you choose
Hype trainsStart and results announcements, configured per train type
Clips & VODsNew clips and stream VODs auto-posted (checked every 15 minutes)
Schedule syncYour Twitch schedule mirrored as native Discord scheduled events
Button rolesSelf-serve role-picker messages your members click to join/leave roles
Slash commands/status, /release, /docs, /feedback, and the /sc command group
Update feedsStreamerCatalyst release and system-status posts
Engagement metricsOpt-in per-server counters and member-growth snapshots

Add the bot to your server

  1. Open Discord → Servers in your StreamerCatalyst dashboard.
  2. Click Add to Discord and pick a server you manage.
  3. 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/@here or 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 @name text 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:

TogglePosts when…
New subscriptions, resubs & gifted subsAnyone subscribes, resubs (with tier and months), or gifts subs
Bit cheersA chatter cheers bits
Incoming raidsAnother 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

CommandWhat it does
/statusCurrent StreamerCatalyst system status
/releaseThe latest release notes
/docs <query>Search the documentation
/feedback <type> <message>Send feedback to the team
/sc setupLink to configure this server in your dashboard
/sc statsThe channel’s current stream numbers (followers, subs, bits, raids, hype trains)
/sc clipsTop 5 clips from the last 7 days
/sc buttonrolesLink to the button-roles dashboard
/sc synceventsForce 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:

  1. In Discord, open Server Settings → Integrations → Twitch and connect your broadcaster account.
  2. Enable the subscriber role(s) — Discord supports per-tier roles.
  3. 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.