Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions src/components/PlatformBadges.astro
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,12 @@
* via the PageTitle override, but can also be used directly in MDX.
*/
interface Props {
platforms: Array<'twitch' | 'youtube' | 'trovo' | 'kick' | string>;
platforms: Array<'twitch' | 'youtube' | 'kick' | string>;
}

const LABELS: Record<string, string> = {
twitch: 'Twitch',
youtube: 'YouTube',
trovo: 'Trovo',
kick: 'Kick',
};

Expand Down Expand Up @@ -62,10 +61,6 @@ const { platforms = [] } = Astro.props;
background-color: #53fc18;
color: #000;
}
.platform-badge.trovo {
background-color: #64d376;
color: #000;
}
.platform-badge.youtube {
background-color: #f00;
color: #fff;
Expand Down
2 changes: 1 addition & 1 deletion src/content.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const collections = {
* Streaming platforms a command/feature supports.
* Rendered as badges under the page title (see PageTitle override).
*/
platforms: z.array(z.enum(['twitch', 'youtube', 'trovo', 'kick'])).optional(),
platforms: z.array(z.enum(['twitch', 'youtube', 'kick'])).optional(),
/** SEO keywords emitted as a <meta name="keywords"> tag (see Head override). */
keywords: z.array(z.string()).optional(),
/**
Expand Down
14 changes: 14 additions & 0 deletions src/content/changelog/docs/2026-07-18-accuracy-pass.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: Documentation accuracy pass
description: Docs are now verified against the chatbot and realtime source code — corrected websocket payload shapes, game-module payouts, raffle defaults, and spam filter settings.
date: 2026-07-18
---

We ran a full accuracy review of the documentation, checking claims directly against the chatbot and realtime service source code. Highlights:

- **WebSockets:** `channel.session.reset` delivers session data flat under `data` (not `data.session`) — the payload reference and all client examples now agree. Session keys are documented in their real `follower-latest` format, and `channel.session.update`'s full payload is now listed.
- **Games:** Roulette pays even money and its slider sets the *win* chance; the Slotmachine only pays on three matching emotes, and its exact payout formula is now documented.
- **Raffles:** `!raffle` and `!sraffle` arguments are optional — defaults, caps, and the automatic winner-count brackets are now spelled out.
- **Spam filters:** One-Man Spam, Repetition, Zalgo, and Language filters now document their actual settings.

If you spot anything that doesn't match what the product does, the **Edit page** link at the bottom of every page goes straight to the source on GitHub.
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/custom.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ Variables used:
This command sends a simple shoutout to a specified user.

```streamelements
!cmd add !shoutout Check out $(1), they are playing $(game ${1}) at https://twitch.tv/$(1)
!cmd add !shoutout Check out ${1}, they are playing $(game ${1}) at https://twitch.tv/${1}
```

**Output:**
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/8ball.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "!8ball"
description: "Ask the StreamElements chatbot a question with the !8ball command and receive a random, magic 8-ball style answer."
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
keywords:
- 8ball command
- magic 8 ball chatbot
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/chatbot/commands/default/alerts.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "!alerts"
description: "Control StreamElements overlay alerts (mute, skip, pause) in real-time directly from chat using the !alerts command. Essential for stream management."
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
keywords:
- alerts command
- stream alerts
Expand Down Expand Up @@ -66,4 +66,4 @@ By default, only users with **Moderator** permission level or higher can use thi

## Related Commands

* [Chat Alerts module](/chatbot/modules/chatalerts): Sends automated chat messages for stream events such as follows, subscriptions, and raids.
* [Chat Alerts module](/chatbot/modules/chatalerts): Not to be confused with `!alerts` — it posts chat *messages* for events like follows and subscriptions, and does not control overlay alerts.
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/bot.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "!bot"
description: "Manage your StreamElements chatbot with the !bot command. Control bot behavior, including muting, unmuting, and removing the bot from chat."
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
keywords:
- bot command
- streamelements chatbot
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/chatbot/commands/default/cancelraffle.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,5 @@ By default, only users with **Moderator** permission level or higher can use thi

## Related Commands

* [`!raffle`](/chatbot/commands/default/raffle): Starts a new raffle where users can enter multiple times (using points).
* [`!sraffle`](/chatbot/commands/default/sraffle): Starts a new raffle where each user can only enter once (using keywords).
* [`!raffle`](/chatbot/commands/default/raffle): Starts a multi-winner raffle that splits the points pot among the winners.
* [`!sraffle`](/chatbot/commands/default/sraffle): Starts a single-winner raffle where one winner takes the full pot.
6 changes: 3 additions & 3 deletions src/content/docs/chatbot/commands/default/command.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "!command"
description: "Manage StreamElements chatbot custom commands directly from chat using the !command (!cmd) functions: add, remove, edit, alias, show, options."
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
keywords:
- command command
- cmd command
Expand Down Expand Up @@ -150,8 +150,8 @@ When using the `!command options` subcommand, you specify settings using flags f
| :--------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- | :---------------------------------------- |
| `-cd` | Sets the **global command cooldown** (minimum time between *any* use of the command). | `<seconds>` (e.g., `10`) | `-cd 10` |
| `-usercd` | Sets the **user-specific cooldown** (minimum time the *same user* must wait before using the command again). | `<seconds>` (e.g., `30`) | `-usercd 30` |
| `-cost` | Sets the **loyalty points cost** charged each time the command is used. If a user doesn't have enough points, the command silently does nothing (no error message is sent). Requires the StreamElements [Loyalty System](https://docs.streamelements.com/docs/loyalty/overview) active. | `<points>` (e.g., `50`) | `-cost 50` |
| `-level` | Sets the **minimum user permission level** required. Takes a **number**: `100` (Everyone), `250` (Subscriber), `400` (VIP), `500` (Moderator), `1000` (Super Moderator). | `<number>` (e.g., `500`) | `-level 500` |
| `-cost` | Sets the **loyalty points cost** charged each time the command is used. If a user doesn't have enough points, the command silently does nothing (no error message is sent). Requires the StreamElements [Loyalty System](https://support.streamelements.com/hc/en-us/articles/10474478470290-Loyalty-System-Overview) (enabled in the dashboard under **Loyalty** → **Loyalty Settings**). | `<points>` (e.g., `50`) | `-cost 50` |
| `-level` | Sets the **minimum user permission level** required. Takes a **number**: `100` (Everyone), `250` (Subscriber), `300` (Regular), `400` (VIP), `500` (Moderator), `1000` (Super Moderator). No other values are accepted. | `<number>` (e.g., `500`) | `-level 500` |
| `-type` | Sets **how the bot responds**. Platform support for `reply`, `mention`, and `whisper` may vary. | `say` (default), `reply`, `mention`, `whisper` | `-type whisper` |
| `-trigger` | **Renames the command**, changing the trigger word used to invoke it. | `<new_name>` (e.g., `!links`) | `-trigger !links` |
| `-enable` | Enables the command. | N/A | `-enable` |
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/commands.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "!commands"
description: "Use the !commands command in StreamElements chatbot to display a link to the creator's public commands list page."
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
keywords:
- commands command
- StreamElements
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/editcounter.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "!editcounter"
description: "Use the !editcounter command in StreamElements chatbot to set, increment, or decrement custom counter values directly from chat."
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
keywords:
- editcounter command
- counter command
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/emotes.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "!emotes"
description: "Use the !emotes command in StreamElements chatbot to list available emotes from Twitch, BTTV, FFZ, or 7TV, or to reload the entire emote cache."
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
keywords:
- emotes command
- list emotes
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/filesay.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "!filesay"
description: "Use the !filesay command in StreamElements chatbot to send multiple lines of text from a URL to chat, ideal for bulk commands like bans."
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
keywords:
- filesay command
- chatbot command
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/chatbot/commands/default/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ Below is the full list of default commands, grouped by what they do. Click on ea
| --- | --- |
| [`!cancelraffle`](/chatbot/commands/default/cancelraffle) | Immediately cancel an active raffle. |
| [`!giveaway`](/chatbot/commands/default/giveaway) | Check the status and link of the active channel giveaway. |
| [`!join`](/chatbot/commands/default/join) | Enter an active raffle or giveaway started with `!sraffle` or `!raffle`. |
| [`!raffle`](/chatbot/commands/default/raffle) | Create viewer raffles with multiple winners. |
| [`!sraffle`](/chatbot/commands/default/sraffle) | Start a single-entry raffle; viewers enter with `!join`. |
| [`!join`](/chatbot/commands/default/join) | Enter an active raffle started with `!sraffle` or `!raffle`. |
| [`!raffle`](/chatbot/commands/default/raffle) | Start a multi-winner raffle that splits the pot; viewers enter with `!join`. |
| [`!sraffle`](/chatbot/commands/default/sraffle) | Start a single-winner raffle; viewers enter with `!join`. |
| [`!ticket`](/chatbot/commands/default/ticket) | Purchase tickets for giveaways and raffles. |

## Song Requests
Expand Down
3 changes: 2 additions & 1 deletion src/content/docs/chatbot/commands/default/level.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ StreamElements uses the following numeric values for permission levels:
* `400`: VIP (Twitch only)
* `500`: Moderator
* `1000`: Super Moderator (Manually assigned via Dashboard or `!level`)
* `2000`: Broadcaster

These six values are the only ones the bot accepts — commands like `!level` and `!command options -level` reject anything else.

:::note
Manually setting a level (e.g., setting a non-sub to `250`) grants them the permissions of that level within StreamElements (e.g., access to sub-only commands) but does *not* grant them platform-specific benefits like sub badges or emotes.
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/module.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "!module"
description: "Use the !module command in StreamElements chatbot to enable or disable specific chatbot modules (like games, points, etc.) directly from chat."
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
keywords:
- module command
- enable module
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/nuke.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ keywords:
- delete messages
- regex moderation
- StreamElements chatbot
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
---

import ChatExample from '@components/ChatExample.astro';
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/nukeusername.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ keywords:
- regex moderation
- username nuke
- StreamElements chatbot
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
---

import ChatExample from '@components/ChatExample.astro';
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/permit.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ keywords:
- prevent timeout
- chat moderation
- streamelements chatbot
platforms: [twitch, trovo, kick]
platforms: [twitch, kick]
---

import ChatExample from '@components/ChatExample.astro';
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/queue.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,6 @@ Removes a specific user from the queue.
* Restrictions on the queue, such as the maximum queue size and which viewers are eligible to join (for example followers or subscribers only), are configured in the module settings on the Dashboard.
* Permission levels for subcommands can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`.

## Related
## Related Commands

* [Viewer Queue Module](/chatbot/modules/viewerqueue): Enable the queue and configure its settings (size limits, messages, and behavior) in the StreamElements Dashboard.
2 changes: 1 addition & 1 deletion src/content/docs/chatbot/commands/default/quote.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ keywords:
- random quote
- chat engagement
- StreamElements chatbot
platforms: [twitch, youtube, trovo, kick]
platforms: [twitch, youtube, kick]
---

import ChatExample from '@components/ChatExample.astro';
Expand Down
16 changes: 10 additions & 6 deletions src/content/docs/chatbot/commands/default/raffle.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,14 @@ The `!raffle` command allows streamers and moderators to create interactive raff
## Usage

```streamelements
!raffle <amount> <duration>
!raffle [amount] [duration]
```
* `<amount>`: Required. The total reward (pot) for the raffle, distributed among winners.
* `<duration>`: Required. The duration of the raffle in seconds.
* `[amount]`: Optional. The total reward (pot) for the raffle, distributed among winners. Defaults to 5000 points when omitted.
* `[duration]`: Optional. The duration of the raffle in whole seconds. Defaults to the Duration configured in the module settings. Because the arguments are positional, you can only set a duration if you also give an amount.

:::caution[Permissions]
By default, only users with **Moderator** permission level or higher can use this command.
:::

## Examples

Expand All @@ -39,12 +43,12 @@ The `!raffle` command allows streamers and moderators to create interactive raff

## Parameters

- `<amount>` (required): The total reward (pot) for the raffle, which will be distributed among the winners.
- `<duration>` (required): The duration of the raffle in seconds.
- `[amount]` (optional): The total reward (pot) for the raffle, which will be distributed among the winners. Accepts plain numbers and the `k` (thousands) / `m` (millions) suffixes — `5k` starts a 5000-point raffle. Percentages and `all` don't work here. Defaults to 5000 when omitted, and is capped by the module's Max Amount setting (and an absolute 1,000,000-point cap).
- `[duration]` (optional): The duration of the raffle in whole seconds (minimum 5). Defaults to the module's Duration setting when omitted.

## Configuration

Moderators can configure raffle settings, such as the maximum number of winners or cooldown period between raffles, through the StreamElements dashboard.
The default duration and the maximum pot are configured in the raffle module settings in the StreamElements dashboard. The number of winners is not configurable — it scales automatically with the number of entrants (see the [Raffle module](/chatbot/modules/raffle) for the exact brackets).

## Aliases

Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/chatbot/commands/default/setgame.mdx
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
---
title: "!setgame"
description: "Use the !setgame command in StreamElements chatbot to update your stream's game category on Twitch."
description: "Use the !setgame command in StreamElements chatbot to update your stream's game category on Twitch or Kick from chat."
keywords:
- setgame
- Twitch game category
- StreamElements bot
- update stream game
- change game on Twitch
platforms: [twitch, trovo, kick]
platforms: [twitch, kick]
---

import ChatExample from '@components/ChatExample.astro';

The `!setgame` command allows streamers and moderators to update the current game category of a Twitch stream in real-time. This feature ensures that viewers always have accurate information about the content being streamed.
The `!setgame` command allows streamers and moderators to update the stream's current game category directly from chat. It works on Twitch and Kick; YouTube is not supported.

:::caution[Permissions]
By default, only users with **Moderator** permission level or higher can use this command.
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/chatbot/commands/default/settitle.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "!settitle"
description: "Use the !settitle command in StreamElements chatbot to change the Twitch stream title from chat."
description: "Use the !settitle command in StreamElements chatbot to change your Twitch or Kick stream title from chat."
keywords:
- settitle
- set title
Expand All @@ -9,12 +9,12 @@ keywords:
- chatbot commands
- StreamElements
- Twitch
platforms: [twitch, trovo, kick]
platforms: [twitch, kick]
---

import ChatExample from '@components/ChatExample.astro';

The `!settitle` command allows streamers and moderators to change the title of the current Twitch stream directly from chat. This command helps keep viewers informed about the stream's content without leaving the streaming software.
The `!settitle` command allows streamers and moderators to change the stream title directly from chat, without switching to the dashboard or streaming software. It works on Twitch and Kick; YouTube is not supported.

:::caution[Permissions]
By default, only users with **Moderator** permission level or higher can use this command.
Expand Down
Loading
Loading