bundle.discord.cogs.music.player ================================ .. py:module:: bundle.discord.cogs.music.player .. autoapi-nested-parse:: Guild voice playback -- timing, pause/resume. Attributes ---------- .. autoapisummary:: bundle.discord.cogs.music.player.log Classes ------- .. autoapisummary:: bundle.discord.cogs.music.player.GuildPlayer Module Contents --------------- .. py:data:: log .. py:class:: GuildPlayer(on_track_end: collections.abc.Callable[[int, Exception | None], collections.abc.Coroutine[Any, Any, None]]) Owns voice playback and timing for a single guild. .. py:attribute:: play_started_at :type: float :value: 0.0 .. py:attribute:: pause_offset :type: float :value: 0.0 .. py:attribute:: paused_at :type: float | None :value: None .. py:method:: elapsed_secs() -> int .. py:method:: play(vc: discord.VoiceClient, track: bundle.youtube.track.YoutubeTrackData, guild_id: int) -> bool Start FFmpeg playback. Returns False if no stream URL available. .. py:method:: pause(vc: discord.VoiceClient) -> bool Pause playback. Returns True if state changed. .. py:method:: resume(vc: discord.VoiceClient) -> bool Resume playback. Returns True if state changed. .. py:method:: stop(vc: discord.VoiceClient) -> None Stop current source, suppress the after callback.