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

运行node .时出现[ClientMissingIntents]错误的技术求助

解决Discord.js的[ClientMissingIntents]错误及代码修复方案

这个错误的核心原因很明确——你创建了两个Discord Client实例,其中带正确intents配置的client完全没被使用,反而用了没有配置任何intents的bot实例来启动机器人,这必然触发ClientMissingIntents错误。另外你的代码还存在Discord.js v14的API适配问题,一起给你修复:

关键修复点

  • 删除无用的client实例,统一使用一个配置了intents的Client实例
  • 把废弃的message事件替换为messageCreate(Discord.js v14起已移除原message事件)
  • 把message.channel.sendMessage()替换为message.channel.send()(v14已移除该方法)
  • 补充必要的MessageContent intent(需在开发者平台开启,否则无法读取消息内容)
  • 确保调用login方法启动机器人

修复后的完整代码

const { Client, GatewayIntentBits } = require('discord.js');
const TOKEN = "[MY TOKEN]";
const PREFIX = ".";

// 只创建一个配置了完整intents的Client实例
const bot = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    // 读取消息内容必须的intent,需在开发者平台开启
    GatewayIntentBits.MessageContent
  ]
});

bot.on("ready", function() {
    console.log("Ready");
});

// 使用v14兼容的messageCreate事件
bot.on("messageCreate", function (message) {
    if (message.author.equals(bot.user)) return;

    if (!message.content.startsWith(PREFIX)) return;

    var args = message.content.substring(PREFIX.length).split(" ");

    switch (args[0]) {
        case "ping":
            // 使用v14兼容的send方法
            message.channel.send("Pong!");
            break;
    }
});

// 启动机器人
bot.login(TOKEN);

额外注意事项

  • 登录Discord开发者平台,进入你的机器人页面,在「Privileged Gateway Intents」下开启「Message Content Intent」,否则机器人无法读取消息内容
  • 确保你的discord.js版本为v14,可通过npm list discord.js查看版本,若不是最新版,执行npm install discord.js@latest升级

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:12:37