-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Role bot requirements #5
Comments
This part is a problem in that people can do impersonation attacks, especially if we assign distinct permissions to Discord roles. There is no clarification on what to do if two or more members claim the Discord handle. Furthermore, entering a Discord username on a Joystream profile does not verify it. The current implementation of the bot requires a user to sign a challenge using polkadot-js to prove they own the Joystream membership handle. This isn't included in your specification, but is this an acceptable method of verifying users? |
I did not understand this, can you raise the issue on a DAO meeting in the near future? |
@bedeho For example: If I type, |
Agreed. |
@chrlschwb I would suggest one thing in addition to what is present. There should be a discord role called something like We had the same thing with the old bot but it was called |
IMPORTANTLY: we are starting from scratch here, the current bots have all sorts of legacy behaviours which should not carry over.
Background
Often in Discord one may want to address the member currently occupying a role, but one does not know who this member is, and looking it up on-chain is very tedious. Likewise, there are channel permissions which one wants to assocaited with on-chain roles, rather than Discord memberships. The solution for both of these problems is to automatically maintain what set of on-chain members should have a given Discord role membership, by exploiting the fact that on-chain memberships include the possibility of specifying.
Proposal
Maintiner
@DzhideX
Infra
Jsgensis operated.
Target chain
Carhtage
Requirements
Must be versioned.
On-chain roles for which we want to maintain correct set of Discord members in corresponding Discord roles
We need full synchronization, meaning that Discord roles should exactly map all on-chain role sets with minimal slippage, and this will not be disrupted if a the Discord bot is temporarily halted, or if roles on Discord are manually changed, etc.
It is probably best to do the synchronization in a stateless way, i.e. not maintain any assumption about what on-chain events you have or have not processed at any given time, just instead at regular intervals do the following
This way of doing it means that regardless what interventinos members do in terms of changin their Discord handle on-chain, or someone manually updates Role sets in Discord, or Discord bot is down for maintenance, it will always just work, and it will be very easy to debug. The synchronization interval must be configurable.
who_is [discord_handle]
lists member id, on-chain roles above, or if no mapping exists, this shoul be said, along with a link to some external resource about how to establish it.list_role_members [discord role]
: same as doingwho_is
on all discord handles in discord role, and include discord handles that hve no mapping, just as inwho_is
.status
listsThe text was updated successfully, but these errors were encountered: