Automations - Triggers Reference
A trigger is the event that makes a rule run. Each rule has exactly one, chosen under Run this rule when in the rule editor. The dashboard shows the label in the second column; the first column is the internal name used in these docs.
| Trigger | When it fires |
|---|---|
on_message | When a message is sent |
on_member_join | When a member joins |
on_member_leave | When a member leaves |
on_reaction_add | When a reaction is added |
on_reaction_remove | When a reaction is removed |
on_member_update | When a member changes (roles, nickname or boosting) |
on_voice_state | When a voice state changes (join, leave, move, mute) |
on_thread_create | When a thread is created |
on_thread_delete | When a thread is deleted |
on_thread_update | When a thread is updated |
on_thread_archive | When a thread is archived |
on_thread_unarchive | When a thread is unarchived |
on_scheduled_event | On a time schedule (cron-like) |
on_invite_create | When an invite is created |
on_channel_create | When a channel is created |
on_role_update | When a role is updated |
on_custom_status_update | When a member changes their custom status |
on_mod_warn | When a member is warned |
on_mod_timeout | When a member is timed out |
on_mod_kick | When a member is kicked |
on_mod_ban | When a member is banned |
on_mod_unban | When a member is unbanned |
on_mod_untimeout | When a member's timeout ends |
on_mod_note | When a note is added to a member |
on_spam_detected | Any spam detected |
on_message_spam | Message spam detected |
on_mention_spam | Mention spam detected |
on_link_spam | Link spam detected |
on_attachment_spam | Attachment spam detected |
on_emoji_spam | Emoji spam detected |
on_line_spam | Line spam detected |
on_character_spam | Character spam detected |
on_sticker_spam | Sticker spam detected |
on_join_spam | Join raid detected |
on_thread_create_spam | Thread creation spam detected |
on_antiraid_level | When anti-raid level changes |
on_level_up_text | When a member levels up via text XP |
on_level_up_voice | When a member levels up via voice XP |
Notes on triggers
- Messages (
on_message): new messages. Under the trigger, Also check edited messages runs the rule again when a message is edited, so a word, link or invite filter cannot be dodged by posting something harmless and editing it afterwards; leave it off for rules that should act once per message (replies, greetings). Edits never count toward the spam detectors, and only real edits count (not the link previews Discord adds). Other bots' and webhooks' messages reach only rules with Include bots and webhooks on (under Advanced), and the bot's own messages only rules with Include the bot's own events; the spam detectors never count either. - Reactions (
on_reaction_add,on_reaction_remove): fire for a reaction on any message in the server, older messages and messages from before the bot restarted included. The member is who reacted; the message conditions check the message reacted to. Reaction emoji is picks the emojis the rule reacts to: a standard emoji matches in every skin tone, and a server emoji keeps matching after it is renamed. The emoji and how many of it the message now has are in the Reaction variables. - Moderation (
on_mod_*): fire for every moderation case of that type, whether it came from a slash command, an action taken directly in Discord, an infraction threshold or another automation rule. A timeout, kick or ban the bot carries out fires the trigger once it went through (a refused one fires nothing), so a rule that bans on a kick never gets ahead of the kick. They need the Moderation module. Under the trigger, Staff actions and Automatic actions (both on by default) choose which of them the rule runs for: automatic ones are those taken by automation rules, infraction thresholds, anti-spam and bots, and a timeout that ran out.- When a member's timeout ends (
on_mod_untimeout) fires once for every end of a timeout:/untimeout, the timeout removed in Discord, or the timeout simply running out (noticed within about two minutes, since Discord announces nothing then). For a member who left while timed out, it still runs when the timeout ends, without the member-based actions. It fires after the Moderation module has given back the roles of Remove these roles while timed out (see Taking Action). - When a note is added to a member (
on_mod_note) fires for every/note.
- When a member's timeout ends (
- Spam (
on_*_spam,on_spam_detected): fire when a member (or, for joins and new threads, the server) passes a spam threshold: the Moderation module's Anti-Spam detector's, or the rule's own. See Spam triggers below. Join raid detected hands its rules every member who joined in the burst, for the*_join_spam_membersactions, and Thread creation spam detected the threads and their creators, for the*_thread_spam_creatorsand*_thread_spam_threadsactions. - Anti-raid (
on_antiraid_level): runs after every level change, whoever made it. Use the conditions Anti-raid level is or Anti-raid level is at least to react to particular levels. - Level-ups (
on_level_up_text,on_level_up_voice): fire when a member reaches a new level in the Levels module. - Custom status (
on_custom_status_update): fires when a member sets or changes their custom status, also when they come online with one, but not when they clear it. It needs the presences intent. Pair it with Custom status contains text, for example to catch invite links or scam offers in statuses. - Threads (
on_thread_create,on_thread_delete,on_thread_update,on_thread_archive,on_thread_unarchive): the member is the thread's creator, so member conditions, variables and actions (roles, timeout, kick, ban, warn, DM) apply to them; a creator who left is only a user (a ban still works). When a thread is archived and When a thread is unarchived fire only when that changes; When a thread is updated fires on every change of a thread the bot has cached (a rename, a lock, slowmode, tags, archiving). Threads the bot makes itself (proof and form threads) run rules only with Include the bot's own events on. - The bot's own events: no rule runs for something the bot itself did (its reactions, its role or nickname changes, its threads and invites) unless the rule has Include the bot's own events on under Advanced.
Spam triggers
The spam triggers are Any spam detected, one per Anti-Spam detector (Message, Mention, Link, Attachment, Emoji, Line, Character and Sticker spam detected) and the two server-wide ones, Join raid detected and Thread creation spam detected.
Thresholds
Under the trigger in the rule editor, a per-detector or server-wide spam rule uses either:
- Anti-Spam settings (the default): the detector's amount and window on Moderation > Anti-Spam, with its scope overrides and Count per channel. The rule runs only while that detector (and Generic Anti-Spam Enabled) is on.
- Own threshold: its own Amount and Within (seconds) (1 second to 1 hour) and, for the per-member triggers, Count per channel. The rule then runs whatever the Anti-Spam settings, even with Anti-Spam off, and its conditions decide where it applies.
Any spam detected always uses the detectors: it runs when any enabled detector trips, and matches the detectors that did.
After a rule fires
A per-member spam rule remembers the messages it acted on and does not count them again, so it needs a new burst from that member to fire again. Each rule keeps its own count: a stricter rule of the same kind still counts every message, so rules can escalate, for example:
| Rule | Trigger | Own threshold | Actions |
|---|---|---|---|
| Slow down | Message spam detected | 5 in 5 seconds | Delete contributing spam messages |
| Stop the flood | Message spam detected | 10 in 10 seconds | Timeout the member |
For Keep cleaning for (seconds) after it fired (10 by default, 0 to 60), the rule does not fire again for that member (in that channel, when it counts per channel). If the rule has Delete contributing spam messages, each further message of the same kind from the member meanwhile is deleted and added to the rule's archive, without running the actions or logging again. Other rules still see those messages.
The server-wide triggers fire on every join or new thread while the count stays over the threshold, so a rule acts on the latest arrivals as well.
Archives and logs
When a per-member spam rule fires, the messages behind it are saved in an archive (a web page kept for 30 days), which its messages can link with {spam.archive_url}; see Variables. Messages it deletes are reported in one Message Spam or Spam Detected mod log entry with that archive, not one by one; see Anti-Spam.
Rule order across triggers
A message runs the When a message is sent rules first, then the per-detector spam rules in detector order (message, mention, link, attachment, emoji, line, character, sticker), then Any spam detected. A rule with Allow further rules off that ran successfully ends this for the message: after a When a message is sent rule, no spam rule runs for it (the message still counts toward the detectors), and after a spam rule, no later spam trigger does.
Scheduled rules
On a time schedule (cron-like) runs a rule by the clock instead of on an event. Pick how the schedule is written:
| Mode | Runs |
|---|---|
| Interval | Every N minutes, hours or days |
| Day of week | At a time of day on the days you tick |
| On a schedule | Every N days, weeks or months, on a chosen day, at a time |
| Cron | By a cron expression, for example 0 12 * * * for every day at 12:00 |
Times use the server's primary timezone. The bot checks schedules once a minute and runs a due rule once. A scheduled rule has no member, message or channel behind it, so its actions need their channel set explicitly, and member-based actions and variables are not available.
What each trigger allows
The rule editor only offers the conditions and actions that work with the chosen trigger:
| Trigger | Conditions | Actions |
|---|---|---|
on_message | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_is_system, message_author_is_webhook, message_kind, message_is, message_is_edit, first_message, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, user_joined_within, user_account_age_lt, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, send_message, reply_message, pin_message, add_reaction, remove_reactions, create_thread, publish_message, assign_role, remove_role, set_nickname, timeout_member, kick_member, ban_member, warn_member, dm_user, set_slowmode, lock_channel, unlock_channel, change_perms, archive_thread, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level |
on_member_join | user_is, user_is_bot, user_is_staff, user_is_admin, member_has_permission, user_account_age_lt, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, joined_with_invite, rejoined, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, dm_user, assign_role, remove_role, set_nickname, timeout_member, kick_member, ban_member, warn_member, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level |
on_member_leave | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, log_to_channel, send_webhook, update_activity_score, wait, ban_member |
on_reaction_add | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_is_system, message_author_is_webhook, message_kind, message_is, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, reaction_emoji, reaction_count_gte, message_author_has_role, message_author_is_bot, reacted_to_own_message, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, send_message, reply_message, remove_reactions, assign_role, remove_role, update_activity_score, dm_user, log_to_channel, send_webhook, wait, archive_thread |
on_reaction_remove | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_is_system, message_author_is_webhook, message_kind, message_is, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, reaction_emoji, reaction_count_gte, message_author_has_role, message_author_is_bot, reacted_to_own_message, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, assign_role, remove_role, update_activity_score, dm_user, log_to_channel, send_webhook, wait |
on_member_update | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, role_added, role_removed, member_change_is, boost_changed, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, dm_user, assign_role, remove_role, update_activity_score, set_nickname, timeout_member, kick_member, ban_member, warn_member, log_to_channel, send_webhook, wait |
on_voice_state | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, voice_channel_is, voice_action, came_from_voice_channel, voice_channel_members, voice_session_at_least, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, dm_user, assign_role, remove_role, update_activity_score, timeout_member, kick_member, log_to_channel, send_webhook, wait |
on_thread_create | in_category, channel_type, thread_archived, thread_locked, thread_is_private, thread_in_channel, thread_name_contains, forum_post_tags, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, archive_thread, lock_channel, unlock_channel, log_to_channel, send_webhook, wait, dm_user, assign_role, remove_role, timeout_member, kick_member, ban_member, warn_member, add_infraction, update_activity_score |
on_thread_delete | in_category, thread_archived, thread_locked, thread_is_private, thread_in_channel, thread_name_contains, forum_post_tags, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, log_to_channel, send_webhook, wait, dm_user, assign_role, remove_role, timeout_member, kick_member, ban_member, warn_member, add_infraction, update_activity_score |
on_thread_update | in_category, thread_archived, thread_locked, thread_is_private, thread_in_channel, thread_name_contains, forum_post_tags, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, archive_thread, log_to_channel, send_webhook, wait, dm_user, assign_role, remove_role, timeout_member, kick_member, ban_member, warn_member, add_infraction, update_activity_score |
on_thread_archive | in_category, thread_locked, thread_is_private, thread_in_channel, thread_name_contains, forum_post_tags, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, log_to_channel, send_webhook, wait, dm_user, assign_role, remove_role, timeout_member, kick_member, ban_member, warn_member, add_infraction, update_activity_score |
on_thread_unarchive | in_category, thread_locked, thread_is_private, thread_in_channel, thread_name_contains, forum_post_tags, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, archive_thread, log_to_channel, send_webhook, wait, dm_user, assign_role, remove_role, timeout_member, kick_member, ban_member, warn_member, add_infraction, update_activity_score |
on_scheduled_event | antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, log_to_channel, send_webhook, wait, set_antiraid_level, update_activity_rule_decay, change_template_pack, change_perms |
on_invite_create | in_channel, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, invite_is_unlimited, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, log_to_channel, send_webhook, wait |
on_channel_create | in_category, channel_type, channel_name_contains, channel_name_matches, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, set_slowmode, lock_channel, unlock_channel, change_perms, log_to_channel, send_webhook, wait |
on_role_update | antiraid_level_is, antiraid_level_gte, role_is, role_gained_permissions, role_setting_changed, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, log_to_channel, send_webhook, wait |
on_custom_status_update | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, dm_user, assign_role, remove_role, update_activity_score, set_nickname, timeout_member, kick_member, ban_member, warn_member, log_to_channel, send_webhook, wait, add_infraction |
on_mod_warn | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, moderator_is, reason_contains, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, dm_user, assign_role, remove_role, timeout_member, kick_member, ban_member, log_to_channel, send_webhook, wait, add_infraction, update_activity_score |
on_mod_timeout | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, moderator_is, reason_contains, duration_at_least, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, dm_user, assign_role, remove_role, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, ban_member |
on_mod_kick | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, moderator_is, reason_contains, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, dm_user, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, ban_member |
on_mod_ban | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, moderator_is, reason_contains, duration_at_least, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, log_to_channel, send_webhook, wait, add_infraction, update_activity_score |
on_mod_unban | user_is, default_avatar, likely_spammer, server_tag, infractions, moderator_is, reason_contains, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, log_to_channel, send_webhook, wait |
on_mod_untimeout | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, moderator_is, reason_contains, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, dm_user, assign_role, remove_role, log_to_channel, send_webhook, wait, update_activity_score |
on_mod_note | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, moderator_is, reason_contains, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, dm_user, assign_role, remove_role, timeout_member, kick_member, ban_member, log_to_channel, send_webhook, wait, add_infraction, update_activity_score |
on_spam_detected | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_is_system, message_author_is_webhook, message_kind, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, delete_spam_messages, send_message, timeout_member, kick_member, ban_member, warn_member, dm_user, assign_role, remove_role, set_slowmode, lock_channel, log_to_channel, send_webhook, wait, add_infraction, set_antiraid_level, archive_thread, change_perms |
on_message_spam | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_is_system, message_author_is_webhook, message_kind, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, delete_spam_messages, send_message, timeout_member, kick_member, ban_member, warn_member, dm_user, assign_role, remove_role, set_slowmode, lock_channel, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level, archive_thread, change_perms |
on_mention_spam | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_is_system, message_author_is_webhook, message_kind, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, delete_spam_messages, send_message, timeout_member, kick_member, ban_member, warn_member, dm_user, assign_role, remove_role, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level, archive_thread, change_perms |
on_link_spam | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_is_system, message_author_is_webhook, message_kind, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, delete_spam_messages, send_message, timeout_member, kick_member, ban_member, warn_member, dm_user, assign_role, remove_role, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level, archive_thread, change_perms |
on_attachment_spam | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_is_system, message_author_is_webhook, message_kind, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, delete_spam_messages, send_message, timeout_member, kick_member, ban_member, warn_member, dm_user, assign_role, remove_role, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level, archive_thread, change_perms |
on_emoji_spam | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_is_system, message_author_is_webhook, message_kind, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, delete_spam_messages, send_message, timeout_member, kick_member, ban_member, warn_member, dm_user, assign_role, remove_role, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level, archive_thread, change_perms |
on_line_spam | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_author_is_webhook, message_kind, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, delete_spam_messages, send_message, timeout_member, kick_member, ban_member, warn_member, dm_user, assign_role, remove_role, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level, archive_thread, change_perms |
on_character_spam | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_author_is_webhook, message_kind, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, delete_spam_messages, send_message, timeout_member, kick_member, ban_member, warn_member, dm_user, assign_role, remove_role, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level, archive_thread, change_perms |
on_sticker_spam | in_channel, in_category, channel_type, is_thread, thread_archived, thread_locked, content_contains, content_contains_word, content_matches, content_starts_with, content_ends_with, content_length_gt, content_length_lt, has_attachments, attachment_type, attachment_mime_type, attachments_count_gte, attachment_larger_than, has_embeds, has_mentions, mention_count_gte, mentions_any, mentions_everyone, replies_to, has_links, link_matches_domain, link_filter, link_is_malicious, has_masked_link, has_invites, invite_filter, has_stickers, is_reply, message_author_is_webhook, message_kind, mostly_caps, emoji_count_gte, line_count_gte, has_formatting, external_emojis, weird_text, user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, member_level, infractions, birthday_today, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | delete_message, delete_spam_messages, send_message, timeout_member, kick_member, ban_member, warn_member, dm_user, assign_role, remove_role, log_to_channel, send_webhook, wait, add_infraction, update_activity_score, set_antiraid_level, archive_thread, change_perms |
on_join_spam | antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, assign_role_join_spam_members, remove_role_join_spam_members, timeout_join_spam_members, kick_join_spam_members, ban_join_spam_members, lock_channel, log_to_channel, send_webhook, wait, set_antiraid_level |
on_thread_create_spam | in_category, thread_is_private, thread_in_channel, thread_name_contains, forum_post_tags, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, assign_role_thread_spam_creators, remove_role_thread_spam_creators, timeout_thread_spam_creators, kick_thread_spam_creators, ban_thread_spam_creators, archive_thread_spam_threads, lock_thread_spam_threads, delete_thread_spam_threads, log_to_channel, send_webhook, wait, set_antiraid_level |
on_antiraid_level | reason_contains, antiraid_level_is, antiraid_level_gte, antiraid_direction, antiraid_changed_by, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | send_message, lock_channel, unlock_channel, set_slowmode, change_perms, log_to_channel, send_webhook, wait, update_activity_rule_decay |
on_level_up_text | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, level_reached, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | none |
on_level_up_voice | user_is, user_has_role, user_has_all_roles, user_has_no_roles, user_is_bot, user_is_staff, user_is_admin, member_has_permission, default_avatar, likely_spammer, member_pending, member_is_premium_subscriber, boosting_for, member_has_nickname, member_name_contains, member_name_matches, member_status_contains, member_status_is, activity_contains, in_voice_channel, server_tag, activity_score_gte, activity_score_lt, member_level, infractions, birthday_today, level_reached, antiraid_level_is, antiraid_level_gte, time_between, weekday_is, date_between, random_chance, member_count, boost_level_is | none |