[HIRED] Custom moderation/ban appeal module

:white_check_mark: I have read and understand the Cogboard Bounty rules

Bounty Request Format:

Discord Username: Jakey#8439 (I have friend requests disabled, so please provide your username so I may add you)

Payment Information (Optional): Paypal ($70)

Description of Cog:
The moderation cogs that are publicly available don’t fully suit the purposes I need them for so I am requesting a custom one.

Required features:

  • Infraction system:

    • Command to warn/kick/mute (via Discord Timeout)/tempban/permaban users.
    • If a user is warned/kicked/muted/tempbanned/permabanned, they are notified with an embed via DM with the infraction reason and their current infraction count. Embed text should be customizable and also include a customizable icon.
    • A second, smaller embed should be posted in the channel where the warning was issued. Like above, this embed should be customizable, as well as an option to toggle this embed being posted per action (eg: warns will be posted, bans will not, etc).
    • All actions should be logged into a channel with information about the action (who performed the action, who the action was performed against, reason provided for action, when it occurred, and the user’s current infraction count)
    • Infractions should expire after a configurable amount of time (but still be viewable in the infraction log, noted as expired)
    • Infractions should be stored in their own file for backup purposes
  • Substitutions/variables

    • Ability to create text substitutions. For example, if I warned someone for “[r1]” it would show up as “Rule 1”
    • Variables for text in embeds, such as {user} for the user’s name
  • User lookup:

    • A command to lookup a user and display their current username, ID, nickname, join date, account creation date, infraction count.
    • A command to generate an embed that allows mods to browse a user’s infractions along with full details of the infraction, as well as the ability to modify or remove infractions.
  • Automod:

    • Once a user reaches a configurable number of infractions, the bot should automatically perform another action on the user (such as muting them for a set amount of time or banning them). The number of infractions required and what action is taken should be configurable and I need to be able to set more than one at a time (for example, reaching 2 infractions mutes you for an hour, reaching 4 infractions bans you)
    • Infractions should expire after a configurable amount of time (but still be viewable in the infraction log, noted as expired)
    • Only warns should count towards automod actions, not mutes/kicks/etc
    • Automod actions should also be logged with moderator actions
  • Ban appeal:

    • We have a ban appeal server and we currently just append an invite link to it at the end of bans, however users have been sharing the link around and non-banned users were joining the ban appeal server. I would like for the bot to generate a one-time-use invite URL to the Appeals server and include it in the embed when a user is banned.
    • A command to ban a user which omits the ban appeal link (such as !pban)

V2 or V3:
V3

APIs or other information:
N/A

Other info (Bounty, issues, ETC):
I have tried my best to be as descriptive of what I want as possible however I’m sure that we can paint a clearer picture through conversation.
I also respect your free time and will do my utmost to only message you at appropriate times and will only check in on progress weekly.
My fellow team of moderators will no doubt have feedback and input about the cog as they hear about how it’s shaping up - I will be happy to pay further for any additions or adjustments to the module beyond what is initially agreed upon. Should you not wish to provide further updates to the module at any time, I also completely respect your freedom to do so, simply let me know that you no longer wish to receive requests and I will oblige immediately.

Hi I would like to work on this if its available. drop me a dm. My username is crayyy_zee#2900