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
相关产品推荐
相关产品推荐

