Skip to main content

What is Antinuke?

Antinuke is pom’s server protection system. It monitors your staff members’ actions in real time and automatically punishes anyone who exceeds the limits you define. If a compromised or rogue staff member tries to mass-ban members, delete channels, or make other destructive changes, antinuke catches them before the damage spreads. Each protection type is called a module. You can enable or disable modules independently, set how many violations trigger a response (the threshold), and choose the punishment applied when the threshold is exceeded.
Only the server owner can configure antinuke by default. You can grant other trusted users access with ,antinuke admin add @user.

Setting Up Antinuke

Run the setup command to initialize antinuke and create a dedicated logging channel.
If you don’t specify a channel, pom creates an antinuke-logs channel automatically. This is where all antinuke events and punishments are recorded.
pom requires Administrator permission for antinuke to function properly. Without it, the bot cannot detect or reverse malicious actions.

Viewing Configuration

Check your current antinuke settings at any time:
This shows all enabled modules, their thresholds, punishments, and the number of whitelisted users. To see a paginated list of modules and whitelisted users:

Admin Management

By default, only the server owner can modify antinuke settings. You can grant other users admin access, which also automatically whitelists them.
Antinuke admins can completely change your antinuke configuration. Only grant this to users you fully trust.
To view all current admins:

Whitelist

Whitelisted users are exempt from antinuke enforcement. Their actions are not counted toward module thresholds.
The whitelist view is paginated, showing 10 users per page. The server owner is always whitelisted and cannot be removed.

Modules

Antinuke has 10 protection modules, each targeting a specific type of destructive action. Configure them individually to match your server’s needs.

Configuring a Module

Every module supports three settings: toggle (on/off), threshold (how many actions before punishment), and punishment (what happens to the offender).
You can also set whether the module applies to command-based actions:

Available Punishments

Module Reference

Monitors how many members a staff member bans within a short period. If the threshold is exceeded, the staff member is punished.
  • Module name: ban
  • Aliases: antiban, ab
  • Default threshold: 3
  • Use case: Prevents a rogue moderator from mass-banning your members.
Monitors how many members a staff member kicks within a short period.
  • Module name: kick
  • Aliases: antikick, ak
  • Default threshold: 3
  • Use case: Prevents mass-kicking of your community members.
Monitors channel creation and deletion. Triggers when a staff member creates or deletes too many channels.
  • Module name: channel
  • Default threshold: 3
  • Use case: Prevents mass-deletion or mass-creation of channels, which is a common nuke tactic.
Monitors role creation and deletion. Triggers when a staff member creates or deletes too many roles.
  • Module name: role
  • Aliases: antirole, ar
  • Default threshold: 3
  • Use case: Prevents mass-deletion of roles, which strips permissions from your members and breaks your server hierarchy.
Monitors webhook creation. Webhooks are commonly used in nukes to spam channels with messages.
  • Module name: webhook
  • Aliases: antiwebhook, aw
  • Default threshold: 3
  • Use case: Prevents mass webhook creation, which is often used to flood channels with spam.
Monitors emoji deletion. Triggers when a staff member deletes too many emojis from the server.
  • Module name: emoji
  • Default threshold: 3
  • Use case: Prevents someone from wiping out your server’s custom emoji collection.
Monitors when bots are added to the server. Triggers when a non-whitelisted user adds a bot.
  • Module name: botadd
  • Default threshold: 1
  • Use case: Prevents unauthorized bot additions, which could be malicious bots designed to nuke or raid your server.
Keep the threshold low for bot additions — even a single unauthorized bot can be dangerous.
Monitors changes to your server’s vanity URL. Triggers if someone changes or removes the vanity invite.
  • Module name: vanity
  • Default threshold: 1
  • Use case: Protects your server’s vanity URL from being stolen or changed by a compromised admin.
Monitors when dangerous Discord permissions are granted to roles. Triggers if someone gives a role a high-risk permission like Administrator or Ban Members.
  • Module name: permissions
  • Default threshold: 1
  • Use case: Prevents privilege escalation by catching when someone gives a role dangerous permissions.
Dangerous permissions watched by default: Administrator, Ban Members, Kick Members, Manage Guild, Manage Channels, Manage Roles, Manage Webhooks, Manage Expressions, Mention Everyone, Moderate Members, View Audit Log, Manage NicknamesYou can customize which permissions are watched:
Monitors and deletes foreign invite links posted in your server.
  • Module name: invite
  • Default threshold: 1
  • Use case: Prevents users from advertising other servers in your community.

Modlog Channel

Set a dedicated channel where antinuke events and punishments are logged.
Running the command without a channel shows the currently configured modlog channel.
For most servers, we recommend this baseline configuration:
1

Run initial setup

,antinuke setup — creates the config and logging channel.
2

Enable core modules

3

Whitelist trusted staff

,antinuke whitelist add @trusted-mod for each moderator who should be exempt.
4

Enable permissions protection

,antinuke permissions on --do strip to catch privilege escalation attempts.
Start with the strip punishment for most modules. It’s the safest option — it neutralizes the offender by removing their roles without permanently banning them, giving you time to investigate.