Configurer les notifications Discord avec le plugin discourse-chat-integration

Pouvez-vous essayer de rafraîchir la page ? Un rafraîchissement sera nécessaire après l’activation du plugin.

3 « J'aime »

Je le vois maintenant, merci !

Salut les gars. J’obtiens une erreur lors de la configuration de ce plugin avec Discord. Le canal a été créé et le webhook configuré avec le plugin.

Maintenant, j’obtiens l’erreur suivante.

Et lorsque j’envoie un test, j’obtiens cette erreur.

Et les journaux m’affichent ceci.

Toute aide serait appréciée.

Peux-tu partager le contenu de l’onglet « info » pour cela ? Si tu peux copier/coller, ce serait génial — il est difficile de lire les journaux dans une capture d’écran.

1 « J'aime »

Message (2 copies signalées)

Test provider failed {:error_key=>nil, :message=>{:content=>"", :embeds=>[{:title=>"FAYN Rule Book [Alliance/Announcements] ", :color=>12525102, :description=>"[image] \nFAYN est un groupe de corporations travaillant ensemble en tant que collectif pour développer à la fois l'individu et le groupe selon ces lignes directrices et règles. \nOutils d'administration\nEn tant que membre de FAYN, vous êtes tenu de lier TOUS vos personnages, aussi insignifiants soient-ils, à votre personnage principal sur SeAT. Cela fait partie des exigences de recrutement et soutient la gestion continue de notre corporation...", :url=>"https://forum.darksideoftheeclipse.co.uk/t/fayn-rule-book/45/1", :author=>{:name=>"@PJHustle", :url=>"https://forum.darksideoftheeclipse.co.uk/u/PJHustle", :icon_url=>"https://forum.darksideoftheeclipse.co.uk/user_avatar/forum.darksideoftheeclipse.co.uk/pjhustle/45/4_2.png"}}]}, :response_body=>"<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body>\r\n<center><h1>403 Forbidden</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"}

Pile d’appels

/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:43:in rescue in test' /var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:22:in test’
actionpack-6.0.3.3/lib/action_controller/metal/basic_implicit_render.rb:6:in send_action' actionpack-6.0.3.3/lib/abstract_controller/base.rb:195:in process_action’
actionpack-6.0.3.3/lib/action_controller/metal/rendering.rb:30:in process_action' actionpack-6.0.3.3/lib/abstract_controller/callbacks.rb:42:in block in process_action’
activesupport-6.0.3.3/lib/active_support/callbacks.rb:112:in block in run_callbacks' /var/www/discourse/app/controllers/application_controller.rb:354:in block in with_resolved_locale’
i18n-1.8.5/lib/i18n.rb:313:in with_locale' /var/www/discourse/app/controllers/application_controller.rb:354:in with_resolved_locale’

Environnement

HÔTES HTTP : forum.darksideoftheeclipse.co.uk

La première chose à faire est de contacter le support de Discord avec ces informations et de demander pourquoi cela se produit.

1 « J'aime »

Ouais, peut-être. Mais je vais passer mon tour. Je ne suis pas développeur et je n’ai aucune idée de quoi faire ou de quoi demander. Je ne comprends pas grand-chose à tout ça. Je poste simplement ceci car cela fonctionnait avant, mais plus maintenant.

Peut-être que Discord change des choses ? Je n’en sais rien.
J’ai l’impression que je ne serai pas le seul à rencontrer ce problème bientôt.

C’est utile de partager, nous soulignons simplement que, d’après les données, il semble que le problème vienne du côté de Discord. Nous ne pouvons pas contrôler cela.

1 « J'aime »

J’ai trouvé le problème.

Le webhook Discord a changé de discordapp.com à discord.com.
Lorsque j’ai modifié le webhook de discord.com vers discordapp.com, cela a recommencé à fonctionner.

Donc pour l’instant, ça fonctionne. J’ai envoyé un ticket au support de Discord concernant ce problème.
Mais je ne suis pas sûr de savoir où se situe le problème actuellement : chez Discord ou dans l’application ?

Édit : J’ai modifié l’URL du webhook sur Discourse.

5 « J'aime »

Merci d’avoir publié la solution. J’étais en train de devenir fou en essayant de déboguer cela.

Salut.

Je rencontre le même problème. Je vois le message DiscourseChat::ProviderError lorsque je clique sur test dans Plugins - Intégrations de chat, et je reçois une erreur 403 interdit de la part de l’URL du webhook Discord.

Une idée pour résoudre cela ?

Vous devez toujours modifier l’URL de votre webhook pour utiliser le domaine discordapp.com au lieu de discord.com.

4 « J'aime »

Salut. Cela a résolu mon problème. Merci.

Je pense que le plugin lui-même devrait prendre en charge le nouveau format de domaine de l’API dans une prochaine mise à jour.

2 « J'aime »

Super, cela a aussi résolu le problème pour moi.


Je rencontre ces erreurs dans la console et le canal du plugin ne se charge pas. Est-ce dû à un thème et dois-je le désactiver ?

Vous devez vérifier la configuration de votre serveur, car elle diffère selon que vous utilisez Apache ou Nginx. Vous pouvez rechercher ce message :love_you_gesture:

Sujet principal : serait-il possible d’ajouter des vignettes et de réduire le message cité dans Discord ? Il est très long et perturbe notre discussion :neutral_face:

D’ailleurs, merci pour votre travail (et celui de toute la communauté), comme toujours !

Une telle erreur est apparue dans le journal :

/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:43:in `rescue in test'
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:22:in `test'
actionpack-6.1.4.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-6.1.4.1/lib/abstract_controller/base.rb:228:in `process_action'
actionpack-6.1.4.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack-6.1.4.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport-6.1.4.1/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
i18n-1.8.10/lib/i18n.rb:314:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:397:in `with_resolved_locale'

J’ai simplement modifié l’URL du webhook de discord.com à discordapp.com et tout fonctionne à nouveau :+1:

3 « J'aime »

Ma motivation initiale pour chercher une intégration Discourse vers Discord était d’injecter les publications signalées dans Discord afin d’accélérer la notification et l’examen au sein d’une équipe. Le plugin standard ne prend pas en charge cette fonctionnalité. L’injection des publications signalées dans Discord est désormais prise en charge ici.

Notez qu’il existe probablement une méthode plus « idiomatique » en Ruby pour réaliser cela, et peut-être que le hook on(:reviewable) devrait utiliser une file d’attente spécifique aux éléments à examiner, et le fait de transmettre le booléen flagged est un peu un hack. Il existe peut-être d’autres choses plus génériques à faire avec un élément à examiner, mais cela fonctionne pour mes besoins.

Attention : je ne compte pas tenter de soumettre cette modification en amont (upstream), car je n’ai pas l’intention de prendre en charge autre chose que Discord, ni de consacrer plus de temps aux autres problèmes d’amélioration identifiés ci-dessus.

Le résultat final ressemble à ceci…

1 « J'aime »

Salut tout le monde.
Le webhook avec Discord fonctionne correctement… sauf que le contenu du message est vide. Le sujet/la réponse Discourse ne s’affiche pas sur le serveur Discord.

Si j’inclus un ‘contenu du message discord d’intégration de chat’, cette partie est bien incluse cependant.

Merci,

J’ai finalement réussi, par essais et erreurs. Pour ceux qui viendront après moi…

Ces instructions disent :

:warning: NOTE : Si vous recevez une erreur lors de l’utilisation du webhook, assurez-vous que le nom de domaine est discordapp.com au lieu de discord.com.

Lorsque j’ai copié mon webhook depuis Discord, il était dans le format suivant. https://discordapp.com/api/webhooks/xxx/yyy-zzz-aaa

donc, les instructions ci-dessus sont cohérentes avec l’URL fournie par Discord.

Le problème survient lors du suivi des instructions. Les paramètres du plugin rejettent le schéma d’URL documenté et acceptent le schéma d’URL interdit. C’est comme s’il manquait un “!” quelque part dans le code.

Heureusement, l’URL du webhook fonctionne lorsque j’utilise la deuxième adresse, comme le montre la capture d’écran ci-dessous.

Voici donc quelques suggestions qui pourraient clarifier ce problème, pour le prochain qui ne fera peut-être pas autant d’essais et d’erreurs que moi :

  1. Mettre à jour le validateur pour que “discordapp.com” réussisse et “discord.com” échoue.
  2. Mettre à jour le validateur pour que “discordapp.com” et “discord.com” réussissent tous les deux.
  3. Mettre à jour la formulation des instructions pour supprimer cette note contradictoire.

Suggestions bonus,
sous le paramètre “Configuration de Discourse” :
Étape 0 : après l’installation du plugin, activer le plugin
étape 1 : fournir une capture d’écran
étape 3 : fournir une capture d’écran

Je crains un peu que Discord cesse de prendre en charge le schéma “incorrect” que j’utilise actuellement, j’aimerais donc que Discourse corrige cela afin que je n’aie pas à utiliser la solution de contournement avant que Discord ne casse mon URL alternative.