How to Stop Spam and Raids in a Discord Server in 2026 (Without False Positives)
Running a Discord server is easy until people actually start joining it.
Then somebody sends the same crypto link 30 times, five new accounts join with basically the same username, somebody pings 40 members, and one compromised moderator decides deleting channels is a good idea.
The obvious answer is automation. The problem is if you make automation too aggressive it starts punishing the people you're trying to protect.
This guide covers how I think Discord antispam and antiraid should actually be configured in 2026 — what Discord already gives you, what should be automated, what shouldn't, and how to make multiple weak signals work together instead of banning somebody because they created their account yesterday.
Why Discord Moderation Gets Hard Once a Server Grows
Spam isn't one thing.
Someone sending:
check this out
three times could be spam.
Or they're just having a normal conversation.
Someone joining with a Discord account created 20 minutes ago could be a raider.
Or they literally just downloaded Discord.
Someone having no profile picture could be suspicious.
Or they didn't bother uploading one.
That's the problem with moderation automation: most individual signals suck by themselves.
What matters is what happens when several signals show up together.
For example:
- account created 15 minutes ago
- no avatar
- username similar to three other accounts
- joins during a sudden join spike
- immediately sends the same link
- repeats the message across several channels
Now you have something useful.
Do not build your whole moderation strategy around one checkbox like "ban new accounts."
Use signals together.
What's Possible With Discord Already
Discord's built-in AutoMod is actually good and you should use it.
You can block keywords, excessive mentions and different forms of spam. You can also send alerts to your moderators instead of automatically punishing everybody.
That last part matters.
Not every rule needs to be:
trigger → ban
Some should be:
trigger → block message
Others:
trigger → alert staff
And stronger combinations:
multiple triggers → quarantine
Discord also has Slowmode, verification levels and its own raid detection systems.
Use them.
A third-party moderation bot shouldn't replace Discord's native protection for no reason. It should cover the stuff that needs more context, more customization or a server-wide response.
What No Moderation Bot Can Do Perfectly
No bot can know somebody's intent with 100% certainty.
It can know:
- how fast they are sending messages
- whether messages are similar
- when the account was created
- whether several accounts joined together
- what permissions somebody is using
- whether channels are suddenly being deleted
- whether the same links keep appearing
It cannot read somebody's mind.
This is why I don't like moderation systems where one weak signal immediately causes a permanent punishment.
A better model is basically:
weak signal
+ weak signal
+ stronger signal
+ suspicious behavior
= take action
Not:
new account
= ban
Methods Compared: Three Ways to Handle Discord Spam and Raids
Method 1: Discord AutoMod Only
For smaller servers this can honestly be enough.
Turn on keyword filtering, mention spam protection and content spam protection. Add rules for whatever garbage regularly gets posted in your community.
Good:
- built directly into Discord
- simple setup
- no additional bot dependency
- can block messages before members see them
- exemptions can be configured
Bad:
- mostly focused on message-level behavior
- limited context between different kinds of suspicious behavior
- doesn't solve every raid situation
- doesn't protect you from a compromised moderator deleting everything
Verdict: Start here regardless of what other bot you use.
Method 2: Generic Moderation Bot
The next option is a general moderation bot.
These usually add warnings, bans, mutes, logs, slowmode commands and some form of antispam.
This is fine if your problem is basic moderation.
The issue starts when you want the bot to understand that ten suspicious joins, similar usernames, fresh accounts and repeated messages are probably connected instead of treating all of those events separately.
Good:
- convenient moderation commands
- usually easy to configure
- good for normal staff workflows
- logging and punishment history
Bad:
- anti-raid may be basic
- antispam may just be message counting
- destructive staff actions may not be watched
- limited server-wide response when something actually goes wrong
Verdict: Good for moderation. Not automatically good for security.
Method 3: Layered Moderation
This is what I prefer.
Keep Discord AutoMod enabled and then put another moderation/security layer on top of it.
BetterAntispam is one implementation of this idea.
For example its antispam can look at similar messages and other spam behavior, while antiraid can look at join patterns and suspicious account characteristics.
Then there is a separate antinuke system watching destructive actions like mass bans, channel deletion, role changes, webhooks and dangerous permission changes.
Those are different problems so don't treat them as one giant "security" switch.
You want:
AutoMod
↓
message filtering
Antispam
↓
behavior across messages
Antiraid
↓
behavior across joins/accounts
Antinuke
↓
behavior from trusted/staff accounts
Verification
↓
friction before new members get access
That gives you separate controls for separate failure modes.
How Antiraid Should Actually Work
I would not automatically ban somebody just because their account is new.
Treat stuff like this as signals:
Fresh account +10
No avatar +5
Similar username +10
Rapid join wave +20
Repeated spam +25
Suspicious link behavior +30
Those numbers are just an example. The point is the structure.
One weak signal doesn't matter much.
Several signals together do.
Then have response levels.
For example:
0-20
Allow
20-40
Watch / log
40-60
Quarantine
60+
Kick or ban
The exact thresholds should depend on the server.
A developer community where people frequently create new Discord accounts might need completely different thresholds from a crypto server getting hammered by scam accounts every day.
Do not copy somebody else's threshold because they said it works.
Tune it against your own traffic.
Quarantine Is Underrated
Permanent bans are expensive when you're wrong.
Quarantine is much easier.
Instead of:
suspicious user → ban
do:
suspicious user → remove dangerous access → log → staff review
Then if the account starts clearly spamming you can escalate.
This gives the system room to be slightly more sensitive without every false positive becoming a support problem.
BetterAntispam has quarantine available across its antispam, antiraid and antinuke systems for basically this reason.
You can catch something suspicious without immediately deciding that person should never be allowed back.
Antispam Needs Different Rules for Different Spam
Do not use one number for everything.
Ten emoji is not the same as ten links.
Five messages in five seconds isn't necessarily the same as five nearly identical messages in five seconds.
I would separate at least:
- fast messages
- repeated messages
- excessive mentions
- links
- invites
- excessive capitalization
- extremely long messages
- ghost pings
- repeated bot commands
Then give the more dangerous behavior stronger responses.
For example:
Emoji spam
→ delete / warn
Repeated message spam
→ delete / timeout
Repeated suspicious links
→ block / quarantine
Mass mention spam
→ block immediately
Context matters more than the raw count.
Exemptions Matter More Than People Think
This is where a lot of antispam bots become annoying.
Your logging bot might send ten similar messages.
A ticket bot might repeatedly post the same template.
A staff channel might intentionally contain links that would never be allowed in general chat.
So exemptions need to work at several levels:
- users
- roles
- channels
- trusted domains
- bots
Don't turn protection off globally because one legitimate integration keeps triggering it.
Exempt the integration.
Antinuke Is a Different Problem
Most moderation setups spend all their time worrying about random members.
Meanwhile the account capable of doing the most damage is an administrator.
If an admin account gets compromised, normal antispam does basically nothing.
The account isn't spamming.
It's doing this:
delete channel
delete channel
delete channel
delete role
ban member
ban member
create webhook
change permissions
That needs completely different detection.
Watch destructive actions over time and put limits on them.
For example, somebody deleting one channel might be normal.
Deleting fifteen channels in twenty seconds probably isn't.
Same thing with:
- bans
- kicks
- channel deletion
- role deletion
- bot additions
- webhook creation
- dangerous permission changes
And again, different actions should have different limits.
Granting Administrator can be more serious than deleting a temporary channel.
Configure them separately.
Raid Mode Should Change the Whole Server
Once you know a raid is actually happening, stop evaluating everything like normal traffic.
You already know the environment changed.
A good raid mode can temporarily:
- increase antispam sensitivity
- restrict new members
- enable stronger verification
- apply Slowmode
- lock vulnerable channels
- quarantine suspicious joins
- alert staff
Then return the server to normal once the event ends.
This is better than leaving extremely strict settings enabled 24/7 because you're scared of the 10 minutes per month where somebody actually attacks the server.
Normal mode should optimize for users.
Raid mode should optimize for survival.
Cleanup Is Part of Raid Protection
Stopping the raid isn't always the end.
Sometimes you show up after 4,000 messages have already been dumped into three channels.
Now somebody has to clean it.
Discord itself describes raid cleanup as part of the moderation problem, and this is where bulk tools matter.
BetterAntispam has /nuke for channel cleanup and /slowmodebulk for applying Slowmode across multiple channels.
The important part isn't really the command name.
The important part is having an emergency workflow where staff can go:
detect raid
→ lock down
→ remove attackers
→ clean affected channels
→ return to normal
instead of manually deleting messages for two hours.
Verification Should Match the Threat
Not every Discord server needs somebody solving a CAPTCHA before they can say hello.
Adding friction for no reason hurts onboarding.
But verification is useful when the server is regularly targeted.
You can use increasingly stronger methods depending on what is happening:
Button
↓
Word challenge
↓
Math challenge
↓
Image CAPTCHA
↓
Web CAPTCHA
BetterAntispam supports those kinds of verification methods, but the bigger point is don't use the strongest verification just because it exists.
Use enough friction to stop the attack you're actually seeing.
Best Practices for Discord Moderation in 2026
1. Turn Discord AutoMod on first
It's built into Discord. Use it.
Let Discord handle obvious keyword and mention spam before asking another bot to solve everything.
2. Don't trust one signal
Fresh account doesn't mean raider.
No avatar doesn't mean raider.
Joining quickly doesn't automatically mean raider.
Several suspicious signals happening together is much more useful.
3. Quarantine before permanent punishment
If your confidence isn't high enough for a ban then don't ban.
Contain first.
4. Tune around false positives
Keep logs.
If legitimate users repeatedly trigger something, figure out why.
Don't just tell everyone your moderation bot is never wrong.
5. Separate antispam, antiraid and antinuke
They're different attacks.
Configure them differently.
6. Protect against your own staff accounts
Compromised staff can destroy more than random spammers.
Use 2FA and keep Administrator access limited.
Then monitor destructive actions anyway.
7. Have an emergency mode
You shouldn't be changing 25 moderation settings manually while 100 accounts are joining.
Have one raid mode or lockdown workflow ready.
8. Test everything
Make a test channel.
Send repeated messages.
Try links.
Try excessive mentions.
Test exemptions.
Test quarantine.
Check what the logs actually look like.
Run whatever tests you want it's good, just don't discover during an actual raid that your trusted role exemption doesn't work.
Quick Setup Guide
This is roughly the order I would configure a new server.
Step 1: Configure Discord AutoMod
Turn on:
- mention spam protection
- content spam protection
- relevant keyword rules
- moderator alerts
Don't make every rule automatically punish users.
Some should just alert you.
Step 2: Set your verification level
Decide whether normal Discord verification is enough or whether your threat model justifies a challenge.
Step 3: Add your moderation layer
If you're using BetterAntispam, /setup handles the main starting configuration and then open the individual settings for whatever needs tuning.
Don't stop at the preset.
Presets are starting points.
Step 4: Configure antispam
Set realistic limits for your community.
Then exempt trusted roles, bots and channels that naturally behave differently.
Step 5: Configure antiraid
Start less aggressive.
Log what would have triggered.
Then increase enforcement once you know your normal join behavior.
Step 6: Configure antinuke
This is the one I wouldn't skip.
Set limits around destructive actions and allowlist the bots or staff accounts that legitimately perform bulk operations.
Step 7: Test the response
You should know exactly what happens when something triggers.
Does the user get muted?
Quarantined?
Banned?
Does staff receive a useful log?
Can the action be reversed?
Find out before you need it.
What to Look for in a Discord Moderation Bot
If you're comparing moderation bots I would care about this stuff more than the size of the feature list:
Configurable thresholds
Your server isn't everybody else's server.
Role, channel and user exemptions
Otherwise legitimate automation becomes a false-positive machine.
Progressive punishments
Warn, timeout, quarantine, kick and ban should not all be treated like the same action.
Join-pattern detection
Raids are usually bigger than one account.
Antinuke
Member moderation doesn't protect you from compromised administrators.
Server lockdown
You need a way to change behavior quickly once an attack is confirmed.
Useful logs
"User punished" isn't enough.
Tell staff what triggered it.
Cleanup tools
Prevention will eventually fail somewhere. Have recovery commands ready.
Verification options
Different servers need different amounts of friction.
That is basically the list I would start with.
Conclusion
The best Discord moderation setup isn't the one that bans the most people.
It's the one that catches obviously malicious behavior while normal users barely notice it's running.
Use Discord's native tools.
Add another moderation layer when you actually need more context.
Let weak signals combine instead of pretending one field tells you everything.
Quarantine when you're unsure.
Ban when you're sure.
And have raid mode, antinuke and cleanup ready before the day you actually need them.
If you're using BetterAntispam, /setup is a reasonable starting point, but go through the individual antispam, antiraid and antinuke settings afterward. The defaults can't know what normal behavior looks like inside your server.
That part is still your job.
Disclosure: I work on BetterAntispam. I used it here as an implementation example because these are the moderation problems we're actively working on. The general configuration advice applies whether you use BetterAntispam, another moderation bot or just Discord's built-in tools.
Top comments (0)