codewars / discord-bot

Codewars Discord Bot
MIT License
21 stars 11 forks source link

Adding Roles to the Discord server #61

Open Djacon opened 2 years ago

Djacon commented 2 years ago

At the moment there is no variety of roles on the codewars server as such. Now on the server there are roles only for administration. I would like to add roles for all users, as it is done on the site.

A possible list of what we would need to do:

Task description:

  1. Create roles with colors corresponding to their ranks
  2. It is assumed that in order to get a role on the server, the user will have to write the command /verify key: "your key" to the bot in private messages.
  3. It is also assumed that in the case of increasing the rank of the user, the user will have to write to the bot in private messages with the command /roleup.

Problems and possible solutions:

In the case of the /verify command, it would be necessary to provide the bot with a key identifying the user. I think we need to create an individual key generator in the user's account settings on the site.

In the future, in case the user's rank is increased, we need to check this event in some way. I think that in order for the bot not to check in real time the change of rank, we should simply add a command /roleup, which, using the previously obtained key, make a check of the user's account for its promotion.

DonaldKellett commented 2 years ago

Related discussion: https://discord.com/channels/846624424199061524/942390549711822888/942390552622678056

In particular, Hack the Box provides an example of how integration of Codewars account on Discord might be done: https://discord.com/channels/846624424199061524/942390549711822888/942391254212300851

Of course, I've no idea how easy or difficult it is to implement such a solution on Codewars given the current codebase, so just throwing around ideas here.

hobovsky commented 2 years ago

I am not a real fan of the idea. I can see some fun factor in it, but I am actually not sure its worth of efforts it would take, implementation- and administration-wise.

First of all, kyu rank does not really reflect anything useful. It would be good only for bragging rights and i think nothing more. There are no privileges or functions tied to a user rank.

Then, if someone would like to brag about the color of their label, I believe they would b dissatisfied if their discord role did not switch automagically from 7 kyu to 6 kyu. There would be a lot of support questions about this.

Whats more we kinda have discord roles equivalent to codewars roles. There are admins and mods, which are not available to everyone, but theres also @menders - not really 100% official yet, but I believe going to be soon.

Don't get me wrong, I can see how rank related discord roles can be fun. But I am not sure whether they can be really useful and worth the effort. I would just prefer seeing people using actually useful roles, like translators, authors, reviewers, menders, rather than mere meaningless labels. Wanna be recognized? Make yourself recignized.

kazk commented 2 years ago

I'm not a fan of the rank roles.

For linking accounts, we can use OAuth2 with just the identity scope.

We can add :heavy_check_mark: role to verified users.