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

# Fake Permissions

> Give users or roles temporary access to jar commands.

## Introduction

Fake permissions allow you to grant users or roles **temporary access to jar commands**,
without needing to modify their **actual permissions** in the server.

This is useful for giving users access to commands they normally wouldn't have,
such as moderation commands, without making them moderators.

For example, if you give a role the `Kick Members` fake permission,
users with that role will be able to use the `kick` command through **jar**,
even if they don't have the `Kick Members` permission in **Discord**.

<Warning>
  Fake permissions can only be added by the **Server Owner**,
  due to the potential security risks involved.
</Warning>

## Recommended permissions

Here are some recommended permissions to consider when granting fake permissions:

<Tabs>
  <Tab title="Moderator" icon="user-police">
    * `Manage Messages`: Allows the user/role to delete messages.
    * `Timeout Members`: Allows the user/role to mute (timeout) members.
    * `Manage Nicknames`: Allows the user/role to change nicknames of members.
    * `Kick Members`: Allows the user/role to kick members from the server.
  </Tab>

  <Tab title="Administrator" icon="user-shield">
    * `Manage Messages`: Allows the user/role to delete messages.
    * `Timeout Members`: Allows the user/role to mute (timeout) members.
    * `Manage Nicknames`: Allows the user/role to change nicknames of members.
    * `Manage Roles`: Allows the user/role to manage roles in the server.
    * `Ban Members`: Allows the user/role to ban members from the server.
    * `Kick Members`: Allows the user/role to kick members from the server.
  </Tab>

  <Tab title="Co-Owner" icon="crown">
    * `Administrator`: Grants all permissions to the user/role.
  </Tab>
</Tabs>

## Adding a fake permission

To add a fake permission, you'll need to run the following command:

<CodeGroup>
  ```ruby Syntax theme={null}
  fakepermissions add <user or role>
  ```

  ```ruby Example theme={null}
  ,,fakepermissions add @jaradc
  ,,fakepermissions add @Moderator
  ```
</CodeGroup>

jar will then prompt you to select the permissions you want to give the user or role.

<Frame caption="Fake permission addition prompt">
  <img src="https://mintcdn.com/jarinc/A4GghNGPwdWr9LoP/images/security/fake-perms/fp-add-prompt.png?fit=max&auto=format&n=A4GghNGPwdWr9LoP&q=85&s=d04af4ca84a360fe3b9e8a3fe760fbde" alt="Fake permission addition prompt" width="876" height="486" data-path="images/security/fake-perms/fp-add-prompt.png" />
</Frame>

You can select multiple permissions at once.

<Frame caption="Fake permission addition selection">
  <img src="https://mintcdn.com/jarinc/A4GghNGPwdWr9LoP/images/security/fake-perms/fp-add-selection.png?fit=max&auto=format&n=A4GghNGPwdWr9LoP&q=85&s=f3d7869fe3feb0bbd453aa881fe6bac6" alt="Fake permission addition selection" width="896" height="516" data-path="images/security/fake-perms/fp-add-selection.png" />
</Frame>

Once you've selected the permissions you want to give, jar will confirm the addition by showing you the selected permissions.

<Frame caption="Fake permission addition confirmation">
  <img src="https://mintcdn.com/jarinc/A4GghNGPwdWr9LoP/images/security/fake-perms/fp-add-confirm.png?fit=max&auto=format&n=A4GghNGPwdWr9LoP&q=85&s=1523886c12bea3dc4e7c49de89c99bf7" alt="Fake permission addition confirmation" width="930" height="362" data-path="images/security/fake-perms/fp-add-confirm.png" />
</Frame>

## Editing a fake permission

To edit a fake permission, you'll need to run the following command:

<CodeGroup>
  ```ruby Syntax theme={null}
  fakepermissions edit <user or role>
  ```

  ```ruby Example theme={null}
  ,,fakepermissions edit @jaradc
  ,,fakepermissions edit @Moderator
  ```
</CodeGroup>

jar will then prompt you to select the permissions you want to edit.

<Frame caption="Fake permission edit prompt">
  <img src="https://mintcdn.com/jarinc/A4GghNGPwdWr9LoP/images/security/fake-perms/fp-edit-prompt.png?fit=max&auto=format&n=A4GghNGPwdWr9LoP&q=85&s=c8e80fe1a41a6478eaa2b63c737786d7" alt="Fake permission edit prompt" width="882" height="496" data-path="images/security/fake-perms/fp-edit-prompt.png" />
</Frame>

Once you've selected the permissions you want to edit, jar will confirm the changes by showing you the selected permissions.

<Frame caption="Fake permission edit confirmation">
  <img src="https://mintcdn.com/jarinc/A4GghNGPwdWr9LoP/images/security/fake-perms/fp-edit-confirm.png?fit=max&auto=format&n=A4GghNGPwdWr9LoP&q=85&s=0375b5e9e512701a2ffb2559852ac318" alt="Fake permission edit confirmation" width="1078" height="370" data-path="images/security/fake-perms/fp-edit-confirm.png" />
</Frame>

## Removing a fake permission

To remove a fake permission, you'll need to run the following command:

<CodeGroup>
  ```ruby Syntax theme={null}
  fakepermissions remove <user or role>
  ```

  ```ruby Example theme={null}
  ,,fakepermissions remove @jaradc
  ,,fakepermissions remove @Moderator
  ```
</CodeGroup>

jar will then confirm the removal by showing you the removed permissions.

<Frame caption="Fake permission removal confirmation">
  <img src="https://mintcdn.com/jarinc/A4GghNGPwdWr9LoP/images/security/fake-perms/fp-remove-confirm.png?fit=max&auto=format&n=A4GghNGPwdWr9LoP&q=85&s=c95657f2da2d1f3b3379d617e585058a" alt="Fake permission removal confirmation" width="922" height="330" data-path="images/security/fake-perms/fp-remove-confirm.png" />
</Frame>

## Removing all fake permissions

To remove all fake permissions for the server, you can use the following command:

<CodeGroup>
  ```ruby Syntax theme={null}
  fakepermissions reset
  ```

  ```ruby Example theme={null}
  ,,fakepermissions reset
  ```
</CodeGroup>

jar will prompt you to confirm the removal of all fake permissions.

<Frame caption="Fake permission reset prompt">
  <img src="https://mintcdn.com/jarinc/A4GghNGPwdWr9LoP/images/security/fake-perms/fp-reset-prompt.png?fit=max&auto=format&n=A4GghNGPwdWr9LoP&q=85&s=55a900b4dc4dd3cc988a68fab1980283" alt="Fake permission reset prompt" width="1090" height="424" data-path="images/security/fake-perms/fp-reset-prompt.png" />
</Frame>

## Viewing all fake permissions

To view all fake permissions in the server, you can use the following command:

<CodeGroup>
  ```ruby Syntax theme={null}
  fakepermissions list
  ```

  ```ruby Example theme={null}
  ,,fakepermissions list
  ```
</CodeGroup>

jar will display a list of all users and roles, along with the permissions they have been granted.

<Frame caption="Fake permission list">
  <img src="https://mintcdn.com/jarinc/A4GghNGPwdWr9LoP/images/security/fake-perms/fp-list.png?fit=max&auto=format&n=A4GghNGPwdWr9LoP&q=85&s=28576fd093bf904a61a4fa660579723b" alt="Fake permission list" width="1122" height="676" data-path="images/security/fake-perms/fp-list.png" />
</Frame>
