discordjs REST - 使用 api 端点创建消息
discordjs REST - create a message using api endpoint
嘿,我正在尝试使用 discordjs REST 创建消息,但出现以下错误:
S[50109]: The request body contains invalid JSON.
at Q.runRequest (C:\Users\hp\Sync\hp\Test-bot\node_modules\@discordjs\rest\dist\index.js:7:581)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Q.queueRequest (C:\Users\hp\Sync\hp\Test-bot\node_modules\@discordjs\rest\dist\index.js:5:2942) {
rawError: { code: 50109, message: 'The request body contains invalid JSON.' },
code: 50109,
status: 400,
method: 'post',
url: 'https://discord.com/api/v9/channels/<channel_id>/messages',
requestBody: { files: null, json: undefined }
}
我试过了,但无法通过这个错误。
这是我的代码 运行。
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');
const { channelId, token } = require('./config.json');
const rest = new REST({ version: '9' }).setToken(token);
let message = {username : "Moo", content : "this is a message from api"};
rest.post(Routes.channelMessages(channelId), {files : null , json : JSON.stringify(message), headers: {
"Content-Type": "application/json"} })
.then(() => console.log('message sent succesfully....'))
.catch(console.error);
您必须将 RequestData
参数中的 json
键更改为 body
,并在 RequestData
参数中传入其他参数。
这部分代码应该是这样的。
// POST
rest.post(Routes.channelMessages(channelId), RequestData = { body : JSON.stringify(message) , headers: {
"Content-Type": "application/json"}, appendToFormData : true, passThroughBody : true })
嘿,我正在尝试使用 discordjs REST 创建消息,但出现以下错误:
S[50109]: The request body contains invalid JSON.
at Q.runRequest (C:\Users\hp\Sync\hp\Test-bot\node_modules\@discordjs\rest\dist\index.js:7:581)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Q.queueRequest (C:\Users\hp\Sync\hp\Test-bot\node_modules\@discordjs\rest\dist\index.js:5:2942) {
rawError: { code: 50109, message: 'The request body contains invalid JSON.' },
code: 50109,
status: 400,
method: 'post',
url: 'https://discord.com/api/v9/channels/<channel_id>/messages',
requestBody: { files: null, json: undefined }
}
我试过了,但无法通过这个错误。
这是我的代码 运行。
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');
const { channelId, token } = require('./config.json');
const rest = new REST({ version: '9' }).setToken(token);
let message = {username : "Moo", content : "this is a message from api"};
rest.post(Routes.channelMessages(channelId), {files : null , json : JSON.stringify(message), headers: {
"Content-Type": "application/json"} })
.then(() => console.log('message sent succesfully....'))
.catch(console.error);
您必须将 RequestData
参数中的 json
键更改为 body
,并在 RequestData
参数中传入其他参数。
这部分代码应该是这样的。
// POST
rest.post(Routes.channelMessages(channelId), RequestData = { body : JSON.stringify(message) , headers: {
"Content-Type": "application/json"}, appendToFormData : true, passThroughBody : true })