Zavan
Juin 18, 2020, 1:01
47
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).
Zavan
Juin 18, 2020, 5:37
49
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 »
Zavan
Juin 19, 2020, 4:35
51
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 »
Zavan
Juin 20, 2020, 11:55
53
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
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 :
Update:
Using Zapier as the middleman, itâs pretty easy to integrate a Discourse webhook to Discord!
Use this template for new topics:
[image]
Result:
[image]
Ou
Another option is the new discourse-chat-integration plugin Iâm working on - it can post new topics to Discord without Zapier or scripts on any other server.
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 :
This is a guide that explains how to display RSS feeds from your Discourse forum to your Discord server.
You need a Discord Bot. You can use a hosted bot with an RSS cog and add it to your server or install a self-hosted bot and configure it.
For this guide, weâll use Red-DiscordBot because it is self-hosted. You can install it on your server. Itâs very easy to maintain, highly customizable, and actively maintained.
Setting up the bot
Follow this tutorial to install and configure Red.
CâŠ
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 »
SvenC56
(Sven)
Novembre 5, 2020, 7:14
58
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Ă©.
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
1 « J'aime »
Cela suggĂšre que votre provider_uid dans Discourse nâest pas dĂ©fini pour cet utilisateur. Veuillez enquĂȘter.
eligiblegroupbuilder.query.each do |g|
eligible_discourse_groups << g.id
end
event.respond "Discourse Sync: Preparing list of users who also have a registered account on Discord ..."
builder = DB.build("select * from user_associated_accounts /*where*/")
builder.where("provider_name = :provider_name", provider_name: "discord")
builder.query.each do |t|
discord_users << {discourse_user_id: t.user_id, discord_uid: t.provider_uid}
end
event.respond "Discourse Sync: Preparing list of groups that users who have a registered account on Discord belong to on Discourse ..."
discord_users.each do |user|
groupbuilder = DB.build("select group_id from group_users /*where*/")
groupbuilder.where("user_id = :user_id", user_id: user[:discourse_user_id])
groupbuilder.query.each do |g|
if eligible_discourse_groups.include? g.group_id
discourse_groups |= [discourse_group_id: g.group_id]
Bravo pour la mise en place, au fait. Câest assez complexe et pas pour les timides ! :).
2 « J'aime »
SvenC56
(Sven)
Novembre 5, 2020, 7:46
60
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 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 »
merefield
(Robert)
Novembre 5, 2020, 10:51
61
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 »
SvenC56
(Sven)
Novembre 5, 2020, 11:07
62
Salut, je peux confirmer cela. Lâutilisateur a un autre UID dans Discourse que dans Discord.
Comment reproduire ce problĂšme ?
1 « J'aime »
merefield
(Robert)
Novembre 5, 2020, 11:08
63
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 »
SvenC56
(Sven)
Novembre 12, 2020, 8:52
64
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 »
merefield
(Robert)
Novembre 13, 2020, 8:13
65
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 »
SvenC56
(Sven)
Novembre 13, 2020, 8:25
66
Câest exactement ce que nous avons fait.
2 « J'aime »