试图用 python 制作一个不和谐的机器人。
在不和谐的开发人员界面中,在我的机器人面板上,选中了“特权网关意图”(服务器成员意图)。
Bot 位于具有管理员权限的服务器(公会)上。
for guild in self.discord_client.guilds:
print(f"guild found : {guild}")
print(guild.members)
for member in guild.members:
print(member)
Run Code Online (Sandbox Code Playgroud)
不明白为什么机器人只返回他,但没有找到我或我的朋友。
返回
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>>]
Run Code Online (Sandbox Code Playgroud)
成员数=3,但之后
for member in list(guild.members):
print(member)
Run Code Online (Sandbox Code Playgroud)
只返回
Dev_Bot#6271
Run Code Online (Sandbox Code Playgroud)
你能帮我吗 ?谢谢
我找到的唯一有用的答案是在这里:
Discord Bot 只能看到自己,不能看到公会中的其他用户
基本上,它说你必须设置intents才能看到公会的成员。
因此,client = discord.Client()您不仅需要执行以下操作,还必须执行以下操作:
...
intents = discord.Intents.all()
client = discord.Client(intents=intents)
...
Run Code Online (Sandbox Code Playgroud)
或者
intents = discord.Intents.default()
intents.members = True
client = discord.Client(intents=intents)
Run Code Online (Sandbox Code Playgroud)
如果你只想有那个意图
| 归档时间: |
|
| 查看次数: |
3755 次 |
| 最近记录: |