async def queue(self, ctx, page=1): await ctx.channel.purge(limit=1) voice = get(bot.voice_clients, guild=ctx.guild) playing, content, pg, iterator, queueSize = "", "", 0, 0, 5 page = page - 1 if voice and voice.is_playing: playing = f"[{self.songQueue[ctx.guild.id][0]['title']}]({self.songQueue[ctx.guild.id][0]['webpage_url']})" else: await ctx.send("Nothing playing", delete_after=10) if len(self.songQueue[ctx.guild.id]) > 1: for i in self.songQueue[ctx.guild.id][1:]: iterator += 1 pg = iterator // queueSize + 1 if page == iterator // queueSize: content += "\n".join( [f" **{self.songQueue[ctx.guild.id].index(i)}:** [{i['title']}]({i['webpage_url']})\n" f"**Requested by:** {ctx.author.mention} " f"**Duration:** {TimeManager.parseDuration(i['duration'])}\n"]) if pg > 1: content += "\n".join([f"**Page:** {page + 1}/{pg}"]) else: content = "No queued songs" embed = (discord.Embed(title="Music queue", color=self.embedColor) .add_field(name="Playing now: ", value=playing, inline=False) .add_field(name="Requested by", value=f"{ctx.author.mention}", inline=True) .add_field(name="Duration", value=TimeManager.parseDuration(self.songQueue[ctx.guild.id][0]['duration']), inline=True) .add_field(name="Queued: ", value=content, inline=False) .set_thumbnail(url=self.songQueue[ctx.guild.id][0]["thumbnail"])) await ctx.send(embed=embed)
async def edit_message(self, ctx): currentSong = self.songQueue[ctx.guild.id][0] embed = (discord.Embed(title="Currently playing", description=f"[{currentSong['title']}]({currentSong['webpage_url']})", color=self.embedColor) .add_field(name="Duration", value=TimeManager.parseDuration(currentSong["duration"])) .add_field(name="Requested by", value=ctx.author.mention) .add_field(name="Uploader", value=f"[{currentSong['uploader']}]({currentSong['channel_url']})") .add_field(name="Queue", value="No song queued") .set_thumbnail(url=currentSong["thumbnail"])) content = "\n".join([f"**{self.songQueue[ctx.guild.id].index(i)}:**" f"[{i['title']}]({i['webpage_url']})\n**Requested by:** {ctx.author.mention} " f"**Duration:** {TimeManager.parseDuration(i['duration'])}" for i in self.songQueue[ctx.guild.id][1:5]]) if len(self.songQueue[ctx.guild.id]) > 1 \ else "No songs are queued" embed.set_field_at(index=3, name="Queue", value=content, inline=False) if ctx.guild.id in self.message: await self.message[ctx.guild.id].edit(embed=embed) else: self.message[ctx.guild.id] = await ctx.send(embed=embed)