discord.js 14.0.3中messageCreate事件获取消息内容为空如何解决?
解决discord.js v14.0.3中message.content为空的问题
核心原因
discord.js v14起,获取message.content需要额外启用消息内容特权意图(Message Content Intent),该意图默认关闭,必须手动配置。
解决步骤
- 在Discord开发者门户开启消息内容意图
登录Discord开发者门户进入你的应用,切换到「Bot」选项卡,在「Privileged Gateway Intents」区域找到「Message Content Intent」并开启。
- 在Discord开发者门户开启消息内容意图
- 更新代码中的意图配置
创建Client实例时,添加GatewayIntentBits.MessageContent意图:
- 更新代码中的意图配置
const { Client, GatewayIntentBits, Partials } = require('discord.js'); const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers, GatewayIntentBits.GuildMessageReactions, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent // 新增该行 ], partials: [Partials.Message, Partials.Channel, Partials.Reaction], });
- 验证效果
重启Bot后发送消息,即可正常获取message.content内容。
- 验证效果
注意:若Bot已通过认证(提交过审核),可能需额外申请开启消息内容特权意图,遵循Discord官方认证流程即可。
内容的提问来源于stack exchange,提问作者VinceKaj
相关产品推荐
相关产品推荐

