Discord.js:解决“message.content 没有任何值”问题
在 Discord.js 版本 12 及更高版本中,接收消息事件时,message.content 属性最初具有空字符串值。出现这种情况是由于 Discord 的 API 要求发生了变化,除非明确请求,否则不再提供消息内容。
解决方案
要检索消息内容,请启用消息您的开发者门户上的内容意图:
代码修改
在 Discord.js 版本 13 和稍后:
const { Client, GatewayIntentBits, Partials } = require('discord.js'); const client = new Client({ intents: [ GatewayIntentBits.DirectMessages, GatewayIntentBits.Guilds, GatewayIntentBits.GuildBans, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent, ], partials: [Partials.Channel], });
在 Discord.js 版本 12 中:
const { Client, Intents } = require('discord.js'); const client = new Client({ intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.MESSAGE_CONTENT, ], });
不要忘记使用 messageCreate 事件而不是 message 进行消息处理:
client.on('messageCreate', (message) => { // Your message handling logic goes here });
通过启用消息内容意图并相应地修改您的代码,您现在可以在 Discord.js 事件处理程序中访问消息内容。
以上是为什么我的 Discord.js 机器人中的'message.content”为空,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!