From 926f01f0b66df10fe264be4d90deb0b8e7993a72 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Thu, 9 Feb 2017 06:29:57 -0500 Subject: [PATCH] Call message edit handlers after attempting to patch individual fields --- discord/message.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/discord/message.py b/discord/message.py index ac07fc6b8..fc5dde9d4 100644 --- a/discord/message.py +++ b/discord/message.py @@ -172,12 +172,6 @@ class Message: def _update(self, channel, data): self.channel = channel - for handler in ('author', 'mentions', 'mention_roles', 'call'): - try: - getattr(self, '_handle_%s' % handler)(data[handler]) - except KeyError: - continue - self._try_patch(data, 'edited_timestamp', utils.parse_time) self._try_patch(data, 'pinned', bool) self._try_patch(data, 'mention_everyone', bool) @@ -188,6 +182,12 @@ class Message: self._try_patch(data, 'embeds', lambda x: list(map(Embed.from_data, x))) self._try_patch(data, 'nonce', lambda x: x) + for handler in ('author', 'mentions', 'mention_roles', 'call'): + try: + getattr(self, '_handle_%s' % handler)(data[handler]) + except KeyError: + continue + # clear the cached properties cached = filter(lambda attr: attr.startswith('_cs_'), self.__slots__) for attr in cached: