尝试使用python创建不和谐的机器人。
在不协调的开发人员界面中,在我的机器人面板上,检查了“特权网关意图”(SERVER MEMBERS INTENT)。
Bot位于具有管理员授权的服务器(行会)上。
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
您能帮忙吗?谢谢
答案 0 :(得分:3)
https://discordpy.readthedocs.io/en/latest/intents.html
或者简单地,安装该库的1.4.2版本:pip install -U discord.py==1.4.2
答案 1 :(得分:3)
我找到的唯一有用的答案是在这里:
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)
如果您想只是具有该意图