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中文網其他相關文章!