Мне нужно выводить в отдельный канал сообщение если кто-то удаляет сообщение и также написать кто его удалил.
Моя попытка реализации:
@bot.event
async def on_message_delete(message):
channel = bot.get_channel(logs)
guild = message.guild
embed = disnake.Embed(
title=" Сообщение удалено",
color=disnake.Color.red(),
timestamp=datetime.datetime.now()
)
deleter = None
async for entry in guild.audit_logs(limit=5, action=disnake.AuditLogAction.message_delete):
if entry.target.id == message.author.id:
deleter = entry.user
break
else:
deleter = None
embed.set_footer(text=f"ID сообщения: {message.id}")
embed.add_field(name="Автор:", value=message.author.mention, inline=True)
embed.add_field(name="Канал:", value=message.channel.mention, inline=True)
if message.content != "":
embed.add_field(name="Сообщение:", value=f"```\n{message.content}\n```", inline=False)
embed.add_field(name="Удалил:", value=f"{"-" if not deleter else deleter.mention}", inline=True)
await channel.send(embed=embed)
Проблема в нахождении человека, удалившего сообщение. Тегает не того человека.