Rumah >hujung hadapan web >tutorial js >Mengapakah `message.content` kosong dalam bot Discord.js saya, dan bagaimana saya membetulkannya?

Mengapakah `message.content` kosong dalam bot Discord.js saya, dan bagaimana saya membetulkannya?

Barbara Streisand
Barbara Streisandasal
2024-12-03 22:26:11590semak imbas

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

Discord.js: Menyelesaikan "message.content tidak mempunyai sebarang nilai" Isu

Dalam Discord.js versi 12 dan kemudian, sifat message.content pada mulanya mempunyai nilai rentetan kosong apabila menerima acara mesej. Ini berlaku disebabkan oleh perubahan dalam keperluan API Discord, di mana kandungan mesej tidak lagi disediakan melainkan diminta secara eksplisit.

Penyelesaian

Untuk mendapatkan semula kandungan mesej, dayakan Mesej Niat kandungan pada portal pembangun anda:

  • Navigasi ke Discord anda aplikasi.
  • Pilih "Tetapan" dan kemudian tab "Bot".
  • Di bawah "Niat Gerbang Keistimewaan," togol pada "Kandungan Mesej."

Pengubahsuaian Kod

Dalam Discord.js versi 13 dan kemudian:

  • Tambah GatewayIntentBits.MessageContent pada tatasusunan niat anda:
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],
});

Dalam Discord.js versi 12:

  • Tambah Niat .FLAGS.MESSAGE_CONTENT kepada niat anda tatasusunan:
const { Client, Intents } = require('discord.js');
const client = new Client({
  intents: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES,
    Intents.FLAGS.MESSAGE_CONTENT,
  ],
});

Jangan lupa gunakan acara messageCreate dan bukannya mesej untuk pengendalian mesej:

client.on('messageCreate', (message) => {
  // Your message handling logic goes here
});

Dengan mendayakan niat Kandungan Mesej dan mengubah suai kod anda dengan sewajarnya , anda kini boleh mengakses kandungan mesej dalam pengendali acara Discord.js anda.

Atas ialah kandungan terperinci Mengapakah `message.content` kosong dalam bot Discord.js saya, dan bagaimana saya membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn