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

Discord.js v14中client.on("messageCreate")无效,该如何解决?

Discord.js v14 messageCreate事件不触发的解决办法

1. 补充MessageContent意图

Discord.js v14中,要读取消息内容必须同时开启代码内的MessageContent意图,以及Discord开发者门户的对应开关:

  • 代码层面修改客户端初始化:
    const Discord = require("discord.js");
    
    const client = new Discord.Client({
      intents: [
        Discord.GatewayIntentBits.Guilds,
        Discord.GatewayIntentBits.GuildMessages,
        Discord.GatewayIntentBits.MessageContent // 新增该意图
      ]
    });
    
  • 登录Discord开发者门户,进入你的机器人页面,在"Privileged Gateway Intents"下开启"Message Content Intent"。

2. 确保机器人完成登录

代码末尾必须添加登录语句,否则机器人无法上线接收事件:

// 先添加ready事件确认上线状态
client.on('ready', () => {
  console.log(`已登录为 ${client.user.tag}`);
});

// 最后添加登录令牌
client.login('你的机器人令牌');

3. 修复代码语法错误

你提供的代码存在语法缺失:messageCreate事件的回调函数末尾缺少闭合括号和分号,修正后:

client.on("messageCreate", (message) => {
  console.log('Doing Stuff');
}); // 补上闭合括号与分号

4. 验证机器人权限

确保机器人在测试服务器中拥有以下权限:

  • 查看频道
  • 读取消息历史
    可以通过编辑机器人角色权限,或重新邀请机器人时勾选对应权限来配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 21:22:43