PangobotDocs
EN
Safety

AutoMod Free

Stops spam, invite links, banned words and mention raids automatically.

Filters that act by themselves: message floods, repeated messages, invite links, other links, banned words, mass mentions, capitals and emoji spam. Each filter has its own switch and its own action, so harmless things can just be deleted while invite spam leads to a timeout.

Setting it up

  1. Set an AutoMod log channel so your staff sees what was removed and why. It shows the message as it was typed - formatting and masked links are not drawn - and it only quotes messages from channels the member who picked the log channel can see; for other channels the entry says the text is not quoted there.
  2. Switch on the filters you want, one by one, and choose the action for each.
  3. Add ignored roles and ignored channels (a spam or bot channel, for example).
One section per filter, each with its own action.
One section per filter, each with its own action.

Settings

Everything you can set for this module in the dashboard, in the order the page shows it.

AutoMod log channelChannel
Tell the member why their message was removedSwitchOn
Timeout lengthChoice1 minute to 28 days (Discord's longest)10 minutes

Used by every filter set to Delete + timeout.

Ignore members who can Manage Messages in that channelSwitchOn
Ignored rolesRoles
Ignored channels / categoriesChannels

Message flood

Someone sends many messages within a few seconds.

EnabledSwitchOn
MessagesNumber3 to 306

Can be changed only when “Message flood” is on.

Within secondsNumber2 to 305

Can be changed only when “Message flood” is on.

ActionChoiceDelete message

Delete + warn records a Moderation warning: it counts towards your escalation steps. Delete + timeout uses the Timeout length at the top. Can be changed only when “Message flood” is on.

Repeated messages

The same message - text, picture or sticker - is posted again and again within a short time.

EnabledSwitchOff
Identical messagesNumber2 to 104

Can be changed only when “Repeated messages” is on.

WithinChoice10 seconds to 5 minutes30 seconds

Can be changed only when “Repeated messages” is on.

ActionChoiceDelete message

Delete + warn records a Moderation warning: it counts towards your escalation steps. Delete + timeout uses the Timeout length at the top. Can be changed only when “Repeated messages” is on.

Invite links

Invites to other Discord servers.

EnabledSwitchOff
Allowed invite codesListup to 20 entries

e.g. your own vanity code - a pasted invite link works too Can be changed only when “Invite links” is on.

ActionChoiceDelete message

Delete + warn records a Moderation warning: it counts towards your escalation steps. Delete + timeout uses the Timeout length at the top. Can be changed only when “Invite links” is on.

Links

Any web link, except the domains you allow.

EnabledSwitchOff
Allowed domainsListup to 100 entries

Just the domain, e.g. youtube.com - subdomains are included, and a pasted link is cut down to its domain Can be changed only when “Links” is on.

ActionChoiceDelete message

Delete + warn records a Moderation warning: it counts towards your escalation steps. Delete + timeout uses the Timeout length at the top. Can be changed only when “Links” is on.

Banned words

Words and phrases you do not want to see.

EnabledSwitchOff
Words or phrasesListup to 300 entries

Whole-word match. Use * at the start or end as a wildcard: bad* matches "badly". A ? inside a word stands for exactly one letter: b?d matches "bad" and "bed". Can be changed only when “Banned words” is on.

ActionChoiceDelete message

Delete + warn records a Moderation warning: it counts towards your escalation steps. Delete + timeout uses the Timeout length at the top. Can be changed only when “Banned words” is on.

Mass mentions

One message pinging lots of people or roles.

EnabledSwitchOn
Mentions in one messageNumber3 to 506

Can be changed only when “Mass mentions” is on.

ActionChoiceDelete message

Delete + warn records a Moderation warning: it counts towards your escalation steps. Delete + timeout uses the Timeout length at the top. Can be changed only when “Mass mentions” is on.

Excessive caps

MESSAGES WRITTEN MOSTLY IN CAPITALS.

EnabledSwitchOff
Percent upper caseNumber50 to 10080

Can be changed only when “Excessive caps” is on.

ActionChoiceDelete message

Delete + warn records a Moderation warning: it counts towards your escalation steps. Delete + timeout uses the Timeout length at the top. Can be changed only when “Excessive caps” is on.

Emoji spam

Messages stuffed with emojis.

EnabledSwitchOff
Emojis in one messageNumber4 to 10012

Can be changed only when “Emoji spam” is on.

ActionChoiceDelete message

Delete + warn records a Moderation warning: it counts towards your escalation steps. Delete + timeout uses the Timeout length at the top. Can be changed only when “Emoji spam” is on.

Limits

  • Allowed invite codes: up to 20
  • Allowed domains: up to 100
  • Words or phrases: up to 300

Good to know

  • By default members who can Manage Messages in the channel are ignored - server-wide or through the channel's own permissions - so your moderators are not filtered.
  • Filters check messages that are sent, or really edited, after they are switched on. Pinning an older message, starting a thread on it or an embed loading is no edit: older messages stay (use /purge to clean up).
  • Delete + warn records a Moderation warning: it counts towards your escalation steps and expiry, and the member gets Moderation's direct message. With Moderation switched off it is only recorded. Delete + timeout uses the Timeout length at the top of the page and is told by direct message like /timeout when Moderation sends them. AutoMod uses its own exceptions (its ignored roles and Manage Messages), not Moderation's immune roles, and never shortens a longer timeout that is already running.
  • Setting a filter to Delete + warn or Delete + timeout - or making such a filter catch more, giving it a longer timeout, taking away exceptions, or switching AutoMod on while such a filter is set - takes Timeout Members yourself (the owner may do anything). Filters that only delete can be changed by anyone who may edit AutoMod.
  • When Pangobot cannot delete a message (it lacks Manage Messages in that channel), the log says so, the member is not told off under it and Recent problems on the dashboard names the channel. When a timeout or an escalation step is not carried out, the log says why.
  • Message flood counts every message, pictures and stickers included. Repeated messages counts the same text, picture or sticker within the time you set (30 seconds by default). When the limit is reached, every copy is removed, in all channels, and the action is taken once.
  • Banned words match whole words. Use * at the start or end as a wildcard: bad* also matches "badly". A ? inside a word stands for exactly one letter: b?d matches "bad" and "bed". A * inside a word is ignored, so a list typed censored (p*ss) does not catch ordinary words.
  • The words of a banned phrase are also found when extra spaces, a line break or signs stand between them: free nitro catches "free nitro" and "free.nitro".
  • Allowed domains include their subdomains: youtube.com covers www.youtube.com and music.youtube.com. A pasted link is saved as just its domain, and an entry that is no whole domain (such as com) is refused.
  • Banned words are also found when they are disguised: look-alike letters from other alphabets, accents, digits for letters (b4d), spaced-out letters, stretched letters and Discord formatting in the middle of a word.
  • Forwarded messages and polls are checked like any other message, and so is a message that is edited later.
  • Thread and forum post titles are checked against the invite, link and banned-word filters: a new thread whose title breaks one is deleted (a forum post with its first message), and a rename is changed back. Excessive caps and Emoji spam apply to messages only. Who renamed a thread is read from the audit log (View Audit Log): only that member is punished, and a moderator's rename is left alone. Without it the title is still changed back, but nobody is punished.
  • Put your own invite code (or vanity code) on the allow list of the invite filter - a pasted invite link is saved as its code. Codes are compared without upper and lower case. Invite shorteners (such as dsc.gg) are always treated as invites.
  • Excessive caps only checks messages with at least 12 letters, and the names of custom emoji, mentions and links do not count. Emoji spam counts what is drawn: a flag or a keycap is one emoji, and so is a family or a skin tone.
  • With Tell the member why a short notice in the channel pings the member, names the rule and disappears after 6 seconds - at most one every 8 seconds, whatever the action. It is not a direct message.
  • Bots and webhooks are never checked - also not PluralKit and similar proxies, whose messages come from a webhook. Links to Discord itself (discord.com, discord.gg, its file links) never count for the link filter; invites are the invite filter's job.
  • Apps a member adds to their own account (Use External Apps) post in that member's name: what they post is checked as that member's message. When another member presses a button on such an app's message or fills in its form, the app's answer is still removed if it breaks a rule, but nobody is warned or timed out: either of them may have written it. Apps the server installed count as bots. To stop such apps posting publicly at all, deny Use External Apps for @everyone.
  • Discord's own AutoMod (Server Settings > AutoMod) runs first: what it blocks never reaches Pangobot, and its hits are logged by Logging, not here. Both can run side by side; keep word and invite lists in Pangobot's AutoMod if pet names, AFK notes, summaries and search should respect them too.

What the bot needs

  • Manage Messages to delete, Timeout Members for timeouts, Kick Members or Ban Members where a warning escalates to one. Manage Threads to delete a thread or change its title back, View Audit Log to know who renamed a thread. Send Messages and Embed Links where the notice and the log go.