【问题标题】:Enable intents for discord.py bot为 discord.py 机器人启用意图
【发布时间】:2021-05-02 05:37:11
【问题描述】:

我正在制作一个不和谐机器人,每次它加入新服务器时,该机器人都会向我发送服务器信息和邀请。但是,当我对此进行测试时,它总是显示一个成员本身。我在 discord 开发者门户中同时启用了状态和成员意图,但它仍然无法正常工作。

然后我将一些代码更改为收到错误的Guild.fetch_members()

discord.ext.commands.errors.CommandInvokeError:
Command raised an exception:
ClientException:
Intents.members must be enabled to use this.

正如我之前所说,discord 开发者网站上的成员意图已启用,我之前有过此代码,但没有出现此问题。

当我之前有这段代码工作时,它使用的是 1.5.x(我记不清了),现在它使用的是 1.6.0,所以新更新中的某些东西可能会阻止它工作,但这对我来说很不寻常,那么我该如何解决这个问题呢?

【问题讨论】:

  • 你把它们传递给构造函数了吗?即bot= commands.Bot(..., intents=intents)?
  • @ŁukaszKwieciński 我根本没有在我的代码中启用任何意图,因为我以前从未这样做过。
  • 谁在几分钟前删除了他们的答案,谢谢你,因为这有帮助并且已经排序
  • 嗯,这是我的答案,请取消删除。

标签: discord discord.py


【解决方案1】:

intents 是在1.5.0 中引入的,所以我认为它们以前没有工作过,但回答了你的问题

intents = discord.Intents.default()
intents.members = True

bot = commands.Bot(..., intents=intents)

还记得在developer portal 中启用特权成员意图

How to enable privigeled intents

【讨论】:

    【解决方案2】:

    有人将此作为答案发布但删除了它,它确实有效。

    intents = discord.Intents.default()
    intents.members = True
    
    client = commands.Bot(command_prefix=prefix, intents=intents)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-03
      • 2019-02-09
      • 2021-01-07
      • 2021-10-07
      • 2021-03-29
      • 2021-10-20
      • 2021-05-25
      • 1970-01-01
      相关资源
      最近更新 更多