为我的不和谐机器人创建一个帮助命令
creating a help command for my discord bot
我正在尝试创建一个帮助页面,列出我的 discord 机器人的所有命令...
目前,在不和谐中,一切都以未定义的形式出现,我对原因感到困惑。
这是我的help.js
const fs = require('fs');
const { SlashCommandBuilder } = require('@discordjs/builders');
module.exports = {
data: new SlashCommandBuilder()
.setName('help')
.setDescription('Lists all available commands'),
async execute(interaction) {
let str = '';
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const command = require(`./${file}`);
str += `Name: ${command.name}, Description: ${command.description} \n`;
}
return void interaction.reply({
content: str,
ephemeral: true,
});
},
};
我可以尝试使用 v12 方式,但我正在尝试制作一个与 v13 完全同步的机器人...
假设您所有的命令都像您提供的代码一样结构化,那么您只遗漏了几件事。首先是命令名称和描述将在 command.data
下,而不仅仅是 command
。同样使用 let
你可以将它留空(就像我一样)并用任何东西填充它。
const fs = require('fs');
const { SlashCommandBuilder } = require('@discordjs/builders');
module.exports = {
data: new SlashCommandBuilder()
.setName('help')
.setDescription('Lists all available commands'),
async execute(interaction) {
let str
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const command = require(`./${file}`);
str += `Name: ${command.data.name}, Description: ${command.data.description} \n`;
}
return interaction.reply({
content: str,
ephemeral: true,
});
},
};
我正在尝试创建一个帮助页面,列出我的 discord 机器人的所有命令...
目前,在不和谐中,一切都以未定义的形式出现,我对原因感到困惑。
这是我的help.js
const fs = require('fs');
const { SlashCommandBuilder } = require('@discordjs/builders');
module.exports = {
data: new SlashCommandBuilder()
.setName('help')
.setDescription('Lists all available commands'),
async execute(interaction) {
let str = '';
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const command = require(`./${file}`);
str += `Name: ${command.name}, Description: ${command.description} \n`;
}
return void interaction.reply({
content: str,
ephemeral: true,
});
},
};
我可以尝试使用 v12 方式,但我正在尝试制作一个与 v13 完全同步的机器人...
假设您所有的命令都像您提供的代码一样结构化,那么您只遗漏了几件事。首先是命令名称和描述将在 command.data
下,而不仅仅是 command
。同样使用 let
你可以将它留空(就像我一样)并用任何东西填充它。
const fs = require('fs');
const { SlashCommandBuilder } = require('@discordjs/builders');
module.exports = {
data: new SlashCommandBuilder()
.setName('help')
.setDescription('Lists all available commands'),
async execute(interaction) {
let str
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const command = require(`./${file}`);
str += `Name: ${command.data.name}, Description: ${command.data.description} \n`;
}
return interaction.reply({
content: str,
ephemeral: true,
});
},
};