Skip to main content

GiselleBot and Moderation

Note

Originally written by NaviKing, updated to reflect the current slash commands and dashboard pages.

The bot, GiselleBot, features a robust moderation system that allows you to track misbehavior and notes for your server's users with an incredible amount of detail and nuance using a points-based moderation system. This guide will serve as a brief introduction on how to set up and use the moderation module. However, it is not meant as a replacement to the documentation for each command, and not all commands are covered in this guide. For more details, please consult the full Moderation Module documentation page or use GiselleBot's /help command to learn more about each individual command.

Enabling the moderation module

To ensure that the moderation module works properly, you should use GiselleBot's /log toggle command to enable both the moderation and warning logs somewhere on your server. To do this, you can run each command below

/log toggle type:Warning
/log toggle type:Moderation

After this, you will need to define the roles that should be allowed to use the moderation module. This is done from your server's Command Permissions page on the dashboard - authorize any number of roles there for the Moderation module to designate your mod team.

Rules and Points

You may also want to add the rules of your server to GiselleBot and configure how many points they are worth. Rules are assigned point values to denote how severe a violation is by default, and can be adjusted by a moderator on a per-violation basis (more on that later). For example, a user that is breaking a nickname rule is likely committing a less severe violation than a user posting NSFW content on the server. The points system allows you to quantify this difference and appropriately discipline users based on both the frequency and severity of their actions.

You can see the default set of rules that GiselleBot has by using the /rules command. Disabling rules you don't want to use, and adding your own rules (including the rule name, description, alias, and point value), is done from your server's Moderation Settings page on the dashboard. Global rules will always be represented by a number, while custom rules will be represented with s_ before the rule number (e.g., s_1).

The system was designed such that rules are expected to be an even number between 2 and 10 points, with 6 points representing an "average" warning. However, you are welcome to use any number you want, or even set the point value of a rule to 0.

Also by default, GiselleBot will half the points associated with the first infraction of each rule that a user commits. This results in users being able to commit two different violations of three different rules before being banned. However, additional types of logic also exist when it comes to halving the points of warnings. These can be configured with the Half Logic setting on your server's Moderation Settings page on the dashboard. For example, setting Half Logic to "none" will prevent GiselleBot from halving the points for any warnings a user received. This can be useful if you want your server to be more strict.

Once enough points accumulate, GiselleBot's moderation system will automatically suggest that a user be muted when they have acquired 18 points and banned when they hit 27 points. Warnings expire to 1 point after 90 days, and these two thresholds apply only to unexpired points. However, users that acquire 54 points total, regardless of expiration, will also cause GiselleBot to suggest banning the user, which is referred to as an absolute ban. None of these thresholds are automatically enforced by GiselleBot though, so you are welcome to ignore them if you want.

Types of Punishments

The bot, GiselleBot, features a variety of moderation actions that you can take against a user. By default, all of these actions will log a case associated with that user and send them a direct message to inform them of the violation. This message includes the name of the moderator that sent the warning by default, but this can be anonymized from your server's Moderation Settings page on the dashboard.

It also supports a variety of punishment types including warning, muting, banning, kicking, channel banning (preventing a user from accessing a channel), channel muting (preventing a user from speaking in a channel), image banning (preventing a user from uploading images or embedding links), and channel image banning (preventing a user from uploading images or links in a specific channel).

The moderation actions below are now slash commands (/warn, /kick, /mute, /ban, and the /restrict command tree for the channel/image restrictions), and their exact options differ slightly by command - see the full Moderation Module documentation for the full list. In general, you can expect

  • A user option
  • reason: a text explanation of how the rule was broken
  • rule: the name, ID, or alias of the rule broken (not available on /mute)
  • attachment1 through attachment4: up to 4 files you upload as proof of the infraction
  • points: overrides the case's point value instead of using the rule's default (available on /warn, /ban, /kick, and /mute - useful on /mute in particular, since it has no rule option of its own to score points from)
  • justification: explains a points override - required whenever points is set, and rejected otherwise
  • silent: logs the case without DMing the user

Note

Each of these slash commands only takes one target user per invocation. A case's reason, rule, attachments, and point value can still be adjusted afterwards with /case edit (see Reviewing, Modifying, and Deleting Cases below) - useful for filling in details you skipped at the time, or fixing a mistake - but you no longer have to: points/justification above let you set them in the same command that creates the case. /warn, /kick, /mute, and /ban each have their own silent option if you don't want the target DMed at all.

After running a moderation command, GiselleBot will inform whoever runs the command if they are missing any necessary parameters when the command is used and will alert the user how to fix the case with /case edit. You can also turn off these alerts from your server's Moderation Settings page on the dashboard. A few example moderation commands are provided below. However, it is encouraged to read the full documentation on the moderation commands as well

/warn user:@user rule:1 reason:being a jerk
/mute user:356831787445387285 duration:1d reason:Posting NSFW content in the #general channel
/ban user:356831787445387285 rule:Spam reason:Posting a phishing link in chat

Reviewing, Modifying, and Deleting Cases

After logging an action against a user, it may be necessary to review their warning history, edit, or remove warnings against them.

The /history command can be used to look up a user's warning history with their ID, name, or mention (one user per call). If you wish to review any cases in detail, /case show with the case ID will show you that case. Similarly, cases can also be deleted using /case delete and the case ID. Moderators are allowed to delete automoderator cases created by the bot (e.g. in case of auto-moderation actions), but cannot delete cases created by other mods, including themselves. Only users with Manage Server permissions are allowed to delete cases issued by hand.

/case edit lets you edit an existing case by overwriting existing values with new values - unlike delete/restore, editing your own case never needs Manage Server, only someone else's does. You do not have to edit every parameter for a warning at once. For example, if you only need to edit the reason of a case, you can use

/case edit id:1 reason:New reason

to update the reason. You can include as many or as few of reason/rule/points/justification as you want according to your needs. If the edit changes anything, the target is DMed a summary of what changed - add silent:true if you'd rather it stay quiet.

Bonus: Using Zero Point Rules

Although this covers the basics of using GiselleBot's warning system, there is one more thing to discuss which is the application of "0 point rules". Rules that are worth zero points, by definition, do not advance someone any closer to a ban in GiselleBot's warning system. This gives you a couple of options.

One option is to make a dummy rule worth 0 points to be used to make silent notes on someone's account. For example, on your server's Moderation Settings page on the dashboard, you could add a rule named "None", with a description like "This is an informational message and does not count towards being banned from the server", and a point value of 0.

That rule can be used in a "warning" like this

/warn user:@user rule:None reason:This user was acting weird in someone's DMs. Give them an official warning if you hear about it happening again

Note

Want this to stay completely quiet? Add silent:true to the /warn command above and the target won't be DMed about it either.

Furthermore, if you wish to use your own moderation system related to number of warnings instead of points, you may want to make all of your warnings worth zero points so that you don't have to worry about the points system confusing any of your moderators. In this way, you can still use GiselleBot as a normal moderation bot.

Summary

The moderation module includes a lot of moving parts. You need to ensure that it is set up properly so that it starts working, verify that the rules your moderators have access to are appropriate for your server, and then you can start using it to apply a variety of punishments to members of your server that break the rules. Beyond that, you even have extra flexibility to leave notes on someone's account or even avoid the points system entirely.

Hopefully after reading this article you better understand how to use GiselleBot's moderation system to help your server, but as always you can find more information in the module's documentation (see the full Moderation Module documentation). If you're still having trouble, feel free to join GiselleBot's Support Server and ask your questions there!