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

如何在discord.js中为斜杠命令配置带LabTypes枚举值提示的选项列表

实现方案
  • 首先你需要修正参数的类型配置:discord.js 斜杠命令的枚举提示依赖字符串/数字类型选项的choices字段实现,你当前配置的type: this.commandsType.LAB_TYPES不符合官方要求,枚举选项需要依附基础的String类型参数(对应ApplicationCommandOptionType.String枚举值)
  • 然后将你定义的LabTypes枚举转换为符合discord.js要求的选项数组:每个选项需要包含name(用户输入时看到的提示文本)和value(命令触发后实际接收到的参数值)两个字段,转换代码如下:
const labTypeChoices = Object.entries(LabTypes).map(([label, enumValue]) => ({
  name: label,
  value: enumValue
}))
  • 最后修改你的命令参数配置,添加choices字段:
{
  name: "type",
  description: "Enter the HOL type",
  type: ApplicationCommandOptionType.String, // 如果你用的是v14以下旧版discord.js,这里替换为对应版本的字符串类型枚举值即可
  required: true,
  choices: labTypeChoices
}

如果你是用官方推荐的SlashCommandBuilder来构造命令,写法如下:

new SlashCommandBuilder()
  .setName('你的命令名称')
  .setDescription('命令功能描述')
  .addStringOption(option => 
    option.setName('type')
      .setDescription('Enter the HOL type')
      .setRequired(true)
      .addChoices(...labTypeChoices)
  )

注意:修改完成后需要重新向Discord服务器部署你的斜杠命令配置,修改才会生效,用户输入参数时就能看到所有枚举选项的自动提示了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:51:02