Kit de construction pour bot Discord đŸ€–

Bien. C’est un peu dĂ©cevant puisque je viens d’imposer les fils de discussion dans les canaux de support de notre Discord pour avoir une meilleure vue d’ensemble des cas de support. Et je ne suis pas sĂ»r que cela donne rĂ©ellement cela - mais heureusement, il y a d’autres avantages.

Avez-vous une ETA pour l’API et une idĂ©e de ce qu’il en coĂ»terait pour supporter la fonctionnalitĂ© ?

Merci !

/k

2 « J'aime »

J’ai relancĂ© rĂ©cemment et c’est en dĂ©veloppement depuis un certain temps. Je relancerai et je reviendrai, mais attention, la derniĂšre fois, ils m’ont dit « ce sera fait quand ce sera fait »  le problĂšme avec l’open source est souvent l’absence d’un bon moyen d’orienter des niveaux appropriĂ©s de financement communautaire (ou leur absence) pour aider Ă  la concentration et Ă  la priorisation
 nous verrons


De mon cĂŽtĂ©, je devrais voir l’implĂ©mentation finale pour estimer l’effort.

Le dĂ©fi pourrait ĂȘtre que, bien qu’il soit simple de copier les messages, maintenir les fils de discussion synchronisĂ©s avec les sujets peut nĂ©cessiter une sorte de mappage maintenu dans Discourse, par exemple un champ personnalisĂ© ou une table qui mappe les fils de discussion Discord aux sujets Discourse, de sorte que lorsqu’un nouveau message est ajoutĂ© Ă  un fil de discussion, vous sachiez oĂč le placer dans Discourse.

Pouvez-vous préciser exactement la fonctionnalité/le comportement que vous recherchez ?

2 « J'aime »

Ouais, c’est nul de dĂ©pendre de quelque chose sur lequel on ne peut pas influencer.

Mon idĂ©e est trĂšs inspirĂ©e par l’article et la discussion sur le blog Discourse sur la façon dont Discord et Discourse se complĂštent bien. Quand nous avons lancĂ© notre serveur Discord il y a presque deux mois, nous ne savions pas vraiment comment il allait Ă©voluer et comment il affecterait notre forum Discourse existant (mais Ă  peine configurĂ©), mais il semble que les gens l’utilisent toujours, ainsi que notre Discord, pour poser des questions de support technique (je suis avec le projet FOSS CrowdSec). Donc, en gros, j’adhĂšre complĂštement Ă  l’idĂ©e d’utiliser Discourse comme une mĂ©moire Ă  plus long terme et de synchroniser les fils Discord avec Discourse sous des sujets correspondant aux canaux Discord (et vice versa). La façon dont je vois les choses, cela peut ĂȘtre fait beaucoup plus efficacement (par exemple, de maniĂšre automatisĂ©e) en utilisant des fils.

Comme je l’ai dit, j’ai rĂ©cemment imposĂ© les fils sur Discord, ce qui signifie que ce n’est pas toujours trĂšs facile d’avoir une vue d’ensemble des fils pour nos dĂ©veloppeurs qui sont affectĂ©s au support utilisateur. Je veux donc utiliser la synchronisation avec Discourse comme un bon moyen pour eux de rester informĂ©s des questions auxquelles rĂ©pondre, tout en n’étant pas trop aspirĂ©s par le bavardage de Discord.

Est-ce que cela a du sens ? Et y a-t-il un autre moyen d’y parvenir dans un dĂ©lai plus court, peut-ĂȘtre ?

2 « J'aime »

Salut @merefield !

Je vous contacte ici car je ne pense pas que mon problĂšme GitHub ait Ă©tĂ© vu, et je pense que c’est le meilleur endroit ensuite.

image

Nous avons rencontrĂ© une erreur que nous avons attribuĂ©e au plugin de bot Discord. L’image ci-dessus montre l’erreur de l’inspecteur d’élĂ©ments, mais tout utilisateur qui envoie un message privĂ© reçoit Ă©galement un message visuel d’« Erreur 500 » lorsque son message privĂ© est envoyĂ©. Le message privĂ© est toujours envoyĂ© avec succĂšs, mais cette erreur donne l’impression du contraire. AprĂšs avoir dĂ©sactivĂ© le plugin, le problĂšme n’existe plus.

Je suis Ă  peu prĂšs sĂ»r que le problĂšme provient de /lib/discourse_event_handlers.rb. Je suppose qu’un message privĂ© dĂ©clenche l’évĂ©nement Discourse post_created, ce qui le fait essayer d’accĂ©der Ă  la catĂ©gorie du message via posted_category = post.topic.category.id, ce qui provoque l’erreur.

J’espĂšre que cela vous aidera et que cela pourra ĂȘtre rĂ©solu bientĂŽt. Merci.

2 « J'aime »

Merci pour le rapport. Ça semble Ă  peu prĂšs juste. J’aurai peut-ĂȘtre l’occasion de m’y pencher cette semaine


2 « J'aime »

Fantastique, merci ! Nous garderons un Ɠil sur la mise à jour. :+1:

2 « J'aime »

Je vous prĂ©viens que je suis dĂ©bordĂ© par le travail client en ce moment, donc cela pourrait ne pas ĂȘtre examinĂ© avant un certain temps.

En attendant, la Pull Request est acceptée.

En gĂ©nĂ©ral, j’apprĂ©cierais davantage de contributions de la communautĂ© aux plugins gratuits.

2 « J'aime »

Les choses sont assez chargĂ©es pour moi en ce moment, mais j’ai appliquĂ© ce que je crois ĂȘtre un correctif :

FIX : exclure les messages privĂ©s des considĂ©rations d’évĂ©nements de bot · merefield/discourse-discord-bot@82b2109 (github.com)

Cela semble fonctionner maintenant et le redouté 500 sur les MP a disparu


2 « J'aime »

Oh, c’est merveilleux et remplace Discord Chat !

Est-ce censé lire les noms de slug sur Discourse ou juste les titres ?

1 « J'aime »

Discord ne gĂšre pas par slugs de la mĂȘme maniĂšre, donc si mes souvenirs sont bons, ce sont des titres.

2 « J'aime »

Bonjour, je ne sais pas si cela a dĂ©jĂ  Ă©tĂ© demandĂ© auparavant, mais les identifiants OAuth doivent-ils ĂȘtre les mĂȘmes que ceux de l’application ? Car pour le moment, nous utilisons une autre intĂ©gration de synchronisation Discord et les champs OAuth sont dĂ©jĂ  remplis. Merci.

1 « J'aime »

Ce plugin est compatible avec la solution officielle de connexion sociale dans le cƓur. Le bot a besoin d’un jeton d’une application Discord autorisĂ©e. La connexion sociale permet au plugin d’identifier le mĂȘme utilisateur sur les deux plateformes.

2 « J'aime »

Merci pour la réponse ! Je vais déboguer un peu plus pour voir ce qui me manque dans la configuration.

2 « J'aime »

Je ne pense pas que ce soit la mĂȘme application Discord, mais essayez !

2 « J'aime »

Bonjour !
En cherchant sur le forum un moyen de donner aux utilisateurs de Discourse un niveau de confiance différent basé sur un compte Discord, je suis arrivé ici.

Nous avons déjà une communauté assez active sur Discord et nous avons récemment intégré Discourse pour des discussions plus organisées.

Je cherche une solution qui fonctionne comme suit : un membre qui se connecte avec son compte Discord et qui possÚde un rÎle spécifique sur Discord reçoit automatiquement un niveau de confiance 1 sur Discourse.

Ce Bot Kit serait-il le bon point de départ pour une telle implémentation ?

Merci

1 « J'aime »

Ce bot, Ă  ma connaissance, fonctionne dans un seul sens, de Discourse vers Discord. Il n’existe pas de fonctions intĂ©grĂ©es pour faire l’inverse.

Personnellement, je pense qu’il serait plus facile d’y parvenir avec du code externe qui surveille le webhook des Ă©vĂ©nements utilisateur de votre installation Discourse.

ÉvĂ©nement webhook sortant → RĂ©cupĂ©rer l’ID utilisateur Discord de la base de donnĂ©es Discourse (nĂ©cessite l’authentification Discord) → RĂ©cupĂ©rer les rĂŽles avec discord.js, .py, etc. → Assigner le rĂŽle avec une requĂȘte API Discourse

Pour obtenir l’ID Discord, vous devez utiliser le plugin Data Explorer et crĂ©er la requĂȘte suivante :

-- [params]
-- string :user
SELECT u.username, u.id, a.user_id, a.provider_name, a.provider_uid
FROM users u
JOIN user_associated_accounts a on a.user_id = u.id
WHERE u.username = :user

Vous pouvez ensuite consulter la documentation du plugin Data Explorer et interroger cette requĂȘte avec une demande d’API pour obtenir l’ID.

J’espùre que cela vous aidera un peu.

1 « J'aime »

Bien que cela soit vrai pour la synchronisation des rîles, ce n’est pas exact par ailleurs.

D’aprĂšs l’OP :

Donc, beaucoup de comportements Discord → Discourse et loin d’ĂȘtre juste un bot de « synchronisation des rĂŽles Â».

Comme toujours, les PR sont les bienvenus pour toute fonctionnalitĂ© supplĂ©mentaire gĂ©nĂ©ralement utile. Ce serait bien d’avoir quelques ajouts de la communautĂ©. :eyes:

4 « J'aime »

Merci pour cette publication @merefield

Puis-je avoir votre Discord ? J’aimerais vous poser quelques questions si cela ne vous dĂ©range pas.

Pour que les connaissances restent ouvertes et indexĂ©es pour tout le monde, il est probablement prĂ©fĂ©rable de poser les questions ici. Discord est un trou noir pour l’information. Les choses y entrent et ne sont ensuite plus jamais retrouvĂ©es :slight_smile: Et sinon, nous avons aussi le chat ici sur Discourse.

1 « J'aime »

Salut Kene, si ce n’est pas de nature commerciale, j’apprĂ©cierais si tu pouvais poser tes questions ici afin que la communautĂ© puisse en bĂ©nĂ©ficier (ou mĂȘme y rĂ©pondre)

3 « J'aime »