最近,我一直在使用discord.js的最新版本、v13和斜杠命令开发一个不和谐的机器人。在阅读了关于GitHub的文档之后,我能够在我的机器人中使用一个子命令:

但是,当试图从参数中获取选项数组时,我不知道如何在获得SubCommand之后获得参数。令我失望的是,我找到的唯一函数是.getSubcommand(), which returns a string oddly enough.,我希望它能够返回对象,以便从它获得选项数组。
如何获得子命令中的options对象?这还存在吗?如何使用返回的字符串?
谢谢!
发布于 2021-09-15 05:28:27
SubCommands只是受制于斜杠命令本身,您可以访问其中提供的选项参数,如下所示:
client.on('interactionCreate', async (interaction) => {
if (!interaction.isCommand()) return;
if (interaction.commandName === 'settings') {
if (interaction.options.getSubcommand() === 'moderation_logs') {
const user = interaction.options.getChannel('logging_channel');
}
}
});使用args将它们视为普通消息命令,但更好的是,因为所有args都对应于所提供的选项,即使它们是不同的子命令,因为它们属于相同的交互(斜杠命令)。
斜杠命令太棒了!
https://stackoverflow.com/questions/69183619
复制相似问题