Auto-moderation keeps your server clean without a human watching chat 24/7. This guide shows the most useful moderation rules you can copy, and how to run them automatically on your own Discord bot — no code, in about five minutes.
What auto-moderation can catch
A moderation rule is always the same shape: a trigger (a new message arrives), a condition (does it break a rule?), and an action (delete it, warn the user, time them out). Here are the rules most servers want:
- Banned words — profanity, slurs, or server-specific terms you don't allow.
- Invite links — messages containing
discord.gg/(a classic ad-spam and poaching vector). - External links — block all links, or allow only a whitelist of trusted domains.
- Spam & flooding — the same message repeated, or many messages in a few seconds.
- Mass mentions — messages that
@everyone,@here, or ping many users at once (raid behaviour). - ALL CAPS / wall-of-text — messages that are mostly uppercase or extremely long.
- New-account posting — a brand-new member dropping a link in their first message.
Common rules to copy
Start with these three — they cover the majority of real abuse:
- Invite-link filter — delete any message where the content contains
discord.gg/ordiscord.com/invite/, then DM the user:Please don't post server invites here. - Bad-word filter — keep a private list (e.g.
word1, word2, word3); if the message contains any of them, delete it and add a warning. Repeat offenders get a timeout. - Mention-spam guard — if a message pings more than 5 users (or uses
@everyonefrom a non-moderator), delete it and time the sender out for 10 minutes.
Escalation ladder that works well: 1st offence → delete + warn, 2nd → 10-minute timeout, 3rd → kick or ban. You can build each rung as its own branch.
Locking the server down during a raid
Per-message rules handle the steady state. A raid is different: dozens of fresh accounts arriving at once, faster than any per-message rule can escalate. Two server-wide levers help, and both are one action each:
- Discord — Update Server with Verification level set to High stops accounts that only just joined from posting at all. Pair it with a second workflow (or a Wait node) that sets the level back afterwards, so you don't leave the server locked for weeks.
- Discord — Set Channel Permission, denying Send Messages for
@everyoneon your busiest channel, closes just that room instead of the whole server.
A common shape: a Member Join trigger counts joins with a Scores node, and if more than N arrive inside a minute, it raises the verification level and posts a heads-up in your mod channel.
Logging what your moderators do
Rules catch members. A mod log catches everything else — and Discord only records who performed an administrative action in the audit log, so that's where the answer lives.
The Discord — Audit Log Entry trigger fires whenever something is written there, giving you the action (member_kick, channel_delete, role_update…), who did it, the target and the reason. Two filters keep it useful: Action Filter narrows it to the actions you care about (leaving it empty fires on everything, which is noisy on a busy server), and Only when done by watches specific people.
Wire it into a Send Embed in a private #mod-log channel and you have a permanent, searchable record. Your bot needs the View Audit Log permission — without it Discord never sends the event at all.
Set it up with Noria (no code)
Try the moderation workflow in the real editor below. Move or connect steps and edit their settings; changes stay in this demo and reset when you leave:
You don't need to rent a generic bot — connect your own and let it enforce your rules:
- Connect your Discord bot to Noria (paste your bot token — it stays encrypted). Give it Manage Messages and Moderate Members permissions.
- Open the editor and add a Discord — Message trigger.
- Add a Condition that checks the message content against your rule — for example, "contains
discord.gg/". - On the match branch, add a Delete Message action, then an optional Send Message (a DM or channel warning) and a Timeout Member action.
- Click Activate. Every new message is now checked automatically.
The fastest start is the Discord Auto-Moderation template — it opens pre-wired so you only edit the word list and the channel.
Make it your own
- Whitelist your mods — add a condition that skips the rule if the author has a moderator role, so staff aren't caught by their own filters.
- Log every action — send a copy of each deletion to a private
#mod-logchannel with the user, the message, and the rule that fired. - Combine rules — an invite-link filter and a mention-spam guard can run as separate workflows on the same bot; they don't conflict.
- Tune the escalation — read the triggers and actions guide to add timeouts and role changes to the ladder.
That's a self-cleaning server — running on your own bot, with rules only you control.