diff --git a/discord/client.py b/discord/client.py index 02bd5d6fe..d738e7bf2 100644 --- a/discord/client.py +++ b/discord/client.py @@ -1398,7 +1398,7 @@ class Client: yield from self.http.unban(user.id, server.id) @asyncio.coroutine - def server_voice_state(self, member, *, mute=False, deafen=False): + def server_voice_state(self, member, *, mute=None, deafen=None): """|coro| Server mutes or deafens a specific :class:`Member`. @@ -1413,9 +1413,9 @@ class Client: ----------- member : :class:`Member` The member to unban from their server. - mute : bool + mute: Optional[bool] Indicates if the member should be server muted or un-muted. - deafen : bool + deafen: Optional[bool] Indicates if the member should be server deafened or un-deafened. Raises diff --git a/discord/http.py b/discord/http.py index 992d76350..192337fe8 100644 --- a/discord/http.py +++ b/discord/http.py @@ -307,12 +307,15 @@ class HTTPClient: url = '{0.GUILDS}/{1}/bans/{2}'.format(self, guild_id, user_id) return self.delete(url, bucket=_func_()) - def server_voice_state(self, user_id, guild_id, *, mute=False, deafen=False): + def server_voice_state(self, user_id, guild_id, *, mute=None, deafen=None): url = '{0.GUILDS}/{1}/members/{2}'.format(self, guild_id, user_id) - payload = { - 'mute': mute, - 'deafen': deafen - } + payload = {} + if mute is not None: + payload['mute'] = mute + + if deafen is not None: + payload['deaf'] = deafen + return self.patch(url, json=payload, bucket='members:' + str(guild_id)) def edit_profile(self, password, username, avatar, **fields):