我正在尝试从服务器获取大量消息,所以我正在制作测试脚本,并且logs_from()不起作用,我认为它应该如何,我不知道我是否使用它错误或什么,我我正在使用python 3.5,以及pypi上最新版本的discord.py
@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 :(得分:1)
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)