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

WildcardEffect
*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.*)

NodeDescription
automod.enableEnable auto-moderation
automod.disableDisable auto-moderation
automod.spamConfigure spam protection
automod.linksConfigure link protection
automod.mentionsConfigure mention protection
automod.capsConfigure caps protection
automod.invitesConfigure invite protection
automod.blacklistManage blacklisted words
automod.whitelistManage whitelisted words
automod.bypassBypass auto-moderation

Moderation (mod.*)

NodeDescription
mod.kickKick members
mod.banBan members
mod.unbanUnban members
mod.warnWarn members
mod.unwarnRemove warnings
mod.muteMute members
mod.unmuteUnmute members
mod.purgePurge messages
mod.lockdownLock/unlock channels
mod.slowmodeManage slowmode

Economy (economy.*)

NodeDescription
economy.balanceView balances
economy.dailyClaim daily rewards
economy.workUse work command
economy.payPay other users
economy.robRob other users
economy.baltopView balance leaderboard
economy.games.flipPlay coin flip
economy.games.dicePlay dice game
economy.games.slotsPlay slot machine
economy.games.blackjackPlay blackjack
economy.admin.addAdd points to users
economy.admin.removeRemove points from users
economy.admin.setSet user balances

Leveling (leveling.*)

NodeDescription
leveling.rankView own rank
leveling.levelView levels
leveling.xpView XP
leveling.leaderboardView XP leaderboard
leveling.admin.addAdd XP to users
leveling.admin.removeRemove XP from users
leveling.admin.setSet user XP/levels

Logging (logging.*)

NodeDescription
logging.viewView log settings
logging.channelSet log channels
logging.enableEnable logging
logging.disableDisable logging
logging.events.messagesConfigure message logging
logging.events.joinsConfigure join logging
logging.events.leavesConfigure leave logging
logging.events.bansConfigure ban logging
logging.events.rolesConfigure role logging

Utility (utility.*)

NodeDescription
utility.pingUse ping command
utility.infoView bot info
utility.helpAccess help system
utility.statusView bot status
utility.echoUse echo command

Rules (rules.*)

NodeDescription
rules.viewView server rules
rules.addAdd new rules
rules.removeRemove rules
rules.editEdit existing rules
rules.listList all rules

Admin (admin.*)

NodeDescription
admin.restartRestart bot
admin.presenceChange bot presence
admin.appearanceChange bot appearance
admin.settingsManage bot settings
admin.permissionsManage permissions
admin.configAccess configuration

Global Chat (globalchat.*)

NodeDescription
globalchat.useSend messages in global chat channels
globalchat.manageCreate, 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

GroupDefault Permissions
@everyoneutility.ping, utility.help, utility.info
Discord moderatorsMembers 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.