我正在寻找一种将所有审核日志打印在txt文件上的方法,因为我希望然后该机器人将该txt文件发送到管理员的电子邮件中。如何获得所有审核日志?
答案 0 :(得分:0)
您使用async for ... in guild.audit_logs(limit=100)
该函数具有更多不同的参数,您可以找到所有这些参数here。
以下是使用方法的示例:
async def save_audit_logs(guild):
with open(f'audit_logs_{guild.name}', 'w+') as f:
async for entry in guild.audit_logs(limit=100):
f.write('{0.user} did {0.action} to {0.target}'.format(entry))
@client.event
async def on_message(message):
if message.content.startswith('audit'):
await save_audit_logs(message.channel.guild)
其他信息: 这是一个异步迭代器,这意味着它只能只能在异步函数中使用。
每个审核日志条目都是this class,我建议对其进行仔细阅读。