首頁 > web前端 > js教程 > 為什麼 Discord.js v14 中 `message.content` 為空(以及如何修復它)?

為什麼 Discord.js v14 中 `message.content` 為空(以及如何修復它)?

Barbara Streisand
發布: 2024-12-20 04:03:13
原創
515 人瀏覽過

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 開發者入口網站並在「特權網關意圖」部分中啟用「訊息內容意圖」。
  2. 新增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]
});
登入後複製
client.on('messageCreate', (message) => {});
登入後複製

  1. 使用messageCreate event:
  2. 確保您使用messageCreate 事件來處理傳入訊息而不是訊息。引入此變更是為了符合 Discord 的變更:
Discord.js v13 的解
const { Client, Intents } = require('discord.js');
const client = new Client({
  intents: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES,
    Intents.FLAGS.MESSAGE_CONTENT,
  ],
});
登入後複製
對於 Discord.js v13,解決方案類似:啟用訊息內容意圖: 在開發者入口網站中啟用「訊息內容意圖」。 使用 Intents.FLAGS.MESSAGE_CONTENT: 將此標誌加到您的意圖數組中:

以上是為什麼 Discord.js v14 中 `message.content` 為空(以及如何修復它)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板