Как в discord.py проверять, было ли отредактировано сообщение?

Есть функции по типу edit или change для проверки сообщения на редактирования в дискорде? Как ими пользоваться? Можете привести примеры? Нашёл в документации функции on_raw_message_edit и on_message_edit, но не много не понял, в чём отличия, и какую функцию лучше использовать, также хотелось бы удивить примеры их применения.


Ответы (1 шт):

Автор решения: Adster

Разобрался сам. метод on_message_edit реагирует только на изменения последнего сообщения, метод on_raw_message_edit на все сообщения, я решил использовать второй метод, пример, как вытащить текст изменённого сообщения(Если кому-то будет нужно):

async def on_raw_message_edit(self, payload):
    channel = self.get_channel(payload.channel_id)  # получаем объект канала
    message = await channel.fetch_message(payload.message_id)  # получаем объект сообщения
    contents = message.content # получаем измененное сообщение
    print(contents) # выводим сообщение    
    

Дальше уже можете делать с этой информацией, всё, что вам нужно. Если в чём-то не прав, поправьте. Может есть способы по проще.

→ Ссылка