如何从 discord.py 中的文本通道获取所有消息的数组?

Lam*_*010 6 python discord discord.py

我有频道对象,我试过了

mess = channel.history(limit=200)
Run Code Online (Sandbox Code Playgroud)

但它mess是一个HistoryIterator对象,并且其mess.messages对象中不包含任何消息(大小 = 0)。通道中有消息,所以不应该说大小为0。

我也试过:

mess = client.logs_from(channel, limit=200)
Run Code Online (Sandbox Code Playgroud)

但是 PyCharm 告诉我client没有任何logs_from功能。

有没有一种简单的方法可以从数组中的文本通道中获取所有消息?

Pat*_*ugh 7

HistoryIterator实现AsyncIterator接口。您可以使用该AsyncIterator.flatten方法将 Iterator 的内容消费到一个列表中:

messages = await channel.history(limit=200).flatten()
Run Code Online (Sandbox Code Playgroud)