From f235dc5ca42e49d0e4628c7d7204117a0782cd8b Mon Sep 17 00:00:00 2001 From: Zeta Date: Tue, 5 Apr 2016 17:10:05 +0300 Subject: Fix handling of message update in MESSAGE_UPDATE --- discord/state.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'discord/state.py') diff --git a/discord/state.py b/discord/state.py index 1157a751..fa296f82 100644 --- a/discord/state.py +++ b/discord/state.py @@ -175,17 +175,16 @@ class ConnectionState: self.messages.remove(found) def parse_message_update(self, data): - older_message = self._get_message(data.get('id')) - if older_message is not None: + message = self._get_message(data.get('id')) + if message is not None: + older_message = copy.copy(message) if 'content' not in data: # embed only edit - message = copy.copy(older_message) message.embeds = data['embeds'] else: - message = Message(channel=older_message.channel, **data) + message._update(channel=message.channel, **data) + self.dispatch('message_edit', older_message, message) - # update the older message - older_message = message def parse_presence_update(self, data): server = self._get_server(data.get('guild_id')) -- cgit v1.2.3