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

Discord.js无法获取消息内容,仅返回空字符如何解决?

解决Discord.js机器人message.content返回空的问题
  • 检查机器人服务器权限:确保机器人在目标服务器中拥有「查看频道」「读取消息历史」权限,缺少这些权限会导致无法读取消息内容。
  • 配置正确的Gateway Intent:Discord.js v14及后续版本要求显式启用消息相关Intent。创建Client实例时必须包含GuildMessages和MessageContent这两个Intent,示例代码:
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent
  ]
});

client.on('messageCreate', async (message) => {
  console.log(message.content);
});

client.login('你的机器人令牌');
  • 排查特殊消息类型:嵌入消息、系统通知消息(如成员加入提示)或仅含附件的消息,本身message.content就是空值,属于正常情况。可通过message.embeds或message.attachments判断这类消息。
  • 开启开发者门户的特权Intent:登录Discord开发者后台,找到你的机器人应用,在「Privileged Gateway Intents」板块开启「Message Content Intent」,这个开关不开启的话,代码里配置的Intent不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:15:37