Maison >interface Web >js tutoriel >Pourquoi « message.content » est-il vide dans mon bot Discord.js et comment puis-je y remédier ?

Pourquoi « message.content » est-il vide dans mon bot Discord.js et comment puis-je y remédier ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-03 22:26:11583parcourir

Why is `message.content` empty in my Discord.js bot, and how do I fix it?

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 :

  • Accédez à votre application Discord.
  • Sélectionnez "Paramètres", puis l'onglet "Bot".
  • Sous "Intentes de passerelle privilégiée", activez "Contenu du message".

Modifications du code

Dans Discord.js versions 13 et supérieures :

  • Ajouter GatewayIntentBits.MessageContent à votre tableau d'intentions :
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 :

  • Ajoutez Intents.FLAGS.MESSAGE_CONTENT à votre tableau d'intentions :
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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn