Manage server roles using automation, temporary assignments, join rules, and bulk operations — all with built-in hierarchy and safety checks.
Automatically assign roles to new members and bots when they join your server.
Set up auto-roles:
/autorole set member: @Member @Verified bot: @Bot-Role
/autorole set member: @Member @Active @Verified
/autorole set bot: @Bot-Role @Music-Bot
Manage configuration:
/autorole view
/autorole remove member: @Member bot: @Bot-Role
Instant Assignment:
Auto-Sync Feature:
Smart Validation:
Roles that automatically restore when members rejoin after leaving.
Enable persistence for a user:
/persistrole toggle action: Enable Persistence users: @User role: @VIP reason: Purchased VIP
/persistrole toggle action: Enable Persistence users: @User1 @User2 @User3 role: @Supporter
Disable persistence:
/persistrole toggle action: Disable Persistence users: @User role: @VIP
View persistent roles:
/persistrole view user: @User
/persistrole view
Automatic Restoration:
Use Cases:
Limitations:
Assign roles that automatically expire after a specified duration.
Add temporary role:
/temprole add user: @User role: @Trial duration: 7d
/temprole add user: @User role: @Event-Access duration: 3h reason: Special event access
Remove temporary role early:
/temprole remove user: @User role: @Trial
List active temporary roles:
/temprole list
/temprole list user: @User
Supports flexible time formats:
| Format | Example | Result |
|---|---|---|
| Minutes | 30m | 30 minutes |
| Hours | 2h | 2 hours |
| Days | 7d | 7 days |
| Weeks | 2w | 14 days |
| Combined | 1d12h | 1 day, 12 hours |
| Advanced | 1h30m15s | 1 hour, 30 minutes, 15 seconds |
Valid durations: Minimum 1m, Maximum 1 year
Notes:
1h30m, 2d12h).1H 30M works).y = 365 days).Automatic Expiration:
Persistent Across Restarts:
Smart Cleanup:
Use Cases:
Assign or remove roles from multiple members simultaneously with safety checks and progress tracking.
Assign roles:
/massrole assign role: @Role target: Members
/massrole assign role: @Bot-Role target: Bots
/massrole assign role: @Role target: All
Remove roles:
/massrole unassign role: @Role target: Members
/massrole unassign role: @Bot-Role target: Bots
/massrole unassign role: @Role target: All
Built-in Protections:
Assign roles to members who joined within a specific date range - perfect for campaigns, events, or targeting specific member cohorts.
Basic command:
/joinrange role: @Role start: 2024-01-01 end: 2024-12-31
Include bots:
/joinrange role: @Role start: 2024-06-01 end: 2024-12-31 bots: true
Required format: YYYY-MM-DD
Valid examples:
2024-01-15 - January 15, 20242024-12-31 - December 31, 20242023-06-01 - June 1, 2023Invalid examples:
01/15/2024 - Wrong format2024-1-15 - Missing leading zero15-01-2024 - Wrong orderCheck these:
/troubleshoot to verifyFix:
# Verify configuration
/autorole view
# Remove and reconfigure if needed
/autorole remove member: @BadRole
/autorole set member: @CorrectRole
Common causes:
Check configuration:
/persistrole view user: @User
Validation errors:
1d, 30m, 2h formatIf operation fails:
Why no eligible members:
YYYY-MM-DDbots: true to includeEssential:
Role Hierarchy:
Command permissions:
/autorole -
Manage Roles Permission/massrole -
Manage Roles Permission/joinrange -
Manage Roles Permission/persistrole -
Manage Roles Permission/temprole -
Manage Roles PermissionHierarchy rules:
| Command | Description |
|---|---|
/autorole set | Configure auto-roles for members/bots |
/autorole view | View current auto-role configuration |
/autorole remove | Remove specific auto-roles |
| Command | Description |
|---|---|
/persistrole toggle | Enable/disable role persistence |
/persistrole view | View persistent role configuration |
| Command | Description |
|---|---|
/temprole add | Assign temporary role with duration |
/temprole remove | Remove temporary role early |
/temprole list | View all active temporary roles |
| Command | Description |
|---|---|
/massrole assign | Assign role to multiple members |
/massrole unassign | Remove role from multiple members |
| Command | Description |
|---|---|
/joinrange | Assign role to members by join date |
/troubleshoot for automatic diagnostics