Discord anti-raid bot
You decide how many joins inside how many seconds counts as a raid, and what happens when it does. Then it happens at three in the morning without you.
One rule, three responses
The rule is join velocity: a threshold and a window. Ten accounts in sixty seconds is the default, and both numbers are yours to set — a 200-member server and a 40,000-member server do not have the same normal.
| Response | What happens |
|---|---|
| Alert only | Posts to a channel you pick and pings the roles you name. Changes nothing else — the right setting while you learn what your server's normal actually looks like |
| Force verification | Switches verification on for the duration, so the raid meets a challenge that was not there a minute ago |
| Kick new joins | Removes accounts that arrive during the lockdown. The heaviest option, and a kick is not a ban — anyone caught wrongly can come back |
A lockdown ends on its own
Thirty minutes by default, and you can clear it early. That expiry is deliberate: the failure mode of an automatic lockdown is not that it triggers, it is that it triggers while everyone is asleep and stays on until somebody notices at lunchtime. A server that quietly kicked every genuine new member for nine hours is a worse outcome than the raid.
/anti-raid status what is configured, and whether a lockdown is live
/anti-raid clear end a lockdown now
Setting it up
/anti-raid setup join_threshold: 10 window_seconds: 60 action: Alert staff only alert_channel: #mod-log
Start on alert only. Watch it for a week, see what trips it, then decide whether to give it teeth. Turning on kick-new-joins before you know your server's baseline is how a popular post gets treated as an attack.
What it costs
Nothing. Paid plans raise throughput caps; every feature is on every tier. Self-host it free under the AGPL-3.0.
It is not only an anti-raid bot
Also staff applications, ban appeals, tickets, verification and giveaways.
Questions
How does it decide something is a raid?
Join velocity: how many accounts joined inside a time window. The default is ten joins in sixty seconds and both numbers are yours to change.
What can it do when a raid is detected?
One of three things: alert a channel and ping roles, force verification on for the duration, or kick accounts that join during the lockdown.
Does the lockdown stay on until I turn it off?
No. It expires by itself after thirty minutes by default, and you can clear it early with a command. An automatic lockdown nobody notices until lunchtime does more damage than most raids.
Does it filter messages or detect alt accounts?
No. It looks at join velocity only — not message content, not account age, not username or avatar patterns. It answers one question and does not pretend to answer others.
Is anti-raid free?
Yes. Every feature is on every tier, and the bot can be self-hosted for free under the AGPL-3.0.