prism-space / prism-bot

A special-purpose Discord bot with Django-based web management
Creative Commons Zero v1.0 Universal
2 stars 0 forks source link

Create a system for democratically approving new members #2

Open blerg-rush opened 2 years ago

blerg-rush commented 2 years ago

We'd like to leave the power of approving or denying new members up to the community instead of requiring the mods to intervene for each new member.

What this might look like: Define approve/deny emoji responses, and have the bot monitor messages in the #introductions channel. If the "approve" score of a new post exceeds the "deny" score by a certain margin, the bot will automatically assign the poster the "Member" role.

Discussions are still needed on what the calculation should look like, but simple and easy to understand is probably best.

Razametaza commented 2 years ago

I think utilizing a simple ratio might be best. If a new member gets even 1 "deny" response then there's probably a good reason for it and they should be placed under more scrutiny. For example: It could be as simple as a 3:1 ratio of accept:deny and if a single deny vote is present then they would require 6 accept votes to proceed.

Razametaza commented 2 years ago

So regarding implementation, can we retroactively attach a pair of embedded buttons to a new members intro post? Though that method is probably much harder to implement.

So here's the order of events I'm thinking:

When a new member joins, they automatically receive a hidden message from the bot with a welcome message and a reminder to make an intro.

After the new member has created their intro, the bot could then create a public welcome message in the General chat with a link to the new member's intro message so that the other members are aware that their input is needed in a vote event.

blerg-rush commented 2 years ago

So regarding implementation, can we retroactively attach a pair of embedded buttons to a new members intro post? Though that method is probably much harder to implement.

Mm, this might be possible, but I don't think you can have the bot regain visibility of an existing button if, say, the server resets. The bot keeps track of the buttons it's created but only as long as it never "loses sight" of them, so to speak. Plus, I don't think there would be any way to hide the buttons from the new user attempting to join, which is a little awkward.

I'll have to experiment a bit but I think emoji reactions might still be the most reliable way to handle this one.