Introduction

Learn more about the extensive auto-moderator functionality available within SajuukBot.

SajuukBot will be ceasing operations on March 31st 2024, due to a variety of factors. For more information, please refer to the announcement provided on the SajuukBot discord server and your options for migrating to a new bot.

Moderating communities can be difficult at times, but the type of moderation can vary per community. In fact, there are some types of behaviour that it is impossible for a human moderator to handle "on the fly". Well, feasibly, you could make it possible for humans to be automoderators by having hundreds of moderators, but this is not very practical and assumes every moderator you add is available at every second, at every minute, at every hour of the day.

Auto Moderation helps to relieve the burdens on your moderation staff by handling the majority of disruptive behaviours for you, much faster than any human could possibly catch it. These can include things like posting invite links where advertising isn't allowed, catching spammers, use of forbidden words or links, and more.

Please check the four separate pages on the left under this section for details on each specific auto moderator that is available. Below is the base configuration for the anti spam module in its entirety.

With respect of the four different auto moderators available, the order that they are evaluated is like this:

Anti Raid (Messages) --> Heuristics --> Filters --> Censors

This means that, if a user posts in a way that instantly triggers a heuristic, then the heuristic will take precedence and all others will be ignored. This way, if your heuristic is set to capture say, 100 new lines in 30 seconds but the filter is 30 new lines in 30 seconds, then if a user posts 150 new lines, they only get the punishment action of the Heuristic and the generic filter will not be evaluated.

Configuration

The settings for each of the individual auto moderator modules must be placed under the "anti spam" key given below. Please see the full configuration to see a complete structure.

anti spam:
  enabled: false
  level: 50

Settings

Exemptions (Whitelisting)

Exempting a category, channel, role or user from an anti-spam filter is a very powerful feature that can lead to abuse by malicious actors. You should not enable exemptions on individual censors, filters or heuristics unless you know what you are doing.

If you mishandle the exemption list on each auto moderator, you may open yourself up to the potential of rendering the automoderators worthless in situations where they need to be working. You have been warned!

All anti-spam modules allow the ability for categories, channels, users and roles to be individually exempted from triggering any of the spam filters. This can be useful for a few reasons:

  • You may have a team of users who you "trust" but who aren't moderators and you wish to exempt them from an auto moderator.

  • You may have a channel or category where spam is expected (eg a counting channel, or a place to share images), where you expect repeat false positives.

Exempting a channel, category, role or user from an automoderator involves placing a "whitelist" key after the individual settings within a specific automoderator. Exemptions apply on a per-automod basis: that is, you exclude them at a granular, rather than a global, level.

For example, if you wanted to exempt the "screenshots" channel from the duplicate messages filter, then you would add something like this to the duplicates filter configuration:

    duplicates:
      enabled: false
      clean: false
      trigger: 5
      time: 30
      whitelist:
        channel:
        - 12345678901234657890

The whitelist setting is optional and can be used in any section as required. The values for each key name (which are category, channel, user and role) are lists containing IDs representing that specific key (so channel IDs for the channel key, user IDs for the user key and so on), which may be defined using either one of the following:

  • A traditional Python list.

  • YAML's hyphen based syntax, as displayed above.

Last updated