You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js V14:如何让SlashCommand仅选择文本频道?

解决Discord.js V14中Slash指令仅显示文本频道的问题

你需要在频道选项的配置里添加允许的频道类型——默认情况下Discord会展示所有可选择的频道类型,通过addChannelTypes()方法可以指定仅显示文本频道。

首先确保你已经从discord.js导入了ChannelType枚举:

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

然后修改你的指令代码,在频道选项后链式调用addChannelTypes()并传入ChannelType.GuildText:

const commands = [
    new SlashCommandBuilder()
        .setName('setup')
        .setDescription('Setup the embed.')
        .addChannelOption(option => option
            .setName('channel')
            .setDescription('text channel')
            .setRequired(true)
            .addChannelTypes(ChannelType.GuildText) // 新增该行,限制仅文本频道
        )
        .toJSON(),
];

如果需要同时允许论坛类型频道,可传入多个类型:

.addChannelTypes(ChannelType.GuildText, ChannelType.GuildForum)

修改完成后,指令的频道选择器就只会展示你指定类型的频道了。

内容的提问来源于stack exchange,提问作者Denis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:33:10