我正在编写一个 discord 机器人,当我尝试使用命令 !members in on_message 事件从服务器中拉出所有成员时遇到了这个错误:
elif message.content.startswith('!members'):
x = server.Server.members
for member in x:
print(member)
我希望此命令拉取所有成员并在控制台中打印出来,但出现错误
TypeError: 'property' object is not iterable
当我在不和谐 channel 中键入命令时。谁能帮我列出 channel 中所有成员的名单,以便我进一步使用?
最佳答案
您需要一个服务器实例来从中获取成员列表。
假设此代码出现在 on_message(message)
中,您应该能够更改您的
x = server.Server.members
到
x = message.server.members
请注意,使用带有大写 S 的 Server
将返回类定义,而使用消息中的 server
属性(小写 s)将检索 Server 的实例。
如果您使用的版本 >= 1.0.0,则为
x = message.guild.members
相反。
关于python - 如何使用 discord.py 列出 discord 服务器中的所有成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47733376/