diff options
| author | Rapptz <[email protected]> | 2017-02-09 20:47:47 -0500 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2017-02-09 20:50:02 -0500 |
| commit | ca81f0c3fcdd29b16adbf39c616ab15231d21a7f (patch) | |
| tree | af1ca89e7e79e44b1a69333f3aa1658adf1b3f89 /discord/http.py | |
| parent | Call message edit handlers after attempting to patch individual fields (diff) | |
| download | discord.py-ca81f0c3fcdd29b16adbf39c616ab15231d21a7f.tar.xz discord.py-ca81f0c3fcdd29b16adbf39c616ab15231d21a7f.zip | |
Better group DM support.
Diffstat (limited to 'discord/http.py')
| -rw-r--r-- | discord/http.py | 31 |
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): |