Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Adding Roles to the Discord server #61

Open
3 tasks
Djacon opened this issue Feb 13, 2022 · 3 comments
Open
3 tasks

Adding Roles to the Discord server #61

Djacon opened this issue Feb 13, 2022 · 3 comments

Comments

@Djacon
Copy link
Contributor

Djacon commented Feb 13, 2022

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:

  • Create new roles on the server (8kyu -> 2dan, and higher if necessary)
  • Implement command /verify to verify the user on the server
  • Implement command /roleup to promote the role

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
Copy link
Member

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
Copy link
Contributor

hobovsky commented Feb 13, 2022

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
Copy link
Member

kazk commented Feb 14, 2022

I'm not a fan of the rank roles.

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

  • On Codewars, add "Link your Discord Account" button like the GitHub one. This will store the Discord user id in the user's record.
  • Add /codewars-account
    • /codewars-account link that sends your Discord id to Codewars to find your account. The bot will store this association somewhere.
    • /codewars-account unlink to remove yourself from the bot's database
    • /codewars-account find user:@user to get the Discord user's Codewars id/profile

We can add ✔️ role to verified users.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants