Inject full Emoji to Reaction if we have it.

Reaction objects with custom Emoji are partial. If we know of this Emoji
(can find it on this client) then inject it. Otherwise, leave it as a
hollow Emoji. We can still react with a hollow Emoji, but can't get other
metadata about it.
This commit is contained in:
khazhyk
2016-10-27 20:32:14 -07:00
committed by Rapptz
parent c4acc0e1a1
commit 4d87b2f817
5 changed files with 49 additions and 35 deletions

View File

@ -62,19 +62,11 @@ class Reaction:
__slots__ = ['message', 'count', 'emoji', 'me', 'custom_emoji']
def __init__(self, **kwargs):
self.message = kwargs.pop('message')
self._from_data(kwargs)
def _from_data(self, reaction):
self.count = reaction.get('count', 1)
self.me = reaction.get('me')
emoji = reaction['emoji']
if emoji['id']:
self.custom_emoji = True
self.emoji = Emoji(server=None, id=emoji['id'], name=emoji['name'])
else:
self.custom_emoji = False
self.emoji = emoji['name']
self.message = kwargs.get('message')
self.emoji = kwargs['emoji']
self.count = kwargs.get('count', 1)
self.me = kwargs.get('me')
self.custom_emoji = isinstance(self.emoji, Emoji)
def __eq__(self, other):
return isinstance(other, self.__class__) and other.emoji == self.emoji