Docs

Roles and permissions

Who may hand out which role, which roles are given automatically, and who may use the dashboard.

Three separate things

Three modules sit next to each other and are easy to confuse. Auto Roles gives a role to a member who reached something. Role Delegation lets a role hand out another role without Discord's Manage Roles permission. Permissions decides who may open the dashboard and what they see there.

Join Roles is a fourth one and is described on its own page: that gives a role at the moment somebody joins.

Auto Roles

Dashboard → your server → Auto Roles. A rule names one role and one or more conditions. All conditions must match, or any one of them, depending on whether the rule is set to and or or.

A condition is a number and a comparison: messages, days as a member, voice minutes, level, XP or achievements, compared with is at least, is at most, is, is more than or is less than.

A rule can also have its own removal conditions, or simply take the role back when the conditions stop matching. A cooldown of 0 to 1440 minutes keeps it from flipping. Priority runs from 0 to 100 and the highest goes first. The member can be sent a DM with your own message of up to 500 characters.

Rules are evaluated when a member posts a message. The rule list is cached for five minutes, and one member is re-checked at most once every two minutes, so a role can arrive a few minutes after the milestone rather than the same second.

Every assignment and removal is written to a history list, and the page shows the 20 most recent along with the totals.

Warning

Only messages and days as a member are actually counted. Voice minutes, level, XP and achievements are read from a table nothing writes to, so a condition on those four always compares against zero. A rule of "XP is at least 500" never matches; a rule of "XP is at most 10" matches everybody.

Warning

The bot does not check the Auto Roles module switch. A rule that is switched on runs whether or not the module is on. Switch off the rule itself to stop it.

Role Delegation

Dashboard → your server → Role Delegation. A rule pairs an authority role with a target role: anybody holding the authority role may change the target role on other members, without being given Manage Roles in Discord.

Per rule you decide whether the authority may assign, remove, or both. A rule must allow at least one of the two. Assigning the role to yourself is off by default, removing it from yourself is on. A rule can demand a reason, and it can allow a request instead of a direct change.

The settings are a log channel, a request channel, whether the member gets a DM about the change, and whether replies are only visible to the person who ran the command, which is on by default. Three guards are on by default: protect admin roles, protect staff roles and protect roles Discord manages itself.

The module has four screens: the rules, the settings, the open requests and the history of every change, including the ones that failed and why.

Info

Only the server owner or somebody with Manage Guild in Discord can change delegation rules. This is deliberately kept out of the staff role permissions, so a staff role cannot grant itself the power to hand out roles.

Permissions

Dashboard → your server → Permissions. This decides who may use the dashboard for your server. It is not about who may run a command in Discord.

A Discord role is given one of four levels: view, moderate, admin or owner. On top of that a role can be allowed or refused per module.

Two switches sit above the list: whether custom permissions are required at all, and whether the ordinary Discord permissions still count as access.

Staff roles

The same route holds a second, finer list. A staff role has a priority, an optional linked Discord role, an administrator flag, a list of permissions, its members, and action limits: a maximum number of actions of one kind within a time window.

Staff roles are the part the bot reads. It asks the dashboard which permissions a member has and remembers the answer for 60 seconds, so a change takes up to a minute to be felt in Discord.

Commands

/role give

Give a member a role you are allowed to hand out. Takes an optional reason, which some rules require.

/role remove

Take a role back from a member, within the same rules.

/role manage

Show a picker of every role you may assign or remove for one member.

/rolerequest

Ask for a role you cannot assign yourself, on a rule that allows requests.

/rolemanager

Configure delegation from Discord: allow, deny, remove-rule, list, inspect and settings. Needs Manage Guild.

/temprole

Give a member a role for a set duration, for example 1h, 7d or 6M. Needs Manage Roles.

Was this page helpful?