如何使用discord.js 调用SubCommand 的选项?(v13)

Fxl*_*ode 3 javascript arrays discord discord.js

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

在此输入图像描述

但是,当尝试从参数中获取选项数组时,我不知道在获取 SubCommand 后如何获取参数。令我失望的是,我发现的唯一函数是.getSubcommand(),它返回一个奇怪的字符串。我希望它能返回对象,这样我就可以从中获取选项数组。

如何获取子命令中的选项对象?这真的存在吗?如何使用返回的字符串?

谢谢!

Zer*_*ero 10

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');
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

将它们视为普通消息命令,args但更好,因为它们都args对应于提供的选项,即使它们是不同的子命令,因为它们属于相同的交互(斜杠命令)。

斜线命令太棒了!