Как проверить, было ли удалено сообщение в блоке «если еще»

Я повторно отправляю сообщения, которые участник моего сервера Discord удаляет или редактирует. То есть всякий раз, когда они удаляют сообщение, я повторно отправляю его с ботом. Всякий раз, когда они редактируют сообщение, я повторно отправляю файл before.content.

Для этого я использую следующий код:

      @bot.event
async def on_message_delete(message):
  if message.author.id == id:
    edited = discord.Embed(title=str(message.author) + " sent:",description=message.content)
    await message.channel.send(embed=edited)

@bot.event
async def on_message_edit(before, after):
  if before.author.id == id:
    edited = discord.Embed(title= str(before.author) + " edited:",description=before.content)
    await before.channel.send(embed=edited)

Моя проблема заключается в следующем: если они удаляют сообщение, discord.py также распознает удаление как редактирование. Итак, бот повторно отправляет сообщение дважды.

Например, если они отправят «кошку», а затем удалят сообщение, бот ответит дважды:

User deleted message "cat". User edited message "cat".

Чтобы остановить это, в моем on_message_editсобытие, я хочу сначала проверить через блок if-then-else, было ли сообщение отредактировано или удалено.

Что-то типа: if before.content has been deleted

Есть какой-либо способ сделать это?

0 ответов

Другие вопросы по тегам