HelpPermissions

Permissions

We have implemented a custom permissions system that allows users to give others access to individual commands.

Info

Users with Discord administrator permissions and server owners are ignored by the permissions system. They have to execute any command.

How does it work?

The bot first checks if the user is the owner of the server or has a role with Discord Administrator permissions. If this isn’t the case, it checks what permissions have been granted to the user directly and to their roles. If any of their roles have permission, he will be able to execute the command that requires that permission.

Example

The user has Role A and Role B. Role A has been granted the MANAGE_TASKS and MANAGE_PROJECTS permissions. Role B has only been granted the SET_STATE permission and no others. Because the user has both roles, they can create tasks, set tasks state and create projects.

Grant permissions

Permissions can be granted by running the permission grant command. After a permission was added, the bot will apply the changes immediately and the user can run the command that requires the permission.

Revoke permissions

Permissions can be revoked by executing the permission revoke command.

Warning

Even after revoking a user’s permissions, they may still have access to certain commands through their roles that provide the same permissions.

Project based permissions

All permissions can be granted to a user or role for a specific project. This means that the user or role will only have access to the command if they specify the project in the command or have the project selected. This will work only on commands that have a project option. Use it with caution.

The project will be determined by the following order:

  1. The project specified in the command
  2. The project of a task that is specified in the command
  3. When a project could be specified in the command, but isn’t, the user’s selected project will be used

Whichever condition is met first will be used to determine the project.

Permission presets

Permission presets are an easy way to grant a user or role multiple permissions at once. They can be used to grant a basic set of permissions to a user or role specific to a role in the server.

When a preset is applied, all permissions that are already granted to the user or role will be removed and replaced with the permissions of the preset. After applying a preset, more permissions can be granted to the user or role. The permissions granted by the preset can be revoked too.

Available presets

Preset namePermissions granted
adminIncludes every permission available
contributor- MANAGE_TOPICS
- MANAGE_DOCUMENTS
- READ_DOCUMENTS
- MANAGE_TASKS
- VIEW_TASKS
- SET_STATE
- CREATE_PERSONAL_PROJECTS
- MANAGE_MILESTONES
guest- VIEW_TASKS
- READ_DOCUMENTS

How does it work?

BotPermissionUse case
Task ManagerVIEW_TASKSIs required to view tasks (for example via “/task list” and for viewing projects)
Task ManagerSET_STATEIs required to update the state (todo, in progress, done) of a task.
Task ManagerMANAGE_TASKSIs required to create, delete, edit, assign, unassign and restore a task.
Task ManagerMANAGE_MILESTONESRequired to create, edit or delete milestones
Knowledge ManagerREAD_DOCUMENTSIs required to read a document and list all documents and viewing projects
Knowledge ManagerMANAGE_DOCUMENTSIs required if a user needs to create, edit, change the topic, delete and restore a document.
Knowledge ManagerMANAGE_TOPICSIs required to create, rename, delete and restore a topic and all of its documents.
Task Manager, Knowledge ManagerMANAGE_PROJECTSIs required to create, rename, delete and restore projects.
Task Manager, Knowledge ManagerCREATE_PERSONAL_PROJECTSIs required to create a personal project
Calendar ManagerCREATE_EVENTSIs required to create a new event.
Task Manager, Calendar Manager, Knowledge ManagerMANAGE_PERMISSIONSIs required to show all permissions, grant or revoke permissions
Task Manager, Calendar Manager, Knowledge ManagerMANAGE_SETTINGSRequired to change settings by the /settings command

Example

Info

To understand the concept of permissions, take a look at the permissions page.

/permission grant
mentionable
@User
permission
MANAGE_TASKS
project
My Project
This will grant the mentioned user or role the specified permission.

Command Options

RequiredNameDescription
YesmentionableThe user or role to grant the permission to.
YespermissionThe permission to grant.
NoprojectA name of an existing project if the permissions should be granted only on a project level.
Required permission: MANAGE_PERMISSIONS
/permission revoke
mentionable
@User
permission
MANAGE_TASKS
project
My Project
Removes specified permisson from mentioned user. Users or roles with administrator permissions & server owners won't be affected by this. If the user has a role with the permission granted, he can still execute commands requiring that permission.

Command Options

RequiredNameDescription
YesmentionableThe user or role to revoke the permission from.
YespermissionThe permission to revoke.
NoprojectA name of an existing project if the permissions should be revoked only on a project level.
Required permission: MANAGE_PERMISSIONS
/permission list
mentionable
@User
project
My Project
This will display all permissions and show if the user has the permission.

Command Options

RequiredNameDescription
YesmentionableThe user or role to list permissions for.
NoprojectA name of an existing project if the permissions should be listed only on a project level.
Required permission: MANAGE_PERMISSIONS
/permission preset
preset
contributor
mentionable
@User
project
My Project
Apply a preset to a user or role. Presets are a collection of permissions.

Command Options

RequiredNameDescription
YespresetThe name of the preset to apply.
YesmentionableThe user or role to apply the preset to.
NoprojectA name of an existing project if the preset should be applied only on a project level.
Required permission: MANAGE_PERMISSIONS

Social Media

X (Twitter)

Instagram

Discord

GitHub

YouTube

WhatsApp

bnder logo