返回可迭代的服务器角色的正确操作是什么?

时间:2017-09-08 15:07:15

标签: python-3.x discord.py

我正在尝试迭代discord.Server.roles的输出,以便在我连接的服务器上输出每个角色。

文件说明了这一点:

  

角色

     

服务器可用的Role列表。

然而,结果输出似乎是class,称为member_descriptor,它是不可迭代的。

请参阅下面的示例:

import discord
import asyncio

client = discord.Client()

@client.event
async def on_ready():
    print(type(discord.Server.roles))
    try:
        for i in discord.Server.roles:
            print(i)
    except:
        print("Object is not iterable")

client.run(MY_SESSION_KEY)

是否有人知道是否可以返回服务器具有的角色列表,因为此声明未返回列表而是返回类?

1 个答案:

答案 0 :(得分:3)

您需要一个已实现的服务器对象,而不仅仅是类定义。

基本上,您应该使用FormatException

,而不是使用discord.Server
client.get_server("ID of server")