> ## Documentation Index
> Fetch the complete documentation index at: https://docs.p2w.lol/llms.txt
> Use this file to discover all available pages before exploring further.

# Antinuke

> Impose restrictions on moderators to prevent destructive behavior.

## Why use an antinuke system?

It's important to have an antinuke system in place to prevent moderators from abusing their permissions. This is a security measure which lets your server stay safe from any harmful actions.

## How does the antinuke work?

The antinuke will set a limit on the number of actions a moderator can perform in a certain time frame. If the limit is exceeded, the moderator will be punished and a message will be sent to the owner.

## Configuring the antinuke

<Warning>
  Discord recently implemented a new **mass ban** feature which can quickly ban **100+ members**. It's **HIGHLY** recommended to utilize fake permissions to prevent moderators from using feature.
</Warning>

### Allowing users to configure the antinuke

Initially, only the **server owner** can configure the antinuke. However, you can allow other users to configure the antinuke with the `antinuke admin` command.

<Warning>
  This is a dangerous command and will allow the user to entirely alter the antinuke configuration.
</Warning>

<CodeGroup>
  ```typescript Syntax theme={null}
  .antinuke admin (user)
  ```

  ```typescript Example theme={null}
  .antinuke admin @h.azard
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/5HnzK5bnIsp0dmwc/images/Screenshot-2026-04-13-at-2.30.32-PM.png?fit=max&auto=format&n=5HnzK5bnIsp0dmwc&q=85&s=9d4e261b30e46cbc4da00aea1aafcdee" alt="Screenshot 2026 04 13 At 2 30 32 PM" width="1306" height="736" data-path="images/Screenshot-2026-04-13-at-2.30.32-PM.png" />
</Frame>

### Exempting users from antinuke

You can exempt users from the antinuke with the `antinuke whitelist` command.

<Warning>
  This is a dangerous command and will allow the user to bypass the antinuke entirely.
</Warning>

<CodeGroup>
  ```typescript Syntax theme={null}
  .antinuke whitelist (user)
  ```

  ```typescript Example theme={null}
  .antinuke whitelist @h.azard
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/5HnzK5bnIsp0dmwc/images/Screenshot-2026-04-13-at-2.33.13-PM.png?fit=max&auto=format&n=5HnzK5bnIsp0dmwc&q=85&s=77bc4d6aa9d11e3130ee7ebfa9962ddb" alt="Screenshot 2026 04 13 At 2 33 13 PM" width="1188" height="702" data-path="images/Screenshot-2026-04-13-at-2.33.13-PM.png" />
</Frame>

### Enabling an antinuke module

#### Available flags

The following flags can be used to define the antinuke module

<AccordionGroup>
  <Accordion title="Threshold">
    The threshold is the number of actions a moderator can perform before being punished.

    <Info>
      It's recommended to keep the threshold between `1` and `6` to stay safe.
    </Info>

    <CodeGroup>
      ```typescript Syntax theme={null}
      --threshold (number)
      ```

      ```typescript Example theme={null}
      --threshold 3
      ```
    </CodeGroup>
  </Accordion>
</AccordionGroup>

<Accordion title="Punishment">
  The punishment which will be applied to the moderator.

  <Info>
    Available punishments can be found in the [**punishments**](https://docs.bleed.bot/resources/syntax#flag-punishments) section.
  </Info>

  <CodeGroup>
    ```typescript Syntax theme={null}
    --do (punishment)
    ```

    ```typescript Example theme={null}
    --do ban
    ```
  </CodeGroup>
</Accordion>

<AccordionGroup>
  <Accordion title="Threshold">
    Whether drown commands should be counted towards the threshold. (e.g. `,ban`)

    <CodeGroup>
      ```typescript Syntax theme={null}
      --command (on | off)
      ```

      ```typescript Example theme={null}
      --command on
      ```
    </CodeGroup>
  </Accordion>
</AccordionGroup>

#### Available Modules

<Accordion title="Punishing members for changing the vanity URL">
  You can prevent members from changing the vanity URL with the following command

  <Warning>
    drown can not change the vanity URL back to the original due to discord limitations
  </Warning>

  <CodeGroup>
    ```typescript Syntax theme={null}
    .antinuke set vanity (on or off) [--do (punishment)]
    ```

    ```typescript Example theme={null}
    .antinuke set vanity on --do ban
    ```
  </CodeGroup>

  <Frame>
    <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.44.34-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=62dcf412506d0c1b05baf9a517c581b0" alt="Screenshot 2026 04 13 At 10 44 34 PM" width="1240" height="372" data-path="images/Screenshot-2026-04-13-at-10.44.34-PM.png" />
  </Frame>
</Accordion>

<Accordion title="Preventing bots from being added">
  You can prevent bots from being mass added with the following command

  <Info>
    You'll need to use `antinuke whitelist (bot ID)` to invite bots.
  </Info>

  <CodeGroup>
    ```typescript Syntax theme={null}
    .antinuke set botadd (on or off)
    ```

    ```typescript Example theme={null}
    .antinuke set botadd on
    ```
  </CodeGroup>

  <Frame>
    <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.48.45-PM-1.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=4d5dfe7d5aa92a1290c0421ba2ef9394" alt="Screenshot 2026 04 13 At 10 48 45 PM 1" width="912" height="364" data-path="images/Screenshot-2026-04-13-at-10.48.45-PM-1.png" />
  </Frame>
</Accordion>

<Accordion title="Prevent members from being banned">
  You can prevent members from being mass banned with the following command

  <Info>
    It's recommended to include the `--command on` flag.
  </Info>

  <CodeGroup>
    ```typescript Syntax theme={null}
    .antinuke set ban (on or off) [--threshold (number)] [--do (punishment)] [--command (on | off)]
    ```

    ```typescript Example theme={null}
    .antinuke set ban on --threshold 3 --do ban --command on
    ```
  </CodeGroup>

  <Frame>
    <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.51.14-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=eec3e30818a7370f10c85a1f2d6d05de" alt="Screenshot 2026 04 13 At 10 51 14 PM" width="1356" height="408" data-path="images/Screenshot-2026-04-13-at-10.51.14-PM.png" />
  </Frame>
</Accordion>

<Accordion title="Preventing members from being kicked">
  You can prevent members from being mass kicked with the following command

  <Info>
    It's recommended to include the `--command on` flag.
  </Info>

  <CodeGroup>
    ```typescript Syntax theme={null}
    .antinuke set kick (on or off) [--threshold (number)] [--do (punishment)] [--command (on | off)]
    ```

    ```typescript Example theme={null}
    .antinuke set kick on --threshold 3 --do ban --command on
    ```
  </CodeGroup>

  <Frame>
    <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.53.31-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=d05df8cdbeeaee4a09361475db188e62" alt="Screenshot 2026 04 13 At 10 53 31 PM" width="1358" height="398" data-path="images/Screenshot-2026-04-13-at-10.53.31-PM.png" />
  </Frame>
</Accordion>

<Accordion title="Preventing roles from being deleted">
  You can prevent roles from being mass deleted with the following command

  <Info>
    It's recommended to include the `--command on` flag.
  </Info>

  <CodeGroup>
    ```typescript Syntax theme={null}
    .antinuke set role (on or off) [--threshold (number)] [--do (punishment)] [--command (on | off)]
    ```

    ```typescript Example theme={null}
    .antinuke set role on --threshold 3 --do ban --command on
    ```
  </CodeGroup>

  <Frame>
    <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.56.08-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=4838ecfc5a66b3a238bfdf14f17a9691" alt="Screenshot 2026 04 13 At 10 56 08 PM" width="1356" height="396" data-path="images/Screenshot-2026-04-13-at-10.56.08-PM.png" />
  </Frame>
</Accordion>

<Accordion title="Preventing channels from being created or deleted">
  You can prevent channels from being mass created or deleted with the following command

  <CodeGroup>
    ```typescript Syntax theme={null}
    .antinuke set channel (on or off) [--threshold (number)] [--do (punishment)]
    ```

    ```typescript Example theme={null}
    .antinuke set channel on --threshold 3 --do ban
    ```
  </CodeGroup>

  <Frame>
    <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.57.26-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=7668e949d61c7737c514ef08b451aa48" alt="Screenshot 2026 04 13 At 10 57 26 PM" width="1378" height="374" data-path="images/Screenshot-2026-04-13-at-10.57.26-PM.png" />
  </Frame>
</Accordion>

<Accordion title="Prevent emojis from being deleted">
  You can prevent emojis from being mass deleted with the following command

  <CodeGroup>
    ```typescript Syntax theme={null}
    .antinuke set emoji (on or off) [--threshold (number)] [--do (punishment)]
    ```

    ```typescript Example theme={null}
    .antinuke set emoji on --threshold 3 --do ban
    ```
  </CodeGroup>

  <Frame>
    <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.58.48-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=fc80567b87fcda3b55da975fdefebb57" alt="Screenshot 2026 04 13 At 10 58 48 PM" width="1340" height="386" data-path="images/Screenshot-2026-04-13-at-10.58.48-PM.png" />
  </Frame>
</Accordion>

<Accordion title="Preventing webhooks from being created">
  You can prevent webhooks from being mass created with the following command

  <CodeGroup>
    ```typescript Syntax theme={null}
    .antinuke set webhook (on or off) [--threshold (number)] [--do (punishment)]
    ```

    ```typescript Example theme={null}
    .antinuke set webhook on --threshold 3 --do ban
    ```
  </CodeGroup>

  <Frame>
    <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-11.01.34-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=36acdaba7532e8cabc83023bb36aea57" alt="Screenshot 2026 04 13 At 11 01 34 PM" width="1350" height="364" data-path="images/Screenshot-2026-04-13-at-11.01.34-PM.png" />
  </Frame>
</Accordion>

<Accordion title="Preventing members from being pruned">
  You can prevent members from being mass pruned with the following command

  <CodeGroup>
    ```typescript Syntax theme={null}
    .antinuke set prune (on or off) [--do (punishment)]
    ```

    ```typescript Example theme={null}
    .antinuke set prune on --do ban
    ```
  </CodeGroup>

  <Frame>
    <img src="https://mintcdn.com/drown/EfdUcDQ-XnujrbtI/images/Screenshot-2026-05-08-at-1.22.38-PM.png?fit=max&auto=format&n=EfdUcDQ-XnujrbtI&q=85&s=6dcc5497f3404dab38766e059d1d2efd" alt="Screenshot 2026 05 08 At 1 22 38 PM" width="1302" height="362" data-path="images/Screenshot-2026-05-08-at-1.22.38-PM.png" />
  </Frame>
</Accordion>

### Disabling an antinuke module

You can disable an antinuke module with the same command you used to enable it, but with the status set to `off`.

<Frame>
  <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.46.26-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=4bb7fec7a44a0f335e129e2e35eb154d" alt="Screenshot 2026 04 13 At 10 46 26 PM" width="918" height="372" data-path="images/Screenshot-2026-04-13-at-10.46.26-PM.png" />
</Frame>

### Viewing the antinuke configuration

You can use the `antinuke config` command to view the current antinuke configuration.

<Frame>
  <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.27.41-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=a88c8f1573b1005004ac7dd0e8822df4" alt="Screenshot 2026 04 13 At 10 27 41 PM" width="1212" height="818" data-path="images/Screenshot-2026-04-13-at-10.27.41-PM.png" />
</Frame>

### Enabling and disabling the antinuke system

You can enable or disable the antinuke system using `antinuke enable` or `antinuke disable`.

<Frame>
  <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.29.39-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=cdca3ac14031f2770f8df0332802749f" alt="Screenshot 2026 04 13 At 10 29 39 PM" width="1060" height="354" data-path="images/Screenshot-2026-04-13-at-10.29.39-PM.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.29.45-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=9c4a513fe5b60d2bb40997dfa4fca7b5" alt="Screenshot 2026 04 13 At 10 29 45 PM" width="1016" height="362" data-path="images/Screenshot-2026-04-13-at-10.29.45-PM.png" />
</Frame>

### Protection Role

The protection role feature creates a role called **drown protection** with `administrator` permissions and assigns it to the bot as a backup permission layer. This ensures the bot always retains its permissions even if someone attempts to strip them.

<Warning>
  **Do not delete the `drown protection` role manually.** The bot will automatically recreate and reassign it. The role is defended autonomously — if it is deleted, has its permissions removed, or is taken away from the bot, it will be immediately restored.
</Warning>

You can enable or disable the protection role using the `antinuke protectionrole` command (alias: `protrole`).

<CodeGroup>
  ```typescript Syntax theme={null}
  .antinuke protectionrole (on or off)
  ```

  ```typescript Example theme={null}
  .antinuke protectionrole on
  ```
</CodeGroup>

When enabling, the bot will prompt you to confirm before creating the role. On approval, it will:

* Create the **drown protection** role with `administrator` permissions
* Assign the role to itself
* Position the role just below its highest role in the hierarchy

To disable, the bot will remove the role entirely and stop defending it.

<Info>
  The protection role panel is also accessible from the interactive `antinuke` config panel via the **Protection Role** button.
</Info>

### Viewing the modules & whitelist

You can use the `antinuke list` command to view the enabled modules and whitelisted users.

<Frame>
  <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.31.17-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=920a2a617b13f6e37d3856928e58b4c8" alt="Screenshot 2026 04 13 At 10 31 17 PM" width="1130" height="910" data-path="images/Screenshot-2026-04-13-at-10.31.17-PM.png" />
</Frame>

### Viewing users with antinuke admin

You can use the `antinuke admins` command to view users which can configure the antinuke.

<Frame>
  <img src="https://mintcdn.com/drown/suum5IE-gTYJ5728/images/Screenshot-2026-04-13-at-10.32.18-PM.png?fit=max&auto=format&n=suum5IE-gTYJ5728&q=85&s=660b846342bee1defa695f1530ae37b4" alt="Screenshot 2026 04 13 At 10 32 18 PM" width="822" height="504" data-path="images/Screenshot-2026-04-13-at-10.32.18-PM.png" />
</Frame>

### Permissions available for `antinuke permissions (grant or remove)`

##### **Antinuke Permissions**

* `administrator`
* `ban_members`
* `mention_everyone`
* `kick_members`
* `moderate_members`
* `manage_guild`
* `manage_channels`
* `manage_roles`
* `view_audit_log`
* `manage_webhooks`
* `manage_expressions`
* `manage_nicknames`
