Roles
Two ways to hand out roles without staff doing it by hand: panels members click for themselves, and roles that remove themselves when their time is up.
Where: Dashboard โ Members โ Roles ยท In Discord: /selfroles and /temprole
#Self role panels
A panel is a message with buttons or a dropdown. Members pick the roles they want, and take them back off the same way. Use them for ping roles, event access, department interest, or anything a member should be able to opt in and out of on their own.
#Build a panel
- Name it. Type a name under New panel name and press Create panel. The name is internal; it is how you find the panel again, and no two panels can share one.
- Add the roles. Pick a role under Add a role, optionally type a Button label (it defaults to the role name), and press Add role.
- Set the text and limits, then press Save text and limits.
- Post it. Choose a channel under Post to channel and press Post panel.
| Setting | What it does |
|---|---|
| Heading | The panel's title. |
| Body text | The paragraph under the title. |
| Style | Buttons (five to a row, best for a handful of roles) or Dropdown (one select menu, best for many). |
| How many | Multiple roles lets a member hold any combination. One role only swaps their pick, so the panel behaves like a radio group. |
| Max roles | How many roles from this panel one member may hold. 0 means unlimited, and the cap is ignored when the panel is set to one role only. |
| Required role | Only members with this role can use the panel. Leave it unset for everyone. |
| Post to channel | Where the panel message goes. |
A panel holds at most 25 roles, which is Discord's ceiling for a dropdown and for five rows of buttons alike.
Editing a panel that is already posted updates the live message in place. Posting again replaces the earlier copy rather than leaving two panels behind. Deleting a panel deletes its message too: roles members already hold are left alone.
#What the panel refuses
FiveUnity checks each role when you add it and again before the panel is posted, so a panel never ships a button that cannot work. A role is refused when it no longer exists, is managed by an integration (a bot role or the Nitro booster role), is @everyone, sits at or above FiveUnity's own highest role, or when FiveUnity is missing Manage Roles.
Roles a member holds from outside the panel are never touched.
#In Discord
/selfroles needs Manage Roles and does everything the dashboard does:
/selfroles create name: title: description: style: mode: max_roles: required_role:/selfroles add name: role: label: description: emoji:: thedescriptionandemojioptions are Discord-only; the dashboard's Add a role takes a label/selfroles remove name: role:/selfroles send name: channel:/selfroles list: every panel with its style, mode, role count and where it is posted/selfroles delete name:
Pressing a button or using the dropdown is open to every member. That is the point of the feature.
#Temporary roles
Grant a role with a duration and FiveUnity takes it back when the clock runs out. Handy for trial staff, timed whitelist access, event access, and gang probation.
#Grant one
From the dashboard, fill in Member id (right click the member in Discord and choose Copy User ID), pick a Role, set a Duration and an optional Reason, then press Grant temporary role.
In Discord it is one command: /temprole add user:@Member role:@Trial Staff duration:2w reason:Trial period. /temprole needs Manage Roles and replies privately.
#Durations
A whole number and a unit: m minutes, h hours, d days, w weeks. For example 30m, 12h, 3d, 2w. The shortest grant is 1 minute and the longest is 1 year. Anything else is refused, including bare numbers, decimals and seconds.
Granting a role a member already holds temporarily replaces the expiry rather than stacking a second timer, so extending a trial is the same command with a longer duration.
#What happens on expiry
FiveUnity sweeps for expired grants every minute, so the role comes off within a minute of its deadline and the removal is written to your command log. If the member has left the server or the role has been deleted in the meantime, the record is simply discarded rather than retried forever.
The same role checks as self role panels apply: an integration-managed role, @everyone, or a role at or above FiveUnity's highest role cannot be granted.
#End one early
The dashboard lists every active grant with the role, the member, when it expires and the reason, each with a Revoke now button. In Discord, /temprole remove user: role: does the same, and /temprole list user: @Member shows one member's active grants with their expiry times.
#Staff-assigned roles
Two commands cover the case where a role should be given by a person rather than claimed or timed. Neither has a dashboard panel.
/role add user: role:and/role remove user: role:: usable by anyone with Administrator or Manage Roles, and by anyone holding a role that has been bound to that specific role./role-bindings bind manager_role: target_role:: Administrator only. Lets a role hand out one named role through/role addwithout giving anyone Manage Roles./role-bindings unbindundoes it and/role-bindings listshows every binding.
Bindings are the tidy way to let, say, department heads hand out their own department's roles and nothing else.
Every feature on this page depends on FiveUnity holding Manage Roles and sitting above the roles it manages in your server's role list. If a role never applies, that is almost always why.
#Related
- Community: welcome flow, auto roles on join, and the vanity status role
- Permissions: who can run which commands
- Moderation commands:
/temproleand/role - Utility commands:
/selfroles