Re-add support for reactions.

We now store emojis in a global cache and make things like adding
and removing reactions part of the stateful Message class.
This commit is contained in:
Rapptz
2016-11-11 03:12:43 -05:00
parent 59a0df5f98
commit c187d87dae
6 changed files with 238 additions and 88 deletions

View File

@ -237,7 +237,7 @@ class Guild(Hashable):
self.id = int(guild['id'])
self.roles = [Role(guild=self, data=r, state=self._state) for r in guild.get('roles', [])]
self.mfa_level = guild.get('mfa_level')
self.emojis = [Emoji(server=self, data=r, state=self._state) for r in guild.get('emojis', [])]
self.emojis = tuple(map(lambda d: self._state.store_emoji(self, d), guild.get('emojis', [])))
self.features = guild.get('features', [])
self.splash = guild.get('splash')
@ -653,7 +653,7 @@ class Guild(Hashable):
img = utils._bytes_to_base64_data(image)
data = yield from self._state.http.create_custom_emoji(self.id, name, img)
return Emoji(guild=self, data=data, state=self._state)
return self._state.store_emoji(self, data)
@asyncio.coroutine
def create_role(self, **fields):