NodeJS Discord.js V14 Slash命令通道选项类型

8zzbczxx  于 2023-04-29  发布在  Node.js
关注(0)|答案(1)|浏览(160)

我试图使用SlashCommandBuilder进行不和谐。js V14命令,但我无法让它只选择文本类型频道
我现在的代码如下:

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

我运行了它,它的工作原理,除了它为我提供了所有的频道类别,人声,和文本,而我只想要文本频道。

zbwhf8kr

zbwhf8kr1#

您可以使用addChannelTypes()方法来筛选要显示的类型。它接受通道类型列表。以下内容应该有效:

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(),
];

如果你想接受多个类型,你可以简单地列出它们,如下所示:

.addChannelTypes(ChannelType.GuildText, ChannelType.GuildVoice)

相关问题