Some ordering magic

This commit is contained in:
2022-11-13 18:55:42 +01:00
parent 7fd7e5ffa7
commit 62cb4d9f94
2 changed files with 19 additions and 7 deletions
+11 -4
View File
@@ -12,6 +12,7 @@ from cogs.music.interactions import MusicCommands
from cogs.music.interactions import QUEUE_SIZE
from cogs.music.voice_client import LavalinkVoiceClient
from utils.classes import BaseCog
from utils.log import logger
if typing.TYPE_CHECKING:
from bot import TuneBot
@@ -46,13 +47,19 @@ class MusicCog(BaseCog, name="Music"):
guild = self.bot.get_guild(guild_id)
await guild.voice_client.disconnect(force=True)
elif isinstance(event, lavalink.events.TrackEndEvent):
await helper.fill_player_queue(self.bot, event.player, 1)
channel_id = int(event.player.fetch("channel"))
channel: TextChannel = self.bot.get_channel(channel_id)
await helper.fill_player_queue(self.bot, event.player, 1)
event.player.append_history(event.track)
embed = track_embed.create_track_embed(
event.player.current, event.player.queue, event.player.history
)
if event.reason == "FINISHED":
queue = event.player.queue[1:]
current = event.player.queue[0]
else:
queue = event.player.queue
current = event.player.current
embed = track_embed.create_track_embed(current, queue, event.player.history)
await channel.send(embed=embed)
+8 -3
View File
@@ -31,21 +31,26 @@ def create_track_embed(
queue: typing.Sequence["AudioTrack"],
history: typing.Sequence["AudioTrack"],
) -> discord.Embed:
embed_width = 52
embed = discord.Embed(
title="Now playing...",
colour=colors["embed"],
)
embed.description = format_track(current)
embed.description = format_track(current, max_length=embed_width)
if len(queue) > 0:
upcoming_fmt = "\n".join(format_track(track) for track in queue)
upcoming_fmt = "\n".join(
format_track(track, max_length=embed_width) for track in queue
)
else:
upcoming_fmt = "No tracks have been queued yet..."
embed.add_field(name="Coming up", value=upcoming_fmt, inline=False)
if len(history) > 0:
history_fmt = "\n".join(format_track(track) for track in history)
history_fmt = "\n".join(
format_track(track, max_length=embed_width) for track in history
)
else:
history_fmt = "No history yet..."
embed.add_field(name="Previously played", value=history_fmt, inline=False)