Notifications admin vers Discord

Salut à tous !

J’ai configuré une instance Discourse et j’essaie de configurer des webhooks directs vers un serveur Discord. Mais je n’arrive pas à faire remonter quoi que ce soit dans Discord. J’ai de l’expérience avec les webhooks dans d’autres logiciels, et c’était assez simple - mais avec Discourse, ça ne semble pas l’être.

Les tests de ping renvoient toujours des requêtes 400 bad requests - voir les informations :

Headers :

ate: Wed, 01 Nov 2023 11:57:42 GMT
content-type: application/json
content-length: 58
connection: close
set-cookie: __dcfduid=dcf0233a78ad11eebb88d697d01a97e7; Expires=Mon, 30-Oct-2028 11:57:42 GMT; Max-Age=157680000; Secure; HttpOnly; Path=/, __sdcfduid=dcf0233a78ad11eebb88d697d01a97e78400f2bac802b92ae5cd11d0fb83f18916f0fdca5d48d309bd75aaaaba4d1431; Expires=Mon, 30-Oct-2028 11:57:42 GMT; Max-Age=157680000; Secure; HttpOnly; Path=/, __cf_bm=ACfLMGcKwXZiIw0euAAqKlZ1iroL0N.lG_2clanSP5M-1698839862-0-AUp8RGopNouFfnPVX/qbsLKr+5d1F9HQJ7zS9cGBeg6YH0urIlNg62SSP2cSSZFeZB9mC4TFRf323pdEHk5bTyY=; path=/; expires=Wed, 01-Nov-23 12:27:42 GMT; domain=.discordapp.com; HttpOnly; Secure; SameSite=None, __cfruid=7777c6c50b4e0b129fbc66ba8f4f6ab654a756c5-1698839862; path=/; domain=.discordapp.com; HttpOnly; Secure; SameSite=None, _cfuvid=mgEBXzSq5xWc_05ETnRJURj3e3yjIaRGrJQ0DeJyYA0-1698839862706-0-604800000; path=/; domain=.discordapp.com; HttpOnly; Secure; SameSite=None
strict-transport-security: max-age=31536000; includeSubDomains
x-ratelimit-bucket: 3d2712a9e4fe17cc9d3fed4a8e672e5f
x-ratelimit-limit: 5
x-ratelimit-remaining: 3
x-ratelimit-reset: 1698839864
x-ratelimit-reset-after: 1
via: 1.1 google
alt-svc: h3=":443"; ma=86400
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=WbIOWcprUjt2ga6UbHxwUh34HscqFqtWix5A9U%2FBKHOhRSCnydePJMngumK%2BgyupooTEjMuLVC%2FLhieBLLbD%2BQhTDdfNb4v%2BH2kO7ah8BdYbNNAU27fFaeErzlQYifFG"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 81f3f634dcf470fa-HEL

Et le contenu de la réponse :

{"message": "Cannot send an empty message", "code": 50006}

Quelqu’un sait quoi vérifier ? Avons-nous besoin du plugin de chat pour que cela fonctionne (ce que nous avons essayé sans succès) ? Il semble que nous passions à côté de quelque chose d’évident. De plus, j’ai essayé d’activer tout dans le webhook, et même avec une charge utile qui n’est pas vide - j’obtiens toujours le même contenu de réponse.

{
  "category": {
    "id": 2,
    "name": "Feedback",
    "color": "0E76BD",
    "text_color": "FFFFFF",
    "slug": "feedback",
    "topic_count": 1,
    "post_count": 0,
    "position": 1,
    "description": "Feedback over ons forum <strong>forum.dtvwp.nl</strong>, onze website <strong>dtvwp.nl</strong> of over <strong>onze Facebook groepen</strong> mag hier geplaatst worden. We houden van constructieve feedback, dus feedback en suggesties zijn altijd welkom en erg gewaardeerd!",
    "description_text": "Feedback over ons forum forum.dtvwp.nl, onze website dtvwp.nl of over onze Facebook groepen mag hier geplaatst worden. We houden van constructieve feedback, dus feedback en suggesties zijn altijd welkom en erg gewaardeerd!",
    "description_excerpt": "Feedback over ons forum forum.dtvwp.nl, onze website dtvwp.nl of over onze Facebook groepen mag hier geplaatst worden. We houden van constructieve feedback, dus feedback en suggesties zijn altijd welkom en erg gewaardeerd!",
    "topic_url": "/t/over-het-forum-feedback/1",
    "read_restricted": false,
    "permission": null,
    "topic_template": null,
    "has_children": null,
    "sort_order": null,
    "sort_ascending": null,
    "show_subcategory_list": false,
    "num_featured_topics": 3,
    "default_view": null,
    "subcategory_list_style": "rows_with_featured_topics",
    "default_top_period": "all",
    "default_list_filter": "all",
    "minimum_required_tags": 0,
    "navigate_to_first_post_after_read": false,
    "custom_fields": {},
    "allowed_tags": [],
    "allowed_tag_groups": [],
    "allow_global_tags": false,
    "read_only_banner": null,
    "form_template_ids": [],
    "auto_close_hours": null,
    "auto_close_based_on_last_post": false,
    "group_permissions": [
      {
        "permission_type": 1,
        "group_name": "iedereen"
      }
    ],
    "email_in": null,
    "email_in_allow_strangers": false,
    "mailinglist_mirror": false,
    "all_topics_wiki": false,
    "allow_unlimited_owner_edits_on_first_post": false,
    "cannot_delete_reason": "Deze categorie kan niet worden verwijderd, omdat het aantal topics 1 is.",
    "is_special": true,
    "allow_badges": true,
    "topic_featured_link_allowed": true,
    "search_priority": 0,
    "default_slow_mode_seconds": null,
    "uploaded_logo": null,
    "uploaded_logo_dark": null,
    "uploaded_background": null,
    "required_tag_groups": [],
    "category_setting": {
      "auto_bump_cooldown_days": 1,
      "num_auto_bump_daily": 0,
      "require_reply_approval": false,
      "require_topic_approval": false
    }
  }
}

Pour l’instant, le seul hook / notification que nous aimerions voir est lorsqu’un nouvel utilisateur confirme son e-mail et est en attente de confirmation par les modérateurs/administrateurs - nous recevons un ping dans notre canal Discord.

1 « J'aime »

C’est déjà arrivé. Je pense que le problème est que les données envoyées dans un webhook Discourse ne sont pas sous la forme que Discord recherche. Il y a des détails sur le problème dans les deux premières réponses à ce sujet : Has any one tried webhooks with Discord?.

Vous pourriez pointer le webhook vers Zapier, puis utiliser Zapier pour analyser le webhook dans la forme que Discord recherche. Cela coûterait au moins 20 $/mois cependant.

Je ne pense pas que cela vous aide dans votre cas actuel, mais une bonne façon d’envoyer de Discourse à Discord est décrite ici : Set up Discord notifications with the discourse-chat-integration plugin.

1 « J'aime »