Ever feel like moderating a server is a bit too much? Wanna take a little break from constantly looking over your members to make sure they're behaving? Discord's Automod has got you covered. AutoMod is Discord's native moderation tool that you can use to filter out the bad actors of the server, stop them before they can even start.
What is AutoMod? How does it work?
AutoMod is a native system that constantly scans for messages being sent in your server based off the content filters that you use. They can either be Discord's default filters or custom keyword filters that you can configure. AutoMod will automatically detect and block messages that contain a word or phrase you deem unfit in your server. You can set up AutoMod in your server by heading over to server settings > moderation > safety setup > AutoMod.
Content Filters aka AutoMod Rules
You can have a maximum of 10 AutoMod rules (including discord's default rules). With the right filters and regexes, 10 rules are more than enough for most servers
Each rule consists of the following fields:-
- Detection:-
- Rule Name: Its where you assign a name to your rule. Its helpful if you have alerts enabled or you have multiple rules setup.
- Words/Phrases input [limit=1000]: This is where you put all the words and phrases you want to block out, each separarted by a comma. Add an * at the beginning, end or both for partial matching.
- Regex Patterns (optional, but highly recommended) [limit=10]: AutoMod lets you use regular expression (regex) patterns in your rules to better filter out bad actors that try to circumvent your set of words and phrases. By knowing the correct regex patterns you can effectively filter out almost all variations of the word or phrase you want to block. You can choose to only set up regex patterns and leave the Words/Phrases input empty. Learn More.
- Exceptions [limit=100]: You can also add words or phrases that you want AutoMod to ignore. If AutoMod detects a word/phrase blocked by a rule but also a word/phrase exempted by another rule, it will ignore the detection and let the message through. Separate each by a comma and add a * at the beginning, end or both for partial matching.
- Actions:-
- You can choose to simply have automod block the message with a custom message displayed to members when their message is blocked.
- You can choose to only send an alert to a channel for logging purposes (that channel will then be exempted from that rule)
- You can also choose to timeout (mute) the member for a set amount of time (It is recommened to only set this up for certain rules such as scam detection or extremely profane flagged words/phrases)
- Although not natively available as an option, there are some moderation apps such as Sapphire that can use AutoMod detection to further action the user such as warning, kicking or banning.
- Exemptions:-
- You can add roles or channels to have AutoMod ignore the detection for that rule. Owner, Admins and Mods with Manage Server permission are exempted by default.
Member Filters:
You can similarly set up member filters to have automod detect and quarantine members that have a word/phrase in their display name, username or server tag that you deem unfit in your server.
Discord's default Spam and Flagged filters:
Discord has its own set of AutoMod rules that use machine learning algorithms to automatically identify and block commonly used harmful words and phrases. You can use these if you don't want to set up custom rules.
- Mention Spam: Block messages that have more than the set number of unique mentions (roles and users) and also use mention raid detection to stop mention raids in your server. Actions and Exemptions are configurable similar to custom rules mentioned above.
- Suspected Spam: Block commonly used spam messages. Actions and Exemptions are configurable similar to custom rules mentioned above.
- Commonly Flagged Words: Blocks commonly used flagged words that are generally considered harmful. You can select the categories you want to block
- Severe Profanity (extreme form of cursing)
- Insults & Slurs (insulting, hateful words or phrases)
- Sexual Content (words/phrases that are explicit/sexual/considered PG 18)
- Although this filter uses machine learning and is constantly evolving, there is a chance it may block out messages that are not harmful or miss out on messages that were meant to be blocked. It is advised to keep an eye out for the messages it blocks and adjust the exemptions/create custom rules accordingly. Actions and Exemptions are configurable similar to custom rules mentioned above.
Limitations:
Even with AutoMod being extremely powerful, there are limitations to it. Each server can only have 10 Content Filters (both custom and default) and while that's enough for most servers, larger communities with unique environments sometimes need more than that. There is no way to share AutoMod rules natively. AutoMod doesn't stop messages from apps installed in the server. Member Filters don't quarantine members that have blocked words/ophrases in their about me or status (apps cannot read that either for privacy reasons). AutoMod also cannot detect or block media which is what the spambots nowadays have started to take advantage of (there are alternatives to this such as special case moderation apps built for image detection or simply taking away image perms)
Some good to have custom rules:
Automod is used by communities to not only protect against bad actors but also scam attempts and raids and much more. Down below you'll find some rules you should have in your server. Click on any of the regex patterns to copy it. For an extended and detailed list, be sure to visit Navi's AutoMod Config
- Links:
- \bhttps?://.+\..+
- Suggested exceptions: [*tenor.com*, *klipy.com, *giphy.com*, *.gif*, *discord.com*, *discord.gg*] (you can remove [discord.gg] from exceptions if you want to allow server invite links)
- This AutoMod rule will block any hyperlinks, including ones that your community is used to and you would normally allow so it is recommended you proactively add as many exceptions as you can think of for an uninterrupted experience
- Server invites:
- (https?://)?(www\.)?discord(app)?\.(com/invite/|com/servers/|gg/(invite/)?)[a-z0-9]+
- This AutoMod rule will block all server invite links, including your own or ones you may be okay with. It is advised to add the vanity or invite codes for servers you want AutoMod to ignore, or use apps to block such invites via API.
- Spam/Scam/Copypasta attempts:
- ([cçÇĆćĈĉĊċČč]+\s*[hĤĥĦħ4]+\s*[eéÉèÈêÊëË3ĒēĔĕĖėĘęĚě]+\s*[cçÇĆćĈĉĊċČč]+\s*[kĶķĸ]+\s*[m]+\s*[yýÿŶŷŸ]+\s*[bß8þ]+\s*[iíÍìÌîÎïÏ!|ĨĩĪīĬĭĮįİı1]+\s*[oóÓòÒôÔöÖõÕøØ0ōŎŏŐő0]+
- \bcopy\b(a?nd?|&)\b(paste|send)\b(him|it|this)\b(mes+age|msg)\b(to|in)\b
- (?s)(\b(teach|earn|help|learn|show|educate|ma[kd]e|g[eo]t|[^a-z^0-9]*[0-9]+k|bitcoin|eth|cash|crypto|crypto\s?currency|trade|cell[^a-z0-9]?phone|hours?|days?|weeks?|know)(ing)?\b.*){2,}\b.*\b(dms?|call|send|text|contact|m[ae]ssage|write to|interested)\b
- (.*(he*lp(er)?|tech|de*sk|li[vn]e|suppo*rt|faq|develop|team|offic(e|ial)|announc|quer(y|ies)|as+ist|admin|moder|servic|agent|staf|employe|ticket|custom|bot|mail|mint|free|cap[tch]{3,}a|verif|mee\s?6|dyno|drop).*){2,}|air[^0-9a-z]*drop|in[^0-9a-z]*bio
- (.*(free|nitro|give[^0-9a-z]*away|w[oi]n[^0-9a-z]*ner|hypesquad|event).*){2,}|\.gg/|mod[^a-z0-9]*mail|(\s*(my|in|check|read|look)\s*)+[^a-z0-9]*bio|(ab[ou]*t|dm)[^a-z0-9]*(me|for)
- Matching the most common bad words:
- Retard (Suggested exception: [*restart*])\br+([eéÉèÈêÊëË3\*]+\s?|[iíÍìÌîÎïÏ1!\*]+\s?)[t]+\s?[aáÁàÀâÂäÄãÃåÅ4@\*]+\s?[r]+\s?[td]+(\b|[eéÉèÈêÊëË3\*]+\s?[td*]*\b)|r+\s?([aáÁàÀâÂäÄãÃåÅ4@\*]+\s?[r]+\s?[td]+\s?[eéÉèÈêÊëË3\*]+\s?[td]+\b)
- Porn\b([p]+\s?([oоοօȯọỏơóòöø0@\*]+\s?r+\s?|r+\s?[oоοօȯọỏơóòöø0@\*]+\s?)[nոñ\*]+\s?)\b
- Fag/Faggotf+\s?[4aáÁàÀâÂäÄãÃåÅ@\*]+\s?[g]+(\b|[0oóÓòÒôÔöÖõÕøØ\*]*\s?[!1iíÍìÌîÎïÏ\*]*\s?t+([s5]|\b))|f\s?g+\s?[0oóÓòÒôÔöÖõÕøØ\*]*\s?[!1iíÍìÌîÎïÏ\*]*t+\s?([s5]|\b)
- N-word (suggested exception: [niger, nega*])\b[nñÑ]+\s?[eéÉèÈêÊëË3]*\s?[iíÍìÌîÎïÏ1!]+\s?[gh]+\s?(l+\s?[eéÉèÈêÊëË3]+\s?t+\s?|([aáÁàÀâÂäÄãÃåÅ4@]\s?|[eéÉèÈêÊëË3]*\s?r+\s?))([s5]|\b)\b
- Retard (Suggested exception: [*restart*])
- Zalgo text/Unicode characters:
- [\u{0300}-\u{036F}]
- (?-i)[\u{001b}\u{0009}\u{00A0}\u{00AD}\u{034F}\u{061C}\u{115F}\u{1160}\u{17B4}\u{17B5}\u{180E}\u{2000}-\u{200C}\u{200E}\u{200F}\u{202F}\u{205F}\u{2061}-\u{2064}\u{206A}-\u{206F}\u{3000}\u{2800}\u{3164}\u{FEFF}\u{FFA0}\u{1D159}\u{1D173}-\u{1D17A}]
- Self hoisting (Member Filter, by @albertocep799)
- ^[$#(-]*[.?!/")]
Have an AutoMod rule you want to suggest be added to the list? Let us know by joining The Admins Inbetween