package Ġxyz . stere obot . kt . commands . music Ċ Ċ import Ġcom . sed mell uq . discord . lav ap layer . track . Audio Track Ċ import Ġnet . dv 8 tion . j da . api . Embed Builder Ċ import Ġxyz . stere obot . kt . commands . Context Ċ import Ġxyz . stere obot . kt . objects . Command Ċ import Ġjava . lang . StringBuilder Ċ Ċ class ĠQueue Command Ġ: ĠCommand () Ġ{ ĊĠ Ġinit Ġ{ ĊĠĠĠ Ġthis . name Ġ= Ġ" queue " ĊĠĠĠ Ġthis . aliases Ġ= ĠlistOf (" q ", Ġ" up next ") ĊĠĠĠ Ġthis . info Ġ= Ġ" Display s Ġthe Ġplayers Ġqueue " ĊĠĠĠ Ġthis . use Ġ= Ġ"< page >" ĊĠĠĠ Ġthis . us ages Ġ= ĠlistOf ("", Ġ" 2 ") ĊĠĠĠ Ġthis . guild Ġ= Ġtrue ĊĠĠĠ Ġthis . group Ġ= Ġ" Music " ĊĠ Ġ} ĊĠĠĊĠ Ġoverride Ġfun Ġinvoke ( ctx : ĠContext , Ġargs : ĠList < String >) Ġ{ ĊĠĠĠ Ġif Ġ( ctx . scheduler . queue . isEmpty ()) Ġ{ ĊĠĠĠĠĠ Ġctx . channel ĊĠĠĠĠĠĠĠ Ġ. sendMessage ( ĊĠĠĠĠĠĠĠĠĠ ĠEmbed Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setColor ( getColor ("# f 5 5 e 5 3 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDescription (" There Ġis Ġno Ġupcoming Ġsongs Ġto Ġdisplay .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. queue () ĊĠĠĠĠĠĠĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġval Ġpage Ġ= Ġif Ġ( args . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠ 1 ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠInteger . parseInt ( args [ 0 ]) ĊĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠ 1 ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġprintln ( page ) ĊĠĠĠĠĊĠĠĠ Ġval Ġdisplay Ġ= Ġctx . page d < Audio Track >( ctx . scheduler . queue . toList (), Ġpage , Ġ 1 0 ) ĊĠĠĠĠĊĠĠĠ Ġval Ġembed Ġ= ĠEmbed Builder () ĊĠĠĠĠĠ Ġ. setColor ( getColor ("# 3 3 7 7 de ")) ĊĠĠĠĠĠ Ġ. set Author (" Queue Ġfor Ġ${ ctx . guild . name }", Ġnull , Ġctx . guild . icon Url ) ĊĠĠĊĠĠĠ Ġvar Ġdescription Ġ= ĠStringBuilder () ĊĠĠĠ Ġvar Ġi Ġ= Ġ( page Ġ- Ġ 1 ) Ġ* Ġ 1 0 ĊĠĠĠĠĊĠĠĠ Ġfor Ġ( song Ġin Ġdisplay . list ) Ġ{ ĊĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĊĠĠĠĠĠ Ġval Ġtitle Ġ= Ġif Ġ( song . info . title . length Ġ< Ġ 4 5 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsong . info . title ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġsong . info . title . substring ( 0 , Ġ 4 5 ) Ġ+ Ġ" ..." ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĊĠĠĠĠĠ Ġdescription ĊĠĠĠĠĠĠĠ Ġ. append ( ĊĠĠĠĠĠĠĠĠĠ Ġ"` # ${ i . toString (). pad Start ( 2 , Ġ' 0 ') }` Ġ| Ġ" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. append ("[ ${ title } ]( ${ song . info . uri }) ") ĊĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġif Ġ( description . length Ġ> Ġ 2 0 0 0 ) Ġ{ ĊĠĠĠĠĠ Ġembed . setDescription ( description . substring ( 0 , Ġ 2 0 0 0 )) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġembed . setDescription ( description ) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġctx . channel . sendMessage ( ĊĠĠĠĠĠ Ġembed ĊĠĠĠĠĠĠĠ Ġ. set Footer ("${ display . page }/${ display . max }") ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ). queue () ĊĠ Ġ} Ċ }