Maison >interface Web >js tutoriel >Pourquoi « message.content » est-il vide dans mon bot Discord.js et comment puis-je y remédier ?
Discord.js : Résolution du problème "message.content n'a aucune valeur"
Dans Discord.js versions 12 et ultérieures, la propriété message.content a initialement une valeur de chaîne vide lors de la réception d'un événement de message. Cela se produit en raison d'un changement dans les exigences de l'API de Discord, où le contenu du message n'est plus fourni sauf demande explicite.
Solution
Pour récupérer le contenu du message, activez l'option Message Intention de contenu sur votre portail de développeur :
Modifications du code
Dans Discord.js versions 13 et supérieures :
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], });
Dans 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, ], });
N'oubliez pas d'utiliser le messageCréer événement au lieu du message pour la gestion des messages :
client.on('messageCreate', (message) => { // Your message handling logic goes here });
En activant l'intention Contenu du message et en modifiant votre code en conséquence, vous pouvez désormais accéder au contenu du message dans vos gestionnaires d'événements Discord.js.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!