From 1ca257bb6808bb8bb934f58126f42867e5aa581e Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Wed, 1 Jul 2020 20:43:13 +0200 Subject: [PATCH] Add Guild.change_voice_state to control our voice state. --- discord/guild.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/discord/guild.py b/discord/guild.py index 56b8462ba..cc2d5fa0a 100644 --- a/discord/guild.py +++ b/discord/guild.py @@ -2064,3 +2064,23 @@ class Guild(Hashable): limit = limit or 5 return await self._state.query_members(self, query=query, limit=limit, user_ids=user_ids, cache=cache) + + async def change_voice_state(self, *, channel, self_mute=False, self_deaf=False): + """|coro| + + Changes client's voice state in the guild. + + .. versionadded:: 1.4 + + Parameters + ----------- + channel: Optional[:class:`VoiceChannel`] + Channel the client wants to join. Use ``None`` to disconnect. + self_mute: :class:`bool` + Indicates if the client should be self-muted. + self_deaf: :class:`bool` + Indicates if the client should be self-deafened. + """ + ws = self._state._get_websocket(self.id) + channel_id = channel.id if channel else None + await ws.voice_state(self.id, channel_id, self_mute, self_deaf)