Slipz Docs

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:

  1. Real Discord Permissions — Does the user's roles grant the required permission?
  2. 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

User runs a command
  |
  ├─ Is the user a bot owner? → ALLOWED (skip all checks)
  |
  ├─ Is the command owner-only? → DENIED ("owner only")
  |
  ├─ Does the command require premium?
  |   └─ Is the server's tier high enough? → Continue / DENIED
  |
  ├─ Is the user the server owner? → ALLOWED
  |
  ├─ Is the user an admin?
  |   └─ Is the command admin-only? → ALLOWED / DENIED
  |   └─ (Admins pass all lower checks too)
  |
  ├─ Is the user a moderator?
  |   └─ Is the command mod-only? → ALLOWED / DENIED
  |
  └─ Does the user have the required Discord permissions?
      └─ Check real permissions, then fake permissions
          → ALLOWED / DENIED

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

ModuleDefault Requirement
Moderation commandsSpecific Discord permissions (Ban Members, Kick Members, etc.)
Security (antinuke)Server owner or antinuke admin
Security (other)Admin
LoggingAdmin
Welcome / Leave / BoostAdmin
Roles (setup)Admin
Tags (create/delete)Manage Messages or tag author
TriggersModerator
Leveling (config)Admin
StarboardAdmin
GiveawaysModerator
Suggestions (config)Admin
Suggestions (submit)Everyone
CountersAdmin
Social FeedsAdmin
Utility (info commands)Everyone
Utility (automessage, bumpreminder)Admin
Utility (alias add/remove)Admin
Premium (view)Everyone
Premium (manage)Bot Owner

On this page