From f1b85fbe4ca818a3fa8cebc007eb8781e6fc9abd Mon Sep 17 00:00:00 2001 From: Dorukyum Date: Sun, 17 Apr 2022 20:44:43 +0300 Subject: [PATCH] Fix wrong logic caused by moving the code --- discord/state.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/discord/state.py b/discord/state.py index 707dd30d40..c2c55d9ac5 100644 --- a/discord/state.py +++ b/discord/state.py @@ -1554,6 +1554,13 @@ def parse_voice_state_update(self, data) -> None: elif channel_id is not None: guild._add_member(member) + self.dispatch("voice_state_update", member, before, after) + else: + _log.debug( + "VOICE_STATE_UPDATE referencing an unknown member ID: %s. Discarding.", + data["user_id"], + ) + if int(data["user_id"]) == self_id: voice = self._get_voice_client(guild.id) if voice is not None: @@ -1562,12 +1569,6 @@ def parse_voice_state_update(self, data) -> None: coro = voice.on_voice_state_update(data) asyncio.create_task(logging_coroutine(coro, info="Voice Protocol voice state update handler")) - self.dispatch("voice_state_update", member, before, after) - else: - _log.debug( - "VOICE_STATE_UPDATE referencing an unknown member ID: %s. Discarding.", - data["user_id"], - ) def parse_voice_server_update(self, data) -> None: try: