J’utilise cette automatisation depuis un certain temps sans problème. La configuration est la suivante : le nœud HTTP télécharge une image et la retourne en tant que fichier (binaire). Je peux afficher et télécharger cette image depuis le workflow n8n, ce qui signifie que cette partie fonctionne toujours. Cette image est ensuite transmise à un nœud discord qui envoie un message et joint l’image en tant que fichier. La méthode de connexion est Webhook.
Cela fonctionnait sans problème auparavant. Je l’ai récemment réactivé, mais maintenant le nœud Discord retourne l’erreur suivante :
L’argument « chunk » doit être de type string ou une instance de Buffer ou Uint8Array. Type reçu : boolean (false) [élément 0]
L’élément 0 devrait être le premier élément des données d’entrée. Cependant, cet élément contient bien une image valide (données binaires).
Il n’y a aucune différence entre les données JSON et les données binaires, elles ont le même nombre d’éléments.
Le workflow fonctionne bien si je retire le « fichier » du nœud Discord.
Tout ce que je veux, c’est que le message ait une image. Donc s’il y a une autre méthode pour y parvenir, je suis intéressé. J’ai une URL vers l’image, mais même en l’insérant dans « URL image » ou « URL Thumbnail », elle n’apparaît pas sur Discord.
Le moyen le plus fiable de contourner ce bug et de récupérer vos images dans Discord est d’utiliser le nœud HTTP Request pour communiquer directement avec le Webhook Discord.
Voici exactement comment le configurer :
Remplacez le nœud Discord par un nœud HTTP Request.
Method : Réglez sur POST.
URL : Collez votre URL de Webhook Discord ici.
Authentication : Aucune (les Webhooks sont authentifiés par l’URL elle-même).
Send Body : Basculez sur On.
Body Content Type : Sélectionnez Form-Data (Multipart).
Specify Body Parameters :
File Upload :
Cliquez sur Add Parameter →→ sélectionnez Binary File.
Name : Entrez file (C’est la clé exacte que Discord attend).
Input Data Field Name : Entrez thumbdata (correspondant à votre nom de propriété binaire).
Message/Embeds :
Cliquez sur Add Parameter →→ sélectionnez Text.
Name : Entrez payload_json.
Value : Entrez le JSON pour votre message et embeds.
Exemple :{"content": "Voici votre image!", "embeds": [{"title": "Titre de l'image", "description": "Description ici"}]} (Vous pouvez utiliser des expressions ici pour extraire les données de vos nœuds précédents, assurez-vous simplement que le résultat final est une chaîne JSON valide).