Permissions
This is the cog guide for the permissions cog. You will find detailed docs about usage and commands.
[p]
is considered as your prefix.
Note
To use this cog, load it by typing this:
[p]load permissions
Usage
Customise permissions for commands and cogs.
This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do. This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.
When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command. Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked in is:
Rules about a user.
Rules about the voice channel a user is in.
Rules about the text channel or a parent of the thread a command was issued in.
Rules about a role the user has (The highest role they have with a rule will be used).
Rules about the server a user is in (Global rules only).
Commands
permissions
Syntax
[p]permissions
Description
Command permission management tools.
permissions acl
Note
This command is locked to the server owner.
Syntax
[p]permissions acl
Description
Manage permissions with YAML files.
Tip
See here for more information with configuring these yaml files.
permissions acl getglobal
Note
This command is locked to the bot owner.
Syntax
[p]permissions acl getglobal
Description
Get a YAML file detailing all global rules.
permissions acl getserver
Note
This command is locked to the server owner.
Syntax
[p]permissions acl getserver
Description
Get a YAML file detailing all rules in this server.
permissions acl setglobal
Note
This command is locked to the bot owner.
Syntax
[p]permissions acl setglobal
Description
Set global rules with a YAML file.
Warning
This will override reset all global rules to the rules specified in the uploaded file.
This does not validate the names of commands and cogs before setting the new rules.
permissions acl setserver
Note
This command is locked to the server owner.
Syntax
[p]permissions acl setserver
Description
Set rules for this server with a YAML file.
Warning
This will override reset all rules in this server to the rules specified in the uploaded file.
permissions acl updateglobal
Note
This command is locked to the bot owner.
Syntax
[p]permissions acl updateglobal
Description
Update global rules with a YAML file.
This won’t touch any rules not specified in the YAML file.
permissions acl updateserver
Note
This command is locked to the server owner.
Syntax
[p]permissions acl updateserver
Description
Update rules for this server with a YAML file.
This won’t touch any rules not specified in the YAML file.
permissions acl yamlexample
Syntax
[p]permissions acl yamlexample
Description
Sends an example of the yaml layout for permissions
permissions addglobalrule
Note
This command is locked to the bot owner.
Syntax
[p]permissions addglobalrule <allow_or_deny> <cog_or_command> <who_or_what...>
Description
Add a global rule to a cog or command.
Arguments
<allow_or_deny>
: This should be one of “allow” or “deny”.<cog_or_command>
: The cog or command to add the rule to. This is case sensitive.<who_or_what...>
: One or more users, channels or roles the rule is for.
permissions addserverrule
Note
This command is locked to the server owner.
Syntax
[p]permissions addserverrule <allow_or_deny> <cog_or_command> <who_or_what...>
Description
Add a rule to a cog or command in this server.
Arguments
<allow_or_deny>
: This should be one of “allow” or “deny”.<cog_or_command>
: The cog or command to add the rule to. This is case sensitive.<who_or_what...>
: One or more users, channels or roles the rule is for.
permissions canrun
Syntax
[p]permissions canrun <user> <command>
Description
Check if a user can run a command.
This will take the current context into account, such as the server and text channel.
Arguments
<user>
: The user to check permissions for.<command>
: The command to check whether the user can run it or not.
permissions clearglobalrules
Note
This command is locked to the bot owner.
Syntax
[p]permissions clearglobalrules
Description
Reset all global rules.
permissions clearserverrules
Note
This command is locked to the server owner.
Syntax
[p]permissions clearserverrules
Description
Reset all rules in this server.
permissions explain
Syntax
[p]permissions explain
Description
Explain how permissions works.
permissions removeglobalrule
Note
This command is locked to the bot owner.
Syntax
[p]permissions removeglobalrule <cog_or_command> <who_or_what...>
Description
Remove a global rule from a command.
Arguments
<cog_or_command>
: The cog or command to remove the rule from. This is case sensitive.<who_or_what...>
: One or more users, channels or roles the rule is for.
permissions removeserverrule
Note
This command is locked to the server owner.
Syntax
[p]permissions removeserverrule <cog_or_command> <who_or_what...>
Description
Remove a server rule from a command.
Arguments
<cog_or_command>
: The cog or command to remove the rule from. This is case sensitive.<who_or_what...>
: One or more users, channels or roles the rule is for.
permissions setdefaultglobalrule
Note
This command is locked to the bot owner.
Syntax
[p]permissions setdefaultglobalrule <allow_or_deny> <cog_or_command>
Description
Set the default global rule for a command or a cog.
This is the rule a command will default to when no other rule is found.
Arguments
<cog_or_command>
: The cog or command to add the rule to. This is case sensitive.<who_or_what...>
: One or more users, channels or roles the rule is for.
permissions setdefaultserverrule
Note
This command is locked to the server owner.
Syntax
[p]permissions setdefaultserverrule <allow_or_deny> <cog_or_command>
Description
Set the default rule for a command or a cog in this server.
This is the rule a command will default to when no other rule is found.
Arguments
<cog_or_command>
: The cog or command to add the rule to. This is case sensitive.<who_or_what...>
: One or more users, channels or roles the rule is for.