Add support for clearing a message's reactions.

This commit is contained in:
Rapptz 2016-11-17 20:37:33 -05:00
parent 4c1fd2c9b1
commit 18178c26aa
2 changed files with 26 additions and 0 deletions

View File

@ -1042,6 +1042,28 @@ class Client:
return [User(**user) for user in data]
@asyncio.coroutine
def clear_reactions(self, message):
"""|coro|
Removes all the reactions from a given message.
You need Manage Messages permission to use this.
Parameters
-----------
message: :class:`Message`
The message to remove all reactions from.
Raises
--------
HTTPException
Removing the reactions failed.
Forbidden
You do not have the proper permissions to remove all the reactions.
"""
yield from self.http.clear_reactions(message.id, message.channel.id)
@asyncio.coroutine
def send_message(self, destination, content=None, *, tts=False, embed=None):
"""|coro|

View File

@ -289,6 +289,10 @@ class HTTPClient:
params['after'] = after
return self.get(url, params=params, bucket='%s:%s' % (_func_(), channel_id))
def clear_reactions(self, message_id, channel_id):
url = '{0.CHANNELS}/{1}/messages/{2}/reactions'.format(self, channel_id, message_id)
return self.delete(url)
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_())