Auto Moderation

35 filters over what people say, plus honeypots, auto purge, a slowmode manager and a local AI classifier. Everything that acts before a moderator has to.

On this page

Auto Moderation is what somebody says, and the name they change it to. It never punishes anybody itself: a warn, mute, kick or ban from a filter runs through the same engine a moderator's command does, so it files a real numbered case in the same history. Arrivals are Security's job, not this system's.

Auto Moderation

Thirty-five filters, honeypots, a slowmode manager and AI moderation, acting before a moderator has to.

Enabled
RulesPunishmentsSlowmodeAuto purgeHoneypotsAI moderationLoggingCommands

Caught today

47

Messages a rule acted on since midnight UTC.

Caught in total

12,480

Since Auto Moderation was first switched on.

Violations in 24 hours

9

What the escalation ladders are counting.

RulesChecked in order. The first one that fires and asks to stop is the last one that runs on that message, so the harsh rules belong at the top.
6 / 10Add a rule

Scam & phishing linksActiveScam & phishing links214 hits

scams, grabbers → Delete the message · Ban them · Alert the staff

Advertising other serversActiveDiscord invites88 hits

other servers only → Delete the message · Warn them · Reply in the channel

Message spamActiveMessage spam131 hits

5 messages in 5s → Delete their recent messages (20 seconds) · Mute them (10 minutes)

Mass mentionsActiveMass mentions17 hits

over 6 mentions → Delete the message · Mute them (1 hour) · Alert the staff

Slurs & hate speechActiveBanned words402 hits

1 list(s), 0 extra word(s) → Delete the message · Warn them · Alert the staff

Excessive capsPausedExcessive caps59 hits

70% caps, 10+ characters → Delete the message · Reply in the channel

Try a messageRuns the same matching the bot runs, not a look-alike of it, so what this says is what would happen. Nothing is deleted and nobody is punished.
Type a message the way a member would send it
Test it

Setting it up

  1. Switch it on

    Essentials → Auto Moderation.

  2. Add two or three rules, not thirty

    Start from a ready-made rule (there are 18, five of them marked Recommended) or from the filter picker. Invite links, mass mentions and message spam cover most of what a small server sees. A server holds up to ten rules, and picking one opens it as a draft: nothing runs until you publish it.

  3. Check the exemptions

    The Punishments tab leads with them. Bots, Administrators and Moderation's moderator roles are exempt by default; add the staff channel, the bot-command channel and anyone else who needs a pass. A staff channel tripping a rule meant for #general is the fastest way to lose faith in a filter.

  4. Test it before you trust it

    Try a message on the Rules tab runs the same matching the live bot runs, and deletes and punishes nothing. If a message passes there, it passes in your server. Rules that count over time, or judge the member rather than the message, cannot be tested from one message, and it says so.

The eight tabs

TabWhat lives there
RulesYour rules in priority order, Try a message, word lists, Discord's own AutoMod, and the thread-notice sweep
PunishmentsServer-wide exemptions, the shared violation ladder, the notice members see, and where rules report
SlowmodeThe Slowmode Manager
Auto purgeStanding keep this channel clean rules
HoneypotsTrap channels
AI moderationThe local classifier
LoggingThe Auto Moderation logger
Commands/automod and its operations

Filters

35 filters in 7 groups. A rule is one filter, its settings, its scope and its actions, so "no links, except in #media" is one rule rather than a global switch plus an exception list.

Words & phrasesWhat may and may not be said.
Banned wordsBlock a list of words and phrases.
Pattern matchBlock messages matching a regular expression.
Allowed words onlyBlock anything containing a word that isn't on the list.
FormattingShouting, walls of text, unreadable characters.
Excessive capsBlock SHOUTING.
Repeated textBlock aaaaaaaaaa and spam spam spam.
Zalgo textBlock corrupted text.
Very long messagesBlock walls of text.
Chat-clearing newlinesBlock messages that push the channel off screen.
Spoiler spamBlock excessive spoiler tags.
Too many emojiBlock emoji walls in one message.
Too many stickersLimit stickers in a message.
Too many attachmentsLimit files in one message.
MentionsPings, mass mentions and protected roles.
Mass mentionsBlock a message that pings a crowd.
@everyone attemptsBlock @everyone and @here from people who shouldn't.
Protected role mentionsStop specific roles being pinged.
Mention spamBlock many mentions across several messages.
Links & filesInvites, scams, masked links and attachments.
Discord invitesBlock invite links to other servers.
LinksBlock links: all of them, a denylist, or everything outside an allowlist.
Scam & phishing linksBlock known token stealers, fake Nitro and IP grabbers.
Masked linksBlock links hidden behind different text.
Unsafe attachmentsBlock file types nobody should be sharing.
Spam & floodingAnything measured over time rather than per message.
Duplicate messagesBlock the same message sent over and over.
Message spamBlock a member sending too many messages too fast.
Channel floodReact when a whole channel speeds up at once.
Attachment spamBlock a flood of files.
Link spamBlock a flood of links.
Emoji floodBlock emoji spam across several messages.
Reaction spamBlock somebody reacting to everything at once.
Cross-channel spamBlock the same person posting in many channels at once.
Violation thresholdAct when somebody trips other rules repeatedly.
MembersAccount age, names and avatars.
New accountsAct on messages from accounts made recently.
Username & nickname filterCatch banned words in names people change to.
No profile pictureAct on accounts still using the default avatar.
Channel rulesWhat a particular channel is for.
Media-only channelRequire every message to carry an image or a link.
Text-only channelRefuse attachments, embeds or stickers in a channel.

Rules are checked top to bottom. Stop after this rule fires is on by default, so the first rule that fires is the last one that runs on that message: put the harsh rules at the top. Check edited messages too is on by default as well, so a clean message edited into a rule break is caught.

Evasion is folded away before matching

With Catch disguised spellings on (the default), fancy fonts, lookalike letters, leetspeak and invisible characters are folded away and spaced-out letters are tolerated, so 𝓯𝓾𝓬𝓴, f u c k and a word with a zero-width space inside it all hit the same word list.

Whole-word matching means whole words

Whole words only is on by default. It will not flag raccoon for containing a slur, and will not flag Scunthorpe. That is the point, but it means a whole-word list genuinely will not catch a word glued to another one. Write * into an entry where you want that.

#automod-log
ArcloBOTToday at 12:00 PM

Member warned

warned loud.tim

Rule

Discord invites

Matched

discord.gg/n3bula

Channel

#general

Case

#1283

ID

1301848870431326270

loud.tim · Auto ModerationToday at 12:00 PM

Rule triggered

loud.tim tripped a rule

Rule

Discord invites

Matched

discord.gg/n3bula

Channel

#general

Cases

#1283

What it said

come hang out in my server discord.gg/n3bula

ID

1301848870431326270

loud.tim · Auto ModerationToday at 12:00 PM

A filter hit, logged. Its warning opened a real case, so it is in that member's history too.

Scope and exemptions

Per rule
Where it applies names the channels and categories a rule covers or skips, the roles it ignores or is limited to, and optional account-age and time-in-server limits. A thread is judged by its parent channel. Exemptions on a rule are about that rule.
Server-wide
The Punishments tab's Who and what is exempt card applies to every rule: roles, channels, categories and specific members (the same list /automod bypass edits).
Bots
Bots are exempt server-wide by default, and each rule's Apply to bots is off by default. A rule can opt bots back in, which is rarely what you want: a bot posting links is usually the bot doing its job.
Administrators and moderators
Administrators are exempt and Moderators are exempt are on by default; the moderators are Moderation's moderator roles. Moderation's immune roles do not exempt anybody here.

What a hit does

20 action types, up to eight per rule, run in the order you list them: delete the message or the member's recent messages, reply in the channel, DM the member, alert staff, warn, mute, time out, kick, ban, softban, give or take a role, replace every role with one (a quarantine, done in one call so there is never a moment with no roles), react to the message, change their nickname, slow the channel down, lock it, or add to or reset a named violation counter. Staff alerts go out last, so they can name the cases the rest opened.

  • Violation threshold is a filter of its own: “N violations in M minutes → do this”, so individual rules can be gentle and the pattern can be punished.
  • The Punishments tab's shared ladder does the same across every rule: Enable the shared ladder (off by default), up to five rungs, counting violations until Violations stop counting after (60 minutes by default).
  • Punishments go through Moderation's engine, so they file cases, send that punishment's DM and count toward Moderation's warning thresholds. A hit that only deletes leaves a log line rather than a case, unless File a case for every hit is on (off by default).

Word lists

A list is inert until a rule points at it. Make the list, write a rule, tick the list in that rule, and each list tells you which rules currently use it, or that none do. A list holds words and phrases, domains, patterns or file types, up to 2,000 entries, and a server keeps up to five, Arclo's own included. They sit on the Rules tab, under the rules that use them.

  • Arclo ships seven built-in lists: Common profanity (English), Slurs & hate speech, Explicit sexual language, Scam & phishing domains, IP grabbers & loggers, URL shorteners and Executable file types. They are editable per server as a difference: click a word to strike it out for you only, and add your own on top.
  • That way the shared list keeps updating itself. A scam domain added upstream still protects your server, around whatever you decided about the rest.
  • Lists can be sorted A to Z, downloaded, and replaced from a file (a JSON array, or newline- or comma-separated text). Each list has its own Whole words only and Catch disguised spellings switches, and decides whether * works as a wildcard.

Honeypots

A trap channel nobody should ever post in. Anything posted there is, by construction, a bot or somebody who does not read. No heuristic, no false positives, and the cheapest true signal in the whole system.

  • Arm channels you already have, or press Create one for me. A server can run up to five.
  • A designed pinned warning is the feature, not decoration: a trap whose channel does not explain itself catches your own curious members. The trap does not arm until the warning is pinned. Switching Post a pinned warning off arms it unmarked, which is a deliberate choice rather than a shortcut.
  • Each trap has its own actions (delete the message and ban, by default) and its own exemptions: Ignore bots (on by default), excluded roles and members, Arm it this long after somebody joins, and Never catch members older than, a ceiling on time in the server.
  • A honeypot is checked before any rule, so a post in a trap is handled as a trap even when a rule would also have caught it.
  • A thirty-day trigger history records who, what they posted, what ran, and the two numbers that settle whether it was a real person: account age and time in the server.

Slowmode manager

Slowmode that climbs when a channel gets busy and steps back down when it calms, for up to 50 channels, each with its own policy. Manage slowmode switches the manager on (off by default). A channel can also hold a fixed interval, or be managed only between set hours in its own time zone. Two modes, and they are different mechanisms:

ModeWho enforces itNotes
User slowmodeDiscord: it is Slowmode in channel settingsEach member may post once per interval. Nothing is ever deleted. Exemptions are Discord's own (Manage Messages / Manage Channels), so Arclo does not show exemption fields it could not honor.
Channel slowmodeArcloOne message every N seconds from anyone. Discord has no such setting, so Arclo enforces it by dealing with what arrives early (Remove it quietly, Remove it and tell them or Leave it and just log it), which is why this mode is the one with exemption lists.

It stands down rather than fighting

Five other things can move a channel's slowmode: the /slowmode command, a filter's slowmode action, Security's flood response, an Automations rule, or a human. If the value is not what Arclo last set, it assumes somebody else moved it and leaves that channel alone for 30 minutes by default. A manager that re-asserts itself is experienced as “slowmode keeps resetting”.

The ladder climbs one rung at a time while the channel stays busy, and steps back down one rung at a time once it has been quiet long enough. Jumping straight to the rung matching the current rate would read its own suppression as more traffic and run to the ceiling. Leave the rungs empty and the ladder doubles the resting interval up to the ceiling you set.

Auto Purge

A standing instruction to keep a channel clean. One rule can cover up to 25 channels, because “clear these six spam channels every hour” is one decision, and a server keeps up to five rules. A rule picks what goes with the same filters as /clear (everything, bots, people, named members, text, a pattern, links, invites, images, attachments, embeds, pings or emoji), and can delete everything except that instead.

ModeWhat it doesCap
Clear on a timerClear the channel on a timer, five minutes apart at the least. It can leave the most recent stretch alone, so a purge on the hour does not cut a conversation off mid-sentence.Up to 7 days
Keep it shortNothing in the channel outlives N. Checked every quarter of the window (at least hourly), so overshoot stays small.Up to 13 days
  • Exempt roles server-wide and per rule; Channels no rule ever touches makes sure a rule can never reach somewhere it should not. Keep pinned messages is on by default, and a rule can always keep the newest few.
  • Never deleted, whatever the settings: Discord's own system messages, and the channel's sticky message.
  • New rules arrive switched off, because a rule that started at once would delete on its next visit before anybody had checked it. Run purge rules is the system's own switch, off by default too; switched back on, it resumes from now rather than catching up.
  • One visit deletes up to 500 messages per channel. A bigger backlog drains over the following visits, five minutes apart, and the card says it is still catching up.

Why the caps are 7 and 13 days

Discord will not bulk-delete anything older than 14 days. Past those limits a message could never be both old enough to qualify and young enough to delete, so the rule would silently do nothing.

AI moderation

A local statistical classifier that scores a message across 12 categories (toxicity, severe toxicity, insults, profanity, threats, identity attacks, sexual content, harassment, self-harm, violence, spam & scams and unwanted flirtation) when no rule has already acted on it. Enable AI moderation is off by default; once it is on, seven categories start switched on. Each category has its own switch, its own threshold and, optionally, its own actions; the rest use the shared ones (delete the message and alert staff, to begin with).

It runs locally, and it is deliberately timid

It ships with Arclo: no external API, no key, no per-message cost, and no message is sent anywhere to be scored. It is log-only by default (Log only (don't act)), ignores messages shorter than 12 characters, runs last, and an unattended automatic ban on a classifier's judgement is exactly what the default avoids. Turn actions on once you have watched its log for a while.

Discord's own AutoMod, and thread notices

  • Discord AutoMod rules stay in Server Settings. Arclo does not create or edit them, because two places to look when a message is blocked is worse than one. What Arclo adds, once you switch on Act on Discord's AutoMod, is its own action vocabulary on top: when Discord blocks something, Arclo can warn, mute, quarantine or DM, Count it toward Arclo's ladders and File a case for every block, as a default for every rule or per rule. Arclo needs Manage Server to list your Discord rules by name.
  • Thread notices sweeps Discord's “started a thread” system messages out of the parent channel, the moment they arrive or up to an hour later, in every channel or only the channels and categories you pick, with a list it never touches.

Commands

  • /automod status
    Manage Server

    What Auto Moderation is doing right now. Rules, hits today, AI moderation.

  • /automod rules [group]
    Manage Server

    Every rule, what it catches and what it does about it.

  • /automod toggle <rule> [state]
    Manage Server

    Switches one rule on or off without opening the dashboard.

  • /automod test <text> [as-member]
    Manage Server

    Runs a message through every rule and reports which would fire, without punishing anybody.

  • /automod scan [channel] [count]
    Manage Server

    Runs your rules over the recent messages in a channel and reports what they would have caught.

  • /automod violations view <member>
    Manage Server

    A member's recent Auto Moderation hits, and how close they are to a threshold.

  • /automod violations clear <member> [name]
    Manage ServerCannot be undone

    Wipes a member's violation counters, so they start from zero on the ladder.

  • /automod bypass add [role] [channel] [member]
    Manage Server

    Exempts a role, a channel or a member from every rule.

  • /automod bypass remove [role] [channel] [member]
    Manage Server

    Puts a role, channel or member back under the rules.

  • /automod bypass list
    Manage Server

    Everything and everybody Auto Moderation ignores.

  • /automod words add <list> <words>
    Manage Server

    Adds a word or phrase to one of your word lists, right now.

  • /automod words remove <list> <words>
    Manage Server

    Takes a word out of one of your word lists.

  • /automod words list [list]
    Manage Server

    Your word lists, or everything on one of them.

  • /automod words clear <list>
    Manage ServerCannot be undone

    Empties one of your word lists.

  • /automod honeypot add [channel]
    Manage Server

    Turns a channel into a trap: anyone who posts there is dealt with automatically.

  • /automod honeypot remove <channel>
    Manage Server

    Stops a channel being a trap. The channel itself stays.

  • /automod honeypot list
    Manage Server

    Your trap channels and how many accounts each has caught.

Still stuck? Ask in the support server: somebody there has almost certainly configured this before.