首页 > web前端 > js教程 > 为什么 Discord.js v14 中 `message.content` 为空(以及如何修复它)?

为什么 Discord.js v14 中 `message.content` 为空(以及如何修复它)?

Barbara Streisand
发布: 2024-12-20 04:03:13
原创
512 人浏览过

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]
});
登录后复制
  1. 使用 messageCreate event: 确保您使用 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板