Version 1.0 Release
This version contains all initial updates to the bot.
Additions:
API
- HTTP api to serve message archives
- Allow web-only mode with the
--web-only
start-up flag
Main Bot
- Sync on start with database to ensure roles are up-to-date
Utility Module
- Affiliate link sanitizing
- Searches all sent messages for certain domains with unneeded query tags and reposts the sanitized message as a webhook appearing to be from the user
- Filter for Super Mario Maker 2 level ID's from the #mario channel
- Super Mario Maker 2 level sharing
- Splatoon 2 final splatfest role joining (now depreciated)
clean
command to purge messages in a channel- Optionally takes a
user
argument to filter through the and only delete that user's messages - Takes an
int
as the number of messages to sort through and delete - Asks for confirmation when deleting over 100 messages
- Optionally takes a
info
command to lookup information on a given user- Returns username, messages, join date, roles, last message, created date, and punishment history
history
command to return a detailed punishment history for a given user- Provides dates, the responsible moderator, and the details of the infraction
roles
command to get a list of roles on the servers and their idsblacklist
command to restrict posting for a user in a given channel- On a toggle basis. Rerunning the command unblacklists
Moderation Module
ban
command to ban a user from the guildunban
command to unban a previously banned userkick
command to kick a user from the guildmute
command to prevent a user from sending messages for a set period of timeunmute
command to remove an issued mute early- Three tier warning system
- The root
warn
command increments the warning tier of a user by one - The
level
subcommand allows a moderator to set a warn level (1-3) for a user - The
clear
subcommand allows a moderator to clear the active warning for a user entirely (i.e. Tier 2 -> Not warned) - Warning review system
- After thirty days, a review notification is send to moderators which can respond with the warn
review
subcommand and take action - Has support for downgrading warning tier or postponing review to a later date
- After thirty days, a review notification is send to moderators which can respond with the warn
- The root
Core Module
- Discord event handling and logging
- Catch for if a ban or unban were done manually, and grab details from the audit log
- Catches bulk deletes and determines if it was from a
clean
, or something else and create a message archive - Owner-level commands for changing core pieces of the bot, such as name, profile picture, a full message database sync, and more
Filter Module
Work in progress project to incorporate machine learning to assist moderators tackle advertising, toxicity, and bad actors in a simplistic and hands off way. The ability to automatically act on content which the bot is highly confident falls into one of the above categories in different configurable ways is planned
NOTE: This is an unfinished idea which was requested to be made. This is not final, guaranteed to be finished, or implemented
Utilities
Helper functions file
- Time helpers to humanize and resolve durations
- Helpers to issue punishments and store users with the database