簡體   English   中英

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 })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM