Add support for reactions.

Reactions can be be standard emojis, or custom server emojis.

Adds
 - add/remove_reaction
 - get_reaction_users
 - Messages have new field reactions
 - new events - message_reaction_add, message_reaction_remove
 - new permission - add_reactions
This commit is contained in:
khazhyk
2016-10-26 21:34:28 -07:00
parent 158ac6bb50
commit c4acc0e1a1
7 changed files with 323 additions and 4 deletions

View File

@ -261,6 +261,24 @@ class HTTPClient:
}
return self.patch(url, json=payload, bucket='messages:' + str(guild_id))
def add_reaction(self, message_id, channel_id, emoji):
url = '{0.CHANNELS}/{1}/messages/{2}/reactions/{3}/@me'.format(
self, channel_id, message_id, emoji)
return self.put(url, bucket=_func_())
def remove_reaction(self, message_id, channel_id, emoji, member_id):
url = '{0.CHANNELS}/{1}/messages/{2}/reactions/{3}/{4}'.format(
self, channel_id, message_id, emoji, member_id)
return self.delete(url, bucket=_func_())
def get_reaction_users(self, message_id, channel_id, emoji, limit, after=None):
url = '{0.CHANNELS}/{1}/messages/{2}/reactions/{3}'.format(
self, channel_id, message_id, emoji)
params = {'limit': limit}
if after:
params['after'] = after
return self.get(url, params=params, bucket=_func_())
def get_message(self, channel_id, message_id):
url = '{0.CHANNELS}/{1}/messages/{2}'.format(self, channel_id, message_id)
return self.get(url, bucket=_func_())