2017-09-13 12 views
1

私はサーバーから多くのメッセージを取得しようとしていますので、テストスクリプトを作成しています。logs_from()は動作していません。私のpython 3.5、およびは、PyPIdiscord.py logs_from not working

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

上discord.pyの最新バージョンを使用していますが、私はエラーが

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

がlogs_from' '起因する非常に最初のエントリ、または第二のものを得るためにあなたの意思はありますか? – mkrieger1

+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)