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

# Fake permissions

> Let moderators use Bloom's moderation commands without holding the real Discord permissions that make a rogue account dangerous.

Fake permissions let a member or role use permission-gated **Bloom commands** without holding the matching Discord permission.

## Why use them

A moderator with real Ban Members can ban through Discord's own interface, through any other bot, and through a script hitting the API directly. If that account is compromised or turns hostile, nothing in your server limits the damage.

Give them a fake Ban Members instead and the picture changes: they can still run `!ban`, and every ban goes through Bloom, where it is logged with a case number and subject to your anti-nuke thresholds. Outside Bloom, Discord still sees an ordinary member with no ban rights.

## What a fake permission does and does not do

|                                     | Real Ban Members | Fake `ban_members` |
| ----------------------------------- | ---------------- | ------------------ |
| Run Bloom's `!ban`                  | Yes              | Yes                |
| Ban from Discord's right-click menu | Yes              | No                 |
| Ban through another bot or a script | Yes              | No                 |
| Appears in Discord's role settings  | Yes              | No                 |

Bloom still performs the action with its **own** permissions and role position, so Bloom needs the real permission even when the moderator does not.

## Which permission does a command need

Run `!help <command>`. The reply has a **Required Permissions** field naming what the command checks, and that is the permission to grant.

```text theme={null}
!help ban
```

## Granting them

<Warning>
  Only the **server owner** and **anti-nuke admins** can manage the fake permission list. Administrators cannot, though they already pass every Bloom check without needing one.
</Warning>

<ParamField path="fakepermissions <grant|remove|clear|list|config|perms>" type="Owner or anti-nuke admin">
  Aliases: `fakeperms`, `fp`, `fakeperm`.

  * `!fp grant <@role|@user> <permissions>` grants one or more, comma or space separated.
  * `!fp remove <@role|@user> <permission>` removes one.
  * `!fp clear <@role|@user>` removes all of a target's.
  * `!fp list <@role|@user>` shows what a target has.
  * `!fp config` lists every fake permission set in the server.
  * `!fp perms` lists the names you can grant.
</ParamField>

```text Grant a role two permissions theme={null}
!fp grant @Helper ban, timeout
```

Bloom confirms `Granted to Helper: Ban Members, Timeout Members`. Names accept friendly aliases, so `ban` and `ban_members` do the same thing. The full list is in the [Permission reference](/reference/permissions#fake-permissions).

## Recommended setups

Grant to a role rather than to individuals, so access follows the role.

<Tabs>
  <Tab title="Trainee">
    Enough to handle chat problems, nothing that removes a member.

    * `manage_messages` — delete messages and purge
    * `moderate_members` — timeout members

    ```text theme={null}
    !fp grant @Trainee manage_messages, moderate_members
    ```
  </Tab>

  <Tab title="Moderator">
    The usual working set for day-to-day moderation.

    * `manage_messages` — delete messages and purge
    * `moderate_members` — timeout members
    * `manage_nicknames` — rename members
    * `kick_members` — kick members

    ```text theme={null}
    !fp grant @Moderator manage_messages, moderate_members, manage_nicknames, kick_members
    ```
  </Tab>

  <Tab title="Senior moderator">
    Adds bans and role management.

    * Everything a moderator has
    * `ban_members` — ban and unban
    * `manage_roles` — assign roles below Bloom's own

    ```text theme={null}
    !fp grant @Senior manage_messages, moderate_members, manage_nicknames, kick_members, ban_members, manage_roles
    ```
  </Tab>

  <Tab title="Co-owner">
    Every Bloom command, with no Discord powers attached.

    * `administrator` — passes every Bloom permission check

    ```text theme={null}
    !fp grant @Co-owner administrator
    ```

    <Warning>
      A fake `administrator` clears the check on every Bloom command, including destructive ones such as `role remove everyone` and mass purges. Grant it to people you would trust with the server itself.
    </Warning>
  </Tab>
</Tabs>

## What can receive them

* A **member** or a **role**. A role grant applies to everyone who has it.
* The **@everyone** role cannot receive fake permissions.
* **Managed roles**, meaning roles controlled by a bot or integration, cannot either.

## Where they sit in a permission check

Bloom accepts a command if you are the server owner, hold Administrator, hold the real Discord permission, **or** hold a matching fake permission. Fake permissions are checked last, so they only matter for members who would otherwise be refused.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Only the server owner and Antinuke admins can manage fake permissions">
    You are an administrator, not the owner or an anti-nuke admin. Ask the server owner to run the command, or to add you as an anti-nuke admin.
  </Accordion>

  <Accordion title="The grant worked but the command still fails">
    Read which side Bloom names. "I need the following permissions" is about Bloom's own access, which a fake permission never changes. Give Bloom's role the real permission.
  </Accordion>

  <Accordion title="It works for the command but the action does nothing">
    The member passed Bloom's check, but the action still needs Bloom's role to rank above the target. Move Bloom's role up.
  </Accordion>

  <Accordion title="A booster or bot role cannot be granted anything">
    Managed roles and @everyone are excluded. Grant to a normal role, or to the members directly.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Permissions and hierarchy" icon="user-lock" href="/getting-started/permissions">
    How Bloom decides who may run a command.
  </Card>

  <Card title="Permission reference" icon="table-list" href="/reference/permissions">
    Every name you can grant, with its aliases.
  </Card>

  <Card title="Bans, kicks, and timeouts" icon="gavel" href="/moderation/punishments">
    The commands you are most likely to delegate.
  </Card>

  <Card title="Permission errors" icon="circle-question" href="/troubleshooting/permissions">
    Working out why a command was refused.
  </Card>
</CardGroup>
