[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
This commit is contained in:
pre-commit-ci[bot] 2025-12-28 08:07:43 +00:00
parent 14044a3256
commit 012bea6a19
2 changed files with 29 additions and 22 deletions

View File

@ -403,22 +403,22 @@ class Music(commands.Cog):
def __init__(self, bot): def __init__(self, bot):
self.bot = bot self.bot = bot
self.history = pomice.TrackHistory(max_size=100) self.history = pomice.TrackHistory(max_size=100)
@commands.Cog.listener() @commands.Cog.listener()
async def on_pomice_track_end(self, player, track, _): async def on_pomice_track_end(self, player, track, _):
# Add to history when track ends # Add to history when track ends
self.history.add(track) self.history.add(track)
@commands.command() @commands.command()
async def history(self, ctx, limit: int = 10): async def history(self, ctx, limit: int = 10):
"""Show recently played tracks.""" """Show recently played tracks."""
recent = self.history.get_last(limit) recent = self.history.get_last(limit)
tracks_list = '\n'.join( tracks_list = '\n'.join(
f"{i}. {track.title} by {track.author}" f"{i}. {track.title} by {track.author}"
for i, track in enumerate(recent, 1) for i, track in enumerate(recent, 1)
) )
await ctx.send(f"**Recently Played:**\n{tracks_list}") await ctx.send(f"**Recently Played:**\n{tracks_list}")
``` ```
@ -431,20 +431,20 @@ async def stats(self, ctx):
player = ctx.voice_client player = ctx.voice_client
stats = pomice.QueueStats(player.queue) stats = pomice.QueueStats(player.queue)
summary = stats.get_summary() summary = stats.get_summary()
embed = discord.Embed(title='📊 Queue Statistics', color=discord.Color.green()) embed = discord.Embed(title='📊 Queue Statistics', color=discord.Color.green())
embed.add_field(name='Total Tracks', value=summary['total_tracks'], inline=True) embed.add_field(name='Total Tracks', value=summary['total_tracks'], inline=True)
embed.add_field(name='Total Duration', value=summary['total_duration_formatted'], inline=True) embed.add_field(name='Total Duration', value=summary['total_duration_formatted'], inline=True)
embed.add_field(name='Average Duration', value=summary['average_duration_formatted'], inline=True) embed.add_field(name='Average Duration', value=summary['average_duration_formatted'], inline=True)
if summary['longest_track']: if summary['longest_track']:
embed.add_field( embed.add_field(
name='Longest Track', name='Longest Track',
value=f"{summary['longest_track'].title} ({stats.format_duration(summary['longest_track'].length)})", value=f"{summary['longest_track'].title} ({stats.format_duration(summary['longest_track'].length)})",
inline=False inline=False
) )
# Top requesters # Top requesters
top_requesters = stats.get_top_requesters(3) top_requesters = stats.get_top_requesters(3)
if top_requesters: if top_requesters:
@ -453,7 +453,7 @@ async def stats(self, ctx):
for i, (req, count) in enumerate(top_requesters, 1) for i, (req, count) in enumerate(top_requesters, 1)
) )
embed.add_field(name='Top Requesters', value=requesters_text, inline=False) embed.add_field(name='Top Requesters', value=requesters_text, inline=False)
await ctx.send(embed=embed) await ctx.send(embed=embed)
``` ```
@ -464,7 +464,7 @@ async def stats(self, ctx):
async def export(self, ctx, filename: str = 'playlist.json'): async def export(self, ctx, filename: str = 'playlist.json'):
"""Export current queue to a file.""" """Export current queue to a file."""
player = ctx.voice_client player = ctx.voice_client
pomice.PlaylistManager.export_queue( pomice.PlaylistManager.export_queue(
player.queue, player.queue,
f'playlists/{filename}', f'playlists/{filename}',
@ -477,17 +477,17 @@ async def export(self, ctx, filename: str = 'playlist.json'):
async def import_playlist(self, ctx, filename: str): async def import_playlist(self, ctx, filename: str):
"""Import a playlist from a file.""" """Import a playlist from a file."""
player = ctx.voice_client player = ctx.voice_client
data = pomice.PlaylistManager.import_playlist(f'playlists/{filename}') data = pomice.PlaylistManager.import_playlist(f'playlists/{filename}')
uris = [track['uri'] for track in data['tracks'] if track.get('uri')] uris = [track['uri'] for track in data['tracks'] if track.get('uri')]
added = 0 added = 0
for uri in uris: for uri in uris:
results = await player.get_tracks(query=uri, ctx=ctx) results = await player.get_tracks(query=uri, ctx=ctx)
if results: if results:
await player.queue.put(results[0]) await player.queue.put(results[0])
added += 1 added += 1
await ctx.send(f'✅ Imported {added} tracks from `{data["name"]}`') await ctx.send(f'✅ Imported {added} tracks from `{data["name"]}`')
``` ```
@ -499,12 +499,12 @@ async def filter_short(self, ctx):
"""Show tracks shorter than 3 minutes.""" """Show tracks shorter than 3 minutes."""
player = ctx.voice_client player = ctx.voice_client
tracks = list(player.queue) tracks = list(player.queue)
short_tracks = pomice.TrackFilter.by_duration( short_tracks = pomice.TrackFilter.by_duration(
tracks, tracks,
max_duration=180000 # 3 minutes in ms max_duration=180000 # 3 minutes in ms
) )
await ctx.send(f'Found {len(short_tracks)} tracks under 3 minutes!') await ctx.send(f'Found {len(short_tracks)} tracks under 3 minutes!')
@commands.command() @commands.command()
@ -512,7 +512,7 @@ async def sort_queue(self, ctx, sort_by: str = 'duration'):
"""Sort the queue by duration, title, or author.""" """Sort the queue by duration, title, or author."""
player = ctx.voice_client player = ctx.voice_client
queue_tracks = list(player.queue) queue_tracks = list(player.queue)
if sort_by == 'duration': if sort_by == 'duration':
sorted_tracks = pomice.SearchHelper.sort_by_duration(queue_tracks) sorted_tracks = pomice.SearchHelper.sort_by_duration(queue_tracks)
elif sort_by == 'title': elif sort_by == 'title':
@ -521,12 +521,12 @@ async def sort_queue(self, ctx, sort_by: str = 'duration'):
sorted_tracks = pomice.SearchHelper.sort_by_author(queue_tracks) sorted_tracks = pomice.SearchHelper.sort_by_author(queue_tracks)
else: else:
return await ctx.send('Valid options: duration, title, author') return await ctx.send('Valid options: duration, title, author')
# Clear and refill queue # Clear and refill queue
player.queue._queue.clear() player.queue._queue.clear()
for track in sorted_tracks: for track in sorted_tracks:
await player.queue.put(track) await player.queue.put(track)
await ctx.send(f'✅ Queue sorted by {sort_by}') await ctx.send(f'✅ Queue sorted by {sort_by}')
``` ```

View File

@ -103,10 +103,14 @@ class AdvancedMusic(commands.Cog):
embed.add_field(name="Total Tracks", value=summary["total_tracks"], inline=True) embed.add_field(name="Total Tracks", value=summary["total_tracks"], inline=True)
embed.add_field( embed.add_field(
name="Total Duration", value=summary["total_duration_formatted"], inline=True, name="Total Duration",
value=summary["total_duration_formatted"],
inline=True,
) )
embed.add_field( embed.add_field(
name="Average Duration", value=summary["average_duration_formatted"], inline=True, name="Average Duration",
value=summary["average_duration_formatted"],
inline=True,
) )
if summary["longest_track"]: if summary["longest_track"]:
@ -222,7 +226,9 @@ class AdvancedMusic(commands.Cog):
if "-" in value: if "-" in value:
min_dur, max_dur = map(int, value.split("-")) min_dur, max_dur = map(int, value.split("-"))
filtered = pomice.TrackFilter.by_duration( filtered = pomice.TrackFilter.by_duration(
queue_tracks, min_duration=min_dur, max_duration=max_dur, queue_tracks,
min_duration=min_dur,
max_duration=max_dur,
) )
else: else:
return await ctx.send("Duration format: min-max (in milliseconds)") return await ctx.send("Duration format: min-max (in milliseconds)")
@ -233,7 +239,8 @@ class AdvancedMusic(commands.Cog):
return await ctx.send("No tracks match the filter.") return await ctx.send("No tracks match the filter.")
embed = discord.Embed( embed = discord.Embed(
title=f"🔍 Filtered Results ({len(filtered)} tracks)", color=discord.Color.purple(), title=f"🔍 Filtered Results ({len(filtered)} tracks)",
color=discord.Color.purple(),
) )
for i, track in enumerate(filtered[:10], 1): for i, track in enumerate(filtered[:10], 1):