trimmed down music.py
This commit is contained in:
1 parent
f88fd7989a
commit
c2133705fe
36 files changed
+1010
-4
No files matched your search
@@ -0,0 +1,40 @@
|
||||
import wavelink
|
||||
import logging
|
||||
from discord.ext import commands
|
||||
from ..shared.constants import MODE_RADIO
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class RadioEvents:
|
||||
"""Mixin: wavelink failure events that only apply to radio mode."""
|
||||
|
||||
# ── track exception → radio stream failure ────────────────────────────────
|
||||
@commands.Cog.listener()
|
||||
async def on_wavelink_track_exception(self, payload: wavelink.TrackExceptionEventPayload):
|
||||
player: wavelink.Player = payload.player
|
||||
if player is None:
|
||||
return
|
||||
st = self.state(player.guild.id)
|
||||
if st.mode == MODE_RADIO:
|
||||
if not self._is_current_track(st, payload.track):
|
||||
return
|
||||
log.warning(f"Radio stream exception in guild {player.guild.id}: {payload.exception}")
|
||||
await self._notify_radio_drop(player.guild.id)
|
||||
st.mode = None
|
||||
await self._set_channel_status(player)
|
||||
|
||||
# ── track stuck → radio stream failure ────────────────────────────────────
|
||||
@commands.Cog.listener()
|
||||
async def on_wavelink_track_stuck(self, payload: wavelink.TrackStuckEventPayload):
|
||||
player: wavelink.Player = payload.player
|
||||
if player is None:
|
||||
return
|
||||
st = self.state(player.guild.id)
|
||||
if st.mode == MODE_RADIO:
|
||||
if not self._is_current_track(st, payload.track):
|
||||
return
|
||||
log.warning(f"Radio stream stuck in guild {player.guild.id}, threshold {payload.threshold_ms}ms")
|
||||
await self._notify_radio_drop(player.guild.id)
|
||||
st.mode = None
|
||||
await self._set_channel_status(player)
|
||||
Reference in new issue
Block a user