Skip to content

Kick Bot — Triggers UPDATED ​

Triggers are automated rules you configure from the dashboard (Dashboard → Kick → <channel> → Triggers). They can run when a chat message matches your rule or when stream events occur (stream start, uptime milestones, category changes, or stream end).

When a trigger fires, the bot executes your chosen action — from sending a chat reply or running a custom command to updating stream category/tags, timing out a user, deleting a message, or banning an offender.

Triggers are evaluated in order per channel; the first matching trigger whose permission and cooldown checks pass will fire.

When should it run? ​

When creating or editing a trigger, the When should it run? field selects the event source:

When should it run?Trigger ConditionConfiguration / Match Value
A message is sent in chatWhen a viewer sends a message in chat that matches your patternChoose a match type and enter a match value
Stream reaches an uptimeOnce per live stream session when the stream reaches a specific durationEnter uptime as HH:MM (e.g. 02:00). Minimum: 1 minute, maximum: 7 days (168:00 / 10,080 minutes)
Stream category changesWhen the stream's category changes during a live broadcastEnter the category name (e.g. Just Chatting) or * for any category
Stream startsOnce when the stream goes liveRuns automatically when the stream starts
Stream endsOnce when the stream goes offlineRuns automatically when the stream ends

Stream event triggers

Stream event triggers (Stream reaches an uptime, Stream category changes, Stream starts, Stream ends) run automatically under broadcaster permissions and do not require user cooldowns.

Match types ​

For chat message triggers, the following match types are available:

Match typeMatches when...
Exact matchthe whole message equals your value
Containsthe message contains your value
Word matchthe value appears as a whole standalone word (word-boundary)
Starts withthe message starts with your value
Ends withthe message ends with your value
Commandthe trimmed message starts with ! followed by your command name (e.g., value hello matches !hello and !hello world)
Regexa regular expression pattern matches the message

Case sensitivity & regex ​

  • By default, text matching (Exact match, Contains, Word match, Starts with, Ends with, Command) is case-insensitive. Toggle "Case sensitive" on to make the comparison literal.
  • Regex matching: Regex patterns match exactly as written (case-sensitive by default). Because lowercasing regular expression patterns would corrupt character classes (such as [A-Z]) and escape sequences (such as \S), regex triggers are always evaluated verbatim and the case-sensitive checkbox is locked on. To make a regex pattern case-insensitive, prefix it with (?i) (e.g. (?i)hello).

Permissions & target audience ​

The permission configuration adapts based on the response action selected:

Who can trigger (Standard actions) ​

For general actions (Reply in chat, Send DM, Run command, Increment counter), permission defines who is allowed to fire the trigger:

PermissionWho can trigger
EveryoneAny viewer in chat
SubscriberSubscribers, moderators, and the broadcaster
VIPVIPs, moderators, and the broadcaster
OGUsers with the Kick OG badge, moderators, and the broadcaster
ModeratorModerators and the broadcaster
BroadcasterOnly the channel owner

Stream metadata triggers ​

Triggers that change stream settings (Update Stream Category, Update Stream Tags, Update Stream Title, Tags & Category) are restricted to trusted channel roles: VIP, OG, Moderator, or Broadcaster. Regular viewers and subscribers cannot trigger stream metadata updates.

Apply moderation to (Moderation actions) ​

When configuring a moderation action (Delete message, Timeout user, Ban user), the field changes to "Apply moderation to":

Apply moderation toTarget Audience
EveryoneModerates any viewer who triggers the rule
Non-subs / below required monthsModerates non-subscribers and subscribers below the required tenure

When selecting Non-subs / below required months, you configure:

  • Minimum subscriber months: Defaults to 1 month (configurable up to 1,200 months). Viewers who are not subscribed or whose subscription tenure is below this number of months receive the moderation action.
  • VIP and OG badges do not bypass this moderation check; only channel moderators and the broadcaster are exempt.

Response actions ​

Response actionEffect
Reply in chatPost the response text in chat
Send DMSend the response text as a direct message
Run commandExecute an existing custom command by name (the response text is the command name, with or without !)
Increment counterIncrement the channel's trigger counter
Delete messageDelete the triggering chat message
Timeout userKick chat timeout on the triggering user with a configurable duration
Ban userPermanently ban the user from the channel
Update Stream CategoryChange the channel's stream category
Update Stream TagsChange the channel's stream tags (comma-separated list)
Update Stream Title, Tags & CategoryUpdate stream category, tags, and stream title in one action

Moderation options & notices ​

  • Configurable timeout duration: When choosing Timeout user, you can specify the duration in minutes (1 to 10,080 minutes / up to 7 days; defaults to 1 minute).
  • Moderation warnings in chat: If you provide response text for a Timeout user or Delete message action, the bot will post that response text in chat as a warning/notice to the user when taking action.
  • Moderation actions require the bot to have moderator permissions on your Kick channel.

Stream metadata actions ​

Stream metadata triggers let you update your stream details automatically from chat commands or stream events:

  • Stream Category: Set the new category name (e.g. Just Chatting).
  • Stream Tags: Set comma-separated tags (e.g. English, Chill, Gaming).
  • Dynamic title & default title: When Update Stream Title, Tags & Category is triggered by a Command (e.g. !game <title>), any text typed after the command name is applied as the stream title. If no text is provided, the trigger falls back to your configured Stream Default Title.

Actions by event source ​

  • A message is sent in chat: Reply in chat, Send DM, Run command, Increment counter, Delete message, Timeout user, Ban user, Update Stream Category, Update Stream Tags, Update Stream Title, Tags & Category.
  • Stream reaches an uptime / Stream starts / Stream ends: Reply in chat, Run command, Increment counter, Update Stream Category, Update Stream Tags, Update Stream Title, Tags & Category.
  • Stream category changes: Reply in chat, Increment counter, Update Stream Tags, Update Stream Title, Tags & Category.

Variables ​

Use these placeholders in response text — they are dynamically replaced when the trigger fires:

  • {user} / {user.name} / {user_name} — the triggering viewer's display name
  • {channel} — the channel name
  • {message} — the triggering chat message content

Cooldown ​

Set a per-user cooldown in seconds for chat triggers. Set to 0 to disable. The cooldown key is (trigger, user, channel), allowing multiple viewers to interact with the same trigger independently without blocking one another.

Stream event triggers run once per stream occurrence/session and do not use per-user cooldowns.

Examples ​

Below are practical configuration examples for every event source and response action combination.

1. A message is sent in chat ​

Response ActionMatch Type & ValueAdditional SettingsBehavior / Example Response Text
Reply in chatContains: discord—Response text: Join our community Discord: https://discord.gg/example (Replies in chat when someone mentions Discord)
Send DMCommand: vipinfoWho can trigger: VIPResponse text: Hey {user}! Here is your exclusive VIP perk link: https://example.com/vip
Run commandExact match: !socials—Response text: links (Executes the existing !links command when someone types !socials)
Increment counterCommand: deathWho can trigger: ModeratorIncrements the channel's death counter every time !death is typed
Delete messageRegex: (?i)https?://\S+Apply moderation to: Non-subs / below required months (1 mo)Response text: @{user} Links are reserved for subscribers. (Deletes link and posts chat warning)
Timeout userWord match: spammerTimeout duration: 10 minResponse text: @{user} Inappropriate language is not tolerated. Timed out for 10 minutes.
Ban userRegex: `(?i)(buy followerscheap viewers)`Apply moderation to: Everyone
Update Stream CategoryCommand: chattingWho can trigger: ModeratorStream Category: Just Chatting (Switches category to Just Chatting via !chatting)
Update Stream TagsCommand: settagsWho can trigger: ModeratorStream Tags: English, Chill, Ranked (Updates stream tags via !settags)
Update Stream Title, Tags & CategoryCommand: gameWho can trigger: ModeratorStream Category: Minecraft, Stream Tags: Gaming, Survival, Stream Default Title: Playing Minecraft! (Typing !game Hardcore Day 100 dynamically sets title to "Hardcore Day 100", category to Minecraft, and tags)

2. Stream reaches an uptime ​

Response ActionStream UptimeAdditional SettingsBehavior / Example Response Text
Reply in chat01:00—Response text: We've been live for 1 hour! Remember to hydrate and stretch! 💧
Run command02:00—Response text: discord (Automatically executes !discord custom command at the 2-hour mark)
Increment counter03:00—Increments stream milestone counter when broadcast reaches 3 hours
Update Stream Category02:30Stream Category: Just ChattingAutomatically switches category to Just Chatting for a mid-stream break
Update Stream Tags04:00Stream Tags: Late Night, Endurance, ChillUpdates tags for late-night viewers at the 4-hour mark
Update Stream Title, Tags & Category02:00Category: IRL, Tags: Cooking, Community, Default Title: Cooking segment starting!Updates stream category, tags, and title for a scheduled cooking segment

3. Stream category changes ​

Response ActionNew Stream CategoryAdditional SettingsBehavior / Example Response Text
Reply in chat* (Any category)—Response text: Stream category changed to {message}! Welcome everyone tuning in! 🎉
Increment counter* (Any category)—Increments a "games played" counter each time category changes during the stream
Update Stream TagsValorantStream Tags: FPS, Competitive, RadiantAutomatically applies FPS tags whenever category changes to Valorant
Update Stream Title, Tags & CategoryJust ChattingCategory: Just Chatting, Tags: Chill, Q&A, Default Title: Just Chatting & Community Q&ASyncs title and tags whenever switching to Just Chatting

4. Stream starts ​

Response ActionAdditional SettingsBehavior / Example Response Text
Reply in chat—Response text: Stream is live! Welcome in, sit back and enjoy! 🚀 (Welcomes chat on stream launch)
Run commandResponse text: socialsExecutes !socials command in chat right as stream goes live
Increment counter—Increments total broadcasts counter when going live
Update Stream CategoryStream Category: Just ChattingAutomatically resets category to Just Chatting whenever a stream starts
Update Stream TagsStream Tags: English, Starting Soon, ChillSets pre-show tags automatically at stream start
Update Stream Title, Tags & CategoryCategory: Just Chatting, Tags: Starting Soon, Chill, Default Title: Starting soon! / Grab a drink & say hiResets stream title, category, and tags at stream launch

5. Stream ends ​

Response ActionAdditional SettingsBehavior / Example Response Text
Reply in chat—Response text: Thank you for watching today's stream! Follow our socials and see you next time! ❤️
Run commandResponse text: socialsPosts social links in chat when the stream concludes
Increment counter—Increments completed streams counter
Update Stream CategoryStream Category: Just ChattingResets stream category to Just Chatting when broadcast ends
Update Stream TagsStream Tags: Offline, CommunityUpdates tags to offline status
Update Stream Title, Tags & CategoryCategory: Just Chatting, Tags: Offline, VOD, Default Title: Stream ended! Thanks for hanging out!Sets offline title, tags, and category so offline viewers see updated info

Caching ​

Trigger lists are cached per channel for 30 seconds; dashboard edits invalidate the cache immediately so updates propagate without delay.

Cross-platform ​

A trigger configured for a shared channel applies across all connected platforms (Twitch, Kick, Discord) where supported.

Moderation ​

For turn-key automated moderation presets (including ALL CAPS Detection, Link Blocker with subscriber exemptions, and Timeout Repeat Offenders), see the dedicated Moderation guide.