我只想将编辑消息的频道添加到嵌入中。到目前为止还没有找到解决方案。
@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)
答案 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)