@@ -79,13 +79,21 @@ async def queue(self, inter: discord.Interaction):
7979 items .append (f"`Now` { track_str (player .current )} " )
8080 items .extend (track_str (track ) for track in player .queue )
8181
82- paginator = EmbedPaginator (entries = items , per_page = 10 , guild_id = inter .guild .id if inter .guild else None )
82+ paginator = EmbedPaginator (
83+ entries = items ,
84+ per_page = 10 ,
85+ guild_id = inter .guild .id if inter .guild else None ,
86+ )
8387 embed = paginator .make_embed ()
8488 embed .title = "🎶 Queue Overview"
8589 embed .description = "\n " .join (items [:10 ])
86- embed .set_footer (
87- text = f"{ embed .footer .text } • { self ._queue_summary (player )} " if embed .footer and embed .footer .text else self ._queue_summary (player )
88- )
90+ summary_text = self ._queue_summary (player )
91+ footer_text = embed .footer .text if embed .footer else None
92+ footer_icon = getattr (embed .footer , "icon_url" , None ) if embed .footer else None
93+ if footer_text :
94+ embed .set_footer (text = f"{ footer_text } • { summary_text } " , icon_url = footer_icon )
95+ else :
96+ embed .set_footer (text = summary_text , icon_url = None )
8997 await inter .response .send_message (embed = embed , view = paginator , ephemeral = True )
9098
9199 @app_commands .command (name = "remove" , description = "Remove a track by its 1-based position." )
@@ -143,7 +151,12 @@ async def shuffle(self, inter: discord.Interaction):
143151
144152 @app_commands .command (name = "move" , description = "Move a track within the queue." )
145153 @app_commands .describe (src = "From (1-based)" , dest = "To (1-based)" )
146- async def move (self , inter : discord .Interaction , src : app_commands .Range [int , 1 , 9999 ], dest : app_commands .Range [int , 1 , 9999 ]):
154+ async def move (
155+ self ,
156+ inter : discord .Interaction ,
157+ src : app_commands .Range [int , 1 , 9999 ],
158+ dest : app_commands .Range [int , 1 , 9999 ],
159+ ):
147160 """Reorder a track within the queue."""
148161 factory = EmbedFactory (inter .guild .id if inter .guild else None )
149162 if not inter .guild :
@@ -224,11 +237,13 @@ async def playlist_save(self, inter: discord.Interaction, name: str, include_cur
224237
225238 cleaned = name .strip ()
226239 if not cleaned or len (cleaned ) > 64 :
227- return await inter .response .send_message (embed = factory .error ("Playlist name must be 1-64 characters." ), ephemeral = True )
240+ error_embed = factory .error ("Playlist name must be 1-64 characters." )
241+ return await inter .response .send_message (embed = error_embed , ephemeral = True )
228242
229243 player = self ._player (inter .guild )
230244 if not player or (not player .queue and not player .current ):
231- return await inter .response .send_message (embed = factory .warning ("No tracks to persist." ), ephemeral = True )
245+ warning_embed = factory .warning ("No tracks to persist." )
246+ return await inter .response .send_message (embed = warning_embed , ephemeral = True )
232247
233248 tracks : List [lavalink .AudioTrack ] = []
234249 if include_current and player .current :
@@ -255,10 +270,10 @@ async def playlist_save(self, inter: discord.Interaction, name: str, include_cur
255270 inter .user .id ,
256271 exc ,
257272 )
258- return await inter . response . send_message (
259- embed = factory . error ( "Failed to save playlist. Please try again later." ) , ephemeral = True
260- )
261- embed = factory .success ("Playlist Saved" , f"Stored ** { count } ** track(s) as ` { cleaned } `." )
273+ error_embed = factory . error ( "Failed to save playlist. Please try again later." )
274+ return await inter . response . send_message ( embed = error_embed , ephemeral = True )
275+ save_message = f"Stored ** { count } ** track(s) as ` { cleaned } `."
276+ embed = factory .success ("Playlist Saved" , save_message )
262277 embed .add_field (name = "Tip" , value = "Use `/playlist load` to queue the playlist later." , inline = False )
263278 await inter .response .send_message (embed = embed , ephemeral = True )
264279
@@ -274,17 +289,22 @@ async def playlist_load(self, inter: discord.Interaction, name: str, replace_que
274289
275290 player = self ._player (inter .guild )
276291 if not player or not player .is_connected :
277- return await inter . response . send_message (
278- embed = factory . error ( "VectoBeat must be connected to voice before loading a playlist. Use `/connect` first." ),
279- ephemeral = True ,
292+ message = (
293+ "VectoBeat must be connected to voice before loading a playlist. "
294+ "Use `/connect` first."
280295 )
296+ error_embed = factory .error (message )
297+ return await inter .response .send_message (embed = error_embed , ephemeral = True )
281298
282299 await inter .response .defer (ephemeral = True )
283300
284301 service = self ._playlist_service ()
302+ default_requester = inter .user .id if isinstance (inter .user , discord .User ) else None
285303 try :
286304 tracks = await service .load_playlist (
287- inter .guild .id , name .strip (), default_requester = inter .user .id if isinstance (inter .user , discord .User ) else None
305+ inter .guild .id ,
306+ name .strip (),
307+ default_requester = default_requester ,
288308 )
289309 if self .bot .logger :
290310 self .bot .logger .info (
@@ -303,12 +323,11 @@ async def playlist_load(self, inter: discord.Interaction, name: str, replace_que
303323 inter .user .id ,
304324 exc ,
305325 )
306- return await inter .followup .send (
307- embed = factory .error ("Failed to load playlist from storage. Please try again later." ),
308- ephemeral = True ,
309- )
326+ error_embed = factory .error ("Failed to load playlist from storage. Please try again later." )
327+ return await inter .followup .send (embed = error_embed , ephemeral = True )
310328 if not tracks :
311- return await inter .followup .send (embed = factory .warning (f"No playlist found with the name `{ name } `." ), ephemeral = True )
329+ warning = factory .warning (f"No playlist found with the name `{ name } `." )
330+ return await inter .followup .send (embed = warning , ephemeral = True )
312331
313332 autop_flag = player .fetch ("autoplay_enabled" )
314333 if replace_queue :
@@ -337,7 +356,8 @@ async def playlist_load(self, inter: discord.Interaction, name: str, replace_que
337356 if len (tracks ) > 5 :
338357 summary += f"\n ...`{ len (tracks ) - 5 } ` more"
339358
340- embed = factory .success ("Playlist Loaded" , f"Queued **{ len (tracks )} ** track(s) from `{ name } `." )
359+ load_message = f"Queued **{ len (tracks )} ** track(s) from `{ name } `."
360+ embed = factory .success ("Playlist Loaded" , load_message )
341361 embed .add_field (name = "Preview" , value = summary , inline = False )
342362 embed .add_field (name = "Queue Summary" , value = self ._queue_summary (player ), inline = False )
343363 await inter .followup .send (embed = embed , ephemeral = True )
@@ -356,11 +376,11 @@ async def playlist_list(self, inter: discord.Interaction):
356376 except PlaylistStorageError as exc :
357377 if self .bot .logger :
358378 self .bot .logger .error ("Failed to list playlists for guild %s: %s" , inter .guild .id , exc )
359- return await inter .response .send_message (
360- embed = factory .error ("Unable to query playlists from storage. Please try again later." ), ephemeral = True
361- )
379+ error_embed = factory .error ("Unable to query playlists from storage. Please try again later." )
380+ return await inter .response .send_message (embed = error_embed , ephemeral = True )
362381 if not names :
363- return await inter .response .send_message (embed = factory .warning ("No playlists saved yet." ), ephemeral = True )
382+ warning_embed = factory .warning ("No playlists saved yet." )
383+ return await inter .response .send_message (embed = warning_embed , ephemeral = True )
364384
365385 embed = factory .primary ("Saved Playlists" )
366386 embed .description = "\n " .join (f"- `{ name } `" for name in names )
@@ -378,7 +398,10 @@ async def playlist_delete(self, inter: discord.Interaction, name: str):
378398 removed = await service .delete_playlist (inter .guild .id , cleaned )
379399 if removed and self .bot .logger :
380400 self .bot .logger .info (
381- "Deleted playlist '%s' for guild %s by user %s" , cleaned , inter .guild .id , inter .user .id
401+ "Deleted playlist '%s' for guild %s by user %s" ,
402+ cleaned ,
403+ inter .guild .id ,
404+ inter .user .id ,
382405 )
383406 except PlaylistStorageError as exc :
384407 if self .bot .logger :
@@ -389,13 +412,11 @@ async def playlist_delete(self, inter: discord.Interaction, name: str):
389412 inter .user .id ,
390413 exc ,
391414 )
392- return await inter .response .send_message (
393- embed = factory .error ("Failed to delete playlist from storage. Please try again later." ), ephemeral = True
394- )
415+ error_embed = factory .error ("Failed to delete playlist from storage. Please try again later." )
416+ return await inter .response .send_message (embed = error_embed , ephemeral = True )
395417 if not removed :
396- return await inter .response .send_message (
397- embed = factory .warning (f"No playlist found with the name `{ cleaned } `." ), ephemeral = True
398- )
418+ warning_embed = factory .warning (f"No playlist found with the name `{ cleaned } `." )
419+ return await inter .response .send_message (embed = warning_embed , ephemeral = True )
399420
400421 embed = factory .success ("Playlist Deleted" , f"Removed `{ cleaned } ` from storage." )
401422 await inter .response .send_message (embed = embed , ephemeral = True )
0 commit comments