Permissions in Zeppelin are simply values in plugin configuration that are checked when the command is used.
These values can be changed with overrides (see
The simplest way to control access to bot commands and features is via permission levels. These levels are simply a number (usually between 0 and 100), based on the user's roles or user id, that can then be used in permission overrides. By default, several commands are "moderator only" (level 50 and up) or "admin only" (level 100 and up).
Additionally, having a higher permission level means that certain commands (such as !ban) can't be used against you by users with a lower or equal permission level (so e.g. moderators can't ban each other or admins above them).
Permission levels are defined in the config in the levels section. For example:
For this example, let's assume we have a plugin called cats
which has a command !cat
locked behind the permission can_cat
.
Let's say that by default, the plugin allows anyone to use !cat
, but we want to restrict it to moderators only.
Here's what the configuration for this would look like:
In this example, let's assume you don't want to use the default permission levels of 50 and 100 for mods and admins respectively.
Let's say you're using various incremental levels instead: 10, 20, 30, 40, 50...
We want to make it so moderator commands are available starting at level 70.
Additionally, we'd like to reserve banning for levels 90+ only.
To do this, we need to replace the default overrides that enable moderator commands at level 50.
Here's what the configuration for this would look like: