Mass kick in Discord safely (owner-confirmed)
The Free Moderation module can mass kick eligible members, but only after the server owner enables the setting, requests a read-only preview and confirms that preview’s one-time token within 60 seconds. It is intentionally an all-eligible-members action, not a filter, role, count or reason picker. Treat it as a last-resort operation in a disposable or fully reviewed server.
Start freeStart free. Pro is $9.99/month.
Before you start
- Use an online bot with the Free Moderation module enabled for a server you own. In Moderation settings, explicitly turn on Enable Mass Kick; the saved default is off.
- Make sure the bot has Discord Kick Members and that its role can kick the intended members. The command skips the server owner, the bot itself, unkickable members and members protected by the current role-hierarchy checks.
- Review the server before creating a preview. The command does not accept a target list, role, amount or custom reason: its preview contains every currently eligible member.
Enable the opt-in setting and review the server
Open your bot’s Modules tab, choose Moderation for the intended server and switch on Enable Mass Kick in its settings. Save, regenerate and start the bot as needed, then wait for it to be online. Leaving the setting off makes the command refuse to preview or kick anyone.
Before using the command, decide whether a bulk removal is truly appropriate. This feature has no selection arguments, maximum count or saved preview report. Use Discord’s normal moderation tools when you need to choose individual people or apply different reasons.
Create a read-only eligible-member preview
As the server owner, run /masskick with the action left empty. With a prefix, run !masskick. The module fetches the current members and replies with the eligible count, skipped count and a random confirmation token; this first request does not kick anyone.
Read the count before continuing. Eligibility is checked against the owner, the bot, Discord kickability and role hierarchy. A member who joins after this preview is not part of its saved snapshot.
Confirm exactly the preview you reviewed
Within 60 seconds, run /masskick action:confirm TOKEN, replacing TOKEN with the preview token. With a prefix, run !masskick confirm TOKEN. The token is bound to the server owner and can be used once; malformed, expired, reused or mismatched tokens are rejected.
The bot announces the start, then fetches each snapshotted member again and repeats its eligibility checks immediately before kicking. It records a kick case for each completed action. There is no batch-size limit in the current implementation, so the preview count is the safety boundary to review.
Check the result and stop if conditions change
The final reply reports how many members were kicked and how many were skipped. Members can be skipped if they become unkickable or protected by hierarchy after the preview. If a member fetch or kick fails, the module stops the run and reports the partial result.
The module also stops when its setting is turned off, the owner changes, the bot loses Kick Members or the run is cancelled. It does not make a kicked member rejoinable or restore any Discord roles, channels or history; plan recovery outside this command.
Frequently asked questions
Who can use the mass kick command?
Only the Discord server owner can use it. The bot also needs Kick Members, and the caller cannot be a bot account.
Does mass kick let me select a role or number of members?
No. This command has no filter, target, count or reason option. Its preview includes every member that is eligible at that moment.
What does the confirmation token do?
It ties the one-time confirmation to the owner’s current preview. It expires after 60 seconds and cannot be replayed.
Can I stop a mass kick after confirming it?
Yes. The cancel action discards a preview or requests cancellation of an active run. A kick that is already in progress can still finish, and the command cannot undo removals.
Related modules
Related guides
Verified sources
File and line references support the commands, settings and limits described.
- server/templates/modules/moderation/index.js:43-48
- server/templates/modules/moderation/index.js:790-848
- server/routes/api/moduleSettings.js:536-541
