Heim >Web-Frontend >js-Tutorial >Warum ist „message.content' in meinem Discord.js-Bot leer und wie kann ich das Problem beheben?
Discord.js: Behebung des Problems „message.content hat keinen Wert“
In Discord.js-Versionen 12 und höher: Die Eigenschaft message.content weist beim Empfang eines Nachrichtenereignisses zunächst einen leeren Zeichenfolgenwert auf. Dies geschieht aufgrund einer Änderung der API-Anforderungen von Discord, bei der Nachrichteninhalte nicht mehr bereitgestellt werden, es sei denn, dies wird ausdrücklich angefordert.
Lösung
Um den Nachrichteninhalt abzurufen, aktivieren Sie die Nachricht Inhaltsabsicht auf Ihrem Entwicklerportal:
Codeänderungen
In den Discord.js-Versionen 13 und später:
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], });
In Discord.js Version 12:
const { Client, Intents } = require('discord.js'); const client = new Client({ intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.MESSAGE_CONTENT, ], });
Vergessen Sie nicht, das messageCreate-Ereignis anstelle von message für die Nachrichtenverarbeitung zu verwenden:
client.on('messageCreate', (message) => { // Your message handling logic goes here });
Indem Sie die Absicht „Message Content“ aktivieren und Ihren Code entsprechend ändern , können Sie jetzt in Ihren Discord.js-Ereignishandlern auf den Nachrichteninhalt zugreifen.
Das obige ist der detaillierte Inhalt vonWarum ist „message.content' in meinem Discord.js-Bot leer und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!