我试图将SlashCommandBuilder用于discord.js V14命令,但我无法让它只 Select text type channels.

我当前的代码如下:

const commands = [
    new SlashCommandBuilder()
        .setName('setup')
        .setDescription('Setup the embed.')
        .addChannelOption(option => option
            .setName('channel')
            .setDescription('text channel')
            .setRequired(true)
        )
        .toJSON(),
];

我运行了它,它工作,但它提供给我all个频道类别,人声和文字,而我只想要文字频道.

推荐答案

您可以使用addChannelTypes()方法筛选要显示的类型.它接受类型array.以下操作应该会起作用:

const { ChannelType } = require('discord.js');

// ...

const commands = [
    new SlashCommandBuilder()
        .setName('setup')
        .setDescription('Setup the embed.')
        .addChannelOption(option => option
            .setName('channel')
            .setDescription('text channel')
            .addChannelTypes([ChannelType.GuildText])
            .setRequired(true)
        )
        .toJSON(),
];

Javascript相关问答推荐

Angular 拦截器错误处理删除方法问题

添加/删除时React图像上传重新渲染上传的图像

无法将nPM simplex-noise包导入在JS项目中工作

如何获取转换字节的所有8位?

是什么原因导致此Angular 16电影应用程序中因类型错误而不存在属性?

如何为GrapesJS模板编辑器创建自定义撤销/重复按钮?

仅针对RTK查询中的未经授权的错误取消maxRetries

当点击注册页面上的注册按钮时,邮箱重复

屏幕右侧屏障上的产卵点""

如何在Vue 3中创建自定义 Select 组件,并将选项作为HTML而不是props 传递?

XSLT处理器未运行

在执行异步导入之前判断模块是否已导入()

为什么客户端没有收到来自服务器的响应消息?

将数组扩展到对象中

在不删除代码的情况下禁用Java弹出功能WordPress

当代码另有说明时,随机放置的圆圈有时会从画布上消失

用另一个带有类名的div包装元素

为什么NULL不能在构造函数的.Prototype中工作

使用createBrowserRoutVS BrowserRouter的Reaction路由

有没有办法在R中创建一张具有多个色标的热图?