如何使用 discord.py 列出不和谐服务器中的所有成员?

Dra*_*Aki 6 python server discord discord.py

我正在编写一个不和谐的机器人,当我尝试使用 on_message 事件中的命令 !members 从服务器中提取所有成员时遇到了这个错误:

elif message.content.startswith('!members'):
    x = server.Server.members
    for member in x:
        print(member)
Run Code Online (Sandbox Code Playgroud)

我希望此命令拉出所有成员并在控制台中将它们打印出来,但出现错误

类型错误:“属性”对象不可迭代

当我在不和谐频道中输入命令时。任何人都可以帮我列出频道中我可以拥有的所有成员以供进一步使用吗?

Sam*_*ett 7

您需要一个服务器实例才能从中获取成员列表。

假设此代码出现在 中on_message(message),您应该能够更改您的

x = server.Server.members
Run Code Online (Sandbox Code Playgroud)

x = message.server.members
Run Code Online (Sandbox Code Playgroud)

请注意,使用Server大写 S 将返回类定义,而使用server消息中的属性(小写 s)将检索 Server 的实例。

如果您使用的版本 >= 1.0.0,这将是

x = message.guild.members
Run Code Online (Sandbox Code Playgroud)

反而。