Permissions and Hierarchy
DocsGet Started

Permissions and Hierarchy

Understand user permissions, bot permissions, fake permissions, and Discord hierarchy.

Two permission layers

A command can require permission from the member running it, from Appear itself, or from both. The command cards in these docs list each requirement separately.

  • User permissions decide who can run the command.
  • Bot permissions decide whether Appear can complete the Discord action.
  • Channel overwrites can remove permissions that exist server-wide.
  • Role hierarchy can still block moderation and role changes after permission checks pass.

Inspect effective permissions

The permissions command combines server permissions with channel overwrites. It defaults to you and the current channel, or accepts another member and channel.

moderation

,permissions

Lists which permissions a member has and does not have in a channel, combining their server-wide permissions with that channel's overwrites. Defaults to you in the current channel.

,permissions [user] [channel]
Example,permissions @user #channel
Arguments
userOptional
channelOptional
User permissionsManage Channels, Manage Roles
Open in command browser

Fake permissions

Some commands accept Appear's fake-permission system through the bot's custom permission attribute. This grants access to supported commands without granting the underlying Discord permission. It does not let Appear bypass its own missing permissions or Discord role hierarchy.

configuration

,fakepermissions

Set up fake permissions for roles through the bot.

,fakepermissions <grant/revoke/list/reset> [role] [permission]
Example,fakepermissions grant @mod ban_members
Open in command browser
configuration

,fakepermissions list

Lists the fake permissions granted to a role, or to every role when no role is given.

,fakepermissions list [role]
Example,fakepermissions list @role
Arguments
roleOptional
Open in command browser
configuration

,fakepermissions add

Grants a role a fake permission, letting anyone with that role use appear commands gated behind it without holding the real Discord permission.

,fakepermissions add <role> <permission>
Example,fakepermissions add @role permission
Arguments
roleRequired
permissionRequired
Open in command browser
configuration

,fakepermissions remove

Takes a fake permission away from a role.

,fakepermissions remove <role> <permission>
Example,fakepermissions remove @role permission
Arguments
roleRequired
permissionRequired
Open in command browser

Common fix