ホームページ > ウェブフロントエンド > jsチュートリアル > Discord.js v14 で「message.content」が空になるのはなぜですか (およびその修正方法)?

Discord.js v14 で「message.content」が空になるのはなぜですか (およびその修正方法)?

Barbara Streisand
リリース: 2024-12-20 04:03:13
オリジナル
516 人が閲覧しました

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

Discord.js の「message.content には値がありません」エラーを解決する方法

最新バージョン (v14) Discord.js では、ユーザーからメッセージを受信したにもかかわらず、message.content プロパティが空の文字列を返す場合があります。この問題は、デフォルトのメッセージ コンテンツ インテントが削除されたために発生します。

Discord.js v14 の解決策

この問題を解決するには、次のことを行う必要があります。

  1. メッセージコンテンツのインテントを有効にする: Discord にアクセスしてください開発者ポータルを開き、「Privileged Gateway Intents」セクション内の「Message Content Intent」を有効にします。
  2. Add GatewayIntentBits.MessageContent: このインテントを Discord.js クライアントのインテント配列に含めます。初期化:
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 イベントを使用する: メッセージの代わりに messageCreate イベントを使用して受信メッセージを処理していることを確認します。この変更は、Discord の変更に準拠するために導入されました:
client.on('messageCreate', (message) => {});
ログイン後にコピー

Discord.js v13 のソリューション

Discord.js v13 の場合、ソリューションは同様です:

  1. メッセージコンテンツを有効にするインテント: 開発者ポータル内で「メッセージ コンテンツ インテント」を有効にします。
  2. Intents.FLAGS.MESSAGE_CONTENT を使用: このフラグをインテント配列に追加します:
const { Client, Intents } = require('discord.js');
const client = new Client({
  intents: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES,
    Intents.FLAGS.MESSAGE_CONTENT,
  ],
});
ログイン後にコピー

以上がDiscord.js v14 で「message.content」が空になるのはなぜですか (およびその修正方法)?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート