【问题标题】:Discord.py delete message logDiscord.py 删除消息日志
【发布时间】:2021-12-14 23:33:17
【问题描述】:

您好,我在 discord 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)

【问题讨论】:

  • 有什么错误吗?
  • “我能否以某种方式使机器人删除消息时不发送消息” 如果您不希望发送消息,为什么要致电 @987654322 @ 完全...?
  • 没有错误,只有被机器人删除的消息具有指导意义
  • 只有在邮件未被任何机器人删除时才应发送。

标签: python discord.py


【解决方案1】:

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

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)

【讨论】:

    猜你喜欢
    • 2018-06-29
    • 2021-08-11
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2021-09-26
    相关资源
    最近更新 更多