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 函数
C-Python asyncio:在线程中运行 discord.py