Plugins

Stream Alerts

Premium
Twitch, Kick, YouTube and TikTok notifications — one entry per creator, with channel, ping role, custom message and Twitch clips.

Cloudy pings your server when someone goes live on Twitch or Kick, uploads to YouTube, or posts a new video on TikTok. Each platform is its own page in the sidebar, but they share one configuration shape and one subscription list.

LicensePremium
NeedsView Channel, Send Messages, Embed Links; Manage Messages and Read Message History for live alerts

Per-platform toggles

This is the one thing that trips people up: the master switch is per platform.

Turning off YouTube does not turn off Twitch or Kick. Each page writes its own toggle, so you can run Twitch alerts and leave YouTube dormant with its subscriptions intact.

Adding a creator

Platform

Determined by which page you are on. One entry per creator per platform — the same streamer can be tracked on Twitch and Kick with two separate entries.

Streamer name

1–100 characters · required

The URL slug, exactly as it appears in the address bar:

PlatformEnterFrom
Twitchshroud or the channel URLtwitch.tv/shroud
Kicktrainwreckstv or the channel URLkick.com/trainwreckstv
YouTube@MrBeast, the channel id UC… or the channel URLThe channel handle or youtube.com/channel/UC…
TikTok@nasa or the profile URLtiktok.com/@nasa

Twitch, Kick and TikTok names are stored in lowercase, and a pasted Twitch or Kick channel URL is reduced to the name in it. A Twitch or Kick name that cannot exist (spaces, a link to another site, more than 25 characters on Twitch) is rejected when you save. A YouTube entry is looked up on the next check and then shows the channel's real title in the list. An @handle, a UC… id or a channel URL that YouTube does not know is never guessed: the entry stays as typed and is looked up again a day later, or as soon as you correct it. Only a bare name without @ falls back to YouTube's search, which picks the best-known channel of that name.

Use the slug, not the display name. A Twitch display name can differ from the URL slug (capitalisation and, for some accounts, entirely), and the wrong one silently tracks nothing.

Discord channel

Required

Where the notification is posted.

Ping role

Optional

Mentioned at the top of every live, upload and TikTok notification. Make it an opt-in role members choose via reaction roles — a stream ping to @everyone several times a week is the fastest way to get members to mute the server.

Custom message

Up to 500 characters · optional

The notification is always an embed with a text line above it. Empty uses Cloudy's default line (**Name** is now live on Twitch!); set it to replace that line with your own text. The ping role is still put in front of it.

The text is posted exactly as written — there are no placeholders for the streamer, title or link. The embed underneath carries the name, title, category, viewer count and a "watch" button.

Active

Default true

Off means the bot ignores this entry but keeps the data. Use it to pause a creator who is on hiatus instead of deleting and re-adding them later. If the creator is live at that moment, the live message is removed, and the entry's Twitch clips pause with it. Uploads, TikToks and clips published while an entry is off are not announced when you switch it back on, and the same goes for the whole platform toggle and for a lapsed licence: only what is posted after that is news.

Twitch clips

Twitch entries have two extra fields.

Clip notifications

Default false

Posts a message whenever a new clip is created for this streamer, with the clip's preview image. Cloudy checks every two minutes and only announces clips created after you switched this on — nothing from before is backfilled. That also holds after a pause: switching clips, the entry, the platform or the licence back on starts fresh, clips made in between are not posted.

Clip posts do not ping the role and do not use the custom message.

Clip channel

Required when clip notifications are on

Where new clips are posted. Saving with clips enabled and no channel is rejected — a clip notification with nowhere to go would be silently dropped.

Give clips their own channel. A popular streamer generates clips constantly, and mixing them into the live-alert channel buries the alerts you actually care about.

Kick, YouTube and TikTok do not have clip support; the fields are not shown on those pages.

Behaviour notes

  • Twitch live events are pushed by Twitch and additionally polled every minute; Kick is polled every minute. Alerts arrive within roughly a minute of going live.
  • YouTube uploads are checked every five minutes, TikTok profiles every ten. Adding a YouTube channel silently records its newest existing video as the starting point — only videos published after that are announced. Adding a TikTok profile announces its newest existing video once, so you can see the entry works; after that only new videos are announced. YouTube Shorts are announced as Shorts.
  • YouTube allows the bot a fixed number of requests per day. Up to about 27 followed YouTube channels (across all servers) are each checked every five minutes; beyond that they are checked in turns, so an upload can take a few minutes longer to be announced — it is never skipped.
  • While a stream is live, the embed is refreshed about every two minutes (title, category, viewers, preview image).
  • One alert per stream session. When the platform reports the stream as ended for five minutes, Cloudy deletes its live message — this needs Manage Messages; without it the message stays up. A stream that drops and is back within those five minutes keeps its alert: a shaky connection does not ping the role again — also when the drop is shorter than a check, and when Cloudy restarts in the middle of it. A new session after that gets a fresh alert.
  • If someone deletes the live message while the stream is running, Cloudy does not post it again for that stream. The next stream is announced as usual.
  • A notification that cannot be posted (for example because Cloudy lost access to the channel) is retried on every check until the upload is a day old, then dropped — it is not posted days late once the permission is fixed, and a restart of the bot does not extend that day. A deleted Discord channel is reported once in the bot log; pick a new channel for the entry.
  • On a server with a Custom Bot, a live message Cloudy posted before the handover is replaced once by your bot's own copy, without a second ping — a bot can only edit its own messages, and the alert has to keep updating.
  • Deleting an entry that is live right now removes the live message from Discord first, then the entry. That takes a moment — the list shows the pending state.
  • TikTok only works for public profiles, and new videos can take a few minutes to show up.
  • A misspelled username produces no error and no alerts. If a creator never announces, check the slug against their URL first.