【问题标题】:Discord Bot - Cannot access FLAGS from IntentsDiscord Bot - 无法从 Intents 访问 FLAGS
【发布时间】:2022-01-19 14:38:21
【问题描述】:

我开始编写个人机器人。我收到一个错误

TypeError: Cannot read properties of undefined (reading 'FLAGS')

我假设它无法访问 FLAGS。我不明白为什么,因为我安装了最新的 node 和 discord.js。我在 Discord Developer Portal 上的个人帐户上允许我的 Bot 的“特权网关意图”的所有权限。我遵循了这个教程:https://www.youtube.com/watch?v=Qc9uPgGmQ7I

这是我目前的代码:

require("dotenv").config();
const { Client, Intents } = require("discord.js")
const client = new Client({
  intents: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES
  ]
});

client.on("ready", () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on("interactionCreate", async interaction => {
  if (!interaction.isCommand()) return;

  if (interaction.commandName === "ping") {
    await interaction.reply("Pong!");
  }
});

client.login(process.env.SPELL_BOT_TOKEN)

【问题讨论】:

  • 你用的是什么版本的 DJS?
  • 我更新了我的 DJS 版本,现在它可以工作了。

标签: javascript discord discord.js bots


【解决方案1】:

这意味着您正在使用 Discord.js v11 或更早版本,其中没有意图,因此您可以将其更新到 v12 或更高版本:

  • 使用npm uninstall discord.jsnpm install discord.js 重新安装模块。
  • 使用npm install discord.js@dev 将其更新到最新版本或使用npm install discord.js@13.3.1 更新到特定版本。
  • 在您的 package.json 文件中编辑模块的版本。

【讨论】:

  • 这对我有帮助。现在它就像魅力一样工作。非常感谢!
【解决方案2】:

我看到的第一个错误是你必须将对象传递给客户端类,你做了new Client(intents: [...]})。应该是new Client({ intents: [...] })

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
  • 谢谢,我更正了。尽管如此,仍然有错误。即使我有最新的 Discord.js,我也会尝试 @Leau 的建议。
  • 我还编辑了帖子中的代码,因此如果有人复制代码,他们希望不会出现错误。
猜你喜欢
  • 1970-01-01
  • 2021-03-02
  • 2018-08-15
  • 2022-11-17
  • 2022-07-12
  • 2021-06-04
  • 2021-06-05
  • 2021-04-20
  • 2021-11-10
相关资源
最近更新 更多