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

Discord.js V14中messageCreate事件无法触发的问题求助

解决Discord.js V14 messageCreate事件无法触发的问题

1. 缺少必要的Intents

你的messageCreate事件无法触发,核心原因是未添加消息相关的意图权限。Discord.js V14中,要监听服务器内的消息,必须同时启用以下两个Intents:

  • GatewayIntentBits.Guilds(你已添加):用于访问服务器相关数据
  • GatewayIntentBits.GuildMessages:用于接收服务器内的消息事件

若需监听私信消息,额外添加GatewayIntentBits.DirectMessages即可。

修正后的客户端初始化代码:

const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ 
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages
  ] 
});

2. 代码中的语法与逻辑错误

你的代码存在几处错误,会导致运行异常:

  • 错误属性调用:console.log(message.message),message对象无message属性,建议删除此行
  • 语法缺失:message.reply("Hey!." 缺少闭合括号,应改为message.reply("Hey!");
  • 逻辑错误:message.mentions.users.first() === client 需与client.user(机器人用户实例)比较,而非client本身

修正后的messageCreate事件代码:

client.on("messageCreate", (message) => {
  console.log("new message...")
  console.log(message.content)
  if (message.mentions.users.first() === client.user) {
    message.reply("Hey!");
  } 
});

3. 额外注意事项

确保你在Discord开发者门户的机器人页面,已开启Message Content Intent(消息内容意图),否则即使代码正确,也无法获取消息内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:30:48