Permissions
How Slipz's 5-layer permission system works — from bot owner to Discord permissions.
Slipz uses a 5-layer permission system that determines who can run each command. Permissions are checked in order from most privileged to least privileged, and the check short-circuits as soon as a match is found.
The 5 Layers
Layer 1: Bot Owner
Users listed in BOT_OWNER_IDS bypass every permission check. They can run any command in any server, regardless of their roles or Discord permissions. This ensures the bot owner can always run diagnostic and administrative commands.
Layer 2: Premium
If a command requires a premium tier, the server's premium level is checked. This runs before admin/mod checks because premium is a server-wide setting -- even administrators cannot bypass premium requirements.
Layer 3: Server Admin
A user is considered an admin if they meet any of these criteria:
- They are the server owner
- They have the Administrator Discord permission
- They have a role listed as an admin role in the server's configuration
Admins bypass moderator checks and Discord permission checks. They can run any non-owner, non-premium command.
Layer 4: Moderator
A user is considered a moderator if they meet any of these criteria:
- They have the Manage Guild Discord permission
- They have a role listed as a mod role in the server's configuration
Moderators can run commands marked as modOnly. For commands that require specific Discord permissions, moderators still need those permissions (or fake permissions).
Layer 5: Discord Permissions / Fake Permissions
For commands that require specific Discord permissions (like Ban Members or Manage Channels), Slipz checks:
- Real Discord Permissions — Does the user's roles grant the required permission?
- Fake Permissions — Has a guild admin granted the required permission to one of the user's roles using
.fakepermissions?
If either check passes, the user is allowed to run the command.
Permission Check Flow
Setting Up Admin and Mod Roles
By default, Slipz uses Discord's built-in permission system:
- Admin = anyone with the Administrator permission
- Moderator = anyone with the Manage Guild permission
You can also designate specific roles as admin or mod roles through the dashboard or configuration commands. This lets you give users access to admin/mod commands without granting them actual Discord permissions.
Fake Permissions
Fake permissions are a key security feature. They let you grant bot-level command access to roles without giving them real Discord permissions.
For example, you can create a "Trial Moderator" role and give it fake Ban Members permission. Users with that role can use .ban through Slipz, but they cannot ban through Discord's native right-click menu or through other bots. This limits the scope of their power and reduces the damage if an account is compromised.
See the Security module documentation for setup instructions.
Bot Permissions
Slipz also checks its own permissions before executing commands. If the bot lacks a required permission (e.g., Ban Members for the .ban command), it will tell you which permissions it needs instead of failing silently.
The bot checks permissions in the specific channel where the command was used, not just guild-level permissions. This means channel-level permission overrides are respected.
Common Permission Levels by Module
| Module | Default Requirement |
|---|---|
| Moderation commands | Specific Discord permissions (Ban Members, Kick Members, etc.) |
| Security (antinuke) | Server owner or antinuke admin |
| Security (other) | Admin |
| Logging | Admin |
| Welcome / Leave / Boost | Admin |
| Roles (setup) | Admin |
| Tags (create/delete) | Manage Messages or tag author |
| Triggers | Moderator |
| Leveling (config) | Admin |
| Starboard | Admin |
| Giveaways | Moderator |
| Suggestions (config) | Admin |
| Suggestions (submit) | Everyone |
| Counters | Admin |
| Social Feeds | Admin |
| Utility (info commands) | Everyone |
| Utility (automessage, bumpreminder) | Admin |
| Utility (alias add/remove) | Admin |
| Premium (view) | Everyone |
| Premium (manage) | Bot Owner |