【问题标题】:discord python : guild.members return only bot but no members [duplicate]discord python:guild.members只返回bot但没有成员[重复]
【发布时间】:2021-01-20 18:03:49
【问题描述】:

试图用 python 制作一个不和谐的机器人。

在 discord 开发者界面中,在我的机器人面板上,“Privileged Gateway Intents”(服务器成员意图)被选中。

机器人在具有管理员权限的服务器(公会)上。

            for guild in self.discord_client.guilds:
                print(f"guild found : {guild}")
                print(guild.members)
            for member in guild.members:
                print(member)

不明白为什么机器人只返回他,但没有找到我或我的朋友。

返回

guild found : Testdev

[<Member id=76277237853886878X name='Dev_Bot' discriminator='6271' bot=True nick=None guild=<Guild id=76114559936167936X name='Testdev' shard_id=None chunked=False member_count=3>>]

成员数=3,但之后

       for member in list(guild.members):
           print(member)

只返回

Dev_Bot#6271

你能帮忙吗?谢谢

【问题讨论】:

    标签: discord.py


    【解决方案1】:

    我找到的唯一有用的答案在这里:

    Discord Bot can only see itself and no other users in guild

    基本上,它说你必须设置intents才能看到公会的成员。

    因此,您必须做的不仅仅是client = discord.Client(),而是:

    ...
    
    intents = discord.Intents.all()
    client = discord.Client(intents=intents)
    
    ...
    

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

    如果你想只是有这个意图

    【讨论】:

      【解决方案2】:

      https://discordpy.readthedocs.io/en/latest/intents.html

      或者简单地说,安装库的 1.4.2 版本:pip install -U discord.py==1.4.2

      【讨论】:

      • 该安装是降级,它只会暂时起作用。您必须最终切换到意图。
      猜你喜欢
      • 2021-02-15
      • 2021-08-11
      • 2023-04-10
      • 2021-06-18
      • 2021-02-07
      • 2021-06-25
      • 2021-01-22
      • 2021-07-05
      • 2021-11-11
      相关资源
      最近更新 更多