如何使用discord.py制作discord服务器中所有成员的列表?

时间:2017-12-09 21:26:44

标签: python server discord discord.py

大家好我正在写一个不和谐的机器人,当我尝试用on_message事件中的命令成员从服务器中拉出所有成员时,我遇到了这个错误:

elif message.content.startswith('!members'):
    x = server.Server.members
    for member in x:
        print(member)

我希望此命令拉出所有成员并在控制台中打印出来但我收到错误 TypeError:' property'对象不可迭代

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

4 个答案:

答案 0 :(得分:3)

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

假设此代码显示在on_message(message)中,您应该可以更改

x = server.Server.members

x = message.server.members

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

答案 1 :(得分:1)

elif message.content.startswith('!members'):
    x = message.server.members
    for member in x:
        print(member.name) # you'll just print out Member objects your way.

答案 2 :(得分:0)

我认为你可以这样做,以便代码更短

elif message.content.startswith('!members'):
    print(", ".join([member.name for member in message.server.members])) #You do the list with names of roles and print this without cycle

答案 3 :(得分:0)

x = message.server.members 更改为 x = message.guild.members