on 1:TEXT:!status:#what.cd-invites: { if ($isfile(st.temp.txt)) { return } var %i = 1, %chunk | write -c st.temp.txt while ($read(queue.txt,%i)) { var %n = $+(%i,.,$v1), %new = $addtok(%chunk,%n,32) if ($len(%new) > 400) { write st.temp.txt %chunk | var %chunk = %n } else { var %chunk = %new } inc %i } if (%chunk) { write st.temp.txt $v1 } .play $chan st.temp.txt } on *:PLAYEND: { if ($nopath($filename) == st.temp.txt) { .remove $qt($filename) } } on 1:TEXT:!queue:#what.cd-invites:{ if ($read(queue.txt,w,$nick)) { notice $nick Already queued on position $readn } | else { write queue.txt $nick } } on 1:TEXT:!next:#what.cd-invites: { if ($nick !ishop $chan) && ($nick !isop $chan) { return } | :retry | if ($read(queue.txt,1)) { var %nick = $v1 | write -dl1 queue.txt | if (%nick !ison $chan) { goto retry } | mode $chan +v %nick } alias dequeue { if (!$1) { return ERROR: missing parameter (nickname) } else { if ($1 isvoice #what.cd-invites) || ($1 isreg #what.cd-invites) { var %i = 1 while ($lines(queue.txt) <= %i) { if ($read(queue.txt, %i) == $1) { write -dl $+ %i queue.txt return Nickname " $+ $1 $+ " has been removed from the queue list. } inc %i } } on *:PART:#what.cd-invites:{ if ($1 isvoice #what.cd-invites) || ($1 isreg #what.cd-invites) { msg $chan $dequeue($nick) } on *:TEXT:!dequeue *:#what.cd-invites:{ if ($nick ishop $chan) || ($1 isop $chan) && ($1 isvoice $chan) || ($1 isreg $chan) { msg $chan $dequeue($nick) } }