These are only a few examples of rules. If you want to share your own rules and show what can be achieved with the bot, head over to the “Share your Rules” discussion board and create a new discussion with the YAML definition and a description what your rule does.

All examples are shared as YAML snippets. When editing config.yaml directly, add the shown entries below the rules: section. When using the web-editor, use the field names from the snippets to find the corresponding inputs.

Examples#

Announce a new poll started / summarize an ended poll
These rules announce Twitch polls in chat when they start and summarize the choices with vote counts when completed polls end. Non-completed poll-end events are ignored.
Auto-Shoutout on Raid
This example combines manual, native, and raid-triggered shoutouts. Moderators can trigger a shoutout with !so, native Twitch shoutouts are mirrored into chat with a text response, and incoming raids automatically get a short welcome message followed by a delayed shoutout.
Chat-addable generic text-respond-commands
These rules let moderators create, use, and delete simple text commands from chat. The command text is stored in variables keyed by channel and command name.
Deathcounter: Query, Set, Increase and Decrease in one single rule
This rule handles querying, setting, incrementing, and decrementing a game-specific death counter through one !dc command. Permission checks restrict setting and lowering the counter to trusted chat roles.
Display Stream-Schedule in Chat
This command lists the next three scheduled streams for the current channel. Adjust the timezone in dateInZone if your schedule should be displayed for a different region.
Game death counter with dynamic name
This command increments a death counter named after the channel’s current game and reports the updated count. It is limited to broadcaster and moderator use in #mychannel.
Hype Train chat alert
These rules announce the start, progress, and end of a Hype Train in chat. A variable tracks whether a Hype Train is active so progress messages are skipped after it has ended.
Notify Discord when stream is live
This rule sends a Discord webhook message when the channel goes live. Replace the role mention and hook_url with the Discord role and webhook for your server.
Post follow date for an user
This command replies with the date the current chatter followed the channel. It uses the followDate template helper and formats the result as YYYY-MM-DD.
Respond to a message after random delay
This rule responds to greetings after a randomized delay, which makes the reply feel less immediate and automated. The configured delay waits 30 seconds plus up to 10 seconds of jitter.
Send a notification on successful permit
This rule confirms a successful permit event in chat and tells the target user how long the permit is valid. It relies on the permit event fields .to and .permitTimeout.
Shoutout command with game query
This moderator command posts a shoutout for another Twitch channel and includes the last known game for that channel. The target user is taken from the first command argument.
Simple 8ball without any means of remembering the answer
This command replies to !8ball with one random Magic 8 Ball style answer. It does not store any state, so repeated questions are answered independently.
Viewer-Interaction: Let a viewer challenge another to a duel
This example lets viewers challenge each other to a duel with !duel, then accept or deny the challenge from chat. A scheduled custom event clears unanswered challenges after one minute.
VIP of the Month
This example automates a channel-point reward that grants VIP status for one month and later removes it again. To get the .reward_id you can use the Debug-Overlay or just use the .reward_title variable and check against the name of the reward.