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

JDA Discord Bot:设置INTEGER选项范围并触发内置错误的方法

解决JDA中Discord斜杠命令整数选项的数值范围校验问题

要触发Discord内置的数值范围错误提示,你需要用OptionData类定义选项,而非直接调用addOption的简化重载方法。OptionData提供了setMinValue()和setMaxValue()方法,专门用来配置整数选项的数值范围,配置后Discord客户端会自动完成输入校验并弹出内置错误提示。

修改后的代码示例:

jda.updateCommands().addCommands(
  Commands.slash("casino", "casino commands.")
    .addSubcommands(
      new SubcommandData("slots", "Play slots in the Casino.")
        .addOption(new OptionData(OptionType.INTEGER, "amount", "the amount of money you want to bet.", true)
          .setMinValue(1) // 设置最小下注金额
          .setMaxValue(10000) // 设置最大下注金额
        )
    )
).queue();

关键说明:

  • OptionData的第四个参数true标记该选项为必填项,若允许可选可改为false
  • setMinValue()和setMaxValue()仅对OptionType.INTEGER和OptionType.NUMBER类型的选项生效
  • 配置完成后,用户输入超出范围的数值时,Discord会直接在客户端层面拦截并显示内置错误,无需额外编写if判断逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:53:14