diff --git a/astro.config.mjs b/astro.config.mjs index e88c4d2..2c3baa2 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -171,6 +171,13 @@ export default defineConfig({ }, expressiveCode: { defaultProps: { wrap: true }, + // Match the code-block frame to the card family (ChatExample, CommandInfo, + // VariableInfo): same system radius and hairline border, so an example's + // input code block and its output chat card read as siblings. + styleOverrides: { + borderRadius: 'var(--se-radius)', + borderColor: 'var(--sl-color-gray-5)', + }, shiki: { langs: [streamelementsGrammar], }, diff --git a/src/components/ChatExample.astro b/src/components/ChatExample.astro index 5a898fd..0fb952c 100644 --- a/src/components/ChatExample.astro +++ b/src/components/ChatExample.astro @@ -8,6 +8,8 @@ * { persona: 'bot', message: 'It is decidedly so.' }, * ]} /> */ +import { Icon } from '@astrojs/starlight/components'; + interface Message { persona?: 'user' | 'moderator' | 'vip' | 'broadcaster' | 'bot' | 'system'; message: string; @@ -73,7 +75,11 @@ const resolved = messages.map((msg) => { { resolved.length > 0 && (
-
Example chat
+
+ + Example chat +
+
{resolved.map((msg) => (
{ {msg.message}
))} +
) } diff --git a/src/components/CommandTable.astro b/src/components/CommandTable.astro new file mode 100644 index 0000000..1fb3a16 --- /dev/null +++ b/src/components/CommandTable.astro @@ -0,0 +1,56 @@ +--- +/** + * Renders the default-command table for one category, generated from page + * frontmatter (see content.config.ts: category / access / summary). Used by + * the Default Commands overview so the table can't drift from the pages. + */ +import { getCollection } from 'astro:content'; + +interface Props { + category: string; +} + +const { category } = Astro.props; + +const ACCESS_LABELS: Record = { + everyone: 'Everyone', + subscriber: 'Subscriber', + regular: 'Regular', + vip: 'VIP', + moderator: 'Moderator', + 'super-moderator': 'Super Moderator', + broadcaster: 'Broadcaster', +}; + +const commands = ( + await getCollection( + 'docs', + (e) => e.id.startsWith('chatbot/commands/default/') && e.data.category === category, + ) +).sort((a, b) => a.data.title.localeCompare(b.data.title, 'en')); +--- + + + + + + + + + + + { + commands.map((c) => ( + + + + + + )) + } + +
CommandAccessDescription
+ + {c.data.title} + + {c.data.access ? (ACCESS_LABELS[c.data.access] ?? c.data.access) : '—'}{c.data.summary ?? c.data.description}
diff --git a/src/components/VariableTable.astro b/src/components/VariableTable.astro new file mode 100644 index 0000000..8835df8 --- /dev/null +++ b/src/components/VariableTable.astro @@ -0,0 +1,44 @@ +--- +/** + * Renders the variable table for one category, generated from page frontmatter + * (see content.config.ts: category / summary). Used by the Variables overview + * so the table can't drift from the pages. + */ +import { getCollection } from 'astro:content'; + +interface Props { + category: string; +} + +const { category } = Astro.props; + +const variables = ( + await getCollection( + 'docs', + (e) => e.id.startsWith('chatbot/variables/') && e.data.category === category, + ) +).sort((a, b) => a.data.title.localeCompare(b.data.title, 'en')); +--- + + + + + + + + + + { + variables.map((v) => ( + + + + + )) + } + +
VariableDescription
+ + {v.data.title} + + {v.data.summary ?? v.data.description}
diff --git a/src/components/overrides/PageTitle.astro b/src/components/overrides/PageTitle.astro index 19c8c1c..360afa0 100644 --- a/src/components/overrides/PageTitle.astro +++ b/src/components/overrides/PageTitle.astro @@ -2,14 +2,15 @@ /** * PageTitle override: renders the default title, then frontmatter-driven * extras — platform badges (`platforms`), websocket topic info (`topic`), - * and chatbot variable info (`syntax`). + * chatbot variable info (`syntax`), and chatbot command info (`access` etc.). */ import Default from '@astrojs/starlight/components/PageTitle.astro'; import PlatformBadges from '../PlatformBadges.astro'; import TopicInfo from '../TopicInfo.astro'; import VariableInfo from '../VariableInfo.astro'; +import CommandInfo from '../CommandInfo.astro'; -const { platforms, wsTopic, scope, status, syntax, arguments: args } = +const { platforms, wsTopic, scope, status, syntax, arguments: args, aliases, access, requires, cooldown } = Astro.locals.starlightRoute.entry.data; --- @@ -17,3 +18,6 @@ const { platforms, wsTopic, scope, status, syntax, arguments: args } = {platforms && platforms.length > 0 && } {wsTopic && } {syntax && } +{(access || requires || cooldown || (aliases && aliases.length > 0)) && ( + +)} diff --git a/src/content.config.ts b/src/content.config.ts index d447b43..7d49fc3 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -30,6 +30,49 @@ export const collections = { */ syntax: z.string().optional(), arguments: z.enum(['required', 'optional', 'none']).optional(), + /** + * Chatbot command metadata, rendered as an info row under the page + * title on command pages (see PageTitle override / CommandInfo) and + * consumed by the generated command overview + sidebar. + * `access` values mirror bot/levels.go in the chatbot repo (the + * user-facing subset; Admin/2000+ are internal). `category` mirrors the + * groups in commands/default/index. + */ + aliases: z.array(z.string()).optional(), + /** Short one-line blurb for listing tables (command/variable overviews), + * distinct from the SEO `description`. */ + summary: z.string().optional(), + access: z + .enum(['everyone', 'subscriber', 'regular', 'vip', 'moderator', 'super-moderator', 'broadcaster']) + .optional(), + requires: z.string().optional(), + cooldown: z.string().optional(), + category: z + .enum([ + // Command categories (see commands/default overview). + 'points-loyalty', + 'games-betting', + 'giveaways-raffles', + 'song-requests', + 'viewer-queue', + 'store', + 'stream-management', + 'moderation', + 'bot-command-management', + 'fun-emotes', + 'stream-info-utility', + // Variable categories (see variables overview). `stream-management` + // is shared with commands; the overview tables also filter by path + // so there is no cross-contamination. + 'stream-info', + 'user-chat', + 'emotes', + 'counters-data', + 'games', + 'utility-web', + 'fun', + ]) + .optional(), }), }), }), diff --git a/src/content/docs/chatbot/commands/custom.md b/src/content/docs/chatbot/commands/custom.mdx similarity index 74% rename from src/content/docs/chatbot/commands/custom.md rename to src/content/docs/chatbot/commands/custom.mdx index 61c34cf..18ce52c 100644 --- a/src/content/docs/chatbot/commands/custom.md +++ b/src/content/docs/chatbot/commands/custom.mdx @@ -22,6 +22,8 @@ keywords: - Stream Uptime command --- +import ChatExample from '@components/ChatExample.astro'; + In addition to the default commands, you can also create your own custom commands. Custom commands allow you to create commands that are tailored to your channel and your community. You can use custom commands to create unique interactions and functionalities that are not possible with the default commands. ## Managing Custom Commands @@ -61,12 +63,10 @@ This command greets the user and tells them when they last visited the stream. !cmd add !hello $(user), welcome to the stream! You last visited $(user.lastseen) ago. ``` -**Output:** - -``` -Viewer123: !hello -Bot: Viewer123, welcome to the stream! You last visited 2 days 5 hours ago. -``` + Variables used: @@ -81,12 +81,10 @@ This command shows how long the stream has been live, the current game, and view !cmd add !stream The stream has been live for $(uptime). We're currently playing $(channel.game) for $(channel.viewers) viewers! ``` -**Output:** - -``` -Viewer123: !stream -Bot: The stream has been live for 2 days 5 hours. We're currently playing Fortnite for 1234 viewers! -``` + Variables used: @@ -102,17 +100,15 @@ This command checks the weather for a location specified by the viewer. !cmd add !weather $(sender), weather in: $(weather ${1:}) ``` -**Output:** - -``` -Viewer123: !weather Tokyo -Bot: Viewer123, weather in: Tokyo, Japan: 🌜 17.7 °C (63.9 °F). Feels like 17.7 °C (63.9 °F). Patchy rain nearby. Wind is blowing from the South at 9.7 km/h (6.0 mp/h). 89% humidity. Visibility: 10 km (6 miles). Air pressure: 1008 hPa. -``` + Variables used: - [$(sender)](/chatbot/variables/sender) - The viewer who triggered the command -- [${1:}](/chatbot/variables/args) - The arguments passed to the command, here the location to look up +- [$\{1:\}](/chatbot/variables/args) - The arguments passed to the command, here the location to look up - [$(weather)](/chatbot/variables/weather) - The current weather in a specified location ### Shoutout Command @@ -123,14 +119,12 @@ This command sends a simple shoutout to a specified user. !cmd add !shoutout Check out ${1}, they are playing $(game ${1}) at https://twitch.tv/${1} ``` -**Output:** - -``` -Viewer123: !shoutout Styler -Bot: Check out Styler, they are playing Counter-Strike at https://twitch.tv/Styler -``` + Variables used: -- [${1}](/chatbot/variables/args) - The first argument passed to the command, here the name of the user to shout out +- [$\{1\}](/chatbot/variables/args) - The first argument passed to the command, here the name of the user to shout out - [$(game)](/chatbot/variables/game) - The game the user is currently playing diff --git a/src/content/docs/chatbot/commands/default/8ball.mdx b/src/content/docs/chatbot/commands/default/8ball.mdx index 31d56b2..668516e 100644 --- a/src/content/docs/chatbot/commands/default/8ball.mdx +++ b/src/content/docs/chatbot/commands/default/8ball.mdx @@ -2,6 +2,14 @@ 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, kick] +access: everyone +summary: "Receive a random magic 8-ball style answer to a question." +requires: 8ball module +category: fun-emotes +aliases: + - "!eightball" + - "!69ball" + - "!420ball" keywords: - 8ball command - magic 8 ball chatbot @@ -39,18 +47,7 @@ The `[question]` part is entirely optional and does not influence the random out ## Configuration -The `!8ball` command is part of the **8ball module**. - -* **Module Status:** Ensure the 8ball module is enabled in your StreamElements dashboard under `Chatbot` -> `Modules`. -* **Custom Responses:** You can customize the list of possible responses the command uses within the module settings on your dashboard. - -## Aliases - -The following aliases can be used interchangeably with `!8ball`: - -* `!eightball` -* `!69ball` -* `!420ball` +Enable the 8ball module under `Chatbot` -> `Modules`, where you can also customize the list of possible responses the command draws from. ## Related Commands diff --git a/src/content/docs/chatbot/commands/default/accept.mdx b/src/content/docs/chatbot/commands/default/accept.mdx index f5c9558..2e99f99 100644 --- a/src/content/docs/chatbot/commands/default/accept.mdx +++ b/src/content/docs/chatbot/commands/default/accept.mdx @@ -2,6 +2,10 @@ title: "!accept" description: "Use the !accept command to accept pending duel challenges initiated with the !duel command in StreamElements chatbot." platforms: [twitch] +access: everyone +summary: "Accept a pending duel challenge." +requires: Duel module +category: games-betting keywords: - accept command - duel command @@ -51,10 +55,6 @@ To use the `!accept` command, simply type it in the chat when you have a pending ]} /> -## Configuration - -The `!accept` command is part of the **Duel module**. This module must be enabled in your StreamElements chatbot settings under `Chatbot` -> `Modules` for the command to function. - ## Related Commands * [`!duel`](/chatbot/commands/default/duel): Initiate a duel with another user. diff --git a/src/content/docs/chatbot/commands/default/accountage.mdx b/src/content/docs/chatbot/commands/default/accountage.mdx index 172131e..2947926 100644 --- a/src/content/docs/chatbot/commands/default/accountage.mdx +++ b/src/content/docs/chatbot/commands/default/accountage.mdx @@ -2,6 +2,12 @@ title: "!accountage" description: "Check the creation date (age) of any Twitch account using the StreamElements chatbot !accountage command. Useful for moderation and verification." platforms: [twitch] +access: everyone +summary: "Check the creation date of any Twitch account." +category: stream-info-utility +aliases: + - "!accage" + - "!created" keywords: - accountage - account age @@ -44,15 +50,6 @@ To use the command, type `!accountage` followed by an optional username. If no u This command requires a connection to Twitch to fetch the account creation date. Ensure your StreamElements bot account is properly linked to Twitch. -## Aliases - -The `!accountage` command has the following default aliases: - -* `!accage` -* `!created` - -These aliases can be used interchangeably with the main command. - ## Related Commands * [`!followage`](/chatbot/commands/default/followage): Checks how long a user has been following the channel. diff --git a/src/content/docs/chatbot/commands/default/addpoints.mdx b/src/content/docs/chatbot/commands/default/addpoints.mdx index 3160779..8b5dc99 100644 --- a/src/content/docs/chatbot/commands/default/addpoints.mdx +++ b/src/content/docs/chatbot/commands/default/addpoints.mdx @@ -2,6 +2,13 @@ title: "!addpoints" description: "Moderators can manually add loyalty points to a viewer's balance using the StreamElements !addpoints chatbot command." platforms: [twitch] +access: super-moderator +summary: "Add loyalty points to a viewer's balance." +requires: Loyalty +category: points-loyalty +aliases: + - "!editpoints" + - "!bonus" keywords: - addpoints command - StreamElements Chatbot @@ -25,10 +32,6 @@ To add points to a viewer, use the following syntax in your chat: !addpoints ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples **Loyalty Settings**. +* Enable the **Loyalty system** in your **StreamElements Dashboard** under **Loyalty** -> **Loyalty Settings**. * The command's permission level can be adjusted under **Chatbot** -> **Chat Commands** -> **Default Commands**. -## Aliases - -* `!editpoints` -* `!bonus` - ## Related Commands * [`!setpoints`](/chatbot/commands/default/setpoints): Set a user's points to a specific value. diff --git a/src/content/docs/chatbot/commands/default/alerts.mdx b/src/content/docs/chatbot/commands/default/alerts.mdx index 08440ba..1ebf106 100644 --- a/src/content/docs/chatbot/commands/default/alerts.mdx +++ b/src/content/docs/chatbot/commands/default/alerts.mdx @@ -2,6 +2,9 @@ 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, kick] +access: moderator +summary: "Mute, skip, or pause overlay alerts from chat." +category: stream-management keywords: - alerts command - stream alerts @@ -29,10 +32,6 @@ To manage overlay alerts, use the `!alerts` command followed by the desired acti !alerts ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command to start a game. -::: - ## Examples `Modules`. * A **Loyalty system** must be active. Enable it under `Loyalty` -> `Loyalty Settings`. * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. * You can customize the bingo game by adjusting the reward amount and using different emote platforms to vary the game's difficulty. diff --git a/src/content/docs/chatbot/commands/default/bot.mdx b/src/content/docs/chatbot/commands/default/bot.mdx index 5729303..3f87c9d 100644 --- a/src/content/docs/chatbot/commands/default/bot.mdx +++ b/src/content/docs/chatbot/commands/default/bot.mdx @@ -2,6 +2,9 @@ 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, kick] +access: super-moderator +summary: "Mute, unmute, or remove the bot from chat." +category: bot-command-management keywords: - bot command - streamelements chatbot @@ -25,10 +28,6 @@ The `!bot` command uses the following general structure: !bot ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use the `!bot` command and its subcommands. The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. -::: - ## Subcommands This section details the available subcommands for `!bot`. diff --git a/src/content/docs/chatbot/commands/default/cancelduel.mdx b/src/content/docs/chatbot/commands/default/cancelduel.mdx index 31f7d32..edbdecd 100644 --- a/src/content/docs/chatbot/commands/default/cancelduel.mdx +++ b/src/content/docs/chatbot/commands/default/cancelduel.mdx @@ -2,6 +2,10 @@ title: "!cancelduel" description: "Use the !cancelduel command in StreamElements chatbot to stop an outgoing duel request you initiated." platforms: [twitch] +access: everyone +summary: "Cancel an outgoing duel request you initiated." +requires: Duel module +category: games-betting keywords: - cancelduel command - cancel duel @@ -56,10 +60,6 @@ To cancel your pending outgoing duel request, simply type the command in chat: { persona: 'bot', message: '@UserName, You do not have any pending outgoing duel requests.' } ]} /> -## Configuration - -The `!cancelduel` command is part of the **Duel module**. This module must be enabled in your StreamElements chatbot settings under `Chatbot` -> `Modules` for the command to function. - ## Related Commands * [`!duel`](/chatbot/commands/default/duel): Initiate a duel with another user. diff --git a/src/content/docs/chatbot/commands/default/cancelraffle.mdx b/src/content/docs/chatbot/commands/default/cancelraffle.mdx index 33e7188..a8052e4 100644 --- a/src/content/docs/chatbot/commands/default/cancelraffle.mdx +++ b/src/content/docs/chatbot/commands/default/cancelraffle.mdx @@ -2,6 +2,12 @@ title: "!cancelraffle" description: "Immediately cancel an active raffle on your channel using the StreamElements chatbot !cancelraffle command." platforms: [twitch] +access: moderator +summary: "Immediately cancel an active raffle." +requires: Raffle module +category: giveaways-raffles +aliases: + - "!rafflecancel" keywords: - cancelraffle command - cancel raffle @@ -23,10 +29,6 @@ To cancel an ongoing raffle, use the following command in chat: !cancelraffle ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples `Modules`. * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. -## Aliases - -* `!rafflecancel` - ## Related Commands * [`!raffle`](/chatbot/commands/default/raffle): Starts a multi-winner raffle that splits the points pot among the winners. diff --git a/src/content/docs/chatbot/commands/default/chatstats.mdx b/src/content/docs/chatbot/commands/default/chatstats.mdx index 6b86c55..692d9a8 100644 --- a/src/content/docs/chatbot/commands/default/chatstats.mdx +++ b/src/content/docs/chatbot/commands/default/chatstats.mdx @@ -2,6 +2,11 @@ title: "!chatstats" description: "Use the !chatstats command in StreamElements chatbot to view a link to the channel's detailed chat statistics page." platforms: [twitch] +access: everyone +summary: "Get a link to the channel's chat statistics page." +category: stream-info-utility +aliases: + - "!twitchstats" keywords: - chatstats command - chat statistics diff --git a/src/content/docs/chatbot/commands/default/closestore.mdx b/src/content/docs/chatbot/commands/default/closestore.mdx index 224d626..8d56bcb 100644 --- a/src/content/docs/chatbot/commands/default/closestore.mdx +++ b/src/content/docs/chatbot/commands/default/closestore.mdx @@ -2,6 +2,10 @@ title: "!closestore" description: "Use the !closestore command in StreamElements chatbot to quickly disable all regular (non-SFX) items in your loyalty store." platforms: [twitch] +access: moderator +summary: "Disable all regular (non-SFX) items in the loyalty store." +requires: Loyalty Store +category: store keywords: - closestore command - disable store items @@ -23,10 +27,6 @@ To disable all regular store items, use the following command in chat: !closestore ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples ` (e.g., `0`) | `-count 0` | -## Aliases +## Subcommand aliases + +Each subcommand also accepts its own shorthand aliases: -* **`!command`:** `!cmd` * **`remove`:** `delete`, `del`, `rem` * **`edit`:** `update` * **`alias`:** `aliases` diff --git a/src/content/docs/chatbot/commands/default/commands.mdx b/src/content/docs/chatbot/commands/default/commands.mdx index ae9d557..87fb1ba 100644 --- a/src/content/docs/chatbot/commands/default/commands.mdx +++ b/src/content/docs/chatbot/commands/default/commands.mdx @@ -2,6 +2,11 @@ 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, kick] +access: everyone +summary: "Get a link to the channel's public commands list." +category: bot-command-management +aliases: + - "!cmds" keywords: - commands command - StreamElements diff --git a/src/content/docs/chatbot/commands/default/contest.mdx b/src/content/docs/chatbot/commands/default/contest.mdx index ca1c317..f5b1dbc 100644 --- a/src/content/docs/chatbot/commands/default/contest.mdx +++ b/src/content/docs/chatbot/commands/default/contest.mdx @@ -2,6 +2,10 @@ title: "!contest" description: "Use the !contest command in StreamElements chatbot to check the status and details of the currently active betting contest." platforms: [twitch] +access: everyone +summary: "Check the status of the currently active betting contest." +requires: Betting module +category: games-betting keywords: - contest command - chatbot command @@ -42,7 +46,6 @@ To check the active contest details, simply type the command in chat: ## Configuration -* The `!contest` command requires the **Betting module** to be active. Enable and configure it in your **StreamElements Dashboard** under `Chatbot` -> `Modules`. * The command response reflects the settings of the currently active contest (question, options, duration) configured by the streamer/moderator via the dashboard. ## Related Commands diff --git a/src/content/docs/chatbot/commands/default/deny.mdx b/src/content/docs/chatbot/commands/default/deny.mdx index 24db395..668a9d2 100644 --- a/src/content/docs/chatbot/commands/default/deny.mdx +++ b/src/content/docs/chatbot/commands/default/deny.mdx @@ -2,6 +2,10 @@ title: "!deny" description: "Use the !deny command in StreamElements chatbot to reject incoming duel requests initiated with the !duel command." platforms: [twitch] +access: everyone +summary: "Reject an incoming duel request." +requires: Duel module +category: games-betting keywords: - deny command - reject duel @@ -57,10 +61,6 @@ To reject a pending incoming duel request, type the command in chat: { persona: 'bot', message: '@UserName, You do not have any pending incoming duel requests to deny.' } ]} /> -## Configuration - -The `!deny` command is part of the **Duel module**. This module must be enabled in your StreamElements chatbot settings under `Chatbot` -> `Modules` for the command to function. - ## Related Commands * [`!duel`](/chatbot/commands/default/duel): Initiate a duel with another user. diff --git a/src/content/docs/chatbot/commands/default/disablesfx.mdx b/src/content/docs/chatbot/commands/default/disablesfx.mdx index 51e5e0d..4d9548b 100644 --- a/src/content/docs/chatbot/commands/default/disablesfx.mdx +++ b/src/content/docs/chatbot/commands/default/disablesfx.mdx @@ -2,6 +2,12 @@ title: "!disablesfx" description: "Use the !disablesfx command in StreamElements chatbot to quickly disable all sound effect (SFX) items in your loyalty store." platforms: [twitch] +access: moderator +summary: "Disable all sound effect (SFX) items in the loyalty store." +requires: Loyalty Store +category: store +aliases: + - "!closesfx" keywords: - disablesfx command - disable sound effects @@ -24,10 +30,6 @@ To disable all SFX store items, use the following command in chat: !disablesfx ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples `Stream Store`. +* Manage your store's SFX items in your **StreamElements Dashboard** under `Loyalty` -> `Stream Store`. * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. ## Related Commands diff --git a/src/content/docs/chatbot/commands/default/duel.mdx b/src/content/docs/chatbot/commands/default/duel.mdx index c94f2b9..6aae1d5 100644 --- a/src/content/docs/chatbot/commands/default/duel.mdx +++ b/src/content/docs/chatbot/commands/default/duel.mdx @@ -2,6 +2,10 @@ title: "!duel" description: "Use the !duel command in StreamElements chatbot to challenge other users to a points duel in Twitch chat." platforms: [twitch] +access: everyone +summary: "Challenge another user to a points duel." +requires: Duel module +category: games-betting keywords: - duel command - chatbot duel @@ -58,8 +62,6 @@ To initiate a duel challenge, use the following syntax: ## Configuration -The `!duel` command requires the **Duel module** to be active. You can enable and configure it in your **StreamElements Dashboard** under `Chatbot` -> `Modules`. - Within the Duel module settings, you can customize: * **Maximum amount**: The highest number of points users can wager in a single duel. diff --git a/src/content/docs/chatbot/commands/default/editcounter.mdx b/src/content/docs/chatbot/commands/default/editcounter.mdx index 334ed11..ea418bb 100644 --- a/src/content/docs/chatbot/commands/default/editcounter.mdx +++ b/src/content/docs/chatbot/commands/default/editcounter.mdx @@ -2,6 +2,11 @@ title: "!editcounter" description: "Use the !editcounter command in StreamElements chatbot to set, increment, or decrement custom counter values directly from chat." platforms: [twitch, youtube, kick] +access: moderator +summary: "Set, increment, or decrement custom counter values from chat." +category: stream-management +aliases: + - "!editcount" keywords: - editcounter command - counter command @@ -28,10 +33,6 @@ To modify a counter, use the following syntax: !editcounter ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples `Stream Store`. +* Manage your store's SFX items in your **StreamElements Dashboard** under `Loyalty` -> `Stream Store`. * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. ## Related Commands diff --git a/src/content/docs/chatbot/commands/default/filesay.mdx b/src/content/docs/chatbot/commands/default/filesay.mdx index b8cef86..5c34cf0 100644 --- a/src/content/docs/chatbot/commands/default/filesay.mdx +++ b/src/content/docs/chatbot/commands/default/filesay.mdx @@ -2,6 +2,9 @@ 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, kick] +access: super-moderator +summary: "Send multiple lines of text from a URL to chat." +category: moderation keywords: - filesay command - chatbot command @@ -25,7 +28,6 @@ To execute the commands/messages from a file URL: ``` :::caution[Important] -* By default, only users with **Super Moderator** permission level or higher can use this command. * The URL must point to a **raw text file** (e.g., a Pastebin raw link, a GitHub raw file link). * Each line in the file will be executed as if typed directly into chat. Ensure the commands are valid (e.g., `!ban username`). * There might be rate limits on how many lines can be processed quickly. diff --git a/src/content/docs/chatbot/commands/default/followage.mdx b/src/content/docs/chatbot/commands/default/followage.mdx index 87f533a..f778c35 100644 --- a/src/content/docs/chatbot/commands/default/followage.mdx +++ b/src/content/docs/chatbot/commands/default/followage.mdx @@ -6,6 +6,11 @@ head: - tag: title content: "Twitch Followage — the !followage Command | StreamElements Docs" platforms: [twitch] +access: everyone +summary: "Check how long a user has been following the channel." +category: stream-info-utility +aliases: + - "!howlong" keywords: - followage command - follow age diff --git a/src/content/docs/chatbot/commands/default/giveaway.mdx b/src/content/docs/chatbot/commands/default/giveaway.mdx index 626efbb..5ae567d 100644 --- a/src/content/docs/chatbot/commands/default/giveaway.mdx +++ b/src/content/docs/chatbot/commands/default/giveaway.mdx @@ -2,6 +2,10 @@ title: "!giveaway" description: "Use the !giveaway command in StreamElements chatbot to check the status and link for the currently active channel giveaway." platforms: [twitch] +access: everyone +summary: "Check the status and link of the active channel giveaway." +requires: Giveaway module +category: giveaways-raffles keywords: - giveaway command - check giveaway diff --git a/src/content/docs/chatbot/commands/default/givepoints.mdx b/src/content/docs/chatbot/commands/default/givepoints.mdx index 10152e9..f9010c4 100644 --- a/src/content/docs/chatbot/commands/default/givepoints.mdx +++ b/src/content/docs/chatbot/commands/default/givepoints.mdx @@ -2,6 +2,13 @@ title: "!givepoints" description: "Viewers can use the !givepoints command in StreamElements chatbot to transfer their loyalty points to another user." platforms: [twitch] +access: everyone +summary: "Transfer your loyalty points to another user." +requires: Loyalty +category: points-loyalty +aliases: + - "!transfer" + - "!give" keywords: - givepoints command - give points @@ -52,15 +59,10 @@ To transfer points to another user: ## Configuration -* The `!givepoints` command requires the **Loyalty system** to be active. Enable it in your **StreamElements Dashboard** under `Loyalty` -> `Loyalty Settings`. +* Enable the **Loyalty system** in your **StreamElements Dashboard** under `Loyalty` -> `Loyalty Settings`. * The ability for users to give points can be enabled/disabled within the Loyalty Settings. * Streamers can set a minimum user level required to use the command and a cooldown period in the command's settings under `Chatbot` -> `Chat Commands` -> `Default Commands`. -## Aliases - -* `!give` -* `!transfer` - ## Related Commands * [`!points`](/chatbot/commands/default/points): Check your own or another user's point balance. diff --git a/src/content/docs/chatbot/commands/default/hypecup.mdx b/src/content/docs/chatbot/commands/default/hypecup.mdx index 8a4a187..188efe7 100644 --- a/src/content/docs/chatbot/commands/default/hypecup.mdx +++ b/src/content/docs/chatbot/commands/default/hypecup.mdx @@ -2,6 +2,10 @@ title: "!hypecup" description: "Use the !hypecup command in StreamElements chatbot to clear the HypeCup overlay contribution list on your Twitch stream." platforms: [twitch] +access: super-moderator +summary: "Clear the HypeCup overlay contribution list." +requires: HypeCup overlay +category: stream-management keywords: - hypecup command - clear hypecup overlay @@ -23,10 +27,6 @@ To clear the HypeCup overlay, use the following command in chat: !hypecup clear ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples + +## Games & Betting + + + +## Giveaways & Raffles + + + +## Song Requests + + + +## Viewer Queue + + + +## Store + + + +## Stream Management + + + +## Moderation + + + +## Bot & Command Management + + + +## Fun & Emotes + + + +## Stream Info & Utility + + diff --git a/src/content/docs/chatbot/commands/default/items.mdx b/src/content/docs/chatbot/commands/default/items.mdx index e84ff9c..90f4740 100644 --- a/src/content/docs/chatbot/commands/default/items.mdx +++ b/src/content/docs/chatbot/commands/default/items.mdx @@ -2,6 +2,12 @@ title: "!items" description: "Use the !items command in StreamElements chatbot to get a link to the channel's loyalty store page, listing redeemable items." platforms: [twitch] +access: everyone +summary: "Get a link to the channel's loyalty store page." +requires: Loyalty Store +category: store +aliases: + - "!store" keywords: - items command - StreamElements store diff --git a/src/content/docs/chatbot/commands/default/join.mdx b/src/content/docs/chatbot/commands/default/join.mdx index 954c552..e09c06d 100644 --- a/src/content/docs/chatbot/commands/default/join.mdx +++ b/src/content/docs/chatbot/commands/default/join.mdx @@ -2,6 +2,10 @@ title: "!join" description: "Use the !join command in the StreamElements chatbot to enter active raffles started with !sraffle or !raffle." platforms: [twitch] +access: everyone +summary: "Enter an active raffle started with !sraffle or !raffle." +requires: Raffle module +category: giveaways-raffles keywords: - join command - enter raffle diff --git a/src/content/docs/chatbot/commands/default/kappagen.mdx b/src/content/docs/chatbot/commands/default/kappagen.mdx index 04aa7bd..f7640f9 100644 --- a/src/content/docs/chatbot/commands/default/kappagen.mdx +++ b/src/content/docs/chatbot/commands/default/kappagen.mdx @@ -2,6 +2,12 @@ title: "!kappagen" description: "Use the !kappagen command in StreamElements chatbot to trigger a visual emote explosion on the stream overlay via the Kappagen widget." platforms: [twitch] +access: moderator +summary: "Trigger an emote explosion via the Kappagen overlay widget." +requires: Kappagen overlay +category: fun-emotes +aliases: + - "!emotesplosion" keywords: - kappagen command - emote explosion diff --git a/src/content/docs/chatbot/commands/default/leaderboard.mdx b/src/content/docs/chatbot/commands/default/leaderboard.mdx index c02ba12..384e42a 100644 --- a/src/content/docs/chatbot/commands/default/leaderboard.mdx +++ b/src/content/docs/chatbot/commands/default/leaderboard.mdx @@ -2,6 +2,12 @@ title: "!leaderboard" description: "Use the !leaderboard command in StreamElements chatbot to get a link to the channel's loyalty points or watch time leaderboard page." platforms: [twitch] +access: everyone +summary: "Get a link to the points or watch time leaderboard page." +requires: Loyalty +category: points-loyalty +aliases: + - "!ranklist" keywords: - leaderboard command - loyalty points leaderboard @@ -32,7 +38,7 @@ To get the link to the leaderboard page, simply type the command in chat: ## Configuration -* This command requires the **Loyalty system** to be active. Enable it in your **StreamElements Dashboard** under `Loyalty` -> `Loyalty Settings`. +* Enable the **Loyalty system** in your **StreamElements Dashboard** under `Loyalty` -> `Loyalty Settings`. * The leaderboard page displays rankings based on the settings configured in the Loyalty module (points or watch time). * The command itself is typically enabled by default. diff --git a/src/content/docs/chatbot/commands/default/level.mdx b/src/content/docs/chatbot/commands/default/level.mdx index 29944c7..747ca4f 100644 --- a/src/content/docs/chatbot/commands/default/level.mdx +++ b/src/content/docs/chatbot/commands/default/level.mdx @@ -2,6 +2,9 @@ title: "!level" description: "Moderators can use the !level command in StreamElements chatbot to view and manually override user permission levels." platforms: [twitch] +access: super-moderator +summary: "View and manually override user permission levels." +category: moderation keywords: - level command - user levels @@ -17,10 +20,6 @@ The `!level` command allows streamers and moderators to view or manually set the While levels like subscriber, VIP, and moderator are often assigned automatically based on platform roles, this command allows manual overrides or assigning custom levels like `Regular` or `Super Moderator`. -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Usage **To check a user's level:** diff --git a/src/content/docs/chatbot/commands/default/module.mdx b/src/content/docs/chatbot/commands/default/module.mdx index 95e3178..ab19ee6 100644 --- a/src/content/docs/chatbot/commands/default/module.mdx +++ b/src/content/docs/chatbot/commands/default/module.mdx @@ -2,6 +2,9 @@ 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, kick] +access: super-moderator +summary: "Enable or disable chatbot modules from chat." +category: bot-command-management keywords: - module command - enable module @@ -14,10 +17,6 @@ import ChatExample from '@components/ChatExample.astro'; The `!module` command allows streamers and moderators to enable or disable specific StreamElements chatbot modules directly from the chat. This provides real-time control over features like games, loyalty systems, or other functionalities without needing to access the dashboard. -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Usage To enable or disable a module: diff --git a/src/content/docs/chatbot/commands/default/next.mdx b/src/content/docs/chatbot/commands/default/next.mdx index df0f3ac..db120ce 100644 --- a/src/content/docs/chatbot/commands/default/next.mdx +++ b/src/content/docs/chatbot/commands/default/next.mdx @@ -9,6 +9,13 @@ keywords: - song queue - StreamElements chatbot platforms: [twitch] +access: everyone +summary: "Show the next song in the media request queue." +requires: Song Requests +category: song-requests +aliases: + - "!nextsong" + - "!whatisthenextsonghomie" --- import ChatExample from '@components/ChatExample.astro'; @@ -43,16 +50,9 @@ Or using the alias: ## Configuration -* This command requires the **Songrequest** module to be enabled and configured in your StreamElements Dashboard (`Chatbot` -> `Modules`). * The information displayed depends on the data available from YouTube for the requested track. -* Available to everyone by default. * Default cooldown: 10 seconds per user. -## Aliases - -* `!nextsong` -* `!whatisthenextsonghomie` - ## Related Commands * [`!song`](/chatbot/commands/default/song): Shows details about the *currently playing* song. diff --git a/src/content/docs/chatbot/commands/default/nuke.mdx b/src/content/docs/chatbot/commands/default/nuke.mdx index e88aadc..4a995e6 100644 --- a/src/content/docs/chatbot/commands/default/nuke.mdx +++ b/src/content/docs/chatbot/commands/default/nuke.mdx @@ -10,6 +10,9 @@ keywords: - regex moderation - StreamElements chatbot platforms: [twitch, youtube, kick] +access: super-moderator +summary: "Timeout, ban, or delete recent messages matching text or regex." +category: moderation --- import ChatExample from '@components/ChatExample.astro'; @@ -20,10 +23,6 @@ The `!nuke` command is a powerful moderation tool allowing moderators to perform This is a powerful command. Use it with caution, especially with broad match strings or regex. ::: -:::caution[Permissions] -By default, only users with **Super Moderator** permission level or higher can use this command. -::: - ## Usage ```streamelements diff --git a/src/content/docs/chatbot/commands/default/nukeusername.mdx b/src/content/docs/chatbot/commands/default/nukeusername.mdx index 3fe6e05..44e2666 100644 --- a/src/content/docs/chatbot/commands/default/nukeusername.mdx +++ b/src/content/docs/chatbot/commands/default/nukeusername.mdx @@ -10,6 +10,11 @@ keywords: - username nuke - StreamElements chatbot platforms: [twitch, youtube, kick] +access: super-moderator +summary: "Timeout or ban users whose usernames match text or regex." +category: moderation +aliases: + - "!nukeuser" --- import ChatExample from '@components/ChatExample.astro'; @@ -20,10 +25,6 @@ The `!nukeusername` command is a moderation tool allowing moderators to perform This is a powerful command. Use it with caution, especially with broad match strings or regex, to avoid unintended actions against legitimate users. ::: -:::caution[Permissions] -By default, only users with **Super Moderator** permission level or higher can use this command. -::: - ## Usage ```streamelements diff --git a/src/content/docs/chatbot/commands/default/openstore.mdx b/src/content/docs/chatbot/commands/default/openstore.mdx index cad09a0..b416d3b 100644 --- a/src/content/docs/chatbot/commands/default/openstore.mdx +++ b/src/content/docs/chatbot/commands/default/openstore.mdx @@ -9,6 +9,10 @@ keywords: - streamelements chatbot - store management platforms: [twitch] +access: moderator +summary: "Re-enable all regular (non-SFX) items in the loyalty store." +requires: Loyalty Store +category: store --- import ChatExample from '@components/ChatExample.astro'; @@ -23,10 +27,6 @@ To enable all regular store items, use the following command in chat: !openstore ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples [duration_seconds] ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples **Permit a user for the default 60 seconds:** diff --git a/src/content/docs/chatbot/commands/default/play.mdx b/src/content/docs/chatbot/commands/default/play.mdx index 3ea6797..a05b895 100644 --- a/src/content/docs/chatbot/commands/default/play.mdx +++ b/src/content/docs/chatbot/commands/default/play.mdx @@ -8,6 +8,12 @@ keywords: - resume media request - streamelements chatbot platforms: [twitch] +access: moderator +summary: "Resume paused media request playback." +requires: Song Requests +category: song-requests +aliases: + - "!resume" --- import ChatExample from '@components/ChatExample.astro'; @@ -28,10 +34,6 @@ Or using the alias: !resume ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples `Chat Commands` -> `Default Commands`. -## Aliases - -* `!resume` - ## Related Commands * [`!pause`](/chatbot/commands/default/pause): Pauses the current media playback. diff --git a/src/content/docs/chatbot/commands/default/points.mdx b/src/content/docs/chatbot/commands/default/points.mdx index 9ebc03c..7d9c67a 100644 --- a/src/content/docs/chatbot/commands/default/points.mdx +++ b/src/content/docs/chatbot/commands/default/points.mdx @@ -9,6 +9,10 @@ keywords: - stream currency - streamelements chatbot platforms: [twitch] +access: everyone +summary: "Check your own or another user's points balance and rank." +requires: Loyalty +category: points-loyalty --- import ChatExample from '@components/ChatExample.astro'; @@ -47,8 +51,8 @@ The command also triggers on your channel's custom points name. For example, if ## Configuration -* This command requires the **Loyalty system** to be active. Enable and configure it in your **StreamElements Dashboard** under `Loyalty` -> `Loyalty Settings`. -* The name of the loyalty points currency (e.g., "ChannelPoints" in the example) is customizable in the Loyalty Settings. +* Enable and configure the Loyalty system under `Loyalty` -> `Loyalty Settings` in your StreamElements Dashboard. +* The loyalty currency name (e.g., "ChannelPoints" in the examples) is customizable in the Loyalty Settings. ## Related Commands diff --git a/src/content/docs/chatbot/commands/default/queue.mdx b/src/content/docs/chatbot/commands/default/queue.mdx index cdf4f79..e2ff614 100644 --- a/src/content/docs/chatbot/commands/default/queue.mdx +++ b/src/content/docs/chatbot/commands/default/queue.mdx @@ -10,6 +10,10 @@ keywords: - pick user - streamelements chatbot platforms: [twitch] +access: everyone +summary: "Manage viewer queues for activities like playing with the streamer." +requires: Viewer Queue module +category: viewer-queue --- import ChatExample from '@components/ChatExample.astro'; diff --git a/src/content/docs/chatbot/commands/default/quote.mdx b/src/content/docs/chatbot/commands/default/quote.mdx index 8996bd7..1b8ba82 100644 --- a/src/content/docs/chatbot/commands/default/quote.mdx +++ b/src/content/docs/chatbot/commands/default/quote.mdx @@ -10,6 +10,9 @@ keywords: - chat engagement - StreamElements chatbot platforms: [twitch, youtube, kick] +access: everyone +summary: "Display random saved quotes or manage the quote list." +category: fun-emotes --- import ChatExample from '@components/ChatExample.astro'; @@ -89,7 +92,7 @@ Quotes cannot be **edited** from chat — only added and removed. To edit the te * The permission levels for adding and removing quotes can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. * Editing the text of existing quotes is only possible from the StreamElements Dashboard. -## Aliases +## Subcommand aliases * `!quote add`: `!quote +` * `!quote remove`: `!quote rem`, `!quote delete`, `!quote del`, `!quote -` diff --git a/src/content/docs/chatbot/commands/default/raffle.mdx b/src/content/docs/chatbot/commands/default/raffle.mdx index b889a79..aaa55fa 100644 --- a/src/content/docs/chatbot/commands/default/raffle.mdx +++ b/src/content/docs/chatbot/commands/default/raffle.mdx @@ -2,6 +2,13 @@ title: "!raffle" description: "Use the !raffle command in StreamElements chatbot to start a raffle with multiple winners that splits a points pot among them." platforms: [twitch] +access: moderator +summary: "Start a multi-winner raffle that splits the pot; viewers enter with !join." +requires: Raffle module +category: giveaways-raffles +aliases: + - "!mraffle" + - "!multiraffle" keywords: - raffle - chat game @@ -22,10 +29,6 @@ The `!raffle` command allows streamers and moderators to create interactive raff * `[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 **Start a raffle with a 100 point reward lasting 60 seconds:** @@ -50,11 +53,6 @@ By default, only users with **Moderator** permission level or higher can use thi 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 - -- `!mraffle` -- `!multiraffle` - ## Related Commands - [`!join`](/chatbot/commands/default/join): Used by viewers to enter an active raffle. diff --git a/src/content/docs/chatbot/commands/default/redeem.mdx b/src/content/docs/chatbot/commands/default/redeem.mdx index 844d1e0..7d9d21f 100644 --- a/src/content/docs/chatbot/commands/default/redeem.mdx +++ b/src/content/docs/chatbot/commands/default/redeem.mdx @@ -10,6 +10,12 @@ keywords: - chatbot commands - streamelements chatbot platforms: [twitch] +access: everyone +summary: "Redeem loyalty store items using points." +requires: Loyalty Store +category: store +aliases: + - "!buy" --- import ChatExample from '@components/ChatExample.astro'; @@ -50,7 +56,7 @@ To redeem an item: ## Configuration -* Requires the **Stream Store** and **Loyalty System** to be active and configured (`Chatbot` -> `Modules` and `Loyalty` -> `Loyalty Settings` / `Stream Store`). +* Configure the **Stream Store** and **Loyalty System** under `Chatbot` -> `Modules` and `Loyalty` -> `Loyalty Settings` / `Stream Store`. * Items must be created in the Stream Store with names, costs, cooldowns, etc. * Items must be enabled to be redeemable. diff --git a/src/content/docs/chatbot/commands/default/removesong.mdx b/src/content/docs/chatbot/commands/default/removesong.mdx index 7d4d73d..6352f85 100644 --- a/src/content/docs/chatbot/commands/default/removesong.mdx +++ b/src/content/docs/chatbot/commands/default/removesong.mdx @@ -8,6 +8,12 @@ keywords: - song queue management - streamelements chatbot platforms: [twitch] +access: moderator +summary: "Remove a song by URL, or all of a user's songs." +requires: Song Requests +category: song-requests +aliases: + - "!songs.pop()" --- import ChatExample from '@components/ChatExample.astro'; @@ -28,10 +34,6 @@ To remove all songs requested by a specific user: !removesong ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples **Removing a specific song by URL:** @@ -55,10 +57,6 @@ By default, only users with **Moderator** permission level or higher can use thi * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. * Default cooldown: 10 seconds global. -## Aliases - -* `!songs.pop()` - ## Related Commands * [`!songrequest`](/chatbot/commands/default/songrequest): Adds a song/video to the queue. diff --git a/src/content/docs/chatbot/commands/default/roulette.mdx b/src/content/docs/chatbot/commands/default/roulette.mdx index 61da8af..b9f0edb 100644 --- a/src/content/docs/chatbot/commands/default/roulette.mdx +++ b/src/content/docs/chatbot/commands/default/roulette.mdx @@ -9,6 +9,12 @@ keywords: - chatbot games - streamelements chatbot platforms: [twitch] +access: everyone +summary: "Gamble loyalty points for a chance to win or lose." +requires: Roulette module +category: games-betting +aliases: + - "!gamble" --- import ChatExample from '@components/ChatExample.astro'; @@ -54,7 +60,7 @@ To play roulette: ## Configuration -* Requires the **Roulette module** and **Loyalty system** to be active. +* Requires the **Loyalty system** (points) to be active, since roulette gambles loyalty points. * Configure settings in the **Roulette module** on the Dashboard (`Chatbot` -> `Modules`). Available options include: * **Enable/Disable Module:** Toggle the roulette game on or off. * **Rig Percentage:** Adjust the win chance using a slider (0% = Never lose, 100% = Always lose). @@ -74,10 +80,6 @@ To play roulette: * _Available variables:_ `{user}`, `{bet}`, `{points}`, `{pointsname}` * _Default:_ `/me {user} went all in and lost every single one of their {bet} ${pointsname} LUL` -## Aliases - -* `!gamble` - ## Related Commands * [`!points`](/chatbot/commands/default/points): Check current point balance. diff --git a/src/content/docs/chatbot/commands/default/setgame.mdx b/src/content/docs/chatbot/commands/default/setgame.mdx index f37d314..c74698f 100644 --- a/src/content/docs/chatbot/commands/default/setgame.mdx +++ b/src/content/docs/chatbot/commands/default/setgame.mdx @@ -8,16 +8,15 @@ keywords: - update stream game - change game on Twitch platforms: [twitch, kick] +access: super-moderator +summary: "Update the stream's game category on Twitch." +category: stream-management --- import ChatExample from '@components/ChatExample.astro'; 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. -::: - ## Usage To set the game category for the stream: diff --git a/src/content/docs/chatbot/commands/default/setpoints.mdx b/src/content/docs/chatbot/commands/default/setpoints.mdx index 1255147..5042a58 100644 --- a/src/content/docs/chatbot/commands/default/setpoints.mdx +++ b/src/content/docs/chatbot/commands/default/setpoints.mdx @@ -9,6 +9,10 @@ keywords: - streamelements - channel points platforms: [twitch] +access: super-moderator +summary: "Set a user's loyalty points balance." +requires: Loyalty +category: points-loyalty --- import ChatExample from '@components/ChatExample.astro'; @@ -19,10 +23,6 @@ The `!setpoints` command allows streamers and moderators to set a specific numbe Using this command will **overwrite** the user's current point balance. Use [`!addpoints`](/chatbot/commands/default/addpoints) if you want to add to their balance instead. ::: -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Usage To set a user's point balance: @@ -50,7 +50,7 @@ To set a user's point balance: ## Configuration -* This command requires the **Loyalty system** to be active (`Loyalty` -> `Loyalty Settings`). +* Enable the **Loyalty system** under `Loyalty` -> `Loyalty Settings`. * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. ## Related Commands diff --git a/src/content/docs/chatbot/commands/default/settitle.mdx b/src/content/docs/chatbot/commands/default/settitle.mdx index 8150a9c..8687e36 100644 --- a/src/content/docs/chatbot/commands/default/settitle.mdx +++ b/src/content/docs/chatbot/commands/default/settitle.mdx @@ -10,16 +10,17 @@ keywords: - StreamElements - Twitch platforms: [twitch, kick] +access: super-moderator +summary: "Moderators change the Twitch stream title." +category: stream-management +aliases: + - "!setitle" --- import ChatExample from '@components/ChatExample.astro'; 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. -::: - ## Usage To set the stream title: diff --git a/src/content/docs/chatbot/commands/default/skip.mdx b/src/content/docs/chatbot/commands/default/skip.mdx index 515045c..cb581bb 100644 --- a/src/content/docs/chatbot/commands/default/skip.mdx +++ b/src/content/docs/chatbot/commands/default/skip.mdx @@ -8,16 +8,18 @@ keywords: - chatbot commands - StreamElements platforms: [twitch] +access: moderator +summary: "Moderators skip the current song in the queue." +requires: Song Requests +category: song-requests +aliases: + - "!skipsong" --- import ChatExample from '@components/ChatExample.astro'; The `!skip` command is used to skip the currently playing song in the StreamElements media request queue. This command is useful for streamers and moderators who want to quickly move to the next song in the queue. -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - :::note[!skip vs !next] `!skip` is a moderator action that **skips the currently playing song**. It is different from [`!next`](/chatbot/commands/default/next), which simply **shows** the next queued song and is available to everyone. ::: @@ -47,10 +49,6 @@ To use the `!skip` command, simply type it in the chat: * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. * Default cooldown: 10 seconds global. -## Aliases - -* `!skipsong` - ## Related Commands * [`!song`](/chatbot/commands/default/song): Displays information about the currently playing song. diff --git a/src/content/docs/chatbot/commands/default/slots.mdx b/src/content/docs/chatbot/commands/default/slots.mdx index 06250c6..261d014 100644 --- a/src/content/docs/chatbot/commands/default/slots.mdx +++ b/src/content/docs/chatbot/commands/default/slots.mdx @@ -11,6 +11,15 @@ keywords: - StreamElements - Twitch platforms: [twitch] +access: everyone +summary: "Play a slot machine game with loyalty points." +requires: Slot Machine module +category: games-betting +aliases: + - "!slotmachine" + - "!slot" + - "!sm" + - "!smp" --- import ChatExample from '@components/ChatExample.astro'; @@ -59,13 +68,6 @@ Streamers can customize the `!slots` game through the **Slots module** settings The **Loyalty system** must also be active for the `!slots` command to function, as it relies on loyalty points. ::: -## Aliases - -* `!slotmachine` -* `!slot` -* `!sm` -* `!smp` - ## Related Commands * [`!points`](/chatbot/commands/default/points): Check your current loyalty points balance. diff --git a/src/content/docs/chatbot/commands/default/song.mdx b/src/content/docs/chatbot/commands/default/song.mdx index 358ac6d..1887caf 100644 --- a/src/content/docs/chatbot/commands/default/song.mdx +++ b/src/content/docs/chatbot/commands/default/song.mdx @@ -10,6 +10,10 @@ keywords: - currently playing - music platforms: [twitch] +access: everyone +summary: "Show the currently playing song." +requires: Song Requests +category: song-requests --- import ChatExample from '@components/ChatExample.astro'; @@ -38,7 +42,6 @@ To use the `!song` command, simply type it in the chat: ## Configuration -* This command requires the **Media Request** module to be enabled and configured in your StreamElements Dashboard (`Chatbot` -> `Modules`). * The information displayed depends on the media source (e.g., YouTube, Spotify) and the data available for the requested track. * Default cooldown: 15 seconds global. diff --git a/src/content/docs/chatbot/commands/default/songqueue.mdx b/src/content/docs/chatbot/commands/default/songqueue.mdx index 63a1ba3..cb24671 100644 --- a/src/content/docs/chatbot/commands/default/songqueue.mdx +++ b/src/content/docs/chatbot/commands/default/songqueue.mdx @@ -11,16 +11,18 @@ keywords: - music - streaming platforms: [twitch] +access: moderator +summary: "Get a link to the current media request queue page." +requires: Song Requests +category: song-requests +aliases: + - "!songlist" --- import ChatExample from '@components/ChatExample.astro'; The `!songqueue` command replies with a direct link to the channel's StreamElements Media Request queue page. It does **not** print the queue contents in chat — the linked page shows the upcoming songs or videos. -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Usage Type `!songqueue` in the chat to receive a link to the media request queue page: @@ -42,10 +44,6 @@ Type `!songqueue` in the chat to receive a link to the media request queue page: * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. * Default cooldown: 10 seconds global. -## Aliases - -* `!songlist` - ## Related Commands * [`!songrequest`](/chatbot/commands/default/songrequest) / `!sr`: Used to request a song or media to be added to the queue. diff --git a/src/content/docs/chatbot/commands/default/songrequest.mdx b/src/content/docs/chatbot/commands/default/songrequest.mdx index bb1b557..c37f061 100644 --- a/src/content/docs/chatbot/commands/default/songrequest.mdx +++ b/src/content/docs/chatbot/commands/default/songrequest.mdx @@ -11,6 +11,12 @@ keywords: - music streaming - YouTube integration platforms: [twitch] +access: everyone +summary: "Add YouTube songs or videos to the media request queue." +requires: Song Requests +category: song-requests +aliases: + - "!sr" --- import ChatExample from '@components/ChatExample.astro'; @@ -52,7 +58,6 @@ Or using the alias: ## Configuration -* Requires the **Media Request** module to be enabled and configured (`Chatbot` -> `Modules`). * Streamers can configure various settings in the Media Request module: * Enable/disable the feature. * Link a Spotify account (optional, for different functionality). @@ -68,10 +73,6 @@ Or using the alias: * If **moderation** is enabled, requests from non-exempt users are sent to a pending queue for approval instead of being added directly. * Default cooldown: 15 seconds per user, 3 seconds global. -## Aliases - -* `!sr` - ## Related Commands * [`!songqueue`](/chatbot/commands/default/songqueue): View the current media request queue. diff --git a/src/content/docs/chatbot/commands/default/sraffle.mdx b/src/content/docs/chatbot/commands/default/sraffle.mdx index 08bf241..9b9dd67 100644 --- a/src/content/docs/chatbot/commands/default/sraffle.mdx +++ b/src/content/docs/chatbot/commands/default/sraffle.mdx @@ -8,6 +8,12 @@ keywords: - chat game - streamelements chatbot platforms: [twitch] +access: moderator +summary: "Start a single-winner raffle; viewers enter with !join." +requires: Raffle module +category: giveaways-raffles +aliases: + - "!singleraffle" --- import ChatExample from '@components/ChatExample.astro'; @@ -23,10 +29,6 @@ To start a single-winner raffle: !sraffle [win_points] [duration_seconds] ``` -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Examples **Start a raffle awarding 10 points, lasting 10 seconds:** @@ -52,10 +54,6 @@ By default, only users with **Moderator** permission level or higher can use thi * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. * Other settings like the default duration (in seconds), the maximum points amount, and the raffle messages can be configured in the Raffle module settings on the Dashboard. The entry command is fixed to `!join`. -## Aliases - -* `!singleraffle` - ## Related Commands * [`!join`](/chatbot/commands/default/join): The command viewers use to enter an active `!sraffle`. diff --git a/src/content/docs/chatbot/commands/default/srclear.mdx b/src/content/docs/chatbot/commands/default/srclear.mdx index a11b39a..be2d7f0 100644 --- a/src/content/docs/chatbot/commands/default/srclear.mdx +++ b/src/content/docs/chatbot/commands/default/srclear.mdx @@ -11,16 +11,18 @@ keywords: - commands - mediarequest platforms: [twitch] +access: moderator +summary: "Clear the entire media request queue." +requires: Song Requests +category: song-requests +aliases: + - "!mrclear" --- import ChatExample from '@components/ChatExample.astro'; The `!srclear` command is used to clear the **entire** media request queue in your StreamElements chatbot. This command is particularly useful for streamers and moderators who want to reset the list of requested songs or videos during a stream. -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Usage To clear the queue, simply type the command in chat: @@ -41,10 +43,6 @@ To clear the queue, simply type the command in chat: * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. * Default cooldown: 10 seconds global and 10 seconds per user. -## Aliases - -* `!mrclear` - ## Related Commands * [`!songrequest`](/chatbot/commands/default/songrequest): Used to request a song. diff --git a/src/content/docs/chatbot/commands/default/ticket.mdx b/src/content/docs/chatbot/commands/default/ticket.mdx index bd27408..aa4cbaa 100644 --- a/src/content/docs/chatbot/commands/default/ticket.mdx +++ b/src/content/docs/chatbot/commands/default/ticket.mdx @@ -10,6 +10,12 @@ keywords: - raffles - loyalty platforms: [twitch] +access: everyone +summary: "Purchase tickets for giveaways and raffles." +requires: Giveaway module +category: giveaways-raffles +aliases: + - "!enter" --- import ChatExample from '@components/ChatExample.astro'; @@ -58,10 +64,6 @@ To purchase tickets, type `!ticket` in the chat, optionally followed by the numb Streamers configure giveaway settings, including ticket cost and the maximum number of tickets a viewer can purchase per giveaway, through the StreamElements dashboard under **Loyalty -> Giveaways**. -## Aliases - -- `!enter` - ## Related Commands - [`!giveaway`](/chatbot/commands/default/giveaway): Checks the status of the currently active giveaway. diff --git a/src/content/docs/chatbot/commands/default/timer.mdx b/src/content/docs/chatbot/commands/default/timer.mdx index 1c4b549..0557dfb 100644 --- a/src/content/docs/chatbot/commands/default/timer.mdx +++ b/src/content/docs/chatbot/commands/default/timer.mdx @@ -8,16 +8,15 @@ keywords: - manage timers - StreamElements chatbot platforms: [twitch, youtube, kick] +access: moderator +summary: "Enable or disable specific chat timers." +category: stream-management --- import ChatExample from '@components/ChatExample.astro'; The `!timer` command allows moderators to enable or disable specific chat timers directly from the chat interface. Timers are messages automatically posted by the bot at set intervals. -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command. -::: - ## Usage To enable or disable a timer: diff --git a/src/content/docs/chatbot/commands/default/tip.mdx b/src/content/docs/chatbot/commands/default/tip.mdx index a80d371..75f7597 100644 --- a/src/content/docs/chatbot/commands/default/tip.mdx +++ b/src/content/docs/chatbot/commands/default/tip.mdx @@ -9,6 +9,11 @@ keywords: - chatbot - streamelements platforms: [twitch, youtube, kick] +access: everyone +summary: "Get a link to the channel's tipping page." +category: stream-info-utility +aliases: + - "!donate" --- import ChatExample from '@components/ChatExample.astro'; diff --git a/src/content/docs/chatbot/commands/default/top.mdx b/src/content/docs/chatbot/commands/default/top.mdx index 9ce98b1..069b6f1 100644 --- a/src/content/docs/chatbot/commands/default/top.mdx +++ b/src/content/docs/chatbot/commands/default/top.mdx @@ -11,6 +11,10 @@ keywords: - points - watchtime platforms: [twitch] +access: everyone +summary: "Display the top users by loyalty points or watch time." +requires: Loyalty +category: points-loyalty --- import ChatExample from '@components/ChatExample.astro'; @@ -54,7 +58,7 @@ If `[type]` is omitted, the points leaderboard is shown. The command displays th ## Configuration -* Requires the **Loyalty system** to be active (`Loyalty` -> `Loyalty Settings`). +* Enable the **Loyalty system** under `Loyalty` -> `Loyalty Settings`. * The leaderboards displayed depend on the Loyalty module configuration (points tracking, watch time tracking enabled). * The name of the points currency (e.g., "ChannelPoints") is set in Loyalty Settings. diff --git a/src/content/docs/chatbot/commands/default/uptime.mdx b/src/content/docs/chatbot/commands/default/uptime.mdx index f7fe186..e988781 100644 --- a/src/content/docs/chatbot/commands/default/uptime.mdx +++ b/src/content/docs/chatbot/commands/default/uptime.mdx @@ -8,6 +8,11 @@ keywords: - stream duration - live streaming time platforms: [twitch, youtube] +access: everyone +summary: "Check the current stream's duration." +category: stream-info-utility +aliases: + - "!downtime" --- import ChatExample from '@components/ChatExample.astro'; diff --git a/src/content/docs/chatbot/commands/default/vanish.mdx b/src/content/docs/chatbot/commands/default/vanish.mdx index 8bf0bba..0b88f0b 100644 --- a/src/content/docs/chatbot/commands/default/vanish.mdx +++ b/src/content/docs/chatbot/commands/default/vanish.mdx @@ -8,6 +8,9 @@ keywords: - StreamElements - chatbot platforms: [twitch, youtube] +access: everyone +summary: "Time yourself out for 1 second to clear your messages." +category: moderation --- import ChatExample from '@components/ChatExample.astro'; diff --git a/src/content/docs/chatbot/commands/default/volume.mdx b/src/content/docs/chatbot/commands/default/volume.mdx index 0f1ee83..9fe440a 100644 --- a/src/content/docs/chatbot/commands/default/volume.mdx +++ b/src/content/docs/chatbot/commands/default/volume.mdx @@ -10,16 +10,16 @@ keywords: - audio settings - streamelements platforms: [twitch] +access: everyone +summary: "Check or set the media request player volume." +requires: Song Requests +category: song-requests --- import ChatExample from '@components/ChatExample.astro'; The `!volume` command allows users to check or adjust the volume level of the StreamElements media request player. -:::note[Permissions] -By default, **everyone** can use this command — both to check and to set the volume. Streamers who want to restrict it can raise the required permission level under `Chatbot` -> `Chat Commands` -> `Default Commands`. -::: - ## Usage **To check the current volume:** @@ -64,7 +64,6 @@ By default, **everyone** can use this command — both to check and to set the v ## Configuration -* Requires the **Media Request** module to be enabled. * The command's permission level can be adjusted under `Chatbot` -> `Chat Commands` -> `Default Commands`. ## Related Commands diff --git a/src/content/docs/chatbot/commands/default/votekick.mdx b/src/content/docs/chatbot/commands/default/votekick.mdx index f99bbc4..780f48a 100644 --- a/src/content/docs/chatbot/commands/default/votekick.mdx +++ b/src/content/docs/chatbot/commands/default/votekick.mdx @@ -13,16 +13,16 @@ keywords: - Twitch streaming tools - chat voting system platforms: [twitch] +access: moderator +summary: "Start a community vote to temporarily kick a user." +requires: Votekick module +category: moderation --- import ChatExample from '@components/ChatExample.astro'; The `!votekick` command initiates a community vote to temporarily remove (timeout) a user from the chat. This allows viewers to participate in moderation by collectively deciding if a user should be kicked for a period. -:::caution[Permissions] -By default, only users with **Moderator** permission level or higher can use this command to *start* a vote. -::: - ## Usage To start a vote to kick a user: diff --git a/src/content/docs/chatbot/commands/default/voteskip.mdx b/src/content/docs/chatbot/commands/default/voteskip.mdx index 8b62b5f..f339d84 100644 --- a/src/content/docs/chatbot/commands/default/voteskip.mdx +++ b/src/content/docs/chatbot/commands/default/voteskip.mdx @@ -9,6 +9,10 @@ keywords: - chatbot commands - streamelements platforms: [twitch] +access: everyone +summary: "Let viewers vote to skip the current media request." +requires: Song Requests +category: song-requests --- import ChatExample from '@components/ChatExample.astro'; @@ -37,7 +41,6 @@ To cast a vote to skip the current media: ## Configuration -* Requires the **Media Request** module to be enabled. * The **Vote Skip** feature must be enabled within the Media Request module settings on the StreamElements Dashboard — if it is disabled, the command does nothing. * Streamers configure the **Number of votes required to skip** in the module settings; the song is skipped once the vote count reaches that threshold. * Each user can vote only once per song. diff --git a/src/content/docs/chatbot/commands/default/watchtime.mdx b/src/content/docs/chatbot/commands/default/watchtime.mdx index 28f6060..22fa125 100644 --- a/src/content/docs/chatbot/commands/default/watchtime.mdx +++ b/src/content/docs/chatbot/commands/default/watchtime.mdx @@ -9,6 +9,12 @@ keywords: - loyalty tracking - streamelements platforms: [twitch] +access: everyone +summary: "Check your own or another user's accumulated watch time." +requires: Loyalty +category: points-loyalty +aliases: + - "!viewtime" --- import ChatExample from '@components/ChatExample.astro'; @@ -41,7 +47,7 @@ To check watch time: ## Configuration -* Requires the **Loyalty system** to be active (`Loyalty` -> `Loyalty Settings`). +* Enable the **Loyalty system** under `Loyalty` -> `Loyalty Settings`. * **Watch time tracking** must be enabled within the Loyalty Settings. * The command itself (`!watchtime`) is usually enabled by default when Loyalty is active. diff --git a/src/content/docs/chatbot/commands/default/when.mdx b/src/content/docs/chatbot/commands/default/when.mdx index 590ef0d..c1cce5a 100644 --- a/src/content/docs/chatbot/commands/default/when.mdx +++ b/src/content/docs/chatbot/commands/default/when.mdx @@ -8,6 +8,12 @@ keywords: - media request - StreamElements chatbot platforms: [twitch] +access: everyone +summary: "Check the queue position of your latest song request." +requires: Song Requests +category: song-requests +aliases: + - "!mysong" --- import ChatExample from '@components/ChatExample.astro'; @@ -47,14 +53,9 @@ To check the queue position of a specific song: ## Configuration -* Requires the **Media Request** module to be enabled. * Without an argument, the command checks the queue for a request made by the user issuing the command. With a YouTube URL or video ID, it looks up that song's position instead. * Default cooldown: 15 seconds global. -## Aliases - -* `!mysong` - ## Related Commands * [`!songrequest`](/chatbot/commands/default/songrequest): Used to request a song. diff --git a/src/content/docs/chatbot/commands/default/wrongsong.mdx b/src/content/docs/chatbot/commands/default/wrongsong.mdx index b106b68..02cdd89 100644 --- a/src/content/docs/chatbot/commands/default/wrongsong.mdx +++ b/src/content/docs/chatbot/commands/default/wrongsong.mdx @@ -8,6 +8,13 @@ keywords: - media request - StreamElements chatbot platforms: [twitch] +access: everyone +summary: "Remove the last song you added to the queue." +requires: Song Requests +category: song-requests +aliases: + - "!ctrl-z" + - "!heybuddyithinkyougotthewrongsong" --- import ChatExample from '@components/ChatExample.astro'; @@ -36,16 +43,10 @@ To remove your last song request, simply type the command in chat: ## Configuration -* Requires the **Media Request** module to be enabled. * The command affects only the song requested by the user issuing the command. * Streamers can customize the response messages in the StreamElements dashboard under `Chatbot` -> `Chat Commands` -> `Default Commands`. * Default cooldown: 10 seconds per user. -## Aliases - -* `!ctrl-z` -* `!heybuddyithinkyougotthewrongsong` - ## Related Commands * [`!songrequest`](/chatbot/commands/default/songrequest): Used to add a song to the request queue. diff --git a/src/content/docs/chatbot/variables/7tvemotes.mdx b/src/content/docs/chatbot/variables/7tvemotes.mdx index a33e34c..49a4458 100644 --- a/src/content/docs/chatbot/variables/7tvemotes.mdx +++ b/src/content/docs/chatbot/variables/7tvemotes.mdx @@ -1,6 +1,8 @@ --- title: "$(7tvemotes)" description: "Display the list of active 7TV emotes in a Twitch channel with the $(7tvemotes) variable in StreamElements Chatbot commands." +category: emotes +summary: "List active 7TV emotes in the channel." keywords: - 7tvemotes - 7tv diff --git a/src/content/docs/chatbot/variables/ai.mdx b/src/content/docs/chatbot/variables/ai.mdx index 7ee965b..88d8ba4 100644 --- a/src/content/docs/chatbot/variables/ai.mdx +++ b/src/content/docs/chatbot/variables/ai.mdx @@ -1,6 +1,8 @@ --- title: "$(ai)" description: "Generate AI responses in chat with the $(ai) variable in StreamElements Chatbot commands, including rate limits and default context." +category: fun +summary: "Generate AI responses in chat. Also available as $(chatgpt)." keywords: - streamelements ai - chatbot ai diff --git a/src/content/docs/chatbot/variables/args.mdx b/src/content/docs/chatbot/variables/args.mdx index 7510f53..af34bfc 100644 --- a/src/content/docs/chatbot/variables/args.mdx +++ b/src/content/docs/chatbot/variables/args.mdx @@ -1,6 +1,8 @@ --- title: "Command Arguments" description: "Access the words of a chat message in StreamElements Chatbot commands with the $(1), $(1:), and $(1:3) argument tokens." +category: user-chat +summary: "Access the words of the message that triggered the command." keywords: - command arguments - arguments @@ -50,25 +52,27 @@ Argument tokens strip a leading `/` or `.` from their output. This guards agains ## Examples -1. Introducing a user: +**Introducing a user** - ```streamelements - !cmd add !introduce $(1) is $(2) years old - ``` - - User input: `!introduce Alice 25` - - Output: `Alice is 25 years old` +```streamelements +!cmd add !introduce $(1) is $(2) years old +``` -2. Using everything after the command: + - ```streamelements - !cmd add !announce Attention everyone: $(1:) - ``` +**Using everything after the command** - User input: `!announce the stream starts in 10 minutes` +```streamelements +!cmd add !announce Attention everyone: $(1:) +``` - Output: `Attention everyone: the stream starts in 10 minutes` + ## Fallbacks @@ -78,9 +82,10 @@ Use a pipe to provide a default value when an argument is missing: !cmd add !hug $(sender) hugs $(1|everyone)! ``` -User input: `!hug` (no argument) - -Output: `StreamFan123 hugs everyone!` + ## Quoting @@ -90,25 +95,27 @@ Wherever a variable takes space-separated inputs, quotes group several words int A token can take an optional validator, which makes it output the word only if it passes a check: -1. `$(1 username)` (alias: `$(1 word)`): Outputs the argument only if it looks like a username — letters, digits, and underscores, optionally prefixed with `@`, up to 30 characters. - - ```streamelements - !cmd add !so Check out $(1 username)'s channel! - ``` - - User input: `!so CoolStreamer` +`$(1 username)` (alias: `$(1 word)`) outputs the argument only if it looks like a username — letters, digits, and underscores, optionally prefixed with `@`, up to 30 characters. - Output: `Check out CoolStreamer's channel!` +```streamelements +!cmd add !so Check out $(1 username)'s channel! +``` -2. `$(1 emote)`: Outputs the argument only if it is an emote in the message. + - ```streamelements - !cmd add !emote $(1 emote) - ``` +`$(1 emote)` outputs the argument only if it is an emote in the message. - User input: `!emote Kappa` +```streamelements +!cmd add !emote $(1 emote) +``` - Output: `Kappa` + The dot form also works for validators, e.g. `$(1.word)` or `$(1.emote)`. diff --git a/src/content/docs/chatbot/variables/bttvemotes.mdx b/src/content/docs/chatbot/variables/bttvemotes.mdx index ced5e24..8577179 100644 --- a/src/content/docs/chatbot/variables/bttvemotes.mdx +++ b/src/content/docs/chatbot/variables/bttvemotes.mdx @@ -1,6 +1,8 @@ --- title: "$(bttvemotes)" description: "Display the list of active BetterTTV emotes in a Twitch channel with the $(bttvemotes) variable in StreamElements Chatbot commands." +category: emotes +summary: "Display active BetterTTV emotes in the channel." keywords: - bttv - emotes diff --git a/src/content/docs/chatbot/variables/channel.mdx b/src/content/docs/chatbot/variables/channel.mdx index 6c21e11..682194b 100644 --- a/src/content/docs/chatbot/variables/channel.mdx +++ b/src/content/docs/chatbot/variables/channel.mdx @@ -1,6 +1,8 @@ --- title: "$(channel)" description: "Reference for the StreamElements Chatbot $(channel) variables: channel name, viewers, followers, subscribers, game, title, and uptime." +category: stream-info +summary: "Channel information such as name, viewer count, followers, and subscribers." keywords: - streamelements - chatbot @@ -67,27 +69,27 @@ The standalone [`$(game)`](/chatbot/variables/game), [`$(title)`](/chatbot/varia ## Examples -1. A stream status command combining provider, game, and title: +**A stream status command combining provider, game, and title** - ```streamelements - !cmd add !status We're live on $(channel.provider) playing $(channel.game) — $(channel.title) - ``` +```streamelements +!cmd add !status We're live on $(channel.provider) playing $(channel.game) — $(channel.title) +``` - Output: - ``` - We're live on twitch playing Super Mario 64 — Speedrunning Mario 64 - Day 3! - ``` + -2. A live stats command combining uptime, viewers, and chatters: +**A live stats command combining uptime, viewers, and chatters** - ```streamelements - !cmd add !live We've been live for $(channel.uptime) with $(channel.viewers) viewers and $(channel.chatters) active chatters! - ``` +```streamelements +!cmd add !live We've been live for $(channel.uptime) with $(channel.viewers) viewers and $(channel.chatters) active chatters! +``` - Output: - ``` - We've been live for 3 hours 27 mins with 1337 viewers and 850 active chatters! - ``` + ## Related Variables diff --git a/src/content/docs/chatbot/variables/cheat-sheet.mdx b/src/content/docs/chatbot/variables/cheat-sheet.mdx index a09a140..c3183dec 100644 --- a/src/content/docs/chatbot/variables/cheat-sheet.mdx +++ b/src/content/docs/chatbot/variables/cheat-sheet.mdx @@ -107,7 +107,7 @@ Use as `$(user. [username])` or `$(sender.)` — the fields are id | `name` | The login name, in lowercase. | | `twitchid` | The platform user ID. | | `points` | The loyalty points balance, e.g. `100`. | -| `level` | The access level: `100` everyone, `250` subscriber, `400` VIP, `500` moderator, `1500` channel owner. | +| `level` | The access level: `100` everyone, `250` subscriber, `300` regular, `400` VIP, `500` moderator, `1000` super moderator, `1500` broadcaster. | | `lastmessage` | The user's last chat message. | | `lastseen` | Time since last seen, e.g. `2 hours 30 mins`; `` if never recorded. | | `lastactive` | Time since the user last typed; `` if never recorded. | diff --git a/src/content/docs/chatbot/variables/count.mdx b/src/content/docs/chatbot/variables/count.mdx index a5ba804..69da4ff 100644 --- a/src/content/docs/chatbot/variables/count.mdx +++ b/src/content/docs/chatbot/variables/count.mdx @@ -1,6 +1,8 @@ --- title: "$(count)" description: "Create, display, and modify custom counters in StreamElements Chatbot with the $(count) variable." +category: counters-data +summary: "Create and manage custom counters." keywords: - count - counter @@ -45,21 +47,27 @@ Each use changes the counter and outputs the **new** value as a plain number. Wi ## Examples -1. Basic usage (increments the command's own counter by 1 each time): +**Basic usage** — increments the command's own counter by 1 each time: - ```streamelements - !cmd add !deaths $(count) - ``` +```streamelements +!cmd add !deaths $(count) +``` - Output: `13` + -2. Named counter with a custom modifier: +**Named counter with a custom modifier:** - ```streamelements - !cmd add !bossfails $(count bossfails +5) - ``` +```streamelements +!cmd add !bossfails $(count bossfails +5) +``` - Output: `25` + ## Parameters diff --git a/src/content/docs/chatbot/variables/customapi.mdx b/src/content/docs/chatbot/variables/customapi.mdx index 9be12b5..91b1e6c 100644 --- a/src/content/docs/chatbot/variables/customapi.mdx +++ b/src/content/docs/chatbot/variables/customapi.mdx @@ -1,6 +1,8 @@ --- title: "$(customapi)" description: "Make GET requests to external APIs and display the response in chat with the $(customapi) variable in StreamElements Chatbot." +category: utility-web +summary: "Make an API request and display the response in chat. Also available as $(urlfetch)." keywords: - StreamElements - chatbot @@ -58,10 +60,9 @@ The legacy dot form is also supported: `$(customapi.https://example.com/data)` w $(customapi https://official-joke-api.appspot.com/random_joke) ``` -Output: -```json -{"id":323,"type":"general","setup":"Why did the cookie cry?","punchline":"Because his father was a wafer so long!"} -``` + ### Passing user input safely diff --git a/src/content/docs/chatbot/variables/ffzemotes.mdx b/src/content/docs/chatbot/variables/ffzemotes.mdx index 610bf5a..c3151a8 100644 --- a/src/content/docs/chatbot/variables/ffzemotes.mdx +++ b/src/content/docs/chatbot/variables/ffzemotes.mdx @@ -1,6 +1,8 @@ --- title: "$(ffzemotes)" description: "Display the list of active FrankerFaceZ emotes in a Twitch channel with the $(ffzemotes) variable in StreamElements Chatbot commands." +category: emotes +summary: "Display active FrankerFaceZ emotes in the channel." keywords: - ffz - emotes diff --git a/src/content/docs/chatbot/variables/game.mdx b/src/content/docs/chatbot/variables/game.mdx index 7a92a99..546b3b5 100644 --- a/src/content/docs/chatbot/variables/game.mdx +++ b/src/content/docs/chatbot/variables/game.mdx @@ -1,6 +1,8 @@ --- title: "$(game)" description: "Display the current game being played on a Twitch channel with the $(game) variable in StreamElements Chatbot." +category: stream-info +summary: "Display the current game on a Twitch channel." keywords: - StreamElements - chatbot @@ -55,7 +57,9 @@ Check the game on another channel: shroud is playing: $(game shroud) ``` -Output: `shroud is playing: Counter-Strike: Global Offensive` + ## Parameters diff --git a/src/content/docs/chatbot/variables/getcount.mdx b/src/content/docs/chatbot/variables/getcount.mdx index 7cc2c60..afc3483 100644 --- a/src/content/docs/chatbot/variables/getcount.mdx +++ b/src/content/docs/chatbot/variables/getcount.mdx @@ -1,6 +1,8 @@ --- title: "$(getcount)" description: "Retrieve a counter's current value without incrementing it using the $(getcount) variable in StreamElements Chatbot." +category: counters-data +summary: "Retrieve a counter value without incrementing it." keywords: - StreamElements - chatbot @@ -44,7 +46,10 @@ Displaying the current death count without changing it: !command add !deathcheck We're at $(getcount deaths) deaths so far. It could be worse! ``` -Output: `We're at 13 deaths so far. It could be worse!` + ## Parameters diff --git a/src/content/docs/chatbot/variables/if.mdx b/src/content/docs/chatbot/variables/if.mdx index ea90174..8a1cad8 100644 --- a/src/content/docs/chatbot/variables/if.mdx +++ b/src/content/docs/chatbot/variables/if.mdx @@ -1,6 +1,8 @@ --- title: "$(if)" description: "Add conditional logic to StreamElements Chatbot commands with the $(if) variable — show different responses depending on a true/false condition." +category: utility-web +summary: "Show different responses depending on a true/false condition." syntax: "$(if [else])" arguments: required keywords: diff --git a/src/content/docs/chatbot/variables/index.md b/src/content/docs/chatbot/variables/index.md deleted file mode 100644 index 92f6f95..0000000 --- a/src/content/docs/chatbot/variables/index.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Variables -description: Reference of all StreamElements Chatbot variables for chat commands, grouped by category, with syntax and usage links. -keywords: - - chatbot variables - - StreamElements variables - - chat command variables - - dynamic chat commands - - chatbot placeholders -sidebar: - label: Overview - order: 0 ---- - -Chat commands support variables in a dynamic way. Variables are placeholders that can be used in chat commands to represent a specific value or piece of information. When a command is triggered, these variables are replaced with the actual values they represent. - -For example, in the command `$(uptime shroud)`, `shroud` is a variable representing a username. When this command is executed, the `uptime` of the user `shroud` is returned. - -Variables are placeholders you put in a command response; the bot replaces them with live values — the sender's name, the current game, a random number — when the command runs. - -:::tip[In a hurry?] -See the [Variables cheat sheet](/chatbot/variables/cheat-sheet) — every variable with its syntax and return value on a single page. -::: - -:::note -In addition to the `$()` syntax, the `${}` syntax is also supported. Both forms are interchangeable in chat commands: `$(uptime shroud)` can also be written as `${uptime shroud}`. -::: - -:::note -Variables work on all platforms unless a page notes otherwise — on YouTube, `$(user)` (and its sub-variables), `$(game)`, and `$(redeem)` are not available. -::: - -## Stream Info - -| Variable | Description | -| --- | --- | -| [`$(channel)`](/chatbot/variables/channel) | Channel information such as name, viewer count, followers, and subscribers. | -| [`$(game)`](/chatbot/variables/game) | Display the current game on a Twitch channel. | -| [`$(title)`](/chatbot/variables/title) | Display a channel's title. Also available as `$(status)`. | -| [`$(uptime)`](/chatbot/variables/uptime) | Display stream uptime for any channel. | -| [`$(provider)`](/chatbot/variables/provider) | Display the platform the channel runs on: `twitch`, `youtube`, or `kick`. | - -## Stream Management - -| Variable | Description | -| --- | --- | -| [`$(setgame)`](/chatbot/variables/setgame) | Change the stream's game category. | -| [`$(settitle)`](/chatbot/variables/settitle) | Change the stream title. | - -## User & Chat - -| Variable | Description | -| --- | --- | -| [`$(user)`](/chatbot/variables/user) | User information such as name, points, and rank; accepts a username argument. | -| [`$(sender)`](/chatbot/variables/sender) | Information about the user who triggered the command. Also available as `$(source)`. | -| [`$(touser)`](/chatbot/variables/touser) | Display a user's name or a specified word. | -| [`$(1)`, `$(1:)`](/chatbot/variables/args) | Access the words of the message that triggered the command. | -| [`$(msgid)`](/chatbot/variables/msgid) | Retrieve the unique message ID. | -| [`$(pointsname)`](/chatbot/variables/pointsname) | Display the channel's custom loyalty points name. | -| [`$(redeem)`](/chatbot/variables/redeem) | Redeem a loyalty store item straight from a chat command. | - -## Emotes - -| Variable | Description | -| --- | --- | -| [`$(twitchemotes)`](/chatbot/variables/twitchemotes) | Display available Twitch subscriber emotes. | -| [`$(bttvemotes)`](/chatbot/variables/bttvemotes) | Display active BetterTTV emotes in the channel. | -| [`$(ffzemotes)`](/chatbot/variables/ffzemotes) | Display active FrankerFaceZ emotes in the channel. | -| [`$(7tvemotes)`](/chatbot/variables/7tvemotes) | List active 7TV emotes in the channel. | - -## Counters & Data - -| Variable | Description | -| --- | --- | -| [`$(count)`](/chatbot/variables/count) | Create and manage custom counters. | -| [`$(getcount)`](/chatbot/variables/getcount) | Retrieve a counter value without incrementing it. | -| [`$(quote)`](/chatbot/variables/quote) | Display random or specific saved quotes. | - -## Games - -| Variable | Description | -| --- | --- | -| [`$(leagueoflegends)`](/chatbot/variables/leagueoflegends) | Get a League of Legends player's rank and LP. | -| [`$(teamfighttactics)`](/chatbot/variables/teamfighttactics) | Get a Teamfight Tactics player's rank and LP. Also available as `$(tft)`. | -| [`$(pubg)`](/chatbot/variables/pubg) | Display PUBG player statistics like K/D, wins, and rating. | - -## Utility & Web - -| Variable | Description | -| --- | --- | -| [`$(if)`](/chatbot/variables/if) | Show different responses depending on a true/false condition. | -| [`$(customapi)`](/chatbot/variables/customapi) | Make an API request and display the response in chat. Also available as `$(urlfetch)`. | -| [`$(math)`](/chatbot/variables/math) | Perform mathematical calculations in chat messages. | -| [`$(time)`](/chatbot/variables/time) | Display the current time in a timezone, or a countdown. | -| [`$(queryescape)`](/chatbot/variables/queryescape) | Encode a string for use in a URL query. Also available as `$(queryencode)`. | -| [`$(pathescape)`](/chatbot/variables/pathescape) | Escape a string for use in a URL path. Also available as `$(pathencode)`. | -| [`$(weather)`](/chatbot/variables/weather) | Display current weather conditions for a location. | -| [`$(stockprice)`](/chatbot/variables/stockprice) | Display real-time stock prices. | -| [`$(repeat)`](/chatbot/variables/repeat) | Repeat a phrase a specified number of times. | - -## Fun - -| Variable | Description | -| --- | --- | -| [`$(ai)`](/chatbot/variables/ai) | Generate AI responses in chat. Also available as `$(chatgpt)`. | -| [`$(random)`](/chatbot/variables/random) | Generate random numbers, emotes, or chatters. | diff --git a/src/content/docs/chatbot/variables/index.mdx b/src/content/docs/chatbot/variables/index.mdx new file mode 100644 index 0000000..33bd2a3 --- /dev/null +++ b/src/content/docs/chatbot/variables/index.mdx @@ -0,0 +1,65 @@ +--- +title: Variables +description: Reference of all StreamElements Chatbot variables for chat commands, grouped by category, with syntax and usage links. +keywords: + - chatbot variables + - StreamElements variables + - chat command variables + - dynamic chat commands + - chatbot placeholders +sidebar: + label: Overview + order: 0 +--- + +import VariableTable from '@components/VariableTable.astro'; + +Chat commands support variables in a dynamic way. Variables are placeholders that can be used in chat commands to represent a specific value or piece of information. When a command is triggered, these variables are replaced with the actual values they represent. + +For example, in the command `$(uptime shroud)`, `shroud` is a variable representing a username. When this command is executed, the `uptime` of the user `shroud` is returned. + +Variables are placeholders you put in a command response; the bot replaces them with live values — the sender's name, the current game, a random number — when the command runs. + +:::tip[In a hurry?] +See the [Variables cheat sheet](/chatbot/variables/cheat-sheet) — every variable with its syntax and return value on a single page. +::: + +:::note +In addition to the `$()` syntax, the `${}` syntax is also supported. Both forms are interchangeable in chat commands: `$(uptime shroud)` can also be written as `${uptime shroud}`. +::: + +:::note +Variables work on all platforms unless a page notes otherwise — on YouTube, `$(user)` (and its sub-variables), `$(game)`, and `$(redeem)` are not available. +::: + +## Stream Info + + + +## Stream Management + + + +## User & Chat + + + +## Emotes + + + +## Counters & Data + + + +## Games + + + +## Utility & Web + + + +## Fun + + diff --git a/src/content/docs/chatbot/variables/leagueoflegends.mdx b/src/content/docs/chatbot/variables/leagueoflegends.mdx index a9c0a86..468ef9e 100644 --- a/src/content/docs/chatbot/variables/leagueoflegends.mdx +++ b/src/content/docs/chatbot/variables/leagueoflegends.mdx @@ -1,6 +1,8 @@ --- title: "$(leagueoflegends)" description: "Get a League of Legends player's rank and LP using StreamElements Chatbot. Supports Riot IDs and multiple regions." +category: games +summary: "Get a League of Legends player's rank and LP." keywords: - streamelements lol rank command - league of legends command diff --git a/src/content/docs/chatbot/variables/math.mdx b/src/content/docs/chatbot/variables/math.mdx index eef3d44..2028260 100644 --- a/src/content/docs/chatbot/variables/math.mdx +++ b/src/content/docs/chatbot/variables/math.mdx @@ -1,6 +1,8 @@ --- title: "$(math)" description: "Perform mathematical calculations in StreamElements Chatbot messages with the $(math) variable and math.js expressions." +category: utility-web +summary: "Perform mathematical calculations in chat messages." keywords: - StreamElements - chatbot @@ -38,23 +40,25 @@ Replace `` with the mathematical operation you want to perform. Resu ## Examples -Here are some practical examples of how to use the `$(math)` variable: +**Rounding a division result** -1. Rounding a division result: - - ```streamelements - 10 divided by 3, rounded to the nearest integer, is $(math "round(10/3)") - ``` +```streamelements +10 divided by 3, rounded to the nearest integer, is $(math "round(10/3)") +``` - Output: `10 divided by 3, rounded to the nearest integer, is 3` + -2. Generating a random number: +**Generating a random number** - ```streamelements - Your random number between 1 and 10 is $(math "random(1,10)") - ``` +```streamelements +Your random number between 1 and 10 is $(math "random(1,10)") +``` - Output: `Your random number between 1 and 10 is 7.525986609745358` + ## Parameters diff --git a/src/content/docs/chatbot/variables/msgid.mdx b/src/content/docs/chatbot/variables/msgid.mdx index 3fd35a7..d89b7ea 100644 --- a/src/content/docs/chatbot/variables/msgid.mdx +++ b/src/content/docs/chatbot/variables/msgid.mdx @@ -1,6 +1,8 @@ --- title: "$(msgid)" description: "Output the unique message ID of the message that triggered a command with the $(msgid) variable in StreamElements Chatbot." +category: user-chat +summary: "Retrieve the unique message ID." keywords: - StreamElements - chatbot diff --git a/src/content/docs/chatbot/variables/pathescape.mdx b/src/content/docs/chatbot/variables/pathescape.mdx index d9cb0a4..4086fbd 100644 --- a/src/content/docs/chatbot/variables/pathescape.mdx +++ b/src/content/docs/chatbot/variables/pathescape.mdx @@ -1,6 +1,8 @@ --- title: "$(pathescape)" description: "Escape strings for safe use in URL paths with the $(pathescape) variable in StreamElements Chatbot commands." +category: utility-web +summary: "Escape a string for use in a URL path. Also available as $(pathencode)." syntax: "$(pathescape )" arguments: required keywords: diff --git a/src/content/docs/chatbot/variables/pointsname.mdx b/src/content/docs/chatbot/variables/pointsname.mdx index 1ee107a..9117c8f 100644 --- a/src/content/docs/chatbot/variables/pointsname.mdx +++ b/src/content/docs/chatbot/variables/pointsname.mdx @@ -1,6 +1,8 @@ --- title: "$(pointsname)" description: "Display the name of your stream's loyalty currency with the $(pointsname) variable in StreamElements Chatbot messages and commands." +category: user-chat +summary: "Display the channel's custom loyalty points name." syntax: "$(pointsname)" arguments: none keywords: @@ -38,10 +40,9 @@ Informing viewers about earning points: Earn more $(pointsname) by watching the stream! ``` -Output (assuming your currency is named "memecoins"): -``` -Earn more memecoins by watching the stream! -``` + ## Related diff --git a/src/content/docs/chatbot/variables/provider.mdx b/src/content/docs/chatbot/variables/provider.mdx index fe64adf..9c02ecb 100644 --- a/src/content/docs/chatbot/variables/provider.mdx +++ b/src/content/docs/chatbot/variables/provider.mdx @@ -1,6 +1,8 @@ --- title: "$(provider)" description: "Display which streaming platform a channel runs on — twitch, youtube, or kick — with the $(provider) variable in StreamElements Chatbot." +category: stream-info +summary: "Display the platform the channel runs on: twitch, youtube, or kick." syntax: "$(provider)" arguments: none keywords: diff --git a/src/content/docs/chatbot/variables/pubg.mdx b/src/content/docs/chatbot/variables/pubg.mdx index 365d3f9..3b88f2a 100644 --- a/src/content/docs/chatbot/variables/pubg.mdx +++ b/src/content/docs/chatbot/variables/pubg.mdx @@ -1,6 +1,8 @@ --- title: "$(pubg)" description: "Display PUBG player statistics like K/D, wins, and rating in chat with the $(pubg) variable in StreamElements Chatbot." +category: games +summary: "Display PUBG player statistics like K/D, wins, and rating." syntax: "$(pubg )" arguments: required keywords: diff --git a/src/content/docs/chatbot/variables/queryescape.mdx b/src/content/docs/chatbot/variables/queryescape.mdx index c9ab784..9f9f37e 100644 --- a/src/content/docs/chatbot/variables/queryescape.mdx +++ b/src/content/docs/chatbot/variables/queryescape.mdx @@ -1,6 +1,8 @@ --- title: "$(queryescape)" description: "Encode strings for use in URL query parameters with the $(queryescape) variable in StreamElements Chatbot commands." +category: utility-web +summary: "Encode a string for use in a URL query. Also available as $(queryencode)." syntax: "$(queryescape )" arguments: required keywords: @@ -47,9 +49,10 @@ A YouTube search command: !command add !yt https://www.youtube.com/results?search_query=$(queryescape ${1:}) ``` -**User Input:** `!yt funny cat videos` - -**Output:** `https://www.youtube.com/results?search_query=funny+cat+videos` + ## Parameters diff --git a/src/content/docs/chatbot/variables/quote.mdx b/src/content/docs/chatbot/variables/quote.mdx index 0f7cb42..be67b39 100644 --- a/src/content/docs/chatbot/variables/quote.mdx +++ b/src/content/docs/chatbot/variables/quote.mdx @@ -1,6 +1,8 @@ --- title: "$(quote)" description: "Display a random or specific saved quote in Twitch chat with the $(quote) variable in StreamElements Chatbot." +category: counters-data +summary: "Display random or specific saved quotes." syntax: "$(quote [id])" arguments: optional keywords: diff --git a/src/content/docs/chatbot/variables/random.mdx b/src/content/docs/chatbot/variables/random.mdx index 22dd866..903e538 100644 --- a/src/content/docs/chatbot/variables/random.mdx +++ b/src/content/docs/chatbot/variables/random.mdx @@ -1,6 +1,8 @@ --- title: "$(random)" description: "Generate random numbers, emotes, chatters, and list picks in chat with the StreamElements Chatbot random variables." +category: fun +summary: "Generate random numbers, emotes, or chatters." syntax: "$(random)" arguments: optional keywords: diff --git a/src/content/docs/chatbot/variables/redeem.mdx b/src/content/docs/chatbot/variables/redeem.mdx index a8598b0..09f229f 100644 --- a/src/content/docs/chatbot/variables/redeem.mdx +++ b/src/content/docs/chatbot/variables/redeem.mdx @@ -1,6 +1,8 @@ --- title: "$(redeem)" description: "Let viewers redeem StreamElements loyalty store items straight from a chat command with the $(redeem) variable." +category: user-chat +summary: "Redeem a loyalty store item straight from a chat command." syntax: "$(redeem [item] [input])" arguments: optional platforms: [twitch] diff --git a/src/content/docs/chatbot/variables/repeat.mdx b/src/content/docs/chatbot/variables/repeat.mdx index 339d0e8..9b6a01b 100644 --- a/src/content/docs/chatbot/variables/repeat.mdx +++ b/src/content/docs/chatbot/variables/repeat.mdx @@ -1,6 +1,8 @@ --- title: "$(repeat)" description: "Repeat a phrase a specified number of times with the $(repeat) variable in StreamElements Chatbot messages." +category: utility-web +summary: "Repeat a phrase a specified number of times." syntax: "$(repeat )" arguments: required keywords: @@ -45,10 +47,9 @@ You can combine `$(repeat)` with other variables: $(repeat 2 "$(user) is awesome!") ``` -If triggered by user "StreamerPro", the output would be: -``` -StreamerPro is awesome! StreamerPro is awesome! -``` + ## Parameters diff --git a/src/content/docs/chatbot/variables/sender.mdx b/src/content/docs/chatbot/variables/sender.mdx index 1333b8b..72187d8 100644 --- a/src/content/docs/chatbot/variables/sender.mdx +++ b/src/content/docs/chatbot/variables/sender.mdx @@ -1,6 +1,8 @@ --- title: "$(sender)" description: "Reference for the StreamElements Chatbot $(sender) variables: display name, points, ranks, and activity data for the command sender." +category: user-chat +summary: "Information about the user who triggered the command. Also available as $(source)." syntax: "$(sender)" arguments: none keywords: @@ -57,27 +59,27 @@ Durations are written out in full words: `secs`, `mins`, `hours`, `days`, `month ## Examples -1. A watchtime command combining time watched and online rank: +**A watchtime command combining time watched and online rank** - ```streamelements - !command add !watchtime $(sender) has been watching the stream for $(sender.time_online) and is rank $(sender.time_online_rank) on the online leaderboard - ``` +```streamelements +!command add !watchtime $(sender) has been watching the stream for $(sender.time_online) and is rank $(sender.time_online_rank) on the online leaderboard +``` - Output: - ``` - ViewerName has been watching the stream for 2 hours 30 mins and is rank 5/283 on the online leaderboard - ``` + -2. An activity command combining last activity and last message: +**An activity command combining last activity and last message** - ```streamelements - !command add !activity $(sender) was last active $(sender.lastactive) ago and last typed: $(sender.lastmessage) - ``` +```streamelements +!command add !activity $(sender) was last active $(sender.lastactive) ago and last typed: $(sender.lastmessage) +``` - Output: - ``` - ViewerName was last active 13 mins 15 secs ago and last typed: !points - ``` + ## Aliases diff --git a/src/content/docs/chatbot/variables/setgame.mdx b/src/content/docs/chatbot/variables/setgame.mdx index 46c52bc..b734d3f 100644 --- a/src/content/docs/chatbot/variables/setgame.mdx +++ b/src/content/docs/chatbot/variables/setgame.mdx @@ -1,6 +1,8 @@ --- title: "$(setgame)" description: "Change the stream's game or category from chat with the $(setgame) variable in StreamElements Chatbot." +category: stream-management +summary: "Change the stream's game category." syntax: '$(setgame "")' arguments: required keywords: diff --git a/src/content/docs/chatbot/variables/settitle.mdx b/src/content/docs/chatbot/variables/settitle.mdx index 6aa9274..5645c4d 100644 --- a/src/content/docs/chatbot/variables/settitle.mdx +++ b/src/content/docs/chatbot/variables/settitle.mdx @@ -1,6 +1,8 @@ --- title: "$(settitle)" description: "Change the stream title from chat with the $(settitle) variable in StreamElements Chatbot." +category: stream-management +summary: "Change the stream title." syntax: '$(settitle "")' arguments: required keywords: diff --git a/src/content/docs/chatbot/variables/stockprice.mdx b/src/content/docs/chatbot/variables/stockprice.mdx index 6db1267..625ce27 100644 --- a/src/content/docs/chatbot/variables/stockprice.mdx +++ b/src/content/docs/chatbot/variables/stockprice.mdx @@ -1,6 +1,8 @@ --- title: "$(stockprice)" description: "Display the current stock price of a company in chat with the $(stockprice) variable in StreamElements Chatbot." +category: utility-web +summary: "Display real-time stock prices." syntax: "$(stockprice )" arguments: required keywords: @@ -43,7 +45,9 @@ Comparing two tech stocks: Current prices: Microsoft $(stockprice MSFT) vs Google $(stockprice GOOGL) ``` -Output: `Current prices: Microsoft 285.76 vs Google 2232.88` + ## Parameters diff --git a/src/content/docs/chatbot/variables/teamfighttactics.mdx b/src/content/docs/chatbot/variables/teamfighttactics.mdx index 958f849..abe6ffd 100644 --- a/src/content/docs/chatbot/variables/teamfighttactics.mdx +++ b/src/content/docs/chatbot/variables/teamfighttactics.mdx @@ -1,6 +1,8 @@ --- title: "$(teamfighttactics)" description: "Get a Teamfight Tactics player's rank and LP using StreamElements Chatbot. Supports Riot IDs and multiple regions." +category: games +summary: "Get a Teamfight Tactics player's rank and LP. Also available as $(tft)." syntax: "$(teamfighttactics )" arguments: required keywords: diff --git a/src/content/docs/chatbot/variables/time.mdx b/src/content/docs/chatbot/variables/time.mdx index 267d496..7ec67ba 100644 --- a/src/content/docs/chatbot/variables/time.mdx +++ b/src/content/docs/chatbot/variables/time.mdx @@ -1,6 +1,8 @@ --- title: "$(time)" description: "Display the current time in any IANA timezone and create countdowns with the $(time) and $(time.until) variables in StreamElements Chatbot." +category: utility-web +summary: "Display the current time in a timezone, or a countdown." syntax: "$(time [timezone])" arguments: optional keywords: diff --git a/src/content/docs/chatbot/variables/title.mdx b/src/content/docs/chatbot/variables/title.mdx index 83431cc..5c566f1 100644 --- a/src/content/docs/chatbot/variables/title.mdx +++ b/src/content/docs/chatbot/variables/title.mdx @@ -1,6 +1,8 @@ --- title: "$(title)" description: "Display a channel's current stream title with the $(title) variable in StreamElements Chatbot." +category: stream-info +summary: "Display a channel's title. Also available as $(status)." syntax: "$(title [username])" arguments: optional keywords: @@ -38,11 +40,10 @@ Incorporating the title into a welcome message: !command add !welcome Welcome to the stream, $(user)! We're currently $(title). Enjoy your stay! ``` -When a viewer types `!welcome` in chat, the bot might respond: - -``` -Welcome to the stream, ViewerName! We're currently Playing Spyro! Come join the adventure! Enjoy your stay! -``` + ## Parameters diff --git a/src/content/docs/chatbot/variables/touser.mdx b/src/content/docs/chatbot/variables/touser.mdx index d2a379c..192efd0 100644 --- a/src/content/docs/chatbot/variables/touser.mdx +++ b/src/content/docs/chatbot/variables/touser.mdx @@ -1,6 +1,8 @@ --- title: "$(touser)" description: "Display the first word after a command, or fall back to the sender's name, with the $(touser) variable in StreamElements Chatbot." +category: user-chat +summary: "Display a user's name or a specified word." syntax: "$(touser)" arguments: none keywords: @@ -41,20 +43,16 @@ The `$(touser)` variable can be used in two ways: ### Mentioning a specific user -Command: ```streamelements !command add !shoutout Hey everyone, check out $(touser)'s channel! They're awesome! ``` -If a moderator types `!shoutout CoolStreamer`, the output will be: -``` -Hey everyone, check out CoolStreamer's channel! They're awesome! -``` - -If they type `!shoutout` with no name, `$(touser)` falls back to the sender's display name: -``` -Hey everyone, check out ModUser's channel! They're awesome! -``` + ## Parameters diff --git a/src/content/docs/chatbot/variables/twitchemotes.mdx b/src/content/docs/chatbot/variables/twitchemotes.mdx index 3227a60..b037222 100644 --- a/src/content/docs/chatbot/variables/twitchemotes.mdx +++ b/src/content/docs/chatbot/variables/twitchemotes.mdx @@ -1,6 +1,8 @@ --- title: "$(twitchemotes)" description: "Display a channel's Twitch subscriber emotes with the $(twitchemotes) variable in StreamElements Chatbot commands." +category: emotes +summary: "Display available Twitch subscriber emotes." syntax: "$(twitchemotes)" arguments: none keywords: @@ -41,10 +43,10 @@ Create a dynamic emote celebration: !command add !celebration Let's celebrate with our awesome emotes! $(twitchemotes) ``` -This command will output something like: -``` -Let's celebrate with our awesome emotes! stylerXD stylerRIP stylerLOL stylerHYPE -``` + ## Related Variables diff --git a/src/content/docs/chatbot/variables/uptime.mdx b/src/content/docs/chatbot/variables/uptime.mdx index 86e595a..0fddef5 100644 --- a/src/content/docs/chatbot/variables/uptime.mdx +++ b/src/content/docs/chatbot/variables/uptime.mdx @@ -1,6 +1,8 @@ --- title: "$(uptime)" description: "Display how long a stream has been live with the $(uptime) variable in StreamElements Chatbot." +category: stream-info +summary: "Display stream uptime for any channel." syntax: "$(uptime [username])" arguments: optional keywords: @@ -45,10 +47,10 @@ Check uptime for a specific streamer: !command add !shroud shroud has been live for $(uptime shroud) ``` -Output: -``` -shroud has been live for 3 hours 45 mins -``` + ## Parameters diff --git a/src/content/docs/chatbot/variables/user.mdx b/src/content/docs/chatbot/variables/user.mdx index 310d2eb..d5cf1d1 100644 --- a/src/content/docs/chatbot/variables/user.mdx +++ b/src/content/docs/chatbot/variables/user.mdx @@ -1,6 +1,8 @@ --- title: "$(user)" description: "Reference for the StreamElements Chatbot $(user) variables: display name, points, watchtime, ranks, and activity data for any user." +category: user-chat +summary: "User information such as name, points, and rank; accepts a username argument." syntax: "$(user [username])" arguments: optional keywords: @@ -74,33 +76,34 @@ Durations are written out in full words: `secs`, `mins`, `hours`, `days`, `month |-------|------| | `100` | Everyone | | `250` | Subscriber | +| `300` | Regular | | `400` | VIP | | `500` | Moderator | -| `1500` | Channel owner | +| `1000` | Super Moderator | +| `1500` | Broadcaster | ## Examples -1. Querying another user by name: +**Querying another user by name** - ```streamelements - $(user ModUser) was last seen $(user.lastseen ModUser) ago and last typed: $(user.lastmessage ModUser) - ``` +```streamelements +$(user ModUser) was last seen $(user.lastseen ModUser) ago and last typed: $(user.lastmessage ModUser) +``` - Output: - ``` - ModUser was last seen 5 mins 30 secs ago and last typed: Hello everyone! - ``` + -2. A points command that lets viewers check anyone's balance: +**A points command that lets viewers check anyone's balance** - ```streamelements - !command add !points $(user) has $(user.points) points and is rank $(user.points_rank) on the leaderboard - ``` +```streamelements +!command add !points $(user) has $(user.points) points and is rank $(user.points_rank) on the leaderboard +``` - Output for `!points ModUser`: - ``` - ModUser has 100 points and is rank 5/283 on the leaderboard - ``` + :::note Lookups only work for users the bot has seen in your channel — unknown users produce empty output. diff --git a/src/content/docs/chatbot/variables/weather.mdx b/src/content/docs/chatbot/variables/weather.mdx index 71f5b42..63a196a 100644 --- a/src/content/docs/chatbot/variables/weather.mdx +++ b/src/content/docs/chatbot/variables/weather.mdx @@ -1,6 +1,8 @@ --- title: "$(weather)" description: "Display current weather conditions for a location with the $(weather) variable in StreamElements Chatbot." +category: utility-web +summary: "Display current weather conditions for a location." syntax: '$(weather "")' arguments: required keywords: @@ -45,27 +47,25 @@ The output follows this fixed format — a 🌞 (day) or 🌜 (night) symbol, te ## Examples -1. Getting weather for New York City: +**Getting weather for New York City** ```streamelements $(weather "New York, NY") ``` -Output: -``` -New York, United States of America: 🌞 27.2 °C (81.0 °F). Feels like 29.5 °C (85.2 °F). Partly cloudy. Wind is blowing from the North at 3.6 km/h (2.2 mp/h). 58% humidity. Visibility: 16 km (9 miles). Air pressure: 1016 hPa. -``` + -2. Getting weather for London, UK: +**Getting weather for London, UK** ```streamelements $(weather "London, UK") ``` -Output: -``` -London, United Kingdom: 🌞 13.1 °C (55.6 °F). Feels like 11.7 °C (53.0 °F). Moderate or heavy rain with thunder. Wind is blowing from the West at 13.0 km/h (8.1 mp/h). 88% humidity. Visibility: 7 km (4 miles). Air pressure: 1009 hPa. -``` + ## Parameters