Admin Commands¶
Server administration commands for permissions, roles, and bot management.
Permissions — /permissions¶
Permission overrides for command category access.
/permissions grant <command_group> [user] [role] [reason]¶
Grant access to a command category.
| Parameter | Type | Required | Description |
|---|---|---|---|
command_group |
String | Yes | Command category key (alphanumeric, dots, hyphens, max 50) |
user |
Member | No | Target user (exactly one of user/role required) |
role |
Role | No | Target role (exactly one of user/role required) |
reason |
String | No | Audit log reason |
/permissions revoke <command_group> [user] [role] [reason]¶
Revoke access from a user or role. Same parameters as grant.
/permissions list [command_group] [user] [role]¶
List all permission overrides. All parameters are optional filters.
/permissions check <command_group> [user]¶
Check whether a user has access to a specific command category.
| Parameter | Type | Required | Description |
|---|---|---|---|
command_group |
String | Yes | Category to check |
user |
Member | No | User to check (defaults to yourself) |
Role Commands — /role¶
All role management — assigning, creating, editing, inspecting, and bulk operations — lives under one /role group.
/role add <member> <role> [reason]¶
Assign a role to a member. Requires the roles command category. Enforces hierarchy: the role must be below both your top role and the bot's top role.
/role remove <member> <role> [reason]¶
Remove a role from a member. Same permission and hierarchy checks as add.
/role create <name> [color] [hoist] [mentionable]¶
Create a new role. Requires the admin command category.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
String | Yes | Role name |
color |
String | No | Hex colour code |
hoist |
Boolean | No | Display separately in member list |
mentionable |
Boolean | No | Allow @mentioning |
/role delete <role>¶
Delete a role. Requires the admin command category. Prevents deletion of bot-managed and booster roles. Hierarchy checks enforced.
/role edit <role> [name] [color] [hoist] [mentionable]¶
Edit role properties. Requires the admin command category. Supports partial updates — only specified fields are changed.
/role info <role> [options]¶
Display role metadata and, for moderators, filtered role-member dumps.
| Parameter | Type | Required | Description |
|---|---|---|---|
role |
Role | Yes | Role to inspect |
include_member_dump |
Boolean | No | Include roster preview in response |
include_bots |
Boolean | No | Include bots in dump/export |
granted_on_after |
String | No | Lower date bound (YYYY-MM-DD or YYYY-MM-DD HH:MM) |
granted_on_before |
String | No | Upper date bound (YYYY-MM-DD or YYYY-MM-DD HH:MM) |
held_for_min |
String | No | Minimum held time (30d, 12h, 90m) |
held_for_max |
String | No | Maximum held time (365d, 48h) |
sort_preset |
Choice | No | Explicit sort mode (held_longest, granted_newest, etc.) |
sort_by |
Choice | No | Custom sort field |
sort_order |
Choice | No | Ascending/descending for custom sort |
custom_filter |
String | No | User-defined query clauses |
export_csv |
Boolean | No | Attach CSV of filtered result set |
limit |
Integer | No | Max rows shown in embed preview (1-100) |
Permission
/role info <role> with no other options is available to everyone. Setting any other parameter — including include_bots, sort_preset, sort_by, sort_order, and limit, not just the roster/filter/export options — triggers the advanced request path and requires moderator permissions.
Custom Filter Query Format¶
Use semicolon-separated clauses (;) in field operator value format.
Supported operators: =, !=, >, >=, <, <=, ~.
Supported fields: display_name, username, user_id, bot, has_nickname, granted_on, held_for.
Aliases: name, id, userid, joined, joined_on, held.
sort_preset accepts name_az, name_za, granted_oldest, granted_newest, held_longest, held_shortest, user_id_asc, user_id_desc, and overrides sort_by/sort_order when set.
Discord doesn't expose exact per-member role-grant timestamps — granted_on/held_for use the member's guild join time as a best-available proxy.
/role massadd <role> <of> [include_bots] [reason]¶
Give a role to every member of another role.
| Parameter | Type | Required | Description |
|---|---|---|---|
role |
Role | Yes | Role to give |
of |
Role | Yes | Members of this role receive it (@everyone allowed) |
include_bots |
Boolean | No | Include bot accounts |
reason |
String | No | Audit reason |
/role massremove <role> [of] [include_bots] [reason]¶
Remove a role from members.
| Parameter | Type | Required | Description |
|---|---|---|---|
role |
Role | Yes | Role to remove |
of |
Role | No | Limit to members of this role. Defaults to the role itself — with no of, this strips the role from every current holder. |
include_bots |
Boolean | No | Include bot accounts |
reason |
String | No | Audit reason |
Mass Op Confirm Flow¶
massadd and massremove both require the roles command category and share one confirm-and-run flow:
- The command validates the target role (rejects
@everyone, managed roles, and roles at or above your or the bot's top role) and computes a preview of who actually needs the change. - If nothing needs to change, it replies with a short "nothing to do" message and stops.
- Otherwise it posts a Confirm / Cancel embed (invoker-only, 60-second timeout). No changes happen until you press Confirm — a timeout or Cancel both leave every member untouched.
- On confirm, the bot processes members in chunks of 25, editing a progress message between chunks and offering a live Cancel button that stops the run at the next chunk boundary.
- One
role.massadd/role.massremoveaudit entry is written for the whole run, and a summary reports how many members succeeded, were skipped (e.g. left the server), or failed.
Only one mass role operation can run per guild at a time — a second attempt is rejected until the first finishes.
Channels and structure¶
| Command | Description |
|---|---|
/server createchannel |
Create a new channel |
/server deletechannel |
Delete a channel |
/server createcategory <name> |
Create a new category |
Members and emergencies¶
| Command | Description |
|---|---|
/server setnick <member> [nickname] |
Set a member's nickname |
/server lockdown |
Lock all text channels (deny @everyone Send Messages) |
/server unlockdown |
Restore channel permissions after a lockdown |
/server command |
Enable, disable, or restrict a specific command |
Guided Setup — /setup¶
| Command | Description |
|---|---|
/setup start |
First-run onboarding: pick a vibe, choose features, apply a starter config |
/setup server |
Full server scaffold: channels → roles → role menus |
Where Configuration Lives¶
Feature configuration is done on the web, not in slash commands:
| System | Where | Description |
|---|---|---|
| Logging | Dashboard → Logging (/dashboard) |
Log channels + event toggles |
| Moderation | Dashboard → Moderation / Automod | Policy; day-to-day actions via /mod and /cases |
| Voice | Dashboard → Voice (/dashboard) |
Voice system + AFK + Music Channel |
| Economy | Dashboard → Economy (/dashboard) |
Currency, shop, and reward settings |
See the respective command pages for full details: