【发布时间】:2022-11-19 08:24:46
【问题描述】:
我正在研究 Slash Commands,一切顺利,直到我打开机器人并打开机器人,但我收到此错误:DiscordAPIError [50035]:无效的表单主体 0.name[BASE_TYPE_REQUIRED]:这个字段是必须的 在 SequentialHandler.runRequest(C:\Users\frank\OneDrive\Desktop\kiki\node_modules@discordjs\rest\dist\index.js:753:15) 在 processTicksAndRejections (node:internal/process/task_queues:96:5) 在异步 SequentialHandler.queueRequest(C:\Users\frank\OneDrive\Desktop\kiki\node_modules@discordjs\rest\dist\index.js:565:14) 在异步 REST.request(C:\Users\frank\OneDrive\Desktop\kiki\node_modules@discordjs\rest\dist\index.js:999:22) 在异步 C:\Users\frank\OneDrive\Desktop\kiki\src\functions\handleCommands.js:34:11 { 原始错误:{ 代码:50035, 错误:{'0':[对象]}, 消息:'无效的表单主体' }, 代码:50035, 状态:400, 方法:“放”, 网址:'https://discord.com/api/v9/applications/994028254191169636/guilds/994028059579662417/commands', requestBody: { files: undefined, json: [ [Function: toJSON] ] } }
这是我的命令处理程序代码:
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');
const fs = require("fs")
const clientId = '994028254191169636';
const guildId = '994028059579662417';
module.exports = (client) => {
client.handleCommands = async(commandFolders, path) => {
client.commandArray = []
for(folder of commandFolders){
const commandFiles = fs.readdirSync(`${path}/${folder}`).filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const command = require(`../commands/${folder}/${file}`);
client.commands.set(command.data.name, command);
client.commandArray.push(command.data.toJSON)
}
}
const rest = new REST({ version: '9' }).setToken(process.env.token);
(async () => {
try {
console.log('Started refreshing application (/) commands.');
await rest.put(
Routes.applicationGuildCommands(clientId, guildId),
{ body: client.commandArray },
);
console.log('Successfully reloaded application (/) commands.');
} catch (error) {
console.error(error);
}
})();
};
};
Please help me resolve this soon thanks :)
【问题讨论】:
-
你好,有人可以帮我吗 thx :)
-
你能包括你的命令之一的例子吗
标签: javascript discord discord.js bots