Skip to main content
Anti-nuke watches for the damage a hijacked staff account does: mass bans, channels and roles being deleted, webhooks appearing, the server being renamed. When someone crosses a limit you set, Bloom acts on them and, where it can, undoes what they did.
Only the server owner and anti-nuke admins can use these commands. Administrators cannot, which is deliberate, since an administrator account is exactly what an attacker takes over first.

Quick start

1

Turn on protection

The server owner runs !antinuke setup. Every module is enabled, threshold modules are set to 3 actions per minute with roles removed as the punishment, instant modules ban, and recovery is turned on.
2

Name your staff roles

Run !staffroles add @Moderator @Admin. This is what Bloom takes away when it acts. Without it Bloom falls back to removing anything with a dangerous permission, which is much broader.
3

Whitelist trusted bots

Run !antinuke whitelist add @YourBot for bots that legitimately create channels or roles in bulk, so they do not trip a module.
4

Send the logs somewhere

Run !antinuke logchannel #antinuke-logs, and !antinuke logdm on if the owner should be messaged the moment something triggers.
5

Check your work

Run !antinuke config to see every module, threshold, and punishment in one place.

What it watches

Threshold modules count how many times someone does something in a minute and act when the count reaches your limit. Instant modules act the first time.

Who is never acted on

Bloom skips five kinds of actor, in every module:
  • Itself.
  • The server owner.
  • Anti-nuke admins.
  • Anyone on the whitelist.
  • Every bot, if you have turned on !antinuke bots on.
Anti-nuke admins are exempt from anti-nuke. Adding someone to that list makes them immune to the protection, so keep it to accounts you trust with the server itself.

Setting a module

Server owner
Enables everything at recommended settings in one step. Only the server owner can run it, not anti-nuke admins.
Owner or anti-nuke admin
Turns on a threshold module.
  • Threshold: 1 to 10 actions per minute.
  • Punishment: ban, kick, or removeroles.
  • !antinuke enable channeldelete 2 ban bans anyone who deletes two channels within a minute.
Owner or anti-nuke admin
Turns on an instant module. There is no threshold to set.
  • !antinuke enable vanity ban bans whoever changes the vanity URL.
Owner or anti-nuke admin
Turns on every module at once, optionally with a punishment applied across all of them.
Owner or anti-nuke admin
Turns a module off, or all of them.
Owner or anti-nuke admin
Shows every module with its state, threshold, and punishment, plus the log and recovery settings. Aliases: settings, status.

What happens when a module trips

The punishment you chose is applied to the person who did it: removeroles is the default because it stops the damage without losing the person, which matters when the account was stolen rather than turned.
What removeroles actually removes depends entirely on whether you have run staffroles.With staff roles configured, Bloom removes only those roles. Without them, Bloom removes every role carrying Administrator, Manage Server, Manage Roles, Manage Channels, Ban Members, or Kick Members, which can strip far more than you intended.
Bloom never removes the @everyone role, roles managed by another bot or integration, or roles positioned above its own.

Naming your staff roles

Owner or anti-nuke admin
Chooses which roles removeroles takes away. Aliases: staffrole, anroles, antinukeroles.
  • Up to 50 roles.
  • set replaces the whole list, clear empties it and returns Bloom to the broad fallback.
  • !staffroles add @Moderator @Trial Mod adds both.

Putting things back

With recovery on, Bloom tries to reverse the damage as well as stop it:
Owner or anti-nuke admin
Turns recovery on or off. Alias: undo. It is on after antinuke setup.
A recreated channel is a new, empty channel with the same name and position. Its messages are gone, because Discord does not keep them once a channel is deleted.

Admins and the whitelist

Server owner
Manages who can configure anti-nuke besides you. Only the server owner can change this list.
Owner or anti-nuke admin
Exempts an account from every module. Alias: wl. Use it for bots that create or delete things in bulk as part of their normal job.
Owner or anti-nuke admin
When on, no bot is ever acted on. Alias: ignorebots. Whitelisting individual bots is safer than exempting all of them.

Logging

Owner or anti-nuke admin
Sends anti-nuke reports to a specific channel. Alias: log. Without one they go to your moderation log channel. reset returns to that default.
Owner or anti-nuke admin
Direct messages the server owner whenever a module triggers. Alias: dm.
Each report names the account, the action that tripped the module, the count against the threshold, what Bloom did about it, and what recovery it managed.

Removing someone’s access by hand

Administrator
Takes every role with a dangerous permission off a member at once, without waiting for a module to trip. Aliases: destaff, stripperms.
  • Bloom needs: a role above the roles being removed.
  • Removes any role carrying Administrator, Manage Server, Manage Roles, Manage Channels, Ban Members, Kick Members, Manage Messages, Manage Nicknames, Manage Webhooks, Manage Threads, Mute Members, Deafen Members, Move Members, Moderate Members, or View Audit Log.
  • The server owner cannot be stripped.
  • Everyone except the server owner must outrank the target to use it.
This is the command to reach for the moment you suspect an account is compromised. It is faster than editing roles by hand and it does not wait for the account to hit a threshold.

Troubleshooting

Being an Administrator is not enough here. Ask the server owner to run it, or to add you with !antinuke admin add @You.
It is creating or deleting enough in a minute to cross a threshold. Run !antinuke whitelist add @Bot rather than raising the threshold for everyone.
No staff roles are configured, so removeroles fell back to removing everything with a dangerous permission. Run !staffroles add with the roles you actually want removed.
Check !antinuke config for the module’s state. Then check whether the account is exempt: the server owner, an anti-nuke admin, a whitelisted account, or any bot while antinuke bots is on.
They crossed a threshold doing legitimate work. Raise that module’s threshold, or add them to the whitelist if their role involves bulk changes. Their roles can be given straight back.
Discord does not keep the messages in a deleted channel, so nothing can restore them. Only the channel itself comes back.

Permissions and hierarchy

How server owner, anti-nuke admin, and Administrator differ.

Join gate

Screening accounts as they arrive, before they get anywhere near a role.

Event logging

Where anti-nuke reports go by default.

Fake permissions

Give helpers Bloom commands without real Discord permissions to steal.