Discord.js v13 SlashCommandBuilder如何为整数选项设置数值范围
Discord.js 的 SlashCommandBuilder 原生支持为整数选项设置数值范围,不需要额外做客户端侧的参数校验,你可以通过 setMinValue() 和 setMaxValue() 两个方法完成范围配置。
修改后的代码示例如下:
data: new SlashCommandBuilder() .setName('clear') .setDescription('Clears specified amount of Messages') .addIntegerOption(option => { return option .setName('amount') .setRequired(true) .setDescription('The Amount of Messages to clear') .setMinValue(1) // 配置最小可输入值 .setMaxValue(100) // 配置最大可输入值,刚好匹配Discord批量删除消息接口的100条上限 }),
补充说明:
- 配置完成后重新注册命令,Discord客户端会自动拦截超出范围的输入,用户无法提交不符合要求的数值,无需你在服务端额外返回错误提示。
- 如果你使用的是v13及以下的老旧Discord.js版本,未内置这两个配置方法,才需要在命令执行逻辑中自行校验
amount参数的取值范围,超出范围时返回对应错误提示即可。
内容的提问来源于stack exchange,提问作者Snoweuph
相关产品推荐
相关产品推荐

