Anti-Raid: Join Protection and Honeypot in Detail

How Kage fends off raids and fake accounts: join rate, minimum account age, honeypot channels, actions, automatic setup, limits and troubleshooting.

Last checked for accuracy: 20 October 2026

Anti-raid protects your server from mass joins and obvious fake accounts. There are three independent triggers: the join rate, the minimum account age and the honeypot (decoy channels). Each one triggers an action you choose: kick, ban or just log.

This page is the reference: settings, exact triggers, the automatic honeypot setup, limits and causes of errors. For an introduction, see the guide Preventing Discord raids.

Requirements

  • Access to the module: You sign in to the dashboard with Discord and need the Manage Server permission (or access granted for this module).
  • Kage's permissions: Kick Members and Ban Members, depending on the chosen action, and Manage Messages for the honeypot. Kage's role must be above the role of the affected members. The permissions are part of the standard invite.
  • For the automatic honeypot setup additionally Manage Channels, also part of the standard invite.
  • Optionally a log channel for this module's messages.

Trigger 1: join rate (raid mode)

  1. Kage counts the joins of the last N seconds (time window). Bots are not counted.
  2. If the number exceeds "more than" the allowed number (Max. joins), raid mode applies. With 10 joins in 60 seconds, the eleventh therefore triggers it.
  3. In raid mode, Kage applies the chosen action to the triggering member and to every further join. Each further join extends raid mode by 5 minutes.
  4. With the action Log only, nothing happens except the log entry.

Trigger 2: minimum account age

If a minimum account age in hours is set (0 = off), Kage checks the age of the Discord account on every join. Younger accounts get the chosen action immediately, independent of raid mode. These joins do not additionally count towards the join rate.

Trigger 3: honeypot

A honeypot is a decoy channel that no real member ever writes in. Any message there counts as a clear signal for a spam bot or a hijacked account.

  • Text honeypot: Kage deletes the message and applies the honeypot action to the author. If the action is Ban, Kage also deletes the member's messages from the last hour on the server. With Kick, no further messages are deleted.
  • Voice honeypot: Every join to the decoy voice channel triggers the same action. Muting or other state changes while someone is already in the channel do not trigger anything.
  • Both decoys share one honeypot action (default: Ban). It is independent of the action for mass joins and too-young accounts: if you set Kick there, the honeypot still bans until you also set the honeypot action to Kick.
  • There is no exemption for team members. Admins and moderators who write there also trigger the action. Discord only prevents Kage from banning members with a higher role.

Settings at a glance

You find them in the dashboard under Anti-raid.

Dashboard fieldMeaningDefault and limits
Anti-raid activeSwitches the module onoff
Action when triggeredKick, Ban or Log only, for join rate and account ageKick
Log channel (optional)Channel for this module's messagesnone
Max. joinsJoins allowed in the time window10, allowed 2 to 200
Time window (sec.)Length of the observation window60, allowed 5 to 600
Minimum account age (hours since account creation)Minimum age of the Discord account0 (off), allowed 0 to 8760
Honeypot activeSwitches the text honeypot onoff
Decoy channelChannel of the text honeypotnone
Action when triggered (honeypot)Kick, Ban or Log only, shared by the text and voice decoyBan
Log channel for honeypot hitsits own channel for hits on the text and voice decoythe general log channel
Voice honeypot activeSwitches the voice honeypot onoff
Decoy voice channelChannel of the voice honeypotnone

There are no slash commands for anti-raid.

Logging

Kage only writes messages if a log channel is set. For honeypot hits you can choose a separate log channel for honeypot hits. If none is chosen, the general log channel applies. Honeypot hits are reported even if the action fails because of missing permissions, with a note about it. There are entries for "Anti-raid: account too new", "Anti-raid triggered" and "Anti-raid still active" (with count, time window, threshold, action), "Honeypot triggered" and "Voice honeypot triggered". Each entry shows the member and when their account was created. The Logs and Statistics tabs of the module show the triggers regardless of the log channel. If Kage could not carry out the action because of missing permissions, the entry is missing for account age and join rate. For the honeypot it appears with a note about the missing permission.

The state of the join counter and of raid mode is kept only in memory. After a bot restart it starts over.

Setting up the honeypot automatically

In the dashboard you can let Kage set up the honeypot. You choose your server's Member role and click Set up automatically. Kage then does the following:

  1. It creates a text channel SpamText at the very top of the server, without a category, and a voice channel SpamVoice directly below it.
  2. For @everyone, "View Channel" is allowed, for your Member role it is denied. This way only new accounts without the Member role, such as fresh spam bots, see the channels. Real members never do.
  3. In both channels Kage posts a warning ("This channel is a security trap against spam bots …"), in the dashboard's language, otherwise the server's.
  4. It activates the text and voice honeypot and switches the module on. The honeypot action is Ban as long as you haven't chosen another one. An action you already set (for example Kick) stays unchanged.

Kage remembers which channels it created itself. If you switch a honeypot off in the dashboard, the dashboard asks whether the channel should be deleted in Discord. It offers this only for channels created by Kage, never for channels you chose yourself.

Manual setup: Create an inconspicuous channel at the very top without a category. Leave "View Channel" on for @everyone and turn it off only for your Member role. Anyone who cannot see a channel cannot write there either, so the trap would never trigger. Post a warning in the channel.

Checking the result

  1. Settings: In the dashboard, check that "Anti-raid active" is on and the triggers you want are configured.
  2. Account age: Test with a very young account if you have one. It should get the chosen action on joining. Start with Log only if you are unsure.
  3. Honeypot: Test it with a second account you can sacrifice. Use Log only first. Write in the decoy channel and check that the message is deleted and an entry appears in the log channel.
  4. Log: Check the Logs tab and, if set up, the log channel.

Troubleshooting

A young account is not removed

Check that "Anti-raid active" is on and a minimum account age above 0 is saved. Check whether Kage may Kick or Ban Members and its role is above the member's. With missing permissions, the error appears only in the operating log.

Raid mode triggers too early or too late

Adjust "Max. joins" and "Time window". The trigger is "more than" the allowed number within the window.

The honeypot does not trigger

Check that "Honeypot active" or "Voice honeypot active" is on and a channel is chosen. Check that the channel is visible to @everyone. Anyone who cannot see it cannot write there or join it.

Real members were punished in the honeypot

The decoy channel was visible or linked for them. Make it visible only to accounts without the Member role and put a warning in it. Start with Log only.

Team members are punished in the honeypot

There is no exemption for this. The channels should be visible only to accounts without the Member role, then nobody from the team reaches them.

Nothing appears in the log channel

There are only entries if a log channel is set and Kage may Send Messages there. With Log only, things are logged but nobody is punished.

The automatic setup fails

Choose a role that still exists. Kage needs Manage Channels. The error text in the dashboard names the missing permission.

Further reading

Anti-raid complements verification: it keeps newcomers out of the server until they confirm the rules. See Verification and the guide Preventing Discord raids.

Related Kage modules

  • Anti-RaidIncluded in Basic
  • Audit LogIncluded in Basic

See plans and included modules

Keep reading

More questions? Ask Kage AIAI

Describe what you need – Kage AI picks out the right guide and gives you the sources.

Ask Kage AI

Try Kage on your server

Sign in with Discord, invite the bot and set up the modules in the dashboard. The Basic plan is free forever.