Найдите, кто удаляет сообщение в discord.py - PullRequest
0 голосов
/ 01 августа 2020

Я хочу узнать, кто удаляет сообщение. Что-то вроде этого: message.deleted_by было бы решением.

Это мой код:

@client.event
async def on_message_delete(message):
    channel = client.get_channel(737364723107889304)
    embed = discord.Embed(title='? ᴠᴇᴛᴇʀᴀɴᴏꜱ ɢᴜᴀʀᴅɪᴀɴ', description=f"{message.delete_by} deletou uma mensagem", color=discord.Color.dark_red())
    embed.add_field(name="Informamos que:",value=f"{message.author} **teve uma mensagem com o seguinte conteudo deletada:** ```{message.content}```")
    await channel.send(embed=embed)

Кто-нибудь знает, как я могу это сделать? (после некоторого поиска я нашел решение)

Это решает мою проблему:

@client.event
async def on_message_delete(message):
    async for message in message.guild.audit_logs(action=discord.AuditLogAction.message_delete, limit=1):
        delete_by = "{0.user}".format(message)

1 Ответ

1 голос
/ 01 августа 2020

Да, это довольно просто:

@client.event
async def on_message_delete(message):
channel = client.get_channel(737364723107889304)
embed = discord.Embed(title='? ᴠᴇᴛᴇʀᴀɴᴏꜱ ɢᴜᴀʀᴅɪᴀɴ', description=f"{message.author} deletou uma mensagem", color=discord.Color.dark_red())
embed.add_field(name="Informamos que:",value=f"{message.author} **teve uma mensagem com o seguinte conteudo deletada:** ```{message.content}```")
await channel.send(embed=embed)

Все, что вам нужно сделать, это изменить message.delete_by на message.author

...