Niveaux de confiance de Discourse pour Discord

I’m all for using oauth2 or any other means of eliminating user malice and/or error.

I was just proposing a quick and dirty solution to getting around the discord email look up problem.

The work to achieve that was done months ago by @featheredtoast and if that’s all you need you can install the plugin which @falco linked above.

As to the scope of this topic, building on that link to sync trust levels, if you can’t wait for @sudaraka to finish his work your other option is to post over on Marketplace. Include your proposed budget to see whether another developer would be willing to build this for you sooner.

Yes. This is correct as far as I can tell, being a user of both plugins.

Patreon requires log-in via Patreon, then syncs your account to your pledge tier.

Would be great to sync Discord roles via Discourse, since Discourse has the information via Patreon already once logged in.

I’d like to gauge interest for an Discourse plugin that does the following:

  1. An administrative interface for an admin to connect their Discourse instance to a Discord instance via the Discord API. The authentication would be via OAuth 2.

  2. Controls to associate Discourse Groups with Discord Roles, so that members of a group have a certain discord role and vice versa.

Note that this won’t involve or rely on Discord OAuth as a method of user account authentication. The goal is a have a solution that is agnostic about the way you let you users sign up / login.

In terms of identifying users across both platforms, this will be handled by associating ids as a first step, then by email if the relevant id is not available.

If you’re interested in sponsoring such a plugin, now’s your chance. I have time to work on it next week.

@Bernstein @Hanzo1 @Watercolor_Games

Just an update here, we’re going ahead with building this.

Further details here:

https://discourse.angusmcleod.com.au/t/discourse-discord-oauth-integration/1103

If you want to sync Discourse Groups and Discord Roles, we’d appreciate a contribution to the Paypal pool for this work here (currently one sponsor):

*Update

@Hanzo1 @Wedgebert @chagara Are you guys still interested in syncing Discourse and Discord Groups and Roles? If so, we’re in the process of building an integration and need a few more backers to hit our (relatively speaking) low target of $1000 USD. Any contributions > $100 welcome.

We’re interested, but I’ll have to talk to our treasurer about getting donation money together.

I just chipped in some, we’re almost at the target.

For anybody here who is lurking and considering it, I want to emphasize how incredibly reasonable of a funding goal this is for such useful functionality.

There’s one day left and we’re currently $300 short. If you’re even slightly interested in this, now’s your chance to make it happen. :smiley:

We’ll be donating as soon as the person with access to the PayPal account gets online and does it.

Hey guys, just wanted to say I’m still following the project. Though I’ve moved away from using a forum specifically for my community, (we moved to reddit), it’s really awesome to see my MacGyvered-together proof of concept turn into a reality. I haven’t been able to follow the project much due to highschool and other personal reasons, but things are really shaping up from what I can tell. Good luck, guys! :slight_smile:

Donation has been made

Perfect advice :+1:

Heads up (and @featheredtoast) I’m working on a PR for this plugin to

  • change the class inheritance up a level to Auth::ManagedAuthenticator to
    • leverage the richer functionality to simplify the plugin
    • bring the implementation in line with Facebook and Google OAuth (storing additional info in user_associated_accounts)
  • store the user ID to facilitate my next step … :wink:

UPDATE: Submitted

C’est une idée vraiment intéressante ! J’ai hâte de voir où cela pourra mener.

Quelques progrès significatifs supplémentaires sur l’intégration… voyez si vous pouvez les repérer :robot: :wink: (merci à @falco pour m’avoir aidé à lever un obstacle)

=> Démarrage de Puma
=> Application Rails 5.2.3 en cours de démarrage en mode développement
=> Exécutez `rails server -h` pour plus d'options de démarrage
Démarrage du surveillant des changements CSS
-------------------------------------
Bot créé, dites "Ping !" sur Discord !
-------------------------------------
[INFO : websocket @ 2019-06-30 11:00:05.038] Discord utilise la version 6 du protocole de passerelle, demandée : 6
Démarrage de Puma en mode unique...
* Version 3.12.1 (ruby 2.6.1-p33), nom de code : Llamas en pyjama
* Threads minimum : 0, threads maximum : 16
* Environnement : développement
* Écoute sur tcp://0.0.0.0:3000
Utilisez Ctrl-C pour arrêter

Ce bot répond sur Discord, déterminé par le code exécuté dans mon plugin Discourse.

NB : il s’agit pour l’instant d’une simple preuve de concept, potentiellement encore loin d’être prête pour la production !

J’ai maintenant mis en place la fonction d’exclusion sur Discord en fonction du niveau de confiance sur Discourse.

Si vous le souhaitez, vous pouvez exclure tous les utilisateurs de votre serveur Discord qui n’ont pas encore atteint un niveau de confiance minimum sur votre forum Discourse.

Je n’ai pas encore emballé cela et lancé le plugin… restez à l’écoute.

OK, le kick fonctionne maintenant. Et ce que vous voyez s’exécute sur une instance de production de Discourse (la logique du bot, bien sûr, la capture d’écran est de Discord :D)

Il reste encore des tests à effectuer, des bugs à corriger (en particulier pour la synchronisation des groupes) et beaucoup de documentation à rédiger pour guider les utilisateurs dans la configuration (ce qui, malheureusement, n’est pas trivial).

Il prendra également en charge une « synchronisation » de groupe (copie des groupes Discourse et de leurs membres selon des critères fournis) dès le premier jour.

NB : Nous sommes toujours à 200 $ de l’objectif.

Ce fut un travail colossal.

Merci à ceux qui ont déjà contribué : les supporters bénéficieront d’une assistance prioritaire pour la configuration.

J’ai essayé de contribuer, mais il est indiqué que « la pool est terminée » ?

J’ai créé un nouveau cagnotte pour soutenir davantage le travail de @merefield ici (ennuyeusement, PayPal ne permet pas de rouvrir des cagnottes) :

(@merefield et moi travaillons ensemble)

Oh, merci Jeff !!!

Oui, si ce n’est pas déjà évident, Angus et moi collaborons désormais sur de nombreux projets et notre équipe s’agrandit en effet …

Merci les gars :grinning:

Le financement de ce plugin est désormais acquis et le plugin est désormais lancé ici : Discord Bot Construction Kit 🤖

… continuons toute discussion liée à ce nouveau plugin là-bas.