首页 文章

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

提问于
浏览
2

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

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

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

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

3 回答

  • 2

    您需要一个服务器实例来从中获取成员列表 .

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

    x = server.Server.members
    

    x = message.server.members
    

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

  • 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.
    
  • 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
    

相关问题