permissions section of config.json. Every slash command is mapped to one of three access tiers. Users whose Discord roles match the required tier (or higher) can run the command.
Permission tiers
everyone
Any member of the server can use the command. No special role is required.
moderator
Only members who hold at least one of the roles listed in
permissions.moderatorRoleIds (or higher) can use the command.admin
Only members who hold at least one of the roles listed in
permissions.adminRoleIds (or higher) can use the command.moderator or everyone, and moderators can always run commands requiring everyone.
Bot owners
Bot owners bypass all permission checks unconditionally. A user is considered a bot owner if their Discord user ID appears in either:- The
BOT_OWNER_IDSenvironment variable (comma-separated list), or - The
permissions.botOwnersarray inconfig.json
Configuring roles
Set theadminRoleIds and moderatorRoleIds arrays in config.json, or update them at runtime:
Default command permission levels
Thepermissions.allowedCommands map in config.json sets the required tier for every command. You can override any entry at runtime using /config set.
Everyone
These commands are available to all server members by default.| Command | Description |
|---|---|
ping | Check bot latency |
memory | View your stored AI memories |
tldr | Summarize recent channel messages |
afk | Set an AFK status |
github | GitHub integration commands |
rank | View your XP rank |
leaderboard | View the server leaderboard |
profile | View a member profile |
remind | Set a reminder |
challenge | View the daily coding challenge |
review | Request a code review |
showcase | Submit a project to the showcase |
Moderator
These commands require at least themoderator role.
| Command | Description |
|---|---|
warn | Issue a warning to a member |
warnings | List warnings for a member |
editwarn | Edit an existing warning |
removewarn | Remove a specific warning |
clearwarnings | Clear all warnings for a member |
modlog | View the moderation log |
announce | Send an announcement |
Admin
These commands require at least theadmin role.
| Command | Description |
|---|---|
config | View and change bot configuration |
kick | Kick a member from the server |
timeout | Temporarily mute a member |
untimeout | Remove a timeout |
ban | Permanently ban a member |
tempban | Ban a member for a set duration |
unban | Lift a ban |
softban | Ban and immediately unban to delete messages |
purge | Bulk-delete messages |
case | Look up a moderation case |
history | View a member’s moderation history |
lock | Lock a channel so members cannot send messages |
unlock | Unlock a channel |
slowmode | Set channel slowmode |
reload | Hot-reload bot modules |
Changing a command’s permission level
You can change any command’s required tier at runtime without restarting the bot:everyone, moderator, and admin.
Protected roles
Themoderation.protectRoles setting prevents moderation commands from being used against certain members, regardless of who is running the command.
config.json (moderation.protectRoles)
| Option | Default | Description |
|---|---|---|
enabled | true | Enable or disable role protection globally |
roleIds | [] | Additional role IDs to protect (in addition to the options below) |
includeAdmins | true | Automatically protect all admin-role holders |
includeModerators | true | Automatically protect all moderator-role holders |
includeServerOwner | true | Always protect the Discord server owner |
Full permissions config reference
config.json (permissions section)