如何添加编辑消息的频道?

时间:2020-12-21 01:24:05

标签: discord.py

我只想将编辑消息的频道添加到嵌入中。到目前为止还没有找到解决方案。

@Cog.listener()
    async def on_message_edit(self, before, after):
        if not after.author.bot:
            if before.content != after.content:
                embed = Embed(title="Message edit",
                              description=f"Edit by {after.author.display_name}.",
                              colour=after.author.colour,
                              timestamp=datetime.utcnow())

                fields = [("Before", before.content, False),
                          ("After", after.content, False)]

                for name, value, inline in fields:
                    embed.add_field(name=name, value=value, inline=inline)

                await self.log_channel.send(embed=embed)

2 个答案:

答案 0 :(得分:0)

如果消息被编辑,频道将与消息最初发送的位置相同,请使用 Message.channel 属性获取频道。

@Cog.listener()
async def on_message_edit(self, before, after):
    channel = before.channel # or after.channel
    await channel.sent('whatever')

答案 1 :(得分:0)

这是为可能需要它的任何人提供的新代码。

@Cog.listener()
    async def on_message_edit(self, before, after):
        if not after.author.bot:
            if before.content != after.content:
                channel = before.channel
                embed = Embed(title="Message edit",
                              description=f"Edit by {after.author.display_name}.",
                              colour=after.author.colour,
                              timestamp=datetime.utcnow())

                fields = [("Before", before.content, False),
                          ("After", after.content, False),
                          ("Channel", channel.mention, False),]

                for name, value, inline in fields:
                    embed.add_field(name=name, value=value, inline=inline)

                await self.log_channel.send(embed=embed)