Skip to main content

Overview

Automod is a dual-layer content moderation system that combines custom bot-side filtering with Discord’s native AutoMod rules. Bot-side modules handle spam, caps, emoji abuse, duplicate messages, link filtering, mass mentions, anti-everyone pings, and long message detection with configurable thresholds and punishments. Native rules offload invite blocking, slur detection, and word filtering directly to Discord’s infrastructure. Both layers are managed from a single control panel and share a unified exemption system, giving you granular control over what gets filtered and who is exempt.

How It Works

Bot-side modules monitor every message in real time. When a message violates an enabled rule, the configured punishment is applied immediately. Native modules create and manage Discord AutoMod rules on your behalf, which are enforced by Discord itself regardless of bot uptime. Both systems share the same exemption model — roles and channels exempted from a module are respected whether the module is bot-side or native.
Discord limits servers to 6 keyword AutoMod rules. Native modules like Word Filter, Invite Links, and Slurs each consume one slot. If you hit the limit, delete an existing rule in Server Settings → Safety Setup to make room.

Access Control

  • Manage Server — Required to use all Automod commands

Commands

Opens the Automod interactive control panel. Toggle all bot-side and native modules from one interface, set the log channel, and configure punishments.
,automod
Aliases: am, automoderation
Permissions: Manage Server
Detects and punishes message spam. Threshold is the number of messages, interval is the time window in seconds.
,automod spam enable/disable
,automod spam [#channel] <count> <interval>
Permissions: Manage Server
Blocks messages exceeding a set percentage of uppercase characters.
,automod caps enable/disable
,automod caps [#channel] <percent>
Permissions: Manage Server
Blocks messages containing more than the configured number of emojis.
,automod emoji enable/disable
,automod emoji [#channel] <count>
Permissions: Manage Server
Blocks users from sending the same message repeatedly within a short window.
,automod duplicate enable/disable
,automod duplicate [#channel] <count>
Permissions: Manage Server
Blocks messages that mention more than the configured number of users or roles at once.
,automod mentions enable/disable
,automod mentions [#channel] <count>
Permissions: Manage Server
Deletes any message that pings @everyone or @here. The default punishment is delete+strip. Can be scoped to a specific channel.
,automod antieveryone enable/disable
,automod antieveryone [#channel]
Permissions: Manage Server
Blocks messages that contain too many line breaks or exceed a character length threshold. Useful for preventing wall-of-text spam.
,automod messagelines enable/disable
,automod messagelines <lines> <chars>
Permissions: Manage Server
Manages the blocked word list using Discord’s native AutoMod keyword rule. Automatically catches common bypasses like leet speak, spaced letters, and repeated characters. Supports adding multiple words at once using comma separation.
Word filter changes sync directly to Discord’s AutoMod rule in real time. The rule is created automatically on first use.
,automod word add <word1, word2, word3>
,automod word remove <word>
,automod word list [page]
,automod word clear
Permissions: Manage Server
Creates a Discord native AutoMod rule that blocks invite links. Use enable and disable to toggle the rule on and off.
,automod invites enable/disable
Permissions: Manage Server
Creates a Discord native AutoMod rule that blocks slurs and hate speech. Use enable and disable to toggle the rule on and off.
,automod slurs enable/disable
Permissions: Manage Server
Sets the punishment for a specific module. Bot-side modules support combining punishments with +. Native modules support a single additional action on top of the message block.Valid punishments: delete, mute, kick, ban, strip
,automod punishment <module> <punishment[+punishment]>
Permissions: Manage Server
Sets the mute duration for modules that use mute as their punishment. Accepts seconds (s), minutes (m), or hours (h).
,automod duration <module> <30s/5m/1h>
Permissions: Manage Server
Exempts a role or channel from a specific module. Works for both bot-side and native modules. Run with remove to undo.
,automod <module> exempt [@role/#channel]
,automod <module> exempt remove [@role/#channel]
,automod exempt list
Permissions: Manage Server
Sets the channel where all Automod actions are logged.
,automod setlog #channel
Permissions: Manage Server
Shows the current configuration of all modules including enabled state, thresholds, punishments, and active channels.
,automod status
Permissions: Manage Server

Module Overview

Bot-Side Modules

These run directly through the bot and support full threshold, punishment, channel, and exemption configuration.

Spam Detection

Detects users sending messages too rapidly. Configurable message count and time window

Caps Spam

Blocks messages exceeding a configured percentage of uppercase characters

Emoji Spam

Blocks messages containing more emojis than the configured limit

Duplicate Messages

Prevents users from repeatedly sending identical messages

Link Filter

Blocks all external links. Server’s own invite links are always allowed. Supports a per-domain whitelist

Mass Mentions

Blocks messages that exceed the configured number of user or role mentions

Anti Everyone

Deletes messages that ping @everyone or @here. Default punishment is delete+strip

Message Lines

Blocks messages exceeding a configured number of line breaks or total character length

Discord Native Modules

These create and manage Discord AutoMod rules directly. They consume Discord’s native rule slots and are enforced by Discord’s infrastructure.

Word Filter

Custom keyword list enforced by Discord’s native AutoMod. Syncs in real time via automod word. Supports bulk-adding words with comma separation

Invite Links

Native keyword rule blocking discord.gg, discord.com/invite, dsc.gg, and invite.gg links

Slurs / Hate Speech

Native keyword rule blocking a predefined list of slurs and hate speech

Punishments

PunishmentBot-SideNative
delete✅ Message deleted✅ Always applies (native always blocks)
mute✅ Timeout applied✅ Timeout applied
kick✅ User kicked✅ User kicked
ban✅ User banned✅ User banned
strip✅ All roles removed❌ Not supported
Bot-side modules support combining multiple punishments with + (e.g. delete+mute).
Native rules always block the triggering message. The punishment you configure is applied in addition to the block — you cannot configure a native rule to only punish without blocking.

Threshold Configuration

The following bot-side modules support threshold configuration:
ModuleThreshold MeaningHas Interval
SpamMessages sent within the interval✅ Yes
CapsPercentage of uppercase characters❌ No
EmojiNumber of emojis in a message❌ No
DuplicateNumber of identical consecutive messages❌ No
MentionsNumber of user/role mentions in a message❌ No
Message LinesLine count and character count (two thresholds)❌ No

Exemptions

Any role or channel can be exempted from any module — both bot-side and native. Exemptions for native modules are synced directly to the Discord AutoMod rule in real time.
,automod <module> exempt @Role
,automod <module> exempt #channel
,automod <module> exempt remove @Role
,automod exempt list
Use automod exempt list to get a full overview of all exemptions across every module in one place.

Control Panel Interface

Running ,automod opens an interactive control panel built with Discord Components V2. The interface includes:
  • Real-time status display showing all bot-side and native modules with their enabled state, thresholds, and punishments
  • Individual toggle buttons for every module
  • Global controls:
    • Enable Automod
    • Disable Automod
    • Set Log Channel
    • Set Punishment (applies to all bot-side modules at once)
Only the user who ran the command can interact with the control panel. The panel becomes inactive after 2 minutes but remains visible.

Logging Integration

Every Automod action is logged to your configured log channel, including the module that triggered it, the offending message content, the user, and the punishment applied.
Set your log channel with ,automod setlog #channel. Without a log channel configured, actions are still enforced but not recorded.

Best Practices

  • Enable Spam Detection and Duplicate Messages first — these catch the most common low-effort disruption.
  • Use Link Filter in channels where you don’t want self-promotion, combined with a channel exemption for a dedicated #links channel. Use the whitelist to allow trusted domains like YouTube or Twitch without disabling the filter.
  • Use Anti Everyone to prevent permission-less users from abusing mention-all pings, especially in large servers.
  • Use Message Lines to curb wall-of-text spam without blocking long messages outright — tune the character threshold to match your community’s norms.
  • Set punishments to delete for minor violations (caps, emoji) and mute for more disruptive ones (spam, mentions).
  • Exempt your moderation roles from all modules so staff actions aren’t caught by the filter.
  • Use automod word for server-specific terms. For general slurs, use automod slurs instead to avoid consuming extra keyword rule slots.
  • Regularly audit exemptions with ,automod exempt list to ensure no unintended bypasses exist.
Native modules consume Discord’s 6-rule keyword slot limit. Plan your native rule usage carefully — Word Filter, Invite Links, and Slurs each use one slot.