12brendan3 / UC-Esports-Bot

A bot for the University of Cincinnati Esports Discord server. Written using discord.js.
MIT License
3 stars 0 forks source link

Reaction based roles #11

Closed 12brendan3 closed 3 years ago

12brendan3 commented 3 years ago

Users should be given a role based on what reaction they click - on a specific message. Rich embeds in a specific channel should be used for this purpose. Updating embeds/reactions via message editing instead of clearing the channel and resending should also be a feature of this due to the Discord API's severe rate limiting. There are generally two options for how this system could work.

Option A: When users add a reaction, they should be given the role associated with the reaction. When users remove a reaction, they should have the role removed from them. A DM is sent to confirm that they have been given the role or that it was removed.

Option B: When users add a reaction, they are given the role and the reaction they added is cleared. This process is repeated for having a role removed. This is how the current bot works. A DM is sent to confirm that they have been given the role or that it was removed.

This is how one of the embeds currently look: image

An example of the bot's DMs for a role being added/removed: image

12brendan3 commented 3 years ago

If anyone has any input for other ways this could function, feel free to voice your opinion, I'm all ears. I don't particularly love how clunky it can feel at times.

BaruYogesh commented 3 years ago

i'm not really sure how we can make things less clunky tbh. the only other ideas i can think of are:

Actually, we could make a 3-second message in the same roles channel that tells the user that they've been added/removed from a role rather than DMing them, DM is kind of annoying. --Baru

On Mon, Aug 10, 2020 at 5:35 AM Brendan Root notifications@github.com wrote:

If anyone has any input for other ways this could function, feel free to voice your opinion, I'm all ears. I don't particularly love how clunky it can feel at times.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/12brendan3/UC-Esports-Bot/issues/11#issuecomment-671256159, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD7CL6IGCDJQVNLJPRYNOGDR765OLANCNFSM4PZYTFSQ .

veekerz commented 3 years ago

DM may be annoying, but in the case of someone accidentally tapping a reaction and removing/adding a role, how can a three-second message let them (especially the less Discord-savvy folks) know that they have done so when they aren't aware? I think "Option B" as Brendan laid out can be confusing because the reaction gets cleared; at least with Option A, they know users know what they have opted into without referring to the DM sent by the bot.

Might not be too big of a deal, but that's how I view it. I'm not opposed to the message either; I know other servers that have something similar, and people can just mute #join-team to avoid notifications from said messages.

Also, if we can update the role descriptions to be more grammatically correct, that would soothe my grammar police heart so much. ☺️

veekerz commented 3 years ago

I'd like to restructure our games like how NKU has done so in their server: image

Having all of our competitive (usually more popular games) at the top and in a separate embed would be neat.

BaruYogesh commented 3 years ago

thanks for sharing this, i think this could be done pretty easily actually and looks much better than the current system.

12brendan3 commented 3 years ago

Also take #20 into consideration.

veekerz commented 3 years ago

Also take #20 into consideration.

Regarding #20, I agree with what Baru said in the dev chat: image

Reaction roles are quicker to add/remove and seem to be more user friendly since users won't have to figure out what prefix to use (for some people, this can be a struggle lol). I think the reaction roles have been successful since being first implemented; something to improve the experience would be to make the directions more easily visible. Do you guys think it would be acceptable to have an embed with what's currently in the #join-team's topic? image I would want this to come before the reorganized roles so it's [ideally] the first thing that is displayed/read in the channel.

veekerz commented 3 years ago

Also, regarding duplicate emotes, is there a way to easily use the same emote in different embeds (i.e. the same emote for League and LoL In-House)? If not, then how do we feel about using the basic circles or squares instead since we don't have many in-house roles? image LoL = blue OW = orange CS:GO = brown Valorant = red

BaruYogesh commented 3 years ago

yeah we can use the same emote in different embeds. just needs to be implemented correctly by me. --Baru

On Tue, Sep 15, 2020 at 10:30 PM Mika Kumar notifications@github.com wrote:

Also, regarding duplicate emotes, is there a way to easily use the same emote in different embeds (i.e. the same emote for League and LoL In-House)? If not, then how do we feel about using the basic circles or squares instead since we don't have many in-houses? [image: image] https://user-images.githubusercontent.com/22435480/93285473-ea8b9400-f7a2-11ea-8021-119da48725e0.png LoL = blue OW = orange CS:GO = brown Valorant = red

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/12brendan3/UC-Esports-Bot/issues/11#issuecomment-693132029, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD7CL6IVABJEIRCLZLNIV33SGAPKXANCNFSM4PZYTFSQ .

veekerz commented 3 years ago

With the addition of He/Him, She/Her, and They/Them roles, it would be nice to have these be self-assignable and in the #join-team channel. I'm unsure what the category/section should be called. "Lifestyle"? "Identity"? "Identifiers"? Maybe just "Pronouns"?

12brendan3 commented 3 years ago

I was thinking "Pronouns." The new system has the flexibility of allowing as many self-assign roles as you want under as many categories as you want. There is a cap of 20 roles per category tough - since Discord has a hard limit. Having a "Pronouns" category will be as simple as adding a new category and then registering each role to a reaction in that category.