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])
}
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])
}