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
Libérer: 2024-12-03 22:26:11
original
579 Les gens l'ont consulté

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],
});
Copier après la connexion

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,
  ],
});
Copier après la connexion

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
});
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal