From ddd94cbce1036a8d84fe609212f78592942d573e Mon Sep 17 00:00:00 2001 From: Choco Date: Tue, 1 Aug 2023 10:26:41 +0800 Subject: [PATCH] Fixed spamming error msg when track got stuck --- cogs/listeners.py | 7 +++---- voicelink/player.py | 5 +++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cogs/listeners.py b/cogs/listeners.py index 42df4b8..336a32e 100644 --- a/cogs/listeners.py +++ b/cogs/listeners.py @@ -32,17 +32,16 @@ class Nodes(commands.Cog): @commands.Cog.listener() async def on_voicelink_track_stuck(self, player: voicelink.Player, track, _): - await asyncio.sleep(5) + await asyncio.sleep(10) await player.do_next() @commands.Cog.listener() async def on_voicelink_track_exception(self, player: voicelink.Player, track, _): try: - await player.context.send(f"{_} Please wait for 5 seconds.", delete_after=5) + player._track_is_stuck = True + await player.context.send(f"{_} Please wait for 5 seconds.", delete_after=10) except: pass - await asyncio.sleep(5) - await player.do_next() @commands.Cog.listener() async def on_voice_state_update(self, member: discord.Member, before: discord.VoiceState, after: discord.VoiceState): diff --git a/voicelink/player.py b/voicelink/player.py index d7a665b..6b3b5ea 100644 --- a/voicelink/player.py +++ b/voicelink/player.py @@ -116,6 +116,7 @@ class Player(VoiceProtocol): self._paused: bool = False self._is_connected: bool = False self._ping: float = 0.0 + self._track_is_stuck = False self._position: int = 0 self._last_position: int = 0 @@ -318,6 +319,10 @@ class Player(VoiceProtocol): if self._paused: self._paused = False + if self._track_is_stuck: + await sleep(10) + self._track_is_stuck = False + if not self.guild.me.voice: await self.connect(timeout=0.0, reconnect=True)