Kit de construction pour bot Discord đŸ€–

Je serais ravi de vous inviter sur mon instance ! Je ne sais pas si votre plugin enregistre quelque part, mais je pourrais vous envoyer ces logs si cela peut aider.

EDIT : Lorsque vous avez autorisé le bot, quelles permissions lui avez-vous attribuées ?

1 « J'aime »

Le bot nĂ©cessite les droits d’administrateur :

Vous devez accorder les permissions via le navigateur comme décrit ici (et dans le message original) :

quelque chose comme : https://discord.com/api/oauth2/authorize?client_id=VOTRE_CLIENT_ID&scope=bot&permissions=8

Votre problĂšme vient presque certainement du cĂŽtĂ© de Discord, car le serveur du bot Discourse semble fonctionner (vous l’avez confirmĂ© avec la commande Ping !), donc les journaux de Discourse ne seront pas pertinents.

Je viens de retester ce plugin sur la derniĂšre version de Discourse et tout fonctionne (j’ai mis Ă  jour quelques gems vers des versions plus rĂ©centes pour assurer la compatibilitĂ© avec d’autres plugins, mais cela n’a pas de lien avec votre problĂšme).

Oui, donc je l’ai rĂ©invitĂ© plusieurs fois sans aucun changement. C’est un administrateur et il dispose de la portĂ©e bot. Je suis la personne qui l’invite sur Discord, je suis le propriĂ©taire du serveur Discord. Il ne me reconnaĂźt simplement pas et renvoie : « Vous n’avez pas la permission d’exĂ©cuter la commande discsync ! »

Je suis complĂštement perdu, malheureusement !

1 « J'aime »

Les avez-vous configurés dans les paramÚtres de Discourse ?:

2 « J'aime »

Hourra ! Il semble que j’ai rĂ©ussi Ă  malformater l’ID du groupe Admin d’une maniĂšre ou d’une autre ! Il semblerait que mon copier-coller ait peut-ĂȘtre oubliĂ© un chiffre


Donc, en tant que question complĂ©mentaire, j’essaie maintenant d’attribuer des couleurs aux personnes sur Discord en fonction de leur niveau de confiance sur Discourse. Pour que les niveaux de confiance soient copiĂ©s, je pense que la commande devrait ĂȘtre :

!discsync false, 0, true

Est-ce correct ? Cela me renvoie ce qui suit :

MODIFICATION : Le mĂȘme rĂ©sultat est obtenu si j’exĂ©cute la commande sans virgules, c’est-Ă -dire :

!discsync false 0 true

2 « J'aime »

Augmentez votre niveau de visibilité. Les groupes automatisés par défaut sont configurés sur la visibilité 1 (« Utilisateurs connectés »). Ainsi, si cette valeur est égale à zéro, vous excluez les groupes automatisés par défaut :

La valeur zéro inclura uniquement les groupes visibles par tout le monde, y compris les anonymes.

3 « J'aime »

C’est moi, rĂ©glĂ©. Merci beaucoup, c’est trĂšs apprĂ©ciĂ©.

Puis-je, en retour, vous aider en écrivant certaines de mes découvertes dans votre guide ? Sinon, pas de souci ; je souhaite simplement rendre la main à votre soutien.

3 « J'aime »

C’est trĂšs gentil. Je serais ravi que vous le rĂ©visiez. Vous devriez dĂ©jĂ  pouvoir le faire ? C’est un wiki.

Vous m’avez aussi aidĂ© Ă  rafraĂźchir ma mĂ©moire :slight_smile:

2 « J'aime »

Je n’ai pas vraiment besoin de synchronisation des rĂŽles, mais un bot Discord qui publie dans des canaux spĂ©cifiques du serveur Discord lorsque de nouveaux sujets sont créés sur le forum serait bien. Existe-t-il un plugin capable de faire cela ?

1 « J'aime »

Oui, ce plugin n’est probablement pas l’outil appropriĂ© pour cela. Le bot est alimentĂ© par votre Discourse et peut accĂ©der Ă  vos donnĂ©es Discourse (lorsque cela est autorisĂ© et demandĂ© par une commande), mais il s’exĂ©cute dans un thread sĂ©parĂ©, il ne sera donc pas signalĂ© par les Ă©vĂ©nements de Discourse.

Je suppose qu’il pourrait ĂȘtre envisageable de l’étendre Ă  un moment donnĂ©, par exemple pour surveiller la crĂ©ation de nouveaux sujets dans une catĂ©gorie spĂ©cifique. Ce n’est pas la meilleure utilisation de cette architecture, mais les PR sont les bienvenues.

On dirait que vous devez enquĂȘter sur :

Ou

1 « J'aime »

Oui, j’ai examinĂ© ces deux options. La premiĂšre, Zapier, n’est pas gratuite. Vous pouvez crĂ©er jusqu’à 5 Zaps gratuits, et ceux-ci sont des Zaps Ă  une seule Ă©tape. C’est exactement ce qui a Ă©tĂ© dit dans ce fil de discussion, donc l’alternative proposĂ©e Ă©tait l’intĂ©gration discourse-chat-integration, qui est supposĂ©e ĂȘtre un plugin officiel. Je pense que c’est la mĂ©thode la plus proche pour faire ce que je veux faire.

La derniĂšre option semble ĂȘtre un plugin de flux RSS :

Mise Ă  jour : AprĂšs avoir appris Ă  configurer correctement les rĂšgles et Ă  paramĂ©trer les webhooks, l’intĂ©gration de chat fait exactement ce que je voulais ! Merci.

4 « J'aime »

Salut @merefield,

merci encore de nous avoir contactés à propos de ce plugin !

J’ai tout installĂ© comme dĂ©crit dans la documentation. J’utilise cette commande : !discsync et tout semble fonctionner de mon cĂŽtĂ©. :smiling_face_with_three_hearts:

Cependant, pour certains utilisateurs (pas pour tous), j’obtiens cette erreur pour tous leurs groupes :

Discourse Sync :  [11/31] Ajout du membre 'MaxMustermann' au groupe 'Member'
Discourse Sync :  Il semble que je n'aie pas les droits nécessaires pour le faire !
ERREUR sur le serveur XYZ (ID : 123123123123) pour la commande ^add_role, méthode add_role' non définie pour nil:NilClass

D’autres utilisateurs peuvent ĂȘtre synchronisĂ©s pour le mĂȘme groupe :thinking:

1 « J'aime »

Cela suggĂšre que votre provider_uid dans Discourse n’est pas dĂ©fini pour cet utilisateur. Veuillez enquĂȘter.

Bravo pour la mise en place, au fait. C’est assez complexe et pas pour les timides ! :).

2 « J'aime »

J’ai exĂ©cutĂ© cette requĂȘte dans le plugin Knowledge Explorer :

SELECT *
FROM   user_associated_accounts  u 
WHERE  u.provider_name = 'discord' 

Je ne peux pas publier le rĂ©sultat pour des raisons :smile: mais j’ai vĂ©rifiĂ© le provider_uid de chaque utilisateur et chacun en possĂšde un. Y a-t-il autre chose que je pourrais dĂ©boguer ?

1 « J'aime »

Ensuite, le problĂšme le plus probable est que l’UID Discord actuellement mappĂ© est incorrect.

Autrement dit, les données dans Discourse ne correspondent pas à un UID valide dans Discord.

VĂ©rifiez manuellement le dossier de cet utilisateur sur Discord et confirmez qu’il est correct.

2 « J'aime »

Salut, je peux confirmer cela. L’utilisateur a un autre UID dans Discourse que dans Discord.

Comment reproduire ce problĂšme ?

1 « J'aime »

Pourriez-vous supprimer l’association et demander Ă  l’utilisateur de la recrĂ©er en reliant Ă  nouveau Discord ? Si cela se reproduit, cela signifie-t-il qu’il y a un bug dans la connexion via les rĂ©seaux sociaux ?

2 « J'aime »

Salut,

Je voulais simplement faire un suivi. J’ai discutĂ© avec les personnes ayant rencontrĂ© ces problĂšmes. Nous avons pu identifier la cause possible.

L’utilisateur s’est inscrit avec son ancien compte Discord, sur lequel il n’avait pas rejoint le serveur. Le bot de synchronisation n’a donc probablement pas pu trouver l’utilisateur Discord et a gĂ©nĂ©rĂ© une erreur.

2 « J'aime »

Merci pour ces précisions. Pouvez-vous confirmer comment vous avez résolu le problÚme ? Avez-vous supprimé son association avant de lui demander de se réassocier ?

1 « J'aime »

C’est exactement ce que nous avons fait. :blush:

2 « J'aime »