Shoutcast Help!!
Posted by fleixius
Monday, March 29, 2004
Description: Shoutcast Help!!

on 1:LOAD:{
  set %trigger $?="Please enter the trigger you want to use."
  set %radio.chan $?="Please enter the channel of the radio station."
  set %radio.host $?="Please enter the host. (ex: yourserver.com:8000)"
}

on *:TEXT:$(%trigger $+ Commands):%radio.chan:{
  msg %radio.chan $(%trigger $+ Commands) $(%trigger $+ Stream) $(%trigger $+ Listeners) $(%trigger $+ CurrentDJ) $(%trigger $+ Song) $(%trigger $+ Request) $(%trigger $+ Shoutout) $(%trigger $+ Bitrate)
}

on *:TEXT:$(%trigger $+ Listeners):%radio.chan:{
  set %radio.category listeners
  sockclose scbot
  sockopen scbot $gettok(%radio.host,1,58) $gettok(%radio.host,2,58)
}


on *:TEXT:$(%trigger $+ Stream):%radio.chan:{
  set %radio.category stream
  sockclose scbot
  sockopen scbot $gettok(%radio.host,1,58) $gettok(%radio.host,2,58)
}


on *:TEXT:$(%trigger $+ DJ):%radio.chan:{
  set %radio.category dj
  sockclose scbot
  sockopen scbot $gettok(%radio.host,1,58) $gettok(%radio.host,2,58)
}


on *:TEXT:$(%trigger $+ Song):%radio.chan:{
  set %radio.category song
  sockclose scbot
  sockopen scbot $gettok(%radio.host,1,58) $gettok(%radio.host,2,58)
}


on *:TEXT:$(%trigger $+ Bandwidth):%radio.chan:{
  set %radio.category bandwidth
  sockclose scbot
  sockopen scbot $gettok(%radio.host,1,58) $gettok(%radio.host,2,58)
}


on *:TEXT:$(%trigger $+ Onair):%radio.chan:{

}


on *:TEXT:$(%trigger $+ Offair):%radio.chan:{

}


on *:TEXT:$(%trigger $+ Show):%radio.chan:{

}


on *:TEXT:$(%trigger $+ Topic):%radio.chan:{

}


on *:TEXT:$(%trigger $+ Request*):%radio.chan:{

}


on *:TEXT:$(%trigger $+ Shoutout*):%radio.chan:{

}


on *:SOCKOPEN:scbot:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:scbot:{
  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:scbot:{
  if (%radio.category == listeners) {  }
  if (%radio.category == song) {  }
  if (%radio.category == dj) {  }
  if (%radio.category == stream) { msg %radio.chan http:// $+ %radio.host $+ /listen.pls }
  msg %radio.chan DSP [^U] $+ %scbot.livedj $+ [^U] and playing [^U] $+ %scbot.song $+ [^U]
  msg %radio.chan [^U] $+ %scbot.listeners $+ [^U] out of [^U] $+ %scbot.maxlist $+ [^U] listeners at [^U] $+ $+(%scbot.bitrate,Kb) $+ [^U] using up $+([^U],$round($calc(((%scbot.bitrate *1024) * %scbot.listeners)/ 1024 / 1024),2),Mb/s[^U]) or $+([^U],$round($calc(((%scbot.bitrate *1024) * %scbot.listeners)/ 1024 ),2),Kb/s[^U]) or $+([^U],$round($calc(((%scbot.bitrate *1024) * %scbot.listeners)/ 1024 / 8),2),KB/s[^U])
}
Submit a comment
Oops! You need to login or register before you can post a comment!

ebaum's world