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

Discord.js v14.7.1机器人无法读取消息问题求助

Discord.js v14.7.1 机器人无法读取消息的解决方案

问题诊断

你的机器人已正常启动(控制台输出odpalony),但messageCreate事件未触发,核心原因是特权意图未启用或权限配置缺失。

修复步骤

1. 开启MessageContent特权意图

MessageContent是Discord的特权意图,仅在代码中声明无效,必须手动在开发者后台开启:

  • 打开Discord开发者门户,找到你的机器人应用
  • 进入「Bot」页面,下滑至「Privileged Gateway Intents」板块
  • 开启「Message Content Intent」选项并保存
  • 重启机器人

2. 确认频道权限

确保机器人在目标服务器频道拥有以下权限:

  • 查看频道
  • 读取消息历史
    可通过服务器角色设置为机器人角色分配这些权限,或直接在频道权限面板单独配置。

3. 优化代码意图配置(可选)

v14推荐使用GatewayIntentBits枚举值替代字符串,避免拼写错误,修改后的客户端初始化代码:

const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ 
  intents: [
    GatewayIntentBits.Guilds, // 必须,否则无法识别服务器
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent
  ] 
});

4. 测试验证

重启机器人后,在机器人有权限的频道发送消息,检查控制台是否输出消息内容。若需处理私信,需额外添加GatewayIntentBits.DirectMessages意图。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 03:15:27