Skip to main content

Commands

Plugin name: commands

The commands plugin contains settings for overall HepBoat commands and controls the usage of commands by levels, roles, and channels.

info

This plugin should not be under plugins: but in the main level configuration.

See General Configuration for details.

Configuration Options

OptionDescriptionTypeDefault
prefixThe prefix to use for HepBoat commands in the server.str''
overridesA mapping of commands and override configurations.dictempty
lockdownA mapping of commands and channel lockdown configurations.dictempty
dm_deniedDM a user when their command is denied.boolTrue
local_blacklistBlacklisted users that HepBoat will ignore all commands from.list(snowflake)empty
exclude_msg_userUsers that will not be logged by HepBoat.list(snowflake)empty
timezoneTimezone to use for localized timestamps in command outputs. Supported timezonesstrUTC

Overrides Configuration Options

Overrides are useful for overriding the default level permissions on commands. Level overrides are checked before any channel lockdowns for commands.

OptionDescriptionTypeDefault
nameA command name (default, custom, or short tag)stringempty
groupA command group namestringempty
plugin.nameA plugin namestringempty
outOutput optionsdictempty
out → levelMinimum level (inclusive) to use commandsint0
out → disabledFor command names only. Disable the command entirely.boolFalse

Command group names include commands that start with a common command. e.g. group: tags would include tags such as !tags add and !tags edit.

Plugin names include commands that are located under a certain plugin. e.g. plugin.name: utilities would include all its commands such as !bunny and !emoji. Please see individual plugin documentation for specific plugin names.

The hierarchy of overrides is

1. name
2. group
3. plugin.name

meaning that the overrides for a specific command name will override the overrides for a command group, etc.

Special Overrides Command Names

Command NameDescription
cc-usrUsers that can trigger custom command commands.
cc-usr-allowed-rolesAllows roles to run custom commands anywhere regardless of other override or lockdown settings.
tags-usrUsers that can trigger tag calls.
tags-usr-allowed-rolesAllows roles to run tags anywhere regardless of other override or lockdown settings.

The hierarchy of overrides for custom command calls for example would be

1. cc-usr-allowed-roles
2. cc.name
3. cc-usr

meaning that the overrides for a specific custom command trigger will override the overrides for cc-usr.

Example configuration setup:

commands:
overrides:
- name: tags-usr
out:
level: 10
- name: tags-usr-allowed-roles
out:
roles:
- 9872389732498023409
- name: cc-usr
out:
level: 60
- name: tags-cc-allowed-roles
out:
roles:
- 9872389732498023409

Lockdown Configuration Options

Lockdowns are useful for hardening commands to only work in certain channels, categories, and by certain roles. Lockdown configurations work together with default command levels and overrides configurations.

OptionDescriptionTypeDefault
nameA command name (default, custom, or short tag)stringempty
groupA command groupstringempty
plugin.nameA plugin namestringempty
outOutput optionsdictempty
out → channelsWhitelisted channelslist(snowflake)empty
out → categoryWhitelisted categorieslist(snowflake)empty
out → rolesWhitelisted roleslist(snowflake)empty
out → exclude_channelsBlacklisted channelslist(snowflake)empty
out → exclude_categoryBlacklisted channel categorieslist(snowflake)empty
out → exclude_rolesBlacklisted roleslist(snowflake)empty
info

Blacklists are respected over whitelists in a conflict.

Special Lockdown Command Names

Command NameDescription
cc-usrUsers that can trigger custom command commands.
tags-usrUsers that can trigger tag calls.

Example configuration

commands:
prefix: '!'
overrides:
- name: tempmute
out:
level: 40
- name: mute
out:
level: 40
- group: role
out:
level: 60
lockdown:
- name: info
out:
channels:
- 510415911560282132 # Channel ID
- 511870279157284874 # Channel ID
- group: tags
out:
channels:
- 510415911560282132 # Channel ID
- 511870279157284874 # Channel ID
category:
- 32498723498049874 # Category ID
roles:
- 9872389732498023409 # Role ID
- plugin.name: admin
out:
channels:
- 510415911560282132 # Channel ID
- 511870279157284874 # Channel ID
dm_denied: true
local_blacklist:
- 132256368353607681 # User ID
- 324841099090853888 # User ID