aboutsummaryrefslogtreecommitdiff
path: root/discord/http.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2017-02-09 20:47:47 -0500
committerRapptz <[email protected]>2017-02-09 20:50:02 -0500
commitca81f0c3fcdd29b16adbf39c616ab15231d21a7f (patch)
treeaf1ca89e7e79e44b1a69333f3aa1658adf1b3f89 /discord/http.py
parentCall message edit handlers after attempting to patch individual fields (diff)
downloaddiscord.py-ca81f0c3fcdd29b16adbf39c616ab15231d21a7f.tar.xz
discord.py-ca81f0c3fcdd29b16adbf39c616ab15231d21a7f.zip
Better group DM support.
Diffstat (limited to 'discord/http.py')
-rw-r--r--discord/http.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/discord/http.py b/discord/http.py
index c8b68512..b253449c 100644
--- a/discord/http.py
+++ b/discord/http.py
@@ -249,6 +249,37 @@ class HTTPClient:
def logout(self):
return self.request(Route('POST', '/auth/logout'))
+ # Group functionality
+
+ def start_group(self, user_id, recipients):
+ payload = {
+ 'recipients': recipients
+ }
+
+ return self.request(Route('POST', '/users/{user_id}/channels', user_id=user_id), json=payload)
+
+ def leave_group(self, channel_id):
+ return self.request(Route('DELETE', '/channels/{channel_id}', channel_id=channel_id))
+
+ def add_group_recipient(self, channel_id, user_id):
+ r = Route('PUT', '/channels/{channel_id}/recipients/{user_id}', channel_id=channel_id, user_id=user_id)
+ return self.request(r)
+
+ def remove_group_recipient(self, channel_id, user_id):
+ r = Route('DELETE', '/channels/{channel_id}/recipients/{user_id}', channel_id=channel_id, user_id=user_id)
+ return self.request(r)
+
+ def edit_group(self, channel_id, **options):
+ valid_keys = ('name', 'icon')
+ payload = {
+ k: v for k, v in options.items() if k in valid_keys
+ }
+
+ return self.request(Route('PATCH', '/channels/{channel_id}', channel_id=channel_id), json=payload)
+
+ def convert_group(self, channel_id):
+ return self.request(Route('POST', '/channels/{channel_id}/convert', channel_id=channel_id))
+
# Message management
def start_private_message(self, user_id):