【问题标题】:How do I make a list of all members in a discord server using discord.py?如何使用 discord.py 列出不和谐服务器中的所有成员?
【发布时间】:2018-05-23 19:43:45
【问题描述】:

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

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

我希望这个命令拉出所有成员并在控制台中打印出来,但我得到了错误

TypeError: 'property' 对象不可迭代

当我在不和谐频道中输入命令时。谁能帮我列出频道中所有成员的列表以供进一步使用?

【问题讨论】:

标签: python server discord discord.py


【解决方案1】:

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

假设此代码出现在on_message(message),您应该可以更改您的

x = server.Server.members

x = message.server.members

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

如果您使用的版本 >= 1.0.0,则为

x = message.guild.members

改为。

【讨论】:

    【解决方案2】:
    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.
    

    【讨论】:

      【解决方案3】:

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

      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
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-11-27
          • 2019-10-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-04-21
          • 2021-08-30
          相关资源
          最近更新 更多