From a51483f9da9f89d445502ad0b12c8384570a0ac5 Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart" <git@edgarpierre.fr> Date: Sun, 23 Mar 2025 13:06:45 +0100 Subject: [PATCH] Add shuffle listener to VoiceBot for enhanced voice state management --- botbotbot/voice.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/botbotbot/voice.py b/botbotbot/voice.py index 2299151..65c5e8c 100644 --- a/botbotbot/voice.py +++ b/botbotbot/voice.py @@ -28,6 +28,7 @@ class VoiceBot: def init_events(self) -> None: self.bot.add_listener(self.on_voice_state_update, "on_voice_state_update") + self.bot.add_listener(self.shuffle, "on_voice_state_update") self.bot.add_listener(self.random_connect, "on_ready") self.bot.add_application_command( discord.SlashCommand( @@ -145,6 +146,17 @@ class VoiceBot: ): await self.connect_voice(after.channel) - if self.shf and before.channel is None and random.random() < 5 / 100: + async def shuffle( + self, + member: discord.Member, + before: discord.VoiceState, + after: discord.VoiceState, + ) -> None: + if ( + self.shf + and before.channel is None + and member != self.bot.user + and random.random() < 5 / 100 + ): logger.info(f"Voice shuffle from {member}") await self.shf.try_shuffle(member.guild)