node.js - 如何使用node-fetch通过discord webhook发送图像?

标签 node.js discord fetch webhooks

const fetch = require('node-fetch');
const fs = require('fs')
var data = fs.readFileSync('2.png', 'utf8')
var URL = "apikey";
fetch(URL, {
     "method":"POST",
     "headers": {"Content-Type": "application/json"},
     "body": data
    })
    .then(res=> console.log(res))
    .catch(err => console.error(err));

如何通过 Discord Webhook 发送图像?我已经尝试过上面的方法,但它不起作用。并且在 Discord 文档上没有正确的示例。

最佳答案

您正在发送一个文件,那么您的Content-Type应该是multipart/form-data

将代码更改为

const fetch = require('node-fetch');
const formData = require('form-data');
const fs = require('fs')

const form = new formData();
form.append('file1', fs.createReadStream('./2.png')); // give absolute path if possible

var URL = "XYZ URL";

fetch(URL, {
    'method': 'POST',
    'body': form,
    headers: form.getHeaders()
})
.then(res=> console.log(res))
.catch(err => console.error(err));

参见discord's documentations本页黄色通知

关于node.js - 如何使用node-fetch通过discord webhook发送图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68804610/

相关文章:

JavaScript - 类型错误 : listener must be a function

python - CommandOnCooldown 错误处理程序未捕获错误!已经测试了一切

javascript - 模型 fetch() 不触发任何事件

mysql - 如何按名称获取数据库?

node.js - 发送到单个客户端套接字 io 1.3.2

mysql - NodeJS session 、cookie 和 mysql

node.js - 如何列出给定 grunt 任务依赖于 Makefile 的所有文件?

javascript - Discord 机器人正在运行两个实例,我找不到其中一个来将其关闭

python - 使用 discord.py 调用 python asyncio loop.run_until_complete() 不起作用?

javascript - React Hooks useEffect 更改获取 URL 调用