【发布时间】:2017-03-27 12:55:12
【问题描述】:
这是我不理解的文档中的一些内容。
purge_from(channel, *, limit=100, check=None, before=None, after=None, around=None)这个函数是一个协程。
清除符合由 谓词检查。如果未提供检查,则所有消息都是 毫无歧视地删除。
您必须拥有管理消息权限才能删除消息,即使 他们是你自己的。还需要读取消息历史记录权限 检索消息历史记录。
只能由机器人帐户使用。
参数:channel (Channel) – 要清除的通道。限制 (int) – 要搜索的消息数。这不是 将被删除的消息数,尽管可以。查看 (predicate) – 用于检查消息是否应该是的函数 删除。它必须将 Message 作为其唯一参数。
例子
删除机器人的消息
def is_me(m): return m.author == client.user deleted = await client.purge_from(channel, limit=100, check=is_me) await client.send_message(channel, 'Deleted {} message(s)'.format(len(deleted)))
我了解这里的所有内容,直到 check 参数。我已经尽可能地使用这个例子,但我不能。我想要实现的是清除每条带有附件的消息。如果没有,Message.Attachments 返回一个空列表。谁能尽可能地解释这个例子,或者提供代码?谢谢。
【问题讨论】: