Have you ever felt confused or even overwhelmed when trying to set WizBot's permissions? In this guide we will be explaining how to use the permission commands correctly and even cover a few common questions! Every command we discuss here can be found in the Commands List.
Permissions are very handy at setting who can use what commands in a server. All commands and modules are enabled by default. If something is a bot owner only command, it can only be ran by the bot owner, the person who is running the bot, or has their ID in the credentials.json file.
Several commands still require that you have the correct permissions on Discord to be able to use them, so for users to be able to use commands like
.voicemute, they need Kick and Mute Members server permissions, respectively.
With the permissions system it possible to restrict who can skip the current song, pick Cherry Blossoms or use the NSFW module.
To change permissions you must meet the following requirements:
Have Administrator Server Permission.
If you are NOT the server owner or an admin, get the role set to
.permrole (there is no permission role by default).
The Commands List is a great tool which lists all available commands, however we'll go over a few of them here.
First, let's explain how the permissions system works - It's simple once you figure out how each command works! The permissions system works as a chain. Everytime a command is used, the permissions chain is checked. Starting from the top of it, the command is compared to a rule, if it isn't either allowed or disallowed by that rule it proceeds to check the next rule all the way till it reaches the bottom rule, which allows all commands.
To view this permissions chain, do
.lp. The rule at the top of the chain takes priority over all rules below it.
If you want to remove a permission from the chain of permissions, do
.rp X to remove rule number X and similarly, do
.mp X Y to move rule number X to number Y (moving, not swapping!).
If you want the bot to notify users why they can't use a command or module, use
.verbose true and WizBot will tell you what rule is preventing the command from being used.
To allow users to only use commands in a specific text channel, follow these steps:
Disables all modules on the entire server
.acm enable #bot-spammerino
Enables all modules in the #bot-spammerino channel
To allow users to only use commands from a certain module, let's say gambling, in a specific text channel, follow these steps:
.acm disable #gamblers-den
Disables all modules in the #gamblers-den channel
.cm Gambling enable #gamblers-den
Enables usage of the Gambling module in the #gamblers-den channel
To allow users to only see the current song and have a DJ role for queuing follow these steps:
.sm Music disable
Disables music commands for everybody
.sc .nowplaying enable
Enables the "nowplaying" command for everyone
.sc .listqueue enable
Enables the "listqueue" command for everyone
.rm Music enable DJ
Enables all music commands only for the DJ role
Say you want to only enable NSFW commands for a specific role, just do the following two steps.
.sm NSFW disable
Disables the NSFW module from being used
.rm NSFW enable Lewd
Enables usage of the NSFW module for the Lewd role
If you don't want server or global custom reactions, just block the module that controls their usage:
.sm ActualCustomReactions disable
Disables the ActualCustomReactions module from being used
ActualCustomReactions module controls the usage of custom reactions. The
CustomReactions module controls commands related to custom reactions (such as
Yes, there is a way, in one easy command!
This resets the permission chain back to default
-- Thanks to @applemac for providing the template for this guide