bundle.discord.cogs.music.embed =============================== .. py:module:: bundle.discord.cogs.music.embed .. autoapi-nested-parse:: Player embed -- message lifecycle and seek-bar updates. Attributes ---------- .. autoapisummary:: bundle.discord.cogs.music.embed.SEEK_UPDATE_INTERVAL Classes ------- .. autoapisummary:: bundle.discord.cogs.music.embed.PlayerEmbed Functions --------- .. autoapisummary:: bundle.discord.cogs.music.embed.vc_status Module Contents --------------- .. py:data:: SEEK_UPDATE_INTERVAL :value: 5 .. py:function:: vc_status(vc: discord.VoiceProtocol | None) -> str Return 'Paused' or 'Playing' based on voice client state. .. py:class:: PlayerEmbed(embeds: bundle.discord.embeds.EmbedFactory, queue: bundle.discord.cogs.music.queue.TrackQueue, player: bundle.discord.cogs.music.player.GuildPlayer, text_channel: discord.TextChannel) Manages the persistent now-playing message and seek-bar loop for one guild. .. py:attribute:: text_channel .. py:attribute:: msg :type: discord.Message | None :value: None .. py:attribute:: view :type: discord.ui.View | None :value: None .. py:method:: now_playing(track: bundle.youtube.track.YoutubeTrackData, status: str) -> discord.Embed .. py:method:: queue_page_count(per_page: int = 15) -> int .. py:method:: queue_embed(*, page: int = 0, per_page: int = 15) -> discord.Embed .. py:method:: refresh(*, status: str) -> None :async: Update the persistent message with current track state. .. py:method:: send_or_update(embed: discord.Embed, view: discord.ui.View | None = None) -> None :async: Send a new message or edit the existing one. .. py:method:: disable_view() -> None Disable all buttons and stop the view. .. py:method:: delete() -> None :async: Delete the persistent message and clean up the view. .. py:method:: show_error(description: str) -> None :async: Update the persistent message with an error embed. .. py:method:: start_seek_loop(guild: discord.Guild) -> None .. py:method:: cancel_seek_loop() -> None