For the complete documentation index, see llms.txt. This page is also available as Markdown.

Stream Announcements

Automatically announce when creators go live or publish new videos in your Discord server. This built-in module supports Twitch, YouTube, Kick and TikTok.

You can configure announcements through the dashboard or in config/modules/stream-notifications.yml. The dashboard is optional.

Supported platforms

Platform
Live streams
New uploads
What you need

Twitch

Yes

No

Creator username or profile URL, plus an application client ID and client secret.

YouTube

Yes

Videos and Shorts

Public channel @handle, channel URL or UC… channel ID. No API key is required.

Kick

Yes

No

Creator username or profile URL, plus an application client ID and client secret.

TikTok

Yes

Yes

Public username or profile URL. No creator login is required.

YouTube and TikTok checks rely on public platform access. Request blocking, sign-in requirements or platform changes can temporarily interrupt notifications. Private or restricted content may be unavailable.

Set up through the dashboard

1

Open Stream notifications

Select your Discord server and open Modules → Stream notifications.

2

Add platform credentials for Twitch or Kick

If you are adding Twitch or Kick creators, open Platforms, enter the application's Client ID and Client secret, then save the platform details.

3

Add a creator

Open Creators and choose Add creator.

4

Choose the creator

Choose the platform and enter the creator's username or public profile URL. For YouTube, use an @handle such as @yourchannel or a channel ID.

5

Configure notifications

Select the Notification channel. Optionally set a Display name and a Role to mention.

6

Enable event types

Enable Live streams, New uploads, or both. Uploads are available only for YouTube and TikTok.

7

Save the creator

Turn on Enable this creator, enable the module, and choose Save changes.

8

Adjust delivery and messages

Use Delivery to adjust check intervals and previews, Buttons to customize link buttons, and Messages to change announcement text. Save any further changes.

Platform credentials are shared across every server using the bot. Editing them requires administrator access in every bot server. Creator entries, notification channels and message settings are configured per server. Saving platform credentials does not save any other pending edits.

Bot permissions

Give the bot View Channel and Send Messages in the notification channel. Enable Embed Links when using previews. For a thread, the bot also needs access to the thread and Send Messages in Threads.

To notify a role, select it in Role to mention. The role must be mentionable, or the bot must have Mention Everyone permission. Leave the role empty to send announcements without a role ping.

Configure using YAML

Open config/modules/stream-notifications.yml. The settings below belong at the top level of that file; do not put them inside a StreamNotifications: section.

This complete example tracks a YouTube creator's live streams, videos and Shorts. Replace @yourchannel and the example Discord channel ID before saving. Keep Discord IDs in quotation marks.

Valid module YAML changes reload automatically during normal bot operation. Saved per-server settings take precedence over the local defaults, so edit that server in the dashboard if it already has its own Stream notifications settings.

Add more creators

Add another list entry underneath the existing entry in Creators. Do not add a second Creators: key. The following entries show Twitch, Kick and TikTok; copy only the ones you need and replace their example values.

Creator settings

Setting
Description

ID

A unique reference for this entry. Use letters, numbers, underscores or hyphens, up to 80 characters. Keep it stable when editing the creator. The dashboard generates it automatically.

Enabled

Whether this creator is checked. The module's top-level Enabled setting must also be true.

Platform

twitch, youtube, kick or tiktok.

Creator

Public username or HTTPS profile URL. YouTube accepts an @handle or channel ID, including a channel URL. Use a creator profile, not an individual video or stream link.

Name

Optional display name used in announcements. Set "" to use the name supplied by the platform, or the configured creator identifier when unavailable.

ChannelID

The Discord channel or thread that receives announcements. It must belong to the server being configured.

RoleID

Optional Discord role to ping. Set "" for no role mention.

Live

Send live-stream notifications.

Uploads

Send new-upload notifications. Supported only for YouTube and TikTok.

You can configure up to 50 creator entries per server. Each enabled entry needs at least one event type. The same platform and creator cannot have two enabled entries targeting the same channel; enable both event types on one entry instead. Separate destination channels can use separate entries with different IDs.

Twitch and Kick credentials

Create an application using the official Twitch application setup guide or Kick application setup guide. Copy its client ID and client secret into the dashboard's Platforms tab, or replace the matching blocks in the module file:

Only configure the platforms you use. The bot obtains and renews application access tokens automatically. These fields take application credentials, not a stream key or the creator's account password.

Credentials saved through Platforms override the local credential values and apply to subsequent checks without restarting. Choose Use local configuration to return to the values in the module file. This requires valid local credentials if any server still has that platform enabled.

Optional environment variables

To keep credential values in config/.env, use these placeholders in the module file:

Then add the variables for the platforms you use to config/.env:

Delivery and appearance

Setting
Default
What it changes

LiveInterval

"2m"

Time between live checks. Allowed range: "1m" to "1h". Existing live announcements refresh on successful checks.

UploadInterval

"5m"

Time between upload checks. Allowed range: "2m" to "1h".

NotifyExistingLive

true

Announce streams already live on the first successful check for a new creator/destination. Set false to wait for a new broadcast.

IncludePreview

true

Add an embed with the title and a preview image when available.

ShowWatchLiveButton

true

Add a link button to live announcements.

ShowViewerCountButton

true

Show a disabled information button with concurrent viewers when the platform supplies a count.

ShowWatchNowButton

false

Add a link button to upload announcements. The complete example above turns this on.

WatchLiveButtonLabel

"Watch Live"

Text on the live-stream link button.

ViewerCountButtonLabel

"Watching {viewers}"

Text on the viewer-count button. {viewers} becomes a formatted count.

WatchNowButtonLabel

"Watch Now"

Text on the upload link button.

Button labels support up to 80 characters. Set a label to "" to hide that button, even when its switch is enabled. Buttons can be used with previews turned off. Missing viewer counts are hidden; they are not replaced with total video views.

Customize the announcement text

Edit Messages.Live and Messages.Upload, or use Messages in the dashboard. Each template must contain text and can be up to 1,800 characters. The templates apply to all creators configured for that server.

Placeholder
Value

{creator}

Your configured display name, or the creator's name.

{platform}

Twitch, YouTube, Kick or TikTok.

{title}

Stream or video title.

{url}

Direct link to the stream or upload.

{game}

Game or category, when available. Otherwise blank.

{viewers}

Concurrent viewers, when available. Otherwise blank.

The bot adds the configured RoleID mention automatically. You do not need to place a role mention in the template. Only that configured role can be pinged; user or everyone mentions in titles and message text do not trigger notifications.

When announcements are sent

  • Existing uploads are skipped. The first successful upload check records the current videos without posting them. New eligible uploads found after that check are announced.

  • Already-live streams follow NotifyExistingLive. With the default true, adding a creator who is live can trigger an announcement on the first successful check.

  • Checks are periodic. Allow the configured interval plus provider response time. Failed checks retry with increasing delays, up to one hour.

  • Live posts update. While a broadcast remains live, the bot refreshes its title, configured content, preview and viewer count when available. Routine edits do not ping the role again. Updates stop when the broadcast ends; a new broadcast gets a new post.

  • Deleted live posts can return. If a tracked announcement is deleted while the stream is still live, the bot recreates it on a later check. The replacement can ping the configured role. Disable the creator before deleting its post if you want it to stay removed.

  • Uploads are not periodically edited. YouTube scheduled streams and premieres are not announced before going live, and completed broadcasts are excluded from ordinary upload notifications.

  • History survives restarts. Renaming or reordering a creator does not reset notification history. Changing its destination channel starts a new baseline. Upload recovery examines recent content, so it is not a full archive: known uploads older than 24 hours are skipped, and busy feeds or long downtime can exceed the recent-feed window.

Troubleshooting

Nothing is posted

Enable both the module and the creator. Select at least one event type, check the destination channel and permissions, then allow time for a successful check. Stream tracking is unavailable on trial servers.

Twitch or Kick will not enable

Configure both the client ID and client secret for that platform. Use Uploads: false.

An old video did not announce

This is expected. Existing uploads are recorded silently on the first successful check. Test with an upload published after that check.

YouTube creator is rejected

Use an @handle or UC… channel ID, or the corresponding channel URL. Individual video links and older custom /c/ or /user/ URLs are not supported creator identifiers.

The role is shown but nobody is notified

Check that the role is mentionable or that the bot has Mention Everyone permission. Routine live-message edits do not send another ping.

The viewer button is missing

Check its switch and label. The platform must also supply a concurrent viewer count.

YAML edits do not affect a server

Check for saved per-server dashboard settings. Platform credentials may also have a separate dashboard override. Check the bot log for configuration validation errors.

Notifications stop temporarily

Check the bot log for platform access, rate-limit or Discord permission errors. Public YouTube and TikTok checks can be interrupted by provider restrictions.

Every stream is announced twice

Check whether another bot or the older MultyStreamNotify addon is announcing the same creator. Disable the old notifications when moving creators to this module.

Last updated