Heim >Web-Frontend >js-Tutorial >Warum ist „message.content' in Discord.js v14 leer (und wie kann man das beheben)?

Warum ist „message.content' in Discord.js v14 leer (und wie kann man das beheben)?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 04:03:13516Durchsuche

Why is `message.content` Empty in Discord.js v14 (and how to fix it)?

So beheben Sie den Fehler „message.content hat keinen Wert“ von Discord.js

In der neuesten Version (v14) von Discord.js, die Eigenschaft message.content kann trotz des Empfangs von Nachrichten von Benutzern eine leere Zeichenfolge zurückgeben. Dieses Problem entsteht durch die Entfernung des standardmäßigen Message Content Intent.

Lösung für Discord.js v14

Um dieses Problem zu beheben, müssen Sie Folgendes tun:

  1. Absicht des Nachrichteninhalts aktivieren: Besuchen Sie das Discord-Entwicklerportal und aktivieren Sie die Option „Nachrichteninhalt“. Intent“ im Abschnitt „Privileged Gateway Intents“.
  2. GatewayIntentBits.MessageContent hinzufügen: Fügen Sie diesen Intent zu Ihrem Intent-Array in die Initialisierung Ihres Discord.js-Clients ein:
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]
});
  1. MessageCreate verwenden event: Stellen Sie sicher, dass Sie das messageCreate-Ereignis verwenden, um eingehende Nachrichten anstelle von Nachrichten zu verarbeiten. Diese Änderung wurde eingeführt, um den Änderungen von Discord zu entsprechen:
client.on('messageCreate', (message) => {});

Lösung für Discord.js v13

Für Discord.js v13 ist die Lösung ähnlich :

  1. Nachrichteninhaltsabsicht aktivieren: Aktivieren den „Message Content Intent“ im Entwicklerportal.
  2. Verwenden Sie Intents.FLAGS.MESSAGE_CONTENT: Fügen Sie dieses Flag zu Ihrem Intents-Array hinzu:
const { Client, Intents } = require('discord.js');
const client = new Client({
  intents: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES,
    Intents.FLAGS.MESSAGE_CONTENT,
  ],
});

Das obige ist der detaillierte Inhalt vonWarum ist „message.content' in Discord.js v14 leer (und wie kann man das beheben)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn