javascript - 如何使用 discord.js 调用 SubCommand 的选项?(v13)
问题描述
我最近一直在使用 discord.js 的最新版本、v13 和斜杠命令来开发 Discord 机器人。在阅读了 GitHub 上的文档后,我能够在我的机器人中使用一个子命令:
但是,当尝试从参数中获取选项数组时,我不知道在获取 SubCommand 后如何获取参数。令我失望的是,我发现的唯一函数是.getSubcommand()
,它奇怪地返回了一个字符串。我希望它会返回对象,这样我就可以从中获取选项数组。
如何获取子命令中的选项对象?这甚至存在吗?如何使用返回的字符串?
谢谢!
解决方案
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
对应于提供的选项,即使它们是不同的子命令,因为它们属于相同的交互(斜杠命令)。
斜线命令很棒!
推荐阅读
- spring-mvc - Mokcito 没有模拟 DAO 层
- java - 将在 unix 中测试的 dockerfile 转换为 windows,RUN 命令由于权限被拒绝而失败
- django - 如何从 Angular 前端查看基于 Django 的电子邮件或电话验证数据库
- ios - Firebase 存储删除 uidd 图像
- javascript - 括号是否被视为 JavaScript 中的块?
- python - 将随机整数值添加到列表中的元素,但列表的总和不得更改
- matlab - 基本矩阵和基本矩阵会随着不同的照片而变化吗?
- azure-web-app-service - 容器应用服务的 Azure 门户应用设置
- c++ - CodeBlocks、C++、mingw-w64 编译器、Windows 10、错误:对“DAQmxCreateTask”的未定义引用等
- docker - Odoo 配置文件 unicode 问题