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)