All pastes #336449 Raw Edit

Someone

public text v1 · immutable
·published 2007-02-02 01:16 UTC
rendered paste body
##########################
#   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 @server1 :: @server2 }

#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,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html> )
  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,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html> )
  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,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html> )
  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
  }
}