Setting Up HepBoat

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

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!

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.

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)