Discord.JS V13 升级后 client.on('messageCreate') 事件不触发如何解决
Discord.js v13 messageCreate事件无法触发修复方案
1. 修复代码语法错误
你提供的messageCreate事件监听代码存在两处语法缺陷,会直接导致事件无法正常注册或运行:
- 事件回调结束后缺少闭合的右括号
) console.log传入的anything如果是字符串未加引号,作为未定义变量调用会抛出引用错误
修正后的代码示例:
client.on('messageCreate', msg => { console.log('anything') })
2. 开启网关特权意图开关
Discord.js v13及以上版本,仅在代码中声明Intents是不够的,还需要在Discord开发者平台的机器人管理后台手动开启Message Content Intent权限,否则机器人无法获取消息内容,messageCreate事件不会触发。
操作路径:登录Discord开发者平台 -> 选择对应应用 -> 进入「Bot」配置页 -> 下滑找到Privileged Gateway Intents板块 -> 打开Message Content Intent开关即可。
3. 校验机器人权限配置
确认机器人在对应场景下拥有必要权限:
- 服务器频道场景:需拥有「查看频道」「读取消息历史」权限
- 私信场景:需确保用户未屏蔽机器人,且机器人私信功能未被限制
4. 排查隐藏报错
可以添加全局错误监听逻辑,排查是否有隐藏的运行时错误阻塞了事件触发:
process.on('unhandledRejection', error => { console.error('未处理的运行时错误:', error); });
内容的提问来源于stack exchange,提问作者Tony Patino
相关产品推荐
相关产品推荐

