记录已删除和编辑的消息

问题描述 投票:0回答:1

我正在为我的服务器制作一个服务器机器人,我想记录所有消息删除和编辑。它将登录到日志通道供工作人员查看。在日志通道中,我想让消息显示已删除的内容或消息编辑之前的内容以及消息编辑之后的内容。显示已删除的消息工作正常,但我不知道如何在消息编辑中执行相同的操作。

这就是我如何显示已删除的消息部分。

@commands.Cog.listener()
    async def on_message_delete(self, message:discord.Message):
        embed = discord.Embed(title="Deleted Message Content and Origin")
        embed.add_field(name="Origin", value=f"{message.author.mention}", inline=False)
        embed.add_field(name="Origin Channel", value=f"{message.channel.mention}", inline=False)
        embed.add_field(name="Content", value=f"{message.content}", inline=False)
        log_channel = discord.utils.get(message.guild.channels, name="logging")
        
        await log_channel.send(embed=embed)
python discord.py
1个回答
0
投票

on_message_edit
需要两个参数,一个是编辑前的消息,另一个是编辑后的消息。如果您在课堂上,您还需要
self

一个例子:

@commands.Cog.listener() # or @bot.listen()/@bot.event if you're not inside a cog
async def on_message_edit(self, before: discord.Message, after: discord.Message): 
    # before will be the message before and after will be the message after edit.
    # use before.content to get content before and after.content to get content after
© www.soinside.com 2019 - 2024. All rights reserved.