discord.py logs_from不工作

问题描述:

我想从服务器获取大量的消息,所以我正在做一个测试脚本,而logs_from()不工作,我认为它应该如何,我不知道如果即时通讯使用错了还是什么,我使用python 3.5,discord.py的PyPI上discord.py logs_from不工作

@client.event 
@asyncio.coroutine 
def on_message(message): 
    number = 200 
    x = client.logs_from(message.channel, limit = number) 
    print(x[1]) 

最新的版本,我得到的错误

TypeError: 'LogsFromIterator' object does not support indexing 
+0

是您的意向得到'logs_from'产生的第一个条目,或者第二个? – mkrieger1

+0

最终得到他们所有人,但它现在没有得到任何他们,没关系 –

Client.logs_from是协同程序,这意味着你必须先等待它。它也返回一个迭代器,而不是一个列表,所以你应该遍历它,而不是索引它。

的Python 3.5例如:

async def get_logs_from(channel): 
    async for m in client.logs_from(channel): 
     print(m.clean_content) 

的Python 3.4例如:

@asyncio.coroutine 
def get_logs_from(channel): 
    logs = yield from client.logs_from(channel): 
    for m in logs: 
     print(m.clean_content)