/PrisonWarden

Private Discord bot for the Ban Appeals of the official Minecraft Discord servers. Public archive.

Primary LanguagePython

PrisonWarden

PrisonWarden was a private Discord bot to help manage the ban appeals for the official Minecraft Discord servers (https://discord.gg/minecraft, https://discord.gg/minecraftearth, https://discord.gg/minecraftdungeons, https://discord.gg/minecraftlive). It was developed by me, with huge help from Raybeano99, Celesian, Tehgreedo, ProfessorValko, and the rest of the moderators from the Minecraft Discord Moderation Program. This bot utilizes Python/discord.py for the bot logic, MySQL for the database, and Docker for containerization.

Features

PrisonWarden was created to help make sorting through ban appeals easier, and to decrease the ammount of time it took for moderators to send a verdict. Development took place from around November 2020 through December 2021; when I left my position as a moderator.

User Notes

PrisonWarden utilized a database table dedicated to storing user-generated notes about a particular appeal. Notes were often used to track:

  • The user's original ban reason (if any)
  • Any additional context surrounding the ban (previous appeal logs, filter logs, message logs, etc)

Before, this information was dumped into one channel, and became hard to backtrack and reference often. This was before Discord introduced thread channels.

Previous Join Logs

Along with join logs for all incoming users, PrisonWarden sent an additional warning log message if the newly-joined user was found to have joined the Ban Appeals server before. This helped moderation staff backtrack in order to find previous logs, appeals, etc to use for the user's new appeal.

Appeal Tracking

When a user joined the ban appeals discord, PrisonWarden assigned the user a particular appeal id, to be used to generate notes, track appeal status, and to sort by oldest appeals. Having a readily available list of appeals, sorted by date joined, allowed for moderators to prioritize certain appeals over others.

Invite Tracking

To prevent unexpected users from joining the Discord server, the ban appeals discord began to move away from using the permanent invite to invite users to the server. This was done by having all invites from the ban appeals server be generated by PrisonWarden. These invites were one-time use invites. If said invite was still unused after 7 days, the invite would become "stale", and PrisonWarden would re-use the invite in subsequent invite requests until it's been used.

Discontinuation of Service

This bot is no longer active nor maintained, and I do not plan to revive this bot in the future. Nonetheless, I'm pleased to showcase this long-term project of mine. This bot helped me develop my skills with MySQL databases, Docker Containers, and Python Programming patterns.

Please do not self host an instance of PrisonWarden. This repository only serves to be a showcase of this past project of mine. I will not be providing support for those wishing to self host.