Browse Source

Call message edit handlers after attempting to patch individual fields

pull/452/merge
Rapptz 8 years ago
parent
commit
926f01f0b6
  1. 12
      discord/message.py

12
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:

Loading…
Cancel
Save