让我的不和谐机器人列出添加到它的唯一公会的所有成员时遇到麻烦。
async def on_ready(self):
print("logged in as {0}".format(self.user))
guilds = self.guilds
print("guilds: " + str(guilds))
guild = self.get_guild(my_guild_id)
print("guild members: " + str(guild.members))
有趣的是,当我打印出行会本身时,其成员数为5(是正确的)。但是,当实例化Guild对象并访问member属性时,它仅将bot用户本身显示为成员。
guild members: [<Member id=12345678 name='testapp1_bot' discriminator='0683' bot=True nick=None guild=<Guild id=12345 name="ethandrower's server" shard_id=None chunked=False member_count=5>>]
guilds: [<Guild id=12345 name="ethandrower's server" shard_id=None chunked=False member_count=5>]
我猜这可能是我对“行会”架构的误解或对机器人事物的许可。我已将僵尸程序添加到具有完全管理员访问权限的服务器中,所以对于为什么我可以看到适当的成员数量而不是成员对象本身感到有些困惑,我对此感到有些困惑?
任何帮助将不胜感激!
答案 0 :(得分:1)
如果您使用的是最新版本的discord.py,即1.5.0,则需要启用“会员意图”并将其应用于您的机器人。
如何启用会员意图:https://discordpy.readthedocs.io/en/latest/intents.html#privileged-intents
详细了解目标:https://discordpy.readthedocs.io/en/latest/intents.html