Discord.py正在从审核日志中删除多条消息

Discord.py正在从审核日志中删除多条消息,discord.py,Discord.py,我正在用discord.py制作一个日志系统。目前,我正在尝试获取从单个审核日志条目中删除的邮件数(因为有时候审核日志会更新条目而不是创建新条目),所以我尝试了“entry.action.count”。这是我的密码 @client.command() @commands.has_permissions(administrator=True) async def deletecount(ctx): async for entry in ctx.guild.audit_logs(limit=

我正在用discord.py制作一个日志系统。目前,我正在尝试获取从单个审核日志条目中删除的邮件数(因为有时候审核日志会更新条目而不是创建新条目),所以我尝试了“entry.action.count”。这是我的密码

@client.command()
@commands.has_permissions(administrator=True)
async def deletecount(ctx):
    async for entry in ctx.guild.audit_logs(limit=1, action=discord.AuditLogAction.message_delete):
        print(entry.action.count)
但它不打印删除的邮件数,而是打印

<built-in method count of _EnumValue_AuditLogAction object at 0x000001FF9769C640>

这里应该给出什么样的论点?提前谢谢。

据我所知,这是不可能的。每次有人删除此频道中的消息时,您都可以计算计数器,但遗憾的是,这无法通过审核日志实现。

如果可以,请使用
extra
属性,它将返回包含所需数据的dict(由于返回值与操作类型不同,因此文档不会向您提供很多关于它的信息):

ctx.guild.audit\u日志中条目的异步(limit=1,action=discord.AuditLogAction.message\u bulk\u delete): 计数=条目。额外的['count']
AuditLogEntry.extra
的返回值因事件类型而异,上述示例仅适用于
message\u bulk\u delete

PS:您在迭代器中使用了错误的
操作
,它应该是
AuditLogAction.message\u bulk\u delete
而不是
AuditLogAction.message\u delete

参考资料:

我现在知道了。虽然不一定与您的答案相同,但您的答案确实帮助您了解如何使用该属性。事实证明,正确使用该属性的方法是
entry.extra.count
。此外,它还适用于
AuditLogAction.message\u delete
以及
AuditLogAction.message\u bulk\u delete
。非常感谢您的帮助。我很乐意提供帮助,
条目。action
属性返回我这样一条命令:
{“count”:“5”}
,奇怪的是您还有其他东西。。。
TypeError: tuple.count() takes exactly one argument (0 given)