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

discord.js v14中addIntegerOption无法正常使用的问题求助

解决discord.js v14中addIntegerOption类型不匹配的错误

问题原因

报错里的类型码3对应字符串类型(STRING),4对应整数类型(INTEGER),说明Discord服务器上注册的add命令中,amount选项还是旧的字符串类型定义,和你当前代码里的整数选项不匹配,大概率是修改代码后未重新部署更新命令。

解决步骤

  • 重新执行命令部署脚本,将更新后的命令定义同步到Discord服务器。
  • 检查选项名称一致性:确保setName("amount")和options.getInteger('amount')的名称完全一致(命令选项名称仅支持小写字母、数字和连字符,注意不要出现大小写错误)。
  • 确认discord.js版本为v14.x稳定版,避免版本兼容问题。

验证示例

确保命令构建代码完整正确,示例如下:

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

module.exports = {
    data: new SlashCommandBuilder()
        .setName('add')
        .setDescription('Add coins to your current balance')
        .addIntegerOption(option =>
            option.setName('amount')
                .setDescription('amount of coins')
                .setMinValue(0)
                .setMaxValue(22)
                .setRequired(true) // 按需设置是否必填
        ),
    async execute(interaction) {
        const addCoins = interaction.options.getInteger('amount');
        // 后续业务逻辑
    },
};

部署完成后,可通过Discord客户端输入/add命令,查看amount选项是否显示为数字输入框,以此确认命令更新成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 19:10:34