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.