如何从 discord.py 中的文本通道获取所有消息的数组?
Posted
技术标签:
【中文标题】如何从 discord.py 中的文本通道获取所有消息的数组?【英文标题】:How can I get an array of all the messages from a text channel in discord.py? 【发布时间】:2019-10-14 09:13:30 【问题描述】:我有频道对象,我试过了
mess = channel.history(limit=200)
但是mess
是一个HistoryIterator
对象并且在其mess.messages
对象中不包含任何消息(大小= 0)。频道中有消息,所以不应该说大小为0。
我也试过了:
mess = client.logs_from(channel, limit=200)
但是 PyCharm 告诉我 client
没有 logs_from
函数。
有没有一种简单的方法可以从数组中的文本通道中获取所有消息?
【问题讨论】:
【参考方案1】:HistoryIterator
实现了AsyncIterator
接口。您可以使用AsyncIterator.flatten
方法将 Iterator 的内容消费到一个列表中:
messages = await channel.history(limit=200).flatten()
【讨论】:
以上是关于如何从 discord.py 中的文本通道获取所有消息的数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 discord.py 制作一个检查某个服务器通道中所有消息的机器人