Skip to content

Latest commit

 

History

History
68 lines (45 loc) · 4.14 KB

File metadata and controls

68 lines (45 loc) · 4.14 KB

Discord hackweek bot

alttext

Hackweek Team: Nerd#0614 ,caladanbrood#5363, bAnanaS#6056, MidLoki#6680

Discord Moderation Bot first developed for discord's HackWeek 2019 contest. Includes auto incident reporting feature, a verification feature with three variations, and a roles graph feature.

Terms: Discord, Bot, Python, Moderation

Prerequisites

Features

  • Role statistics -

    • b!plot - Generate a plot of how many people are assigned to each role in the server
      example from Coding Community Server: alttext

    • b!networkplot - Generate a network graph of role co-occurrence.
      example from Coding Community Server: alttext

  • Verification - Users will join as 'unverified', to verify users will be given one of three different types of challenge prompts that they must successfully answer to become a verified member

    • b!verification <true/false> - Enable or disable the system, if enabled, creates a channel and role, auto deletes when the feature is disabled

    • b!verify - Verify yourself as a user. The bot will DM you and you will have to complete one of three challenges. The first possible challenges is to repeat back a three word phrase, copy/pasting will not work, you must type the phrase back. Second possible challenge is to solve a simple 3 operand math problem. Third challenge is to type back the color of an object.

  • Incident Reports - When a user is kicked, banned, or unbanned it will auto generate an incident report and a 'receipt' will be sent via DM to both the recipient and the staff member that issued it. Optionally it can post these receipts into a channel. There is also an option to create a custom incident report. These incidents will be preserved through restarts and can be searched with commands. Individual reports can also be deleted if required.

    • b!reporting <true/false> - Enable or disable reporting feature, if enabled a channel is created and a report 'receipt' will be sent in that channel. Channel will be deleted if feature is disabled.

    • b!kick - Kick the specified user, reason is required.

    • b!ban - Bans the specified user,reason is required.

    • b!hackban - This is used to ban a user that is not in the server, reason is required.

    • b!unban - Unban the user with the ID provided, reason is required.

    • b!report - Create a custom report, action and reason are both required.

    • b!lookup <user mention, user ID, or case number> --receipt(optional parameter) - Lookup reports, if user ID or mention is provided, it will show all reports attached to that user. If a case number is specified, it will show that specific report. If only fetching one report, appending '--receipt' to the end of the command will cause the bot to send you a copy of the report via DM.

    • b!recall - Delete a single report from the system.

  • General message management features

    • b!purge (optional) - Bulk delete messages from a channel, if you mention a user it will only delete messages from said user.

    • b!move <copy (defaults to false, unless otherwise specified)> - Move the specified number of messages to the target channel, if copy is set to true, it will copy instead of move.

  • Join/Leave responses - The bot greets people as they come, and wishes them well as they leave. Will be automatically sent to the server's system message channel