Together-Java / TJ-Bot

TJ-Bot is a Discord Bot used on the Together Java server. It is maintained by the community, anyone can contribute.
https://togetherjava.org
GNU General Public License v3.0
101 stars 86 forks source link

Add slash command to generate application form for various community roles #1024

Open marko-radosavljevic opened 6 months ago

marko-radosavljevic commented 6 months ago

We want members to know that we appreciate and want their help and contributions for various tasks like organizing events, outreach, community management etc. Additionally, we want to make applying to these roles easy, without leaving the discord client.

So a bot message like "We are always looking for community members that want to contribute to our community, and take charge, if you are interested you can apply for various positions here!" and a button. The channel where this is posted would be in the config. Roles you can apply to should also be in a config.

Member clicks a button, selects a role they want to apply to (optionally, a brief description of the role, if the UI permits), and fill a form answering the question "What makes you a valuable addition to this team" (but a more friendly and less corporate version with a happy emoji).

Their application is posted in a channel defined in the config. With information about the applicant, their picture and discord name, similar to modmail/report.

SquidXTV commented 6 months ago

When should the bot create that message? On a command?

marko-radosavljevic commented 6 months ago

Automatically, just a single message, similarly how you have the 'select your roles' channel. It's there 24/7, for anyone that wants to apply. Message with a button to application form.

Feel free to give any suggestions. :relaxed:

SquidXTV commented 6 months ago

yeah ok, I am asking because if you generate the message when starting the bot it will send it multiple times, always when the bot restarts and stuff

marko-radosavljevic commented 6 months ago

Yeah, I haven't really described implementation details.

But it would probably be a slash command that would generate this message. Since we have to account for bot restarts, and we also have to account for addition of new roles members can apply for. That's why roles should be in the config, so we can be dynamic about it, and freely add or remove roles we are no longer interested in. And then we generate new message/application form with a slash command.

Keeping the flow consistent with /role-select command we already have.

christolis commented 6 months ago

Has anybody started work on this?

ankitsmt211 commented 6 months ago

@christolis no one is assigned yet, but before you dive into implementations details do brief on the approach you will take. Seems like a button that will trigger a modal menu with fitting questions, role they're applying for etc. I suppose marko mentioned the details. Imo for roles, we can have a field in the modal menu which will brief over various roles along with their initials for ex:

Community Ambassador (CA), people reading that can fill CA (should be clear). Questions should be generic to target all roles, but do brief with @marko-radosavljevic or any other moderator/Admin on what questions they would like the form to have. Once you have a structure in mind, should be straight forward.

Also let me know if you can't self assign it.

Additonal Notes: You can also look at how Mod Mail is handled, will be a good reference material.

christolis commented 6 months ago

My apologies if this has been answered, but how do applications get accepted or rejected by the bot? Would it have a check-mark button for each application post that accepts them and a cross button to reject them, or would they be manually reviewed by the moderation team?

ankitsmt211 commented 6 months ago

@christolis not sure what you mean, user should get a response on submitting that info either an epheremal response or a DM (DM can be more of a reciept of the action for user if they want that for whatever reasons).

Response can be something along the lines "thank you for applying, our team will review this and get back to you shortly" and then mods can reach out if a fit for position.

Suleman70 commented 6 months ago

@christolis I am Tea from the discord server.