########################## # Radio Bot By VirusX # ########################## #Topic Management alias dotopic { topic %radiochan RadioName :: 1: %dj1 :: 2: %dj2 } on *:TEXT:@refresh:%radiochan:{ if ($nick isop %radiochan) { dotopic } else {halt} } #ONAIR/OFFAIR on *:TEXT:@onair1:%radiochan:{ if ($nick isop %radiochan) { set %dj1 $nick | dotopic } else { notice $nick You do not have access to this command } } on *:TEXT:@onair2:%radiochan:{ if ($nick isop %radiochan) { set %dj2 $nick | dotopic } else { notice $nick You do not have access to this command } } on *:TEXT:@offair1:%radiochan:{ if ($nick == %dj1) { set %dj1 None | dotopic } else {halt} } on *:TEXT:@offair2:%radiochan:{ if ($nick == %dj2) { set %dj2 None | dotopic } else {halt} } #Request on *:TEXT:@request1*:%radiochan:{ if (%dj1 == None) { notice $nick No DJ Online! } else { msg %dj1 Request from $nick $+ : $2- } } on *:TEXT:@request2*:%radiochan:{ if (%dj2 == None) { notice $nick No DJ Online! } else { notice $nick Request Sent! | msg %dj2 Request from $nick $+ : $2- } } #Servers on *:TEXT:@listeners1:%radiochan:{ sockopen listeners %stream1.host %stream1.port } on *:TEXT:@listeners2:%radiochan:{ sockopen listeners2 %stream2.host %stream2.port } on *:TEXT:@listeners:%radiochan:{ msg $chan @listeners1 :: @listeners2 } #Stats on *:TEXT:@stream1:%radiochan:{ set %stream Stream1 | set %stream.host %stream1.host | set %stream.port %steam1.port | sockopen stream %stream1.host %stream1.port } on *:TEXT:@stream2:%radiochan:{ set %stream Stream2 | set %stream.host %stream2.host | set %stream.port %steam2.port | sockopen stream %stream2.host %stream2.port } on *:SOCKOPEN:stream:{ if ($sockerr > 0) { msg %radiochan %stream = OFFLINE return } sockwrite -n $sockname GET /7.html HTTP/1.0 sockwrite -n $sockname User-Agent: Mozilla sockwrite -n $sockname $crlf } on *:sockread:stream:{ if ($sockerr > 0) return :nextread sockread -f %temp if ($sockbr == 0) return if (%temp == $null) %temp = empty set %temp $remove(%temp,, ) if ((HTTP/1.* !iswm %temp) && (content-type* !iswm %temp) && (%temp != empty)) { set %status $gettok(%temp,2,44) set %listeners $gettok(%temp,1,44) set %song $gettok(%temp,7-,44) set %maxlist $gettok(%temp,4,44) set %peaklisteners $gettok(%temp,3,44) set %bitrate $gettok(%temp,6,44) } goto nextread } on *:sockclose:stream:{ if ( %status == 0 ) { msg %radiochan %stream = OFFLINE } else { msg %radiochan [ $+ %stream $+ ] DJ: %dj1 Listen Now: http:// $+ %stream.host $+ : $+ %stream.port $+ /listen.pls Song: %song : Listeners: %listeners of %maxlist max (Peak: %peaklisteners $+ ) Bitrate: %bitrate kbps } } on *:SOCKOPEN:listeners:{ if ($sockerr > 0) { %Server1 DJ: %dj2 Listeners: OFFAIR return } sockwrite -n $sockname GET /7.html HTTP/1.0 sockwrite -n $sockname User-Agent: Mozilla sockwrite -n $sockname $crlf } on *:sockread:listeners:{ if ($sockerr > 0) return :nextread sockread -f %temp if ($sockbr == 0) return if (%temp == $null) %temp = empty set %temp $remove(%temp,, ) if ((HTTP/1.* !iswm %temp) && (content-type* !iswm %temp) && (%temp != empty)) { set %status $gettok(%temp,2,44) set %listeners $gettok(%temp,1,44) } goto nextread } on *:sockclose:listeners:{ if ( %status == 0 ) { msg %radiochan Server1 DJ: %dj2 Listeners: OFFAIR } else { msg %radiochan Server1 DJ: %dj1 Listeners: %listeners } } on *:SOCKOPEN:listeners2: { if ($sockerr > 0) { Server2 DJ: %dj2 Listeners: OFFAIR return } sockwrite -n $sockname GET /7.html HTTP/1.0 sockwrite -n $sockname User-Agent: Mozilla sockwrite -n $sockname $crlf } on *:sockread:listeners2:{ if ($sockerr > 0) return :nextread sockread -f %temp if ($sockbr == 0) return if (%temp == $null) %temp = empty set %temp $remove(%temp,, ) if ((HTTP/1.* !iswm %temp) && (content-type* !iswm %temp) && (%temp != empty)) { set %status $gettok(%temp,2,44) set %listeners $gettok(%temp,1,44) } goto nextread } on *:sockclose:listeners2: { if ( %status == 0 ) { msg %radiochan Server2 DJ: %dj2 Listeners: OFFAIR } else { msg %radiochan Server2 DJ: %dj2 Listeners: %listeners } } %radiochan #CeSports %stream1.host 66.90.112.13 %stream2.host 14202 %stream1.port 66.90.112.13 %stream2.port 14202 %dj1 CeSports[staff]bberg %stream Stream1 %stream.host 66.90.112.13 %stream.port %Server1 DJ: Listeners: OFFAIR