Skip to main content

Setting Up HepBoat

HepBoat is only available to servers that meet certain criteria, please see the home page for more information about this criteria.

  • The server does not promote or promulgate NSFW content (we have exceptions to this that you can ask about in our support Discord server linked above).
  • HepBoat will be used to moderate, not "just for fun".

How to set up HepBoat

First, the guild trying to use HepBoat will need to be on the whitelist. See the Quick Start Guide for details. If the bot is invited to a guild that is not whitelisted, it will immediately leave. If you're whitelisted but the bot leaves, please let us know in the support server.

Before inviting HepBoat, if you are not the owner, please advise the owner that the bot WILL message them with some instructions and a welcome message, just so that they are aware.

If the bot is whitelisted for your server, it will stick around and automatically set itself up, rather than having to run a command like you did in the past!

caution

If there are any issues with the setup, it will automatically notify the admins. If HepBoat remains in the server, you are the owner, and you don't appear in the dashboard, please visit us in our support server, this is a very rare occurance and it almost always is the cause of a user error.

Your guild configuration should now be available at https://dashboard.hepbo.at for editing.

Use the sidebar to read about each plugin, and then use the example below along with the information in the sidebar to set up your own customized HepBoat configuration.

info

The bot will need each plugin explicitly enabled in order to use the corresponding commands in the server.

Example HepBoat Configurations

The following are some valid configuration examples. While you can simply copy-paste these configurations to your own server's configuration and fill in the blanks for a functional HepBoat, it is highly encouraged that you read through the full documentation to understand each component and customize HepBoat to your server's needs.

Skeleton Configuration

web:
000000000000000000: admin # Your User ID

levels:
000000000000000000: 100 # Your Role ID or individual admin ID's

commands:
prefix: '!'

plugins:
utilities: {}

Minimal Configuration

web:
000000000000000000: admin # Server Owner ID

commands:
prefix: '!'
dm_denied: true # DMs users if they cannot use a command
timezone: UTC # See this link for valid options: https://gist.github.com/heyalexej/8bf688fd67d7199be4a1682b3eec7568
overrides: # Custom commands hardening. See custom commands plugin page for more details.
- group: cc
out:
roles:
- 000000000000000000 # Admin Role ID
- name: cc-usr
out:
roles:
- 000000000000000000 # Admin Role ID
lockdown:
- group: cc
out:
channels:
- 000000000000000000 # Admin Commands Channel ID

levels:
000000000000000000: 100 # Admin ID
000000000000000000: 99 # Admin Bots Role ID
000000000000000000: 60 # Senior Moderator Role ID
000000000000000000: 50 # Moderator Role ID
000000000000000000: 46 # Bots Role ID
000000000000000000: 10 # Trusted Role ID

plugins:
utilities: {}

admin:
persist:
roles: true
role_ids: # Roles to recover after leaving and joining back
- 000000000000000000 # Muted Role ID
nickname: true
voice: true

infractions:
confirm_actions: true
confirm_actions_reaction: true
mute_role: 000000000000000000 # Muted Role
reason_edit_level: 100
report_channel: 000000000000000000 # Channel for reports to go to
report_role: 000000000000000000 # Role to ping when users use the report command
notify:
WARN:
format: true
TEMPMUTE:
format: true
MUTE:
format: true
TEMPBAN:
format: true
BAN:
format: true
KICK:
format: true

modlog: # See modlog plugin documentation for more actions to explicitly include.
channels:
000000000000000000: # Server Log, shows everything EXCEPT message deletes and edits.
include: []
exclude: []
ignored_users: []
new_member_threshold: 604800 # time in seconds (1 week)

tags: {}

Easy Setup Configuration

web:
000000000000000000: admin # Server Owner ID

commands:
prefix: '!'
dm_denied: true # DMs users if they cannot use a command
timezone: UTC # See this link for valid options: https://gist.github.com/heyalexej/8bf688fd67d7199be4a1682b3eec7568
overrides: # Custom commands hardening. See custom commands plugin page for more details.
- group: cc
out:
roles:
- 000000000000000000 # Admin Role ID
- name: cc-usr
out:
roles:
- 000000000000000000 # Admin Role ID
lockdown:
- group: cc
out:
channels:
- 000000000000000000 # Admin Commands Channel ID

levels:
000000000000000000: 100 # Admin ID
000000000000000000: 99 # Admin Bots Role ID
000000000000000000: 60 # Senior Moderator Role ID
000000000000000000: 50 # Moderator Role ID
000000000000000000: 46 # Bots Role ID
000000000000000000: 10 # Trusted Role ID

plugins:
utilities: {}

admin:
persist:
roles: true
role_ids: # Roles to recover after leaving and joining back
- 000000000000000000 # Muted Role ID
nickname: true
voice: true

censor: # You're advised to add malicious websites under domain blacklist and racial slurs and offensive words under words & token filtering
levels:
45:
filter_zalgo: true
filter_invites: true
invites_whitelist: []
invites_blacklist: []
filter_domains: true
domains_whitelist:
- '000000' # Add gibberish to filter all domains by default
blocked_tokens: []
blocked_words: []
blocked_nicknames: []
block_zalgo_nicknames: true

spam:
levels:
45:
punishment: TEMPMUTE # Change that if you wish : "TEMPMUTE, MUTE, KICK, BAN"
punishment_duration: 300
clean: true
clean_count: 50
clean_duration: 500
channel_whitelist: [] # If you want to whitelist channels for anti-spam to not apply. You can also whitelist PER ANTI SPAM TYPE by adding "channel_whitelist: [ID] in the same column as count/interval.
max_messages:
count: 10
interval: 7
max_mentions:
count: 8
interval: 30
max_links:
count: 10
interval: 60
max_emojis:
count: 100
interval: 120
max_newlines:
count: 60
interval: 120
max_duplicates:
count: 5
interval: 30

infractions:
confirm_actions: true
confirm_actions_reaction: true
mute_role: 000000000000000000 # Muted Role
reason_edit_level: 100
report_channel: 000000000000000000 # Channel for reports to go to
report_role: 000000000000000000 # Role to ping when users use the report command
notify:
WARN:
emoji: warning
format: |-
You have been **{action!s}** in **{guild.name}** by **{actor!s}** for `{reason!s}`.
TEMPMUTE:
emoji: no_mouth
format: |-
You have been **{action!s}** in **{guild.name}** by **{actor!s}** for `{reason!s}` until **{expires}**.
MUTE:
emoji: no_mouth
format: |-
You have been **{action!s}** in **{guild.name}** by **{actor!s}** for `{reason!s}`.
TEMPBAN:
emoji: tools
format: |-
You have been **{action!s}** in **{guild.name}** by **{actor!s}** for `{reason!s}` until **{expires}**.
BAN:
emoji: tools
format: |-
You have been **{action!s}** in **{guild.name}** by **{actor!s}** for `{reason!s}`.
KICK:
emoji: boot
format: |-
You have been **{action!s}** in **{guild.name}** by **{actor!s}** for `{reason!s}`.

modlog: # See modlog plugin documentation for more actions to explicitly include.
channels:
000000000000000000: # Message Log, shows message edits, deletions, and censored messages.
include:
- MESSAGE_DELETE
- MESSAGE_DELETE_BULK
- MESSAGE_EDIT
- CENSORED
exclude: []
000000000000000000: # Server Log, shows everything EXCEPT message deletes and edits.
include: []
exclude:
- MESSAGE_DELETE
- MESSAGE_DELETE_BULK
- MESSAGE_EDIT
000000000000000000: # User Log, shows joins and leaves.
include:
- GUILD_MEMBER_ADD
- GUILD_MEMBER_REMOVE
exclude: []
000000000000000000: # Public Moderator Log - Public channel where server members can see actions taken.
include:
- MEMBER_KICK
- GUILD_BAN_ADD
- GUILD_BAN_REMOVE
- MEMBER_TEMPBAN
- MEMBER_SOFTBAN
- MEMBER_BAN
- MEMBER_MUTED
- MEMBER_TEMP_MUTED
- MEMBER_WARNED
exclude: []
mode: pretty # Show messages in embeds instead of plain messages
ignored_users: []
new_member_threshold: 604800 # time in seconds (1 week)

tags:
max_tag_length: 1000 # Set it as long as you want or remove
min_level_remove_others: 50 # To allow only level 50 and above to remove (by default, moderators)