He estado usando esta automatización en el pasado sin problemas. La configuración es la siguiente: el nodo HTTP descarga una imagen y la devuelve como archivo (binario). Puedo ver y descargar esa imagen desde el flujo de trabajo de n8n, lo que significa que esa parte sigue funcionando. Esa imagen se pasa entonces a un nodo de Discord que envía un mensaje e adjunta la imagen como File. El método de conexión es Webhook.
Esto ha funcionado sin problemas. Recientemente lo reactivé pero ahora el nodo de Discord devuelve el siguiente error:
El argumento “chunk” debe ser de tipo string o una instancia de Buffer o Uint8Array. Se recibió tipo boolean (false) [item 0]
Item 0 debería ser el primer elemento en los datos de entrada. Sin embargo, ese elemento tiene una imagen válida (datos binarios).
No hay discrepancia entre datos JSON y datos binarios, ambos tienen la misma cantidad de elementos.
El flujo de trabajo funciona bien si elimino el “File” del nodo de Discord.
Lo único que quiero es que el mensaje tenga una imagen. Así que si hay otro método para lograr eso, estoy feliz. Tengo una URL de la imagen pero incluso cuando la inserto en “URL image” o “URL Thumbnail” no aparece en Discord.
La forma más confiable de eludir este error y recuperar tus imágenes en Discord es usar el nodo HTTP Request para comunicarte directamente con el Webhook de Discord.
Aquí está exactamente cómo configurarlo:
Reemplaza el nodo Discord con un nodo HTTP Request.
Method: Configúralo en POST.
URL: Pega aquí tu URL del Webhook de Discord.
Authentication: None (Los Webhooks se autentican por la URL misma).
Send Body: Activa esto On.
Body Content Type: Selecciona Form-Data (Multipart).
Specify Body Parameters:
File Upload:
Haz clic en Add Parameter →→ selecciona Binary File.
Name: Ingresa file (Esta es la clave exacta que Discord espera).
Input Data Field Name: Ingresa thumbdata (coincidiendo con el nombre de tu propiedad binaria).
Message/Embeds:
Haz clic en Add Parameter →→ selecciona Text.
Name: Ingresa payload_json.
Value: Ingresa el JSON para tu mensaje y embeds.
Ejemplo:{"content": "¡Aquí está tu imagen!", "embeds": [{"title": "Título de la imagen", "description": "Descripción aquí"}]} (Puedes usar expresiones aquí para extraer datos de tus nodos anteriores, solo asegúrate de que el resultado final sea una cadena JSON válida).