← Back to Home

How It Works

Kelpyyium uses a node-based permission system similar to Bukkit/Spigot Minecraft plugins. Every action in the bot 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. You can use wildcards to grant entire categories at once (e.g., mod.* grants all moderation permissions).

Permission Hierarchy

When the bot checks a permission, it evaluates in this order (highest priority first):

1. User-specific
2. Role permissions
3. @everyone
4. Built-in defaults

Wildcard Permissions

Use * at any level to grant all nodes in that category:

WildcardEffect
*Grants all permissions (use with extreme caution)
mod.*Grants all moderation permissions (ban, kick, warn, etc.)
economy.*Grants all economy permissions (balance, daily, games, admin)
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 # List nodes in a specific category /permissions list-nodes mod

Default Permissions

Out of the box, the following defaults apply:

GroupDefault Permissions
@everyoneBasic utility commands — utility.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)
All other permissions are denied by default and must be explicitly granted by a server administrator.