jac*_*kik 1 webhooks node.js discord discord.js
我正在尝试使用 Nodejs 访问不和谐的 Webhook 来获取简单消息(目前)。
我在这里和其他地方看过几次尝试,但不太理解它们或无法自己复制它们。阅读文档并在线搜索,我发现node-fetch在我看来原则上应该工作得很好,而且看起来更简单。
const fetch = require('node-fetch');
var webhook = {
"id":"my webhook id",
"token":"my webhook token"
};
var URL = `https://discordapp.com/api/webhooks/${webhook.id}/${webhook.token}`;
fetch(URL, {
"method":"POST",
"payload": JSON.stringify({
"content":"test"
})
})
.then(res=> console.log(res));
Run Code Online (Sandbox Code Playgroud)
我得到的唯一输出是状态代码为 400 的响应对象。我唯一得到其他内容的时候是当我删除该方法时,然后我得到代码 200,这没有多大帮助...我的有效负载是否完全错误或者我在 URL 或 fetch 语法方面犯了错误?
您可以使用 Discord.js 中内置的 POST 请求,而不是发出自己的 POST 请求,WebhookClient如下所示...
const id = '';
const token = '';
const webhook = new Discord.WebhookClient(id, token);
webhook.send('Hello world.')
.catch(console.error);
Run Code Online (Sandbox Code Playgroud)
您的请求中有 2 个小错误导致错误 400 :
该payload属性必须替换为body
var URL = `https://discordapp.com/api/webhooks/${webhook.id}/${webhook.token}`;
fetch(URL, {
"method":"POST",
"headers": {"Content-Type": "application/json"},
"body": JSON.stringify({
"content":"test"
})
})
.then(res=> console.log(res))
.catch(err => console.error(err));
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
17725 次 |
| 最近记录: |