Skip to main content
Vetox watches eight external platforms and posts an announcement in your server whenever something new appears.

Twitch

Kick

YouTube

Reddit

Bluesky

Steam

RSS

Podcasts

Three things must be true

This is the single most common reason notifications appear not to work. All three are required, and only the first is visible on the notifications page itself.
1

Premium Basic or higher

Every platform requires at least the Basic tier. Adding a subscription on Starter is rejected with a message naming the platform.The check runs twice — once when you add the item, and again at the moment an announcement would be sent.
2

The platform's toggle in Server Setup

Each platform has its own switch on the Server Setup page, and it is off by default. Configuring the notification itself is not enough.
Neither notifications page shows you the state of this toggle. A fully configured, premium-paid feed will silently never fire, with no indication anywhere in the notifications UI. Check Server Setup first.
3

Channel permissions

Vetox needs View Channel, Send Messages and Embed Links in the target channel. See below.

Limits

10 items per platform, per server — 10 Twitch streamers, 10 YouTube channels, 10 subreddits, and so on. This is a flat product limit. It does not increase with a higher premium tier, and it is the same on Basic, Max and Black.

How quickly notifications arrive

Vetox polls each platform on a fixed schedule. An announcement arrives on the next poll after the content appears. The cooldown is a floor between two announcements for the same source, independent of the poll interval. A subreddit that posts three times in a minute produces one announcement, not three.
Polling is done by a single elected instance, so a busy server never receives duplicates from parallel workers.

Two different tracking models

Adding a streamer who is already live produces nothing. The live-state tracker only fires on an offline → online transition. If you add someone mid-stream, the first announcement you get is their next stream.Test with someone who is currently offline, or simply wait.
The live/offline state is tracked per streamer, not per server. If several servers follow the same streamer, they are driven from one shared state.

What will not be announced

Adding a subscription never backfills. Only content published after you added the item is announced, so your channel is not flooded during setup.
For the six content-based platforms, anything published more than 2 hours ago is ignored even if Vetox has never seen it. This prevents a backlog being dumped after an outage.An item whose feed provides no readable publish date bypasses this check and can be announced regardless of age. This is occasionally why an old RSS item appears.
Every announced item is remembered for 7 days, per server, so a restart or a slow poll cannot produce a duplicate. Two servers following the same feed each get their own copy — one server seeing an item does not suppress it for another.
Only original posts are announced. Replies and reposts are filtered out twice over. Quote posts are not filtered and will be announced.
An item seen while your premium is inactive is marked as seen for 7 days even though nothing was posted. Upgrading does not retroactively announce it.After reactivating premium, expect a quiet period until genuinely new content appears.

Discord permissions

Checked on the bot’s live permissions in the target channel at send time:
A permission failure loses that item permanently. The item is marked as seen before the send is attempted, and there is no retry. Fix permissions before the content you care about is published — not after.
If a channel has custom permission overwrites, check the bot’s effective permissions there rather than its server-wide role. Embed Links is the one most often missing.

Customising the announcement

A custom message control appears only on the RSS and Podcast pages. The other six platforms use a custom embed instead.

Embed size limits

Variables

Embed and message fields support variables in curly braces, like {streamer.name}. Each platform has its own set, listed on that platform’s page.
An unknown variable becomes empty text, not an error. And an embed field whose title or value ends up empty is dropped from the message entirely.So a field that keeps vanishing almost always means a misspelled variable, or one that does not exist for that platform. Check the name against the list on the platform’s page — the dropdown in the editor is authoritative.
Twitch and Kick stream variables ({stream.title}, {stream.viewers} and so on) exist only in the live announcement. Used in an offline embed they resolve to nothing and their field disappears.

Mentions

The mention role you configure is pinged normally.
Mentions in a notification embed are not restricted to the configured role. A role or user mention typed into a custom message or embed body will ping. Be careful with @everyone in a custom template.

Two settings you cannot change

The master enable switch and the embed colour for each platform are stored but have no working control in the dashboard. Every platform uses its brand default colour, and the master switch cannot be toggled.Use the Server Setup toggle to turn a platform off, and a custom embed to set a colour.

Troubleshooting

In order:
  1. The platform’s toggle on the Server Setup page is on — this is off by default and invisible from here
  2. The server has active Basic premium or higher
  3. The target channel still exists
  4. Vetox has View Channel + Send Messages + Embed Links there
  5. For Twitch and Kick — the streamer went offline and came back since you added them
Offline announcements are off by default on Twitch and Kick. Enable them on the tracked streamer.
Its title or its value resolved to empty and the field was dropped. Almost always a misspelled or wrong-platform variable.
Ten per platform is the maximum and does not scale with tier. Remove one first.
Configuration is kept, not deleted, and resumes automatically. But anything published during the lapse is already marked as seen and will not be announced retroactively.
An emptied channel field is not sent, so the previous channel is kept and no error is shown. Select a different channel instead of clearing it.