How It Works
Ammonite uses a node-based permission system similar to Bukkit/Spigot plugins. Every action is gated behind a permission node (e.g., mod.ban, economy.daily). Admins can grant or deny these nodes at the user, role, or @everyone level.
Nodes are organized hierarchically using dot notation. Use wildcards to grant entire categories at once (e.g., mod.* grants all moderation permissions).
Permission Hierarchy
Permissions are evaluated in this order (highest priority first):
1. User-specific
→
2. Role permissions
→
3. @everyone
→
4. Built-in defaults
- User-specific — permissions set directly on a user always win.
- Role — users inherit from all their roles. If any role grants the permission, it's allowed (unless a user-level override denies it).
- @everyone — server-wide defaults for all members.
- Built-in defaults — the bot's hardcoded defaults (basic utility allowed, everything else denied).
Wildcard Permissions
| Wildcard | Effect |
* | Grants all permissions (use with extreme caution) |
mod.* | Grants all moderation permissions |
economy.* | Grants all economy permissions |
economy.games.* | Grants all gambling game permissions |
leveling.* | Grants all leveling permissions |
leveling.admin.* | Grants all leveling admin permissions |
logging.* | Grants all logging permissions |
automod.* | Grants all auto-moderation permissions |
admin.* | Grants all admin permissions |
All Permission Nodes
Auto-Moderation (automod.*)
| Node | Description |
automod.enable | Enable auto-moderation |
automod.disable | Disable auto-moderation |
automod.spam | Configure spam protection |
automod.links | Configure link protection |
automod.mentions | Configure mention protection |
automod.caps | Configure caps protection |
automod.invites | Configure invite protection |
automod.blacklist | Manage blacklisted words |
automod.whitelist | Manage whitelisted words |
automod.bypass | Bypass auto-moderation |
Moderation (mod.*)
| Node | Description |
mod.kick | Kick members |
mod.ban | Ban members |
mod.unban | Unban members |
mod.warn | Warn members |
mod.unwarn | Remove warnings |
mod.mute | Mute members |
mod.unmute | Unmute members |
mod.purge | Purge messages |
mod.lockdown | Lock/unlock channels |
mod.slowmode | Manage slowmode |
Economy (economy.*)
| Node | Description |
economy.balance | View balances |
economy.daily | Claim daily rewards |
economy.work | Use work command |
economy.pay | Pay other users |
economy.rob | Rob other users |
economy.baltop | View balance leaderboard |
economy.games.flip | Play coin flip |
economy.games.dice | Play dice game |
economy.games.slots | Play slot machine |
economy.games.blackjack | Play blackjack |
economy.admin.add | Add points to users |
economy.admin.remove | Remove points from users |
economy.admin.set | Set user balances |
Leveling (leveling.*)
| Node | Description |
leveling.rank | View own rank |
leveling.level | View levels |
leveling.xp | View XP |
leveling.leaderboard | View XP leaderboard |
leveling.admin.add | Add XP to users |
leveling.admin.remove | Remove XP from users |
leveling.admin.set | Set user XP/levels |
Logging (logging.*)
| Node | Description |
logging.view | View log settings |
logging.channel | Set log channels |
logging.enable | Enable logging |
logging.disable | Disable logging |
logging.events.messages | Configure message logging |
logging.events.joins | Configure join logging |
logging.events.leaves | Configure leave logging |
logging.events.bans | Configure ban logging |
logging.events.roles | Configure role logging |
Utility (utility.*)
| Node | Description |
utility.ping | Use ping command |
utility.info | View bot info |
utility.help | Access help system |
utility.status | View bot status |
utility.echo | Use echo command |
Rules (rules.*)
| Node | Description |
rules.view | View server rules |
rules.add | Add new rules |
rules.remove | Remove rules |
rules.edit | Edit existing rules |
rules.list | List all rules |
Admin (admin.*)
| Node | Description |
admin.restart | Restart bot |
admin.presence | Change bot presence |
admin.appearance | Change bot appearance |
admin.settings | Manage bot settings |
admin.permissions | Manage permissions |
admin.config | Access configuration |
Global Chat (globalchat.*)
| Node | Description |
globalchat.use | Send messages in global chat channels |
globalchat.manage | Create, delete, and manage global chat channels |
Usage Examples
# Grant all moderation permissions to the Moderator role
/permissions role-set @Moderator mod.* true
# Deny all economy commands for @everyone
/permissions everyone-set economy.* false
# Allow a specific user to use the restart command
/permissions user-set @User admin.restart true
# Remove a permission from a role
/permissions role-remove @Role economy.daily
# Check if a user has a specific permission
/permissions check @User mod.kick
# View all permissions for a role
/permissions role-view @Moderator
# List all available permission nodes
/permissions list-nodes
Default Permissions
| Group | Default Permissions |
| @everyone | utility.ping, utility.help, utility.info |
| Discord moderators | Members with Discord's built-in moderation permissions automatically receive moderation command access |
| Bot owner | * — all permissions (hardcoded, cannot be overridden) |
NoteAll other permissions are denied by default and must be explicitly granted by a server administrator.