From 691c5f660a2fdba2ba8430d49bff33428021e79a Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 4 May 2019 01:20:17 +0100 Subject: [PATCH] oauth user add --- disco/api/client.py | 15 +++++++++++++++ disco/api/http.py | 1 + 2 files changed, 16 insertions(+) diff --git a/disco/api/client.py b/disco/api/client.py index c3cde29..ab21ed4 100644 --- a/disco/api/client.py +++ b/disco/api/client.py @@ -391,6 +391,21 @@ class APIClient(LoggingClass): def guilds_members_me_nick(self, guild, nick): self.http(Routes.GUILDS_MEMBERS_ME_NICK, dict(guild=guild), json={'nick': nick}) + def guilds_members_add(self, guild, member, access_token, nick=None, roles=None, mute=None, deaf=None): + payload = { + 'access_token': access_token + } + + payload.update(optional( + name=name, + roles=roles, + mute=mute, + deaf=deaf + )) + + r = self.http(Routes.GUILDS_MEMBERS_ADD, dict(guild=guild, member=member), json=payload) + return User.create(self.client, r.json()) + def guilds_members_kick(self, guild, member, reason=None): self.http(Routes.GUILDS_MEMBERS_KICK, dict(guild=guild, member=member), headers=_reason_header(reason)) diff --git a/disco/api/http.py b/disco/api/http.py index a680e80..2676db5 100644 --- a/disco/api/http.py +++ b/disco/api/http.py @@ -78,6 +78,7 @@ class Routes(object): GUILDS_MEMBERS_ROLES_REMOVE = (HTTPMethod.DELETE, GUILDS + '/members/{member}/roles/{role}') GUILDS_MEMBERS_ME_NICK = (HTTPMethod.PATCH, GUILDS + '/members/@me/nick') GUILDS_MEMBERS_KICK = (HTTPMethod.DELETE, GUILDS + '/members/{member}') + GUILDS_MEMBERS_ADD = (HTTPMethod.PUT, GUILDS + '/members/{member}') GUILDS_BANS_LIST = (HTTPMethod.GET, GUILDS + '/bans') GUILDS_BAN_GET = (HTTPMethod.GET, GUILDS + '/bans/{user}') GUILDS_BANS_CREATE = (HTTPMethod.PUT, GUILDS + '/bans/{user}')