discord python:guild.members只返回bot但没有成员[重复]

Posted

技术标签:

【中文标题】discord python:guild.members只返回bot但没有成员[重复]【英文标题】:discord python : guild.members return only bot but no members [duplicate] 【发布时间】: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

你能帮忙吗?谢谢

【问题讨论】:

【参考方案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

【讨论】:

该安装是降级,它只会暂时起作用。您必须最终切换到意图。

以上是关于discord python:guild.members只返回bot但没有成员[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Discord Bot Client.User 在 Python 中转换为 Discord.Utils 时出错

在 discord_components (python) 中单击按钮时调用 python 函数

在python中同时运行多个协程[Discord.py]

C-Python asyncio:在线程中运行 discord.py

如何在 Discord 机器人项目中运行额外的 Python 代码

我如何在 Python 中嵌入 Discord 中换行?