ホームページ >ウェブフロントエンド >jsチュートリアル >Discord.js ボットの「message.content」が空なのはなぜですか?どうすれば修正できますか?
Discord.js: 「message.content には値がありません」問題の解決
Discord.js バージョン 12 以降では、メッセージ イベントを受信したとき、message.content プロパティには最初は空の文字列値が含まれます。これは、明示的に要求されない限りメッセージ コンテンツが提供されなくなった Discord の API 要件の変更により発生します。
解決策
メッセージ コンテンツを取得するには、メッセージを有効にしてください開発者ポータルのコンテンツ インテント:
コードの変更
Discord.js バージョン内13 以降:
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], });
Discord.js バージョン 12 の場合:
const { Client, Intents } = require('discord.js'); const client = new Client({ intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.MESSAGE_CONTENT, ], });
メッセージ処理には、message の代わりに messageCreate イベントを使用することを忘れないでください:
client.on('messageCreate', (message) => { // Your message handling logic goes here });
Message Content インテントを有効にし、それに応じてコードを変更します。 、Discord.js イベント ハンドラー内でメッセージ コンテンツにアクセスできるようになりました。
以上がDiscord.js ボットの「message.content」が空なのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。