当前位置: 首页 > 知识库问答 >
问题:

Discord.py删除消息日志

史和泰
2023-03-14

嗨,我已经在不和谐的py日志删除消息,但现在它是这样的,当消息被删除的机器人什么都没有显示,我可以以某种方式使没有消息发送时,机器人删除消息

@bot.event
async def on_message_delete(message):
    async for entry in message.guild.audit_logs(limit=1, action=discord.AuditLogAction.message_delete):
        delete_message_embed = discord.Embed(
            title=f'{entry.user.name} Has deleted a message | {message.author.id}'
            , description=f"`{message.content}`")
        delete_message_embed.add_field(name='Channel', value=f'{message.channel.name}')
        channel = bot.get_channel(827128556722454600)
        await channel.send(embed=delete_message_embed)

共有1个答案

王景山
2023-03-14

您需要添加检查用户是否为机器人:

if user.bot:
@bot.event
async def on_message_delete(message):
    async for entry in message.guild.audit_logs(limit=1, action=discord.AuditLogAction.message_delete):
        if entry.user.bot:
            return
        delete_message_embed = discord.Embed(
            title=f'{entry.user.name} Has deleted a message | {message.author.id}'
            , description=f"`{message.content}`")
        delete_message_embed.add_field(name='Channel', value=f'{message.channel.name}')
        channel = bot.get_channel(827128556722454600)
        await channel.send(embed=delete_message_embed)
 类似资料:
  • 问题内容: 我需要从Graylog删除特定的日志消息,但是似乎没有任何公共API可以做到这一点(由Graylog API浏览器进行)。 关于如何执行此操作的文档很少。我发现一些随机文章暗示可以通过curl和查询API来实现,但是没有实质性意义。 鉴于可以通过“ http://1.2.3.4:5678 ” 访问灰色日志,并且我在索引“ graylog_0”中收到一条ID为“ 94c84300-d3c

  • 我希望将从jms队列接收的消息发送到spring pub子通道,以便将相同的消息转发到两个目的地。poller在直接频道上工作正常,但在向pub子频道发布消息时会删除消息。请让我知道我错过了什么。

  • 我试图在WebLogic10r3服务器上调试一个web应用程序主机。该应用程序通过Java消息驱动bean接收来自外部IBM JMS队列(classname:)的输入。 我写了一个小的测试应用程序来连接到队列并发送测试消息。目前的问题是测试消息会生成异常,并且不知何故它会被放回队列中,并一次又一次地循环。这会产生大量异常,使日志不可读。 代码概述了JMS生产者:

  • 问题内容: 所以我有以下格式的日志消息: 现在,我想删除所有不包含特定字符串“ xyz”的日志,并保留其余所有日志。我也想索引时间戳。 grokdebug没有太大帮助。 这是我的尝试: 我是新手,所以上面的模式可能没有意义。请帮忙。 问题答案: 要删除不包含字符串的消息: 您的骗子模式没有抓住日志的日期部分。 一旦在grok模式中有一个包含日期的字段,就可以在该字段上调用日期过滤器。 因此,您的g

  • 清理快照存储区中的旧快照很容易:在每次成功的快照之后,参与者都会收到一个,其中包含指示其序列号的元数据,该信息可以用于构造快照,然后被馈送到。 但是,对于持久化消息,没有与等效的方法。因此,不可能知道日志中“last-ish”消息的序号是什么。可以保留持久消息计数的本地缓存并对其进行快照,以用于调用,但这太繁琐了。 附言。当然,选择用于传递到的序号比上面提到的要复杂一点:即使有一种方法可以从日记中

  • 我有以下一段代码: 我想过滤掉来自另外两个机器人的无意义的机器人信息。 然而,这会导致bot删除服务器上的每个用户的消息。 用户“臭墨水”的消息被删除了。