首页 >web前端 >js教程 >为什么我的 Discord.js v14 Bot 中的'message.content”为空?

为什么我的 Discord.js v14 Bot 中的'message.content”为空?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-05 16:28:11308浏览

Why is `message.content` Empty in My Discord.js v14 Bot?

错误:message.content 在 Discord.js 中没有值

使用 Discord.js 版本 14 时,您可能会遇到 message.content 属性为当用户发送消息时为空。出现这种情况是因为未启用消息内容意图或未包含正确的网关意图位。

解决方案:

  1. 启用消息内容意图:

    • 导航到Discord 开发者门户。
    • 从“应用程序”中选择您的机器人。
    • 在“机器人”设置下,转到“特权网关意图”。
    • 启用“消息内容”意图。
  2. 添加GatewayIntentBits.MessageContent 枚举:

    • 在您的 Discord.js 代码中,修改意图数组,如下所示:

      intents: [
      GatewayIntentBits.DirectMessages,
      GatewayIntentBits.Guilds,
      GatewayIntentBits.GuildBans,
      GatewayIntentBits.GuildMessages,
      GatewayIntentBits.MessageContent,
      ],
  3. 使用“messageCreate”事件:

    • 确保您使用的是 messageCreate 事件,而不是 message 事件来处理消息:

      bot.on('messageCreate', async (message) => {
      // Your code here
      });

通过启用消息内容意图并添加正确的网关意图位,您将恢复 message.content 属性实际的消息文本。

以上是为什么我的 Discord.js v14 Bot 中的'message.content”为空?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn