Pardon the dust! This site is in active development and is not complete.

Utilibot - Moderation

Abstract

Utilibot is a fully-featured moderation bot, whose purpose is to make the task of server moderation easier, more effective, and to increase accountability on the part of the moderation team (making the audit log public is a great way to accomplish this). The bot possesses multiple message filters, designed to take moderation actions automatically, while erring on the side of caution (when in doubt, the user is innocent).

Stack

Commands

The bot possesses a multitude of commands, aimed at providing every kind of moderation functionality a server could ever want.

General Commands

Everyone has access to these commands, and are largely related to the bot itself.

!?url

!?commands

!?help <command (optional)>

Moderator Commands

These commands are used to directly moderate the server and its members. Requires the user to either possess the BanMembers permission, or have a role listed in the mod list.

!?ban <user mention> <reason (optional)>

!?kick <user mention> <reason (optional)>

!?mute <user mention> <reason (optional)>

!?unmute <user mention>

!?purge <number of messages> <user mention (optional)>

!?reason <case number> <reason>

!?getlog <user mention/id>

!?getcase <case number>

!?ping

!?stats

Administrator Commands

These commands are typically used to troubleshoot and setup the bot itself. Requires the user to either possess the ManageServer permission, or have a role listed in the admin list.

!?setup

!?config

!?listroles

!?add <list> <role id>

!?remove <list> <role id>

!?set mute <role id>

!?edit <item> <setting>

!?setannounce

!?setmodlog

!?setfulllog

Usage

Setup

The bot works immediately upon joining the server, however there is ample customization available. By default, the bot determines command access by the user's permissions within the server. Administrators require ManageServer while moderators require BanMembers. However, you can override this behavior by adding role IDs to the admin and mod listings, with the !?add <list> <role id> command, detailed above.

Filters

The bot comes bundled with several filters, designed to delete otherwise unwanted messages. Every filter simply deletes the message by default, with the exception of the Profanity filter, which is disabled. List of filters:

Staff members are not subject to the filters by default, and you can exempt additional roles by running !?add exempt <role ID>.

The settings for every filter can be edited via the !?edit command, detailed above. Valid settings for filters are Off, Delete, Mute, and Kick

Mutes

Users can be muted, either automatically or via a command, which applies the designated Muted role to the user. It is up to the server staff to properly configure the role to deny typing privileges, as every server is set up differently. While timed mutes are not currently implemented, they will be in the rewrite, which is slated for release upon release of Discord's latest update.

Design Process