This open-sponsored project has two goals
- Establish an OAuth 2.0 Authenticated connection between a Discourse and Discord instance
- Match a User’s Discourse Group Membership to Discord Roles
You can sponsor this project here: https://paypal.me/pools/c/8fzrDylkFE
The projected completion date is 2019-06-21T16:00:00Z
There are two ways to handle this piece. Either
build on top of the Discord OAuth 2.0 plugin, i.e. rely on individual users to authenticate and connect their Discourse and Discord accounts; or
create a single persistent OAuth 2.0 connection on the backend which you use to sync the two services.
The virtues of 1 are that it builds on top of the existing plugin and requires association of Discourse and Discord User Ids to function. The vice of this approach is that it relies on the user, i.e. to authenticate using Discord.
The virtues and vices of 2 are essentially the reverse of 1. It doesn’t rely on the user, but would require more work and can’t guarantee a userId match, i.e. you’d need to rely on email matching.
The initial requirement is to sync Discourse Groups with Discord Roles, however once a connection is established anything supported by the Discord API can be synced.