Skip to content

Discord Permissions

Discord users role based authorization for server administration. Below is an example of how you might go about supporting the same level of control but using scopie and permission based actions.

Not all discord permissions are listed below.

Server actions

Our structure for discord permissions is (allow or deny):server/<server_id>/<group>/<verb>. This is to allow us to define permissions across different servers while allowing us to also create different namespaces for permissions separate from servers later. It is also possible to separate server permissions completely from other servers, rather then trying to compare the server id within the permission.

Group Action Description
channels create Create new channels
channels update Update channel values
channels view View channels
expressions create Add custom emojis, stickers, and sounds
expressions update Update existing custom expressions
expressions remove Remove custom expressions
webhooks create Create new webhooks
webhooks update Update existing webhooks
webhooks remove Remove webhooks
members kick Kick other members
members ban Ban other members
members invite Invite new members
messages send Able to send messages
messages threads Able to send messages to threads
messages links Able to send links in messages
messages files Able to send files in messages
messages reactions Able to react to messages

Example Permissions

Here are a small list of examples permissions. Note that not all of these are practical and would be used in a real scenario.

Super wildcards

Permission Description
allow:** Access to everything
allow:server/** Access to everything on any server
allow:server/<server_id>/** Access to everything on one server
allow:server/<server_id>/<group>/** Access all actions related to a group

Note that the last example woudl work the same with a normal wildcard.

Wildcards

Permission Description
allow:server/*/... Access to actions on any server
allow:server/<server_id>/*/... Access to actions on one server