All pastes #139043 Raw Edit

Miscellany

public text v1 · immutable
#139043 ·published 2006-08-19 16:52 UTC
rendered paste body

on *:TEXT:-*:#:{
  var %tgr $1
  tokenize 32 $mid($1-,2)
  if ($1 == song) {    sockopen scstat %scstat.host %scstat.port | set %getsong 1 }
  if ($1 == listeners) { sockopen scstat %scstat.host %scstat.port | set %getlisteners 1 }
  if ($1 == stream) { sockopen scstat %scstat.host %scstat.port | set %getstream 1 } 
  if ($1 == getall) { sockopen scstat %scstat.host %scstat.port  | set %getall 1 } 
  if ($1 == commands) { msg %scstat.chan %tgr } 
  if ($1 == scstat) { 
    set %scstat.chan $chan
    set %scstat.host $gettok($2,1,58)
    set %scstat.port $gettok($2,2,58)
    sockclose scstat
    sockopen scstat $gettok($2,1,58) $gettok($2,2,58)
    set %getall 1
  }
}
on *:SOCKOPEN:scstat:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:scstat:{
  if ($sockerr > 0) return
  :nextread
  sockread -f %scasttemp
  if ($sockbr == 0) return
  if (%scasttemp == $null) %scasttemp = empty
  set %scasttemp $remove(%scasttemp,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
  if ((HTTP/1.* !iswm %scasttemp) && (content-type* !iswm %scasttemp) && (%scasttemp != empty)) {
    set %scstat.song $gettok(%scasttemp,7-,44)
    set %scstat.bitrate $gettok(%scasttemp,6,44)
    set %scstat.listeners $gettok(%scasttemp,1,44)
    set %scstat.maxlist $gettok(%scasttemp,4,44)
    set %scstat.peak $gettok(%scasttemp,3,44)
    if ($gettok(%scasttemp,2,44) == 1) set %scstat.livedj connected
    else set %scstat.livedj not connected
    ; changing some of the html codes back to regular characters
    set %scast.song $replace(%scast.song,&,$chr(38),',$chr(39))
  }
  goto nextread
}
on *:sockclose:scstat:{
  if (%getsong == 1) {
    msg %scstat.chan 0,10[ 12SONG 0] [14 Now playing song %scstat.song 0] | unset %getsong
  } 
  if (%getlisteners == 1) {
    msg %scstat.chan 0,10[ 12LISTENERS 0] [14 %scstat.listeners $+  out of  $+ %scstat.maxlist $+  listeners at  $+ $+(%scstat.bitrate,Kb) $+  using up $+(,$round($calc(((%scstat.bitrate *1024) * %scstat.listeners)/ 1024 / 1024),2),Mb/s) or $+(,$round($calc(((%scstat.bitrate *1024) * %scstat.listeners)/ 1024 ),2),Kb/s) or $+(,$round($calc(((%scstat.bitrate *1024) * %scstat.listeners)/ 1024 / 8),2),KB/s) 0]  | unset %getlisteners
  }
  if (%getstream == 1) {
    msg %scstat.chan 0,10[ 12STREAM 0] [14 $iif(%scstat.livedj == connected,Up and running : $+ $chr(41) You can listen at $+(http://,%scstat.host,:,%scstat.port,/listen.pls),Stream is currently down) 0] | unset %getstream
  }
  if (%getall == 1) {
    msg %scstat.chan 0,10[ 12DSP 0] [14  $+ %scstat.livedj $+  and playing  $+ %scstat.song $+  0]
    msg %scstat.chan 0,10[ 12Listeners 0] [14  $+ %scstat.listeners $+  out of  $+ %scstat.maxlist $+  listeners at  $+ $+(%scstat.bitrate,Kb) $+  using up $+(,$round($calc(((%scstat.bitrate *1024) * %scstat.listeners)/ 1024 / 1024),2),Mb/s) or $+(,$round($calc(((%scstat.bitrate *1024) * %scstat.listeners)/ 1024 ),2),Kb/s) or $+(,$round($calc(((%scstat.bitrate *1024) * %scstat.listeners)/ 1024 / 8),2),KB/s) 0]
    msg %scstat.chan 0,10[ 12listen at 0] [14 You can listen at $+(http://,%scstat.host,:,%scstat.port,/listen.pls) 0]
    unset %getall  
  }
}