Как в discord.py проверять, было ли отредактировано сообщение?
Есть функции по типу edit или change для проверки сообщения на редактирования в дискорде? Как ими пользоваться? Можете привести примеры? Нашёл в документации функции on_raw_message_edit и on_message_edit, но не много не понял, в чём отличия, и какую функцию лучше использовать, также хотелось бы удивить примеры их применения.
Ответы (1 шт):
Разобрался сам. метод 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) # выводим сообщение
Дальше уже можете делать с этой информацией, всё, что вам нужно. Если в чём-то не прав, поправьте. Может есть способы по проще.