ShoutCast Script v1.6

By Xerrion on Mar 15, 2009

Here is my answer to a ShoutCast Script. You may like to update and correct and make new in it. As long as the "Script made by XERRiON @ #NordicHouseRadio - Remember to change the variables in the script." not removed and that I will be contacted with the changes you make. This can be done by writing a mail to me: Lasse.S.Nielsen @ hotmail.com

It is not very professionally done because I just did it so well as I could remember the various commands.
But as above you may freely modify as long as I get the message about what the change and that you do not delete credits

I will not create a Great info but commands can be found through !Commands !Djcommands !Managercommands !Ownercommands
But remember that "/ guser 500 ditnick 2 CEO" To make you owner.

It contains an on-/offair ability. Plus Query Shoutout Request Song and timerscript (for fetching info)

It also has a staff command witch you can allow users to gain access to different commands

userlevels:

500 - Owner
200 - DJ/Manager

Changelog
v1.6
ADDED: An anti-idle function (So the bot wont timeout if idle). Can be activated through, the menubar. Credits goes to Bigmomma for the script.
v1.5
FIXED: Fixed the theme variables in the text.
FIXED: The !command didn't return any notice.
v1.4
FIXED: Minor bug
ADDED: Ability to change the message theme by variables. Thanks to request by Jakob.
v1.3
FIXED: The help command that deny you to write a blank message.
v1.2
FIXED: Minor msg bug
FIXED: Now more notice $nick insted og msg $chan keeps the spam at a low rate.

on *:load:{
  // Husk at sætte disse
  set %channel #NordicHouseRadio
  set %ip 87.118.125.101
  set %port 8000
  set %tegn.1 8(14
  set %tegn.2 8)
  set %tegn.midt 0×
  set %radio.navn #NordicHouseRadio
  set %max.listeners 100
  set %staff.chan #NHRadio
  echo ShoutCast Script v1.4 made by XERRiON @ #NordicHouseRadio - Remember to change the variables in the script.
}
menu menubar {
  Anti-Idle
  .On:/timeridle 0 120 anti-idle | Set %anti-idle $true
  .Off:/timeridle off | Set %anti-idle $false
}
on *:connect: { if (%anti-idle == $true) { .timeridle 0 120 /raw pong FD411636 }
}
on *:JOIN:%channel {
  notice $nick %tegn.1#NordicHouseRadio %tegn.2 %tegn.midt %tegn.1 Welcome to %channel Where we bring music to you 24/7 %tegn.2
  notice $nick %tegn.1#NordicHouseRadio %tegn.2 %tegn.midt %tegn.1 Type !Commands to see a list of commands %tegn.2
  if ($ulevel >= 100) {
    var %info $ulist($address($nick,1),$ulevel,1).info
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 $nick $+ , is %info %tegn.2
  }
}
on *:NICK:# {
  if ($nick == %dj) {
    set %dj $newnick
    amsg %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ` $+ $nick changed his name to $newnick %tegn.2
  }
}
on *:TEXT:!commands:# {
  notice $nick %tegn.1 $+ Commands $+ %tegn.2
  notice $nick %tegn.1 Stream - !stream %tegn.2
  notice $nick %tegn.1 Song - !song %tegn.2
  notice $nick %tegn.1 Listeners - !listeners %tegn.2
  notice $nick %tegn.1 Dj - !dj %tegn.2
  notice $nick %tegn.1 Shoutout - !shoutout %tegn.2
  notice $nick %tegn.1 Request - !request %tegn.2
  notice $nick %tegn.1 Cut - !cut %tegn.2
  notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2
}
on *:TEXT:!dj:# {
  if (%dj) {
    if ($nick == %dj) {
      msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Your the dj that is annihilating the radio waves eh? %tegn.2
    }
    else {
      msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ` $+ %dj is on air, annihilating the radio waves %tegn.2
    }
  }
  else {
    msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 No DJ is on %tegn.2
  }
}
on 200:TEXT:!onair*:# {
  if ($nick == %dj) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Your on air already %tegn.2
  }
  elseif (%dj !== $null) {
    msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ` $+ %dj is on air %tegn.2
  }  
  else {
    set %dj $nick
    msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ` $+ %dj is now on air, $iif($2,with $2-,$null) %tegn.2
    topic $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ` $+ %dj is now on air, $iif($2,with $2-,$null) %tegn.2
  }
}

on 200:TEXT:!offair:# {
  if (%dj) {
    if ($nick == %dj) {
      set %requests on
      set %shoutouts on
      set %cuts on
      msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ` $+ %dj is now of air. %tegn.2
      topic $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 No Dj online right now %tegn.2
      unset %dj
      halt
    }
  }
}
on *:TEXT:!shoutout*:# {
  if (!%dj) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 No DJ is on %tegn.2
  }
  else {
    if (!$2) {
      notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You did not submit an actual shoutout %tegn.2
      notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Example: !Shoutout %channel is the best %tegn.2
    }
    else {
      if ($2 == on) {
        if ($nick == %dj) {
          set %shoutouts on
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You turned the command !shoutout on %tegn.2
          msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ- $+ %dj turned the command !shoutouts on %tegn.2
          halt
        }
      }
      if ($2 == off) {
        if ($nick == %dj) {
          set %shoutouts off
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You turned the command !shoutouts off %tegn.2
          msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ- $+ %dj turned the command !shoutouts off %tegn.2
          halt
        }
      }
      if (%shoutouts == off) {
        msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 This command was turned off by DJ- $+ %dj %tegn.2
        halt
      }
      if (%spam.shoutouts. [ $+ [ $nick ] ] == 1) {
        notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You can only used this command once every minute %tegn.2
        halt
      }
      else {
        set -u60 %spam.shoutouts. [ $+ [ $nick ] ] 1
        if ($nick == %dj) {
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You nimrod, you cant send a shouout to your self %tegn.2
        }
        else {
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Your shoutout has been sent to DJ- $+ %dj %tegn.2
          msg %dj %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Shoutout by $nick $+ :  $2- %tegn.2
        }
      }
    }
  }
}
on *:TEXT:!request*:# {
  if (!%dj) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 No DJ is on %tegn.2
  }
  else {
    if (!$2) {
      notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You did not submit an actual request %tegn.2
      notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Example: !request %song1 %tegn.2
    }
    else {
      if ($2 == on) {
        if ($nick == %dj) {
          set %requests on
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You turned the command !request on %tegn.2
          msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ- $+ %dj turned the command !request on %tegn.2
          halt
        }
      }
      if ($2 == off) {
        if ($nick == %dj) {
          set %requests off
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You turned the command !request off %tegn.2
          msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ- $+ %dj turned the command !request off %tegn.2
          halt
        }
      }
      if (%requests == off) {
        msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 This command was turned off by DJ- $+ %dj %tegn.2
        halt
      }
      if (%spam.request. [ $+ [ $nick ] ] == 1) {
        notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You can only used this command once every minute %tegn.2
        halt
      }
      else {
        set -u60 %spam.request. [ $+ [ $nick ] ] 1
        if ($nick == %dj) {
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You nimrod, you cant send a request to your self %tegn.2
        }
        else {
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Your request has been sent to DJ- $+ %dj %tegn.2
          msg %dj %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Request by $nick $+ :  $2- %tegn.2
        }
      }
    }
  }
}
on *:TEXT:!cut*:# {
  if (!%dj) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 No DJ is on %tegn.2
  }
  else {
    if ($2 == on) {
      if ($nick == %dj) {
        set %cuts on
        notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You turned the command !cut on %tegn.2
        msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ- $+ %dj turned the command !cut on %tegn.2
        halt
      }
    }
    elseif ($2 == off) {
      if ($nick == %dj) {
        set %cuts off
        notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You turned the command !cut off %tegn.2
        msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 DJ- $+ %dj turned the command !cut off %tegn.2
        halt
      }
    }
    else {
      if (%cuts == off) {
        notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 This command was turned off by DJ- $+ %dj %tegn.2
        halt
      }
      if (%spam.cuts. [ $+ [ $nick ] ] == 1) {
        notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You can only used this command once every minute %tegn.2
        halt
      }
      else {
        set -u60 %spam.cuts. [ $+ [ $nick ] ] 1
        if ($nick == %dj) {
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You nimrod, you cant cut your self %tegn.2
        }
        else {
          notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Your cut request has been sent to DJ- $+ %dj %tegn.2
          msg %dj %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Request to cut the song has been sent by $nick %tegn.2
        }
      }
    }
  }
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;!server Command
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:TEXT:!stream:#:{
  if (%dj) {
    set %ask.nick $nick
    set %ask.chan $chan
    sockclose server1
    sockopen server1 %ip %port
  }
  else {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 No DJ is on %tegn.2
  }
}
on *:SOCKOPEN:server1:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:server1:{
  if ($sockerr > 0) {
    msg %ask.chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Stream Is Offline %tegn.2
    return
  }
  :nextread
  sockread -f %scasttemp1
  if ($sockbr == 0) return
  if (%scasttemp1 == $null) %scasttemp1 = empty
  set %scasttemp1 $remove(%scasttemp1,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
  if ((HTTP/1.* !iswm %scasttemp1) && (content-type* !iswm %scasttemp1) && (%scasttemp1 != empty)) {
    set %status1 $gettok(%scasttemp1,2,44)    
    set %asong $gettok(%scasttemp1,7-,44)
    set %listeners1 $gettok(%scasttemp1,1,44)
    set %peak1 $gettok(%scasttemp1,3,44)
    set %song1 $replace(%asong,&,$chr(38),',$chr(39))
  }
  goto nextread
}
on *:sockclose:server1:{
  if (%status1 == 0) {
    msg %ask.chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Stream Is Offline %tegn.2
  }
  else {
    msg %channel %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Stream: http:// $+ %serverip1 $+ : $+ %port1 $+ /listen.pls × DJ: %dj 8)
    msg %channel %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Song: %song1 × Listeners: %listeners1 $+ / $+ %max.listeners × Peak: %peak1 %tegn.2
  }
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;!server Command
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:TEXT:!song:#:{
  set %ask.nick $nick
  set %ask.chan $chan
  sockclose song1
  sockopen song1 %ip %port
}
on *:SOCKOPEN:song1:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:song1:{
  if ($sockerr > 0) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Stream Is Offline %tegn.2
    return
  }
  :nextread
  sockread -f %scasttemp1
  if ($sockbr == 0) return
  if (%scasttemp1 == $null) %scasttemp1 = empty
  set %scasttemp1 $remove(%scasttemp1,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
  if ((HTTP/1.* !iswm %scasttemp1) && (content-type* !iswm %scasttemp1) && (%scasttemp1 != empty)) {
    set %status1 $gettok(%scasttemp1,2,44)    
    set %asong1 $gettok(%scasttemp1,7-,44)
    set %listeners1 $gettok(%scasttemp1,1,44)
    set %peak1 $gettok(%scasttemp1,3,44)
    set %song1 $replace(%asong1,&,$chr(38),',$chr(39))
  }
  goto nextread
}
on *:sockclose:song1:{
  if (%status1 == 0) {
    msg %ask.chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Stream Is Offline %tegn.2
  }
  else {
    msg %channel %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Song: %song1 %tegn.2 %tegn.midt %tegn.1 $+ %radio.navn $+ %tegn.2
  }
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;!listeners Command
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:TEXT:!listeners:#:{
  set %ask.nick $nick
  set %ask.chan $chan
  sockclose listeners1
  sockopen listeners1 %ip %port
}
on *:SOCKOPEN:listeners1:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:listeners1:{
  if ($sockerr > 0) return
  :nextread
  sockread -f %scasttemp1
  if ($sockbr == 0) return
  if (%scasttemp1 == $null) %scasttemp1 = empty
  set %scasttemp1 $remove(%scasttemp1,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
  if ((HTTP/1.* !iswm %scasttemp1) && (content-type* !iswm %scasttemp1) && (%scasttemp1 != empty)) {
    set %status1 $gettok(%scasttemp1,2,44)    
    set %asong1 $gettok(%scasttemp1,7-,44)
    set %listeners1 $gettok(%scasttemp1,1,44)
    set %peak1 $gettok(%scasttemp1,3,44)
    set %song1 $replace(%asong1,&,$chr(38),',$chr(39))
  }
  goto nextread
}
on *:sockclose:listeners1:{
  if (%status1 == 0) {
    msg %ask.chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Stream Is Offline %tegn.2
  }
  else {
    msg %channel %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Listeners: %listeners1 $+ / $+ %max.listeners %tegn.2
  }
}

;;;;;;;;;;;;;;;;;;;;;;;;;;
;override commands
;;;;;;;;;;;;;;;;;;;;;;;;;;

on 400:TEXT:!override*:# {
  if (!$2) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Please choose a actuall !override command %tegn.2
    notice $nick %tegn.1Example %tegn.2 %tegn.midt %tegn.1 !override offair %tegn.2
    halt
  }
  if ($2- == requests on) {
    if (%requests == off) {
      set %requests on
      msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 $nick turned on !requests %tegn.2
    }
  }
  if ($2- == requests off) {
    if (%requests == on) {
      set %requests off
      msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 $nick turned on !requests %tegn.2
    }
  }
  if ($2- == shoutout on) {
    if (%shoutouts == off) {
      set %shoutouts on
      msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 $nick turned on !requests %tegn.2
    }
  }
  if ($2- == shoutout off) {
    if (%shoutouts == on) {
      set %shoutouts off
      msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 $nick turned off !shoutout %tegn.2
    }
  }
  if ($2- == cut on) {
    if (%cuts == off) {
      set %cuts on
      msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 $nick turned on !cut %tegn.2
    }
  }
  if ($2- == cut off) {
    if (%cuts == on) {
      set %cuts off
      msg $chan %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 $nick turned off !cut %tegn.2
    }
  }
}

;;;;;;;;;;;;;;;
;;QueryScript;;
;;;;;;;;;;;;;;;

on *:OPEN:?: {
  msg $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Hello I'm a bot for #NordicHouseRadio %tegn.2
  msg $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 I will not respond to you, if you need assistance please talk to an op in #NordicHouseRadio %tegn.2
  msg $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Conversation is being closed %tegn.2
  closemsg $nick
}
;;;;;;;;
;;HELP;;
;;;;;;;;
on *:TEXT:!HELP*:# {
  if ($ulevel >= 150) {
    halt
  }
  if ($2- == null) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You have to write what you'll need help with. %tegn.2
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Example: !help I can't hear anything. %tegn.2
    halt
  }
  else {
    msg %staff.chan 8,1-
    msg %staff.chan 8,1-------------------------------
    msg %staff.chan 8,1--0Nick: $nick
    msg %staff.chan 8,1--0Date: $date(dddd mmmm dd $+ $chr(44) yyyy)
    msg %staff.chan 8,1--0Time: $asctime(hh:nn:ss TT)
    msg %staff.chan 8,1--0Channel: $chan
    msg %staff.chan 8,1--0Message: $2-
    msg %staff.chan 8,1-------------------------------
    msg %staff.chan 8,1-
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 The Staff Has Been Paged %tegn.2
  }
}

;;;;;;;;;;;;
;;addstaff;;
;;;;;;;;;;;;
on 400:TEXT:!addstaff*:# {
  if (!$2) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You need to set a level %tegn.2
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Example: !addstaff8 5000 $nick CEO %tegn.2
    halt
  }
  if (!$3) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You need to set a nick %tegn.2
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Example: !addstaff 500 8$nick0 CEO %tegn.2
    halt
  }
  if (!$4) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You need to set info %tegn.2
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Example: !addstaff 500 $nick 8CEO0 %tegn.2
    halt
  }
  if ($2 > 300) {
    set %setlevel 350
  }
  else {
    set %setlevel 250
  }
  guser $2 $3 $4-
  msg Q chanlev #NordicHouseRadio $3 +gv
  notice $3 %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You have been added to the staff channel %tegn.2
}
;;;;;;;;;;;;;;;;
;;deletedstaff;;
;;;;;;;;;;;;;;;;

on 400:TEXT:!deletestaff*:# {
  if (!$2) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 You need to add a nick %tegn.2
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Example: !deletestaff 8$nick %tegn.2
    halt
  }
  ruser $2 2
  msg Q chanlev #NordicHouseRadio $2 -gv
  notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 $2 has been deleted from the staff %tegn.2
  mode $chan -v $2
}
;;;;;;;;;;;;;;
;;djcommands;;
;;;;;;;;;;;;;;

on *:TEXT:!djcommands:# {
  if ($ulevel < 199) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Sorry you do not have permission to access this command %tegn.2
    halt
  }
  if ($ulevel > 199) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2
    notice $nick 8( 0Requests - !requests on/off %tegn.2
    notice $nick 8( 0Shoutouts - !shoutouts on/off %tegn.2
    notice $nick 8( 0Cuts - !cut on/off %tegn.2
    notice $nick 8( 0Onair - !onair %tegn.2
    notice $nick 8( 0Offair - !offair %tegn.2
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2
  }
}
;;;;;;;;;;;;;;;;;;;
;;managercommands;;
;;;;;;;;;;;;;;;;;;;
!o
on *:TEXT:!managercommands:# {
  if ($ulevel < 199) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Sorry you do not have permission access this command %tegn.2
    halt
  }
  if ($ulevel > 199) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2
    notice $nick 8( 0Override Requests - !override requests on/off %tegn.2
    notice $nick 8( 0Override Shoutouts - !override shoutouts on/off %tegn.2
    notice $nick 8( 0Override Cuts - !override cut on/off %tegn.2
    notice $nick 8( 0Override Offair - !override offair %tegn.2
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2
  }
}

;;;;;;;;;;;;;;
;;mecommands;;
;;;;;;;;;;;;;;

on *:TEXT:!ownercommands:# {
  if ($ulevel < 400) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Sorry you do not have permission to access this command %tegn.2
    halt
  }
  if ($ulevel > 400) {
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2
    notice $nick 8( 0Add Staff - !staff add/delete %tegn.2
    notice $nick 8( 0Add Sponsors - !sponsor add/delete %tegn.2
    notice $nick 8( 0Add Custom - !custom add/delete %tegn.2
    notice $nick 8( 0Bot Channels - !channel add/delete %tegn.2
    notice $nick %tegn.1 $+ %radio.navn $+ %tegn.2
  }
}
;;;;;;;;;
;;power;;
;;;;;;;;;
on 400:TEXT:!power:# {
  set %channelpower $chan
  pwr
}
alias pwr {
  var %s = $scon(0),%g = 1
  while (%g <= %s) {
    scid $scon(%g)
    var %f = $chan(0),%opped,%voiced,%total
    set %network $network
    inc %total $chan(0)
    while (%f) {
      if ($me isop $chan(%f)) {
        inc %opped
      }
      elseif ($me isvoice $chan(%f)) {
        inc %voiced
      }
      dec %f
      var %regular = $calc(%total - (%opped + %voiced))
    }
    inc %g
    scid -r
    msg %channelpower %tegn.1 $+ %radio.navn $+ %tegn.2
    msg %channelpower %tegn.1Network %tegn.2  0× %tegn.1 %network %tegn.2
    msg %channelpower %tegn.1Total Channels %tegn.2  %tegn.midt %tegn.1 %total %tegn.2
    msg %channelpower %tegn.1Opped Status %tegn.2  %tegn.midt %tegn.1 %opped %tegn.2
    msg %channelpower %tegn.1Voiced Status %tegn.2  %tegn.midt %tegn.1 %voiced %tegn.2
    msg %channelpower %tegn.1Regular Status %tegn.2  %tegn.midt %tegn.1 %regular %tegn.2
    msg %channelpower %tegn.1 $+ %radio.navn $+ %tegn.2
  }
  unset %network
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;timer Command
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
on *:SOCKOPEN:timer1:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:timer1:{
  if ($sockerr > 0) {
    msg %ask.chan %tegn.1 $+ %radio.name $+ %tegn.2 %tegn.midt %tegn.1 Stream Is Offline %tegn.2
    return
  }
  :nextread
  sockread -f %scasttemp1
  if ($sockbr == 0) return
  if (%scasttemp1 == $null) %scasttemp1 = empty
  set %scasttemp1 $remove(%scasttemp1,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
  if ((HTTP/1.* !iswm %scasttemp1) && (content-type* !iswm %scasttemp1) && (%scasttemp1 != empty)) {
    set %tstatus1 $gettok(%scasttemp1,2,44)    
    set %tasong $gettok(%scasttemp1,7-,44)
    set %tlisteners1 $gettok(%scasttemp1,1,44)
    set %tpeak1 $gettok(%scasttemp1,3,44)
    set %tsong1 $replace(%asong,&,$chr(38),',$chr(39))
  }
  goto nextread
}
on *:sockclose:timer1:{
  if (%status1 == 0) {
    msg %ask.chan %tegn.1 $+ %radio.navn $+ %tegn.2 0× %tegn.1 Stream Is Offline, Ask a DJ to go on %tegn.2
  }
  else {
    notice %ask.nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Stream: http:// $+ %serverip1 $+ : $+ %port1 $+ /listen.pls × DJ: %dj 8)
    notice %ask.nick %tegn.1 $+ %radio.navn $+ %tegn.2 %tegn.midt %tegn.1 Song: %tsong1 %tegn.midt Listeners: %tlisteners1 $+ / $+ %max.listeners %tegn.midt Peak: %tpeak1 %tegn.2
  }
} 

Comments

Sign in to comment.
ProIcons   -  Jan 14, 2012

/guser 500 Your.IRC.NICKNAME.HERE 2 CEO

 Respond  
TPC   -  Jan 13, 2012

ok how do i make myself owner? ive tried always
i tried using this / guser 500 ditnick 2 CEO"
help please asap

 Respond  
MashhitDK   -  Nov 03, 2011

Remind Me on site StonaJakey will hook you up maybe

 Respond  
StonaJakey   -  Nov 03, 2011

anyone care to edit this so just the command can be used in other channels but not the auto announce? ive tried a few times but ive not been able to finish it without breaking the script due to my minimal code knowledge.

 Respond  
damdman   -  Feb 15, 2011

wait, how do you identify as the owner to the script? i cant seem to figure it out...

 Respond  
MashhitDK   -  Dec 28, 2010

Please note: This isn't My script... just "My edit" all credits goto Xerrion
Also... not all the commands are working... I noticed going threw the commands that some of the "!ownercommands" ain't there all tho listed when doing the !ownercommands

on *:connect: { if (%anti-idle == $true) { .timeridle 0 120 /raw pong FD411636 } }
on *:load:{
  ;*** REMEMBER TO SET THE VARs BELOW !
  ;* CHANNELs the commands will work on
  set %ShoutCast_CHANNELs #SRU,#GreenRoom,#420Project.org
  ;* IP to the server
  set %ShoutCast_IP 420Project.org
  ;* PORT
  set %ShoutCast_PORT 8000
  ;* START SIGN
  set %ShoutCast_SIGN.1 14[03
  ;* END SIGN
  set %ShoutCast_SIGN.2 14]
  ;* MIDDLE SIGN
  set %ShoutCast_SIGN.MiD 15-5#15-
  ;* Radio channel
  set %ShoutCast_Radio.CHAN #420Project.org
  ;* Radio name
  set %ShoutCast_Radio.Name 420Project Radio
  ;* Radio link ( Tune in link )
  set %ShoutCast_Radio.Link http://420project.org:8000/listen.pls
  ;* MaX listeners
  set %ShoutCast_MaX.Listeners 32
  ;* Staff CHANNEL
  set %ShoutCast_Staff.CHAN #SRU-HiDDEN
  ;*** Original download link http://www.hawkee.com/snippet/5870/
  echo ShoutCast Script v1.4 by XERRiON @ #NordicHouseRadio 15( Modified by The Danish IRC NUB 14aka MashhitDK 15) 4- Remember to change the variables in the script ! ! ! - ALL CREDITs GOTO 2XERRiON @ 3#NordicHouseRadio
}
menu * {
  Anti-Idle
  .On:/timeridle 0 120 anti-idle | Set %anti-idle $true
  .Off:/timeridle off | Set %anti-idle $false
}

on *:JOIN:%ShoutCast_Radio.CHAN: {
  if ($nick == $me) || ($me ison %ShoutCast_Staff.CHAN) { JOIN %ShoutCast_Staff.CHAN | halt }
  notice $nick %ShoutCast_SIGN.1#NordicHouseRadio $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) Welcome to $+(3,%ShoutCast_Radio.CHAN,) Where we bring music to you 24/7 $+(%ShoutCast_SIGN.1,) Type !Commands to see a list of commands $+(%ShoutCast_SIGN.2,)
  if ($ulevel >= 100) { var %info $ulist($address($nick,1),$ulevel,1).info | notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) $nick $+ , is %info $+(%ShoutCast_SIGN.2,) }
}
on *:NICK: {
  if ($nick == %DJ) { set %DJ $newnick | halt | amsg $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) 3DJ $+(2,$nick,) changed his name to $+(2,$newnick,) }
}
on *:TEXT:!*:%ShoutCast_CHANNELs: {
  ;******* DON'T DO ANYTHiNG SECTiON
  ;*** DON'T DO ANYTHING IF IT IS
  if (Guest isin $nick) || (IdleRPG isin $nick) || (NickServ isin $nick) || (ChanServ isin $nick) || (Global isin $nick) { halt }
  ;*** DON'T DO ANYTHiNG IF ON CHANNELs
  if ($chan == #SRU.Pre) || ($chan == #SRU.Tracer) || ($chan == #SRU.TorrentInfo) { halt }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !Power
  if ($1 == !Power) && ($ulevel >= 400) { set %channelpower $chan | pwr | halt }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !Shoutcast / !SC / !COMAMNDs
  elseif ($1 == !shoutcast) || ($1 == !SC) {
    notice $nick $+(%ShoutCast_SIGN.1,) Shoutcast Commands 14- $+(2,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,)
    notice $nick $+(%ShoutCast_SIGN.1,) Stream $+(%ShoutCast_SIGN.2,) !Stream
    notice $nick $+(%ShoutCast_SIGN.1,) Song $+(%ShoutCast_SIGN.2,) !Song
    notice $nick $+(%ShoutCast_SIGN.1,) Listeners $+(%ShoutCast_SIGN.2,) !Listeners
    notice $nick $+(%ShoutCast_SIGN.1,) DJ $+(%ShoutCast_SIGN.2,) !DJ
    notice $nick $+(%ShoutCast_SIGN.1,) Shoutout $+(%ShoutCast_SIGN.2,) !ShoutOut
    notice $nick $+(%ShoutCast_SIGN.1,) Request $+(%ShoutCast_SIGN.2,) !Request
    notice $nick $+(%ShoutCast_SIGN.1,) Cut $+(%ShoutCast_SIGN.2,) !Cut
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !SHOUTOUT
  elseif ($1 == !shoutout) || ($1 == !SO) && ($chan == #420Project.org) {
    ;******* ERROR SECTiON
    ;*** NO DJ
    if (!%DJ) { .notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) No 3DJ is on | halt }
    ;*** ERROR ( SHOUTOUTs OFF + SYNTAX FAiL )
    elseif (%shoutouts == off) || (!$2) {
      if (%shoutouts == off) { msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) This command was turned off by $+(3DJ-2,%DJ,) $+(%ShoutCast_SIGN.2,) }
      if (!$2) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) You did not submit an actual ShoutOut $+(%ShoutCast_SIGN.1,) Example: !ShoutOut %ShoutCast_Radio.Name is the bomb $+(%ShoutCast_SIGN.2,) }
      halt
    }
    ;*********************************************************************************************************************************
    ;*** ON/OFF
    elseif (($2 == on) || ($2 == off)) && ($nick == %DJ) {
      if ($2 == on) { set %shoutouts on
        notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) You turned the command $+(3,$upper($1),) 9on $+(%ShoutCast_SIGN.2,)
        msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) $+(3DJ-2,%DJ,) turned the command $+(3,$upper($1),) 9on $+(%ShoutCast_SIGN.2,)
      }
      elseif ($2 == off) && ($nick == %DJ) { set %shoutouts off
        notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) You turned the command $+(3,$upper($1),) 4off $+(%ShoutCast_SIGN.2,)
        msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) $+(3DJ-2,%DJ,) turned the command $+(3,$upper($1),) 4off $+(%ShoutCast_SIGN.2,)
      }
      halt
    }
    ;*********************************************************************************************************************************
    ;*** SPAM ( 1 time every minute )
    if (%spam.shoutouts. [ $+ [ $nick ] ] == 1) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You can only used this command once every minute | halt }
    elseif ($nick == %DJ) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You nimrod, you cant send a shouout to your self :P }
    else { set -u60 %spam.shoutouts. [ $+ [ $nick ] ] 1
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) Your shoutout has been sent to $+(3DJ-2,%DJ,)
      msg %DJ $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 9ShoutOut by $+(02,$nick,) $+(%ShoutCast_SIGN.MiD,) $2-
    }
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !REQUEST
  elseif ($1 == !request) {
    ;******* ERROR SECTiON
    ;*** NO DJ
    if (!%DJ) { .notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) No 3DJ is on | halt }
    ;*** ERROR ( REQUESTs OFF + SYNTAX FAiL )
    if (%requests == off) || (!$2) {
      if (%requests == off) { msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) This command was turned off by $+(3DJ-2,%DJ,) $+(%ShoutCast_SIGN.2,) }
      if (!$2) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You did 4not submit an actual request $+(%ShoutCast_SIGN.1,) Example: !Request %song1 $+(%ShoutCast_SIGN.2,) }
      halt
    }
    ;*********************************************************************************************************************************
    ;*** !REQUEST ON/OFF
    elseif (($2 == on) || ($2 == off)) && ($nick == %DJ) {
      if ($2 == on) { set %requests on
        notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) You turned the command $+(3,$1,) 9on
        msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(3DJ-2,%DJ,) turned the command $+(3,$1,) 9on
      }
      elseif ($2 == off) { set %requests off
        notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) You turned the command $+(3,$1,) 4off
        msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(3DJ-2,%DJ,) turned the command $+(3,$1,) 4off
      }
      halt
    }
    ;*********************************************************************************************************************************
    ;*** SPAM ( 1 time every minute )
    elseif (%spam.request. [ $+ [ $nick ] ] == 1) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) You can 14"only14" used this command once every minute | halt }
    if ($nick == %DJ) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) You nimrod, you cant send a request to your self :P }
    else { set -u60 %spam.request. [ $+ [ $nick ] ] 1
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) Your request has been sent to $+(3DJ-2,%DJ,)
      msg %DJ $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 9Request by $+(02,$nick,) $+(%ShoutCast_SIGN.MiD,) $2-
    }
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !CUT
  elseif ($1 == !cut) {
    ;******* ERROR SECTiON
    ;*** NO DJ
    if (!%DJ) { .notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) No 3DJ is on | halt }
    ;*** ERROR ( REQUESTs OFF + SYNTAX FAiL )
    if (%cuts == off) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) This command was turned off by $+(3DJ-2,%DJ,) | halt }
    ;*********************************************************************************************************************************
    ;******* ON/OFF
    elseif (($2 == on) || ($2 == off)) && ($nick == %DJ) {
      ;*** ON
      if ($2 == on) { set %cuts on
        notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) You turned the command $+(3,$1,) 9on
        msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) $+(3DJ-2,%DJ,) turned the command $+(3,$1,) 9on
        halt
      }
      ;*** OFF
      elseif ($2 == off) { set %cuts off
        notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) You turned the command $+(3,$1,) 4off
        msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(3DJ-2,%DJ,) turned the command $+(3,$1,) 4off
      }
      halt
    }
    elseif (%spam.cuts. [ $+ [ $nick ] ] == 1) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You can 14"only14" used this command once every minute }
    elseif ($nick == %DJ) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You nimrod, you cant cut your self }
    else { set -u60 %spam.cuts. [ $+ [ $nick ] ] 1
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) Your cut request has been sent to $+(3DJ-2,%DJ,)
      msg %DJ $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 9Request to 4cut14/4skip by $+(02,$nick,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) Request to cut the song has been sent by $nick $+(%ShoutCast_SIGN.2,)
    }
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !STEAM / !CUT / !LISTENERD
  elseif ($1 == !stream) || ($1 == !dj) || ($1 == !song) || ($1 == !np) || ($1 == !listeners) {
    ;*** ERROR ( NO DJ )
    if (!%DJ) { msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) No 3DJ is on | halt }
    set %ask.nick $nick
    set %ask.chan $chan
    ;*********************************************************************************************************************************
    ;*** !STEAM
    if ($1 == !stream) {
      sockclose server1
      sockopen server1 %ShoutCast_IP %ShoutCast_PORT
    }
    ;*********************************************************************************************************************************
    ;*** !DJ
    elseif ($1 == !dj) {
      if ($nick == %DJ) { set %DJ-MSG $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) 3DJ $+(2,$nick,) 15ooO( You're the 3DJ that 15) is annihilating the radio waves }
      else { set %DJ-MSG $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) 5DJ $+(2,%DJ,) is on air, annihilating the radio waves }
      set %DJ-iNFO ON | sockclose server1 | sockopen server1 %ShoutCast_IP %ShoutCast_PORT
    }
    ;*********************************************************************************************************************************
    ;*** !SONG
    elseif ($1 == !song) || ($1 == !np) {
      sockclose song1
      sockopen song1 %ShoutCast_IP %ShoutCast_PORT
    }
    ;*********************************************************************************************************************************
    ;*** !CUT
    elseif ($1 == !listeners) {
      sockclose listeners1
      sockopen listeners1 %ShoutCast_IP %ShoutCast_PORT
    }
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !ONAIR
  elseif ($1 == !onair) && ($ulevel >= 200) {
    ;****** ERROR SECTiON
    ;*** NiCK already DJ'iNG
    if ($nick == %DJ) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) You're already on air }
    ;*** Someone else is DJ'iNG
    elseif (%DJ !== $null) { msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(3DJ-2,%DJ,) is on air }  
    else { set %DJ $nick
      msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(3DJ-2,%DJ,) is now on air, $iif($2,with $2-,$null)
      ; TOPIC $chan $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(3DJ-2,%DJ,) is now on air, $iif($2,with $2-,$null)
    }
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !OFFAIR
  elseif ($1 == !offair) && ($ulevel >= 200) && ($nick == %DJ) {
    unset %requests %shoutouts %cuts %DJ
    msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(3DJ-2,%DJ,) is now of air. $+(%ShoutCast_SIGN.2,)
    ;    TOPIC $chan $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) No DJ online right now
    unset %DJ
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !OVERRIDE ( Override commands )
  elseif ($1 == !override) && ($ulevel >= 400) {
    ;*** ERROR ( Syntax FAiL )
    if (!$2) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) Please choose a actuall $+(3,$1,) command tegn.1 Example !Override Offair $+(%ShoutCast_SIGN.2,) | halt }
    ;*********************************************************************************************************************************
    ;*** Request ON
    if ($2- == requests on) && ((%requests == off) || && (!%requests)) { set %requests on
      msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(2,$nick,) turned 9on 3!Requests
    }
    ;*********************************************************************************************************************************
    ;*** Request OFF
    if ($2- == requests off) && ((%requests == on) || (!%requests)) { set %requests off
      msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(2,$nick,) turned 4off 3!Requests
    }
    ;*********************************************************************************************************************************
    ;*** ShoutOut ON
    if ($2- == shoutout on) && ((%shoutouts == off) || (!%shoutouts)) { set %shoutouts on
      msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(2,$nick,) turned 9on 3!Shoutout
    }
    ;*********************************************************************************************************************************
    ;*** ShoutOut OFF
    elseif (off isin $3-) && ((%shoutouts == on) || (!%shoutouts)) { set %shoutouts off
      msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) $+(2,$nick,) turned 4off 3!Shoutout
    }
    ;*********************************************************************************************************************************
    ;*** Cut ON
    if ($2- == cut on) && ((%cuts == off) || (!%cuts)) { set %cuts on
      msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(2,$nick,) turned 9on 3!Cut
    }
    ;*********************************************************************************************************************************
    ;*** Cut OFF
    if ($2- == cut off) && ((%cuts == on) || (!%cuts)) { set %cuts off
      msg # $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(2,$nick,) turned 4off 3!Cut
    }
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !HELP
  elseif ($1 == !HELP) && ($ulevel <= 150) {
    if (!$2) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You have to write what you'll need help with. $+(%ShoutCast_SIGN.1,) Example: !help I can't hear anything. $+(%ShoutCast_SIGN.2,) }
    elseif ($me ison %ShoutCast_Staff.CHAN) {
      msg %ShoutCast_Staff.CHAN 9,1---------------------------------------------------------------------------------------------
      msg %ShoutCast_Staff.CHAN 9,1--3Nick: $+(2,$nick,) 3Channel: $+(3,$chan,)
      msg %ShoutCast_Staff.CHAN 9,1--3Time:14 $asctime(hh:nn:ss TT) 3Date:15 $date(dddd mmmm dd $+ $chr(44) yyyy)
      msg %ShoutCast_Staff.CHAN 9,1--3Message 15(4HELP15) 3:0 $2-
      msg %ShoutCast_Staff.CHAN 9,1---------------------------------------------------------------------------------------------
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 9DONE $+(%ShoutCast_SIGN.MiD,) Staff has been paged
    }
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !AddStaff
  elseif ($1 == !addstaff) && ($ulevel >= 400) {
    if (!$2) || ($2 !isnum) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You need to set a level $+(%ShoutCast_SIGN.1,) Example: !Addstaff 500 $nick CEO $+(%ShoutCast_SIGN.2,) }
    elseif (!$3) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You need to set a nick $+(%ShoutCast_SIGN.1,) Example: !Addstaff 500 $nick CEO $+(%ShoutCast_SIGN.2,) }
    elseif (!$4) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You need to set info $+(%ShoutCast_SIGN.1,) Example: !Addstaff 500 $nick CEO $+(%ShoutCast_SIGN.2,) }
    else { MODE %ShoutCast_Radio.CHAN +v $3 | MODE %ShoutCast_Staff.CHAN +I $3 | guser $2 $3 $4- | notice $3 $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) You have been 9added to the staff channel }
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** DeleteStaff
  elseif ($1 == !deletestaff) && ($ulevel >= 400) {
    if (!$2) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) You need to add a nick $+(%ShoutCast_SIGN.1,) Example: !DeleteStaff $nick $+(%ShoutCast_SIGN.2,) | halt }
    else { ruser $2 2
      MODE %ShoutCast_Staff.CHAN +k-I $2 $2 | MODE %ShoutCast_Radio.CHAN -v $2
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(2,$2,) has been 4deleted from the staff channel
    }
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !DJCOMMANDs
  elseif ($1 == !djcommands) || ($1 == !djcmds) {
    if ($ulevel < 199) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) Sorry you do not have permission to access this command }
    elseif ($ulevel > 199) {
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Requests - !requests on/off $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Shoutouts - !shoutouts on/off $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Cuts - !cut on/off $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Onair - !onair $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Offair - !offair $+(%ShoutCast_SIGN.2,)
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,)
    }
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !ManagerCommands
  elseif ($1 == !managercommands) && ($ulevel >= 400) {
    if ($ulevel < 199) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) Sorry you do not have permission access this command }
    elseif ($ulevel > 199) {
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Override Requests - !override requests on/off $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Override Shoutouts - !override shoutouts on/off $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Override Cuts - !override cut on/off $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Override Offair - !override offair $+(%ShoutCast_SIGN.2,)
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Link,) $+(%ShoutCast_SIGN.2,)
    }
    halt
  }
  ;******************************************************************************************************************************************************************************************************************************************************************
  ;*** !OWNERCOMAMNDs
  elseif ($1 == !ownercommands) {
    if ($ulevel < 400) { notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 4ERROR! $+(%ShoutCast_SIGN.MiD,) Sorry you do not have permission to access this command }
    elseif ($ulevel > 400) {
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Add Staff - !staff add/delete $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Add Sponsors - !sponsor add/delete $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Add Custom - !custom add/delete $+(%ShoutCast_SIGN.2,)
      notice $nick 8( 0Bot Channels - !channel add/delete $+(%ShoutCast_SIGN.2,)
      notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,)
    }
    halt
  }
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;!server Command ( !Stream )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
on *:SOCKOPEN:server1:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:server1:{
  if ($sockerr > 0) {
    msg %ask.chan $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) Stream Is Offline $+(%ShoutCast_SIGN.2,)
    return
  }
  :nextread
  sockread -f %scasttemp1
  if ($sockbr == 0) return
  if (%scasttemp1 == $null) %scasttemp1 = empty
  set %scasttemp1 $remove(%scasttemp1,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
  if ((HTTP/1.* !iswm %scasttemp1) && (content-type* !iswm %scasttemp1) && (%scasttemp1 != empty)) {
    set %status1 $gettok(%scasttemp1,2,44)    
    set %asong $gettok(%scasttemp1,7-,44)
    set %listeners1 $gettok(%scasttemp1,1,44)
    set %peak1 $gettok(%scasttemp1,3,44)
    set %song1 $replace(%asong,&,$chr(38),',$chr(39))
  }
  goto nextread
}
on *:sockclose:server1:{
  if (%status1 == 0) {
    msg %ask.chan $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) Stream Is Offline $+(%ShoutCast_SIGN.2,)
  }
  if (%DJ-iNFO == ON) { unset %DJ-iNFO
    msg %ask.chan %DJ-MSG | unset %DJ-MSG
    msg %ask.chan 3Now playing: $+(14"09,%song1,14") $+(%ShoutCast_SIGN.MiD,) 3Listeners: $+(09,%listeners1,14/09,%ShoutCast_MaX.Listeners) 14[3Peak: $+(09,%peak1,14]) 3Stream: $+(2,%ShoutCast_Radio.Link,)
  }
  else {
    msg %ask.chan $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) 3Stream: $+(9,%ShoutCast_Radio.Link,) $+(%ShoutCast_SIGN.2,)
    msg %ask.chan 3Now playing: $+(14"09,%song1,14") $+(%ShoutCast_SIGN.MiD,) 3Listeners: $+(09,%listeners1,14/09,%ShoutCast_MaX.Listeners,) $+(%ShoutCast_SIGN.1,3Peak: %peak1,%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) 3DJ: $+(,%DJ,) 
  }
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;!server Command ( !Song )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
on *:SOCKOPEN:song1:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:song1:{
  if ($sockerr > 0) {
    notice $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) Stream Is Offline $+(%ShoutCast_SIGN.2,)
    return
  }
  :nextread
  sockread -f %scasttemp1
  if ($sockbr == 0) return
  if (%scasttemp1 == $null) %scasttemp1 = empty
  set %scasttemp1 $remove(%scasttemp1,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
  if ((HTTP/1.* !iswm %scasttemp1) && (content-type* !iswm %scasttemp1) && (%scasttemp1 != empty)) {
    set %status1 $gettok(%scasttemp1,2,44)    
    set %asong1 $gettok(%scasttemp1,7-,44)
    set %listeners1 $gettok(%scasttemp1,1,44)
    set %peak1 $gettok(%scasttemp1,3,44)
    set %song1 $replace(%asong1,&,$chr(38),',$chr(39))
  }
  goto nextread
}
on *:sockclose:song1:{
  if (%status1 == 0) { msg %ask.chan $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) Stream Is Offline $+(%ShoutCast_SIGN.2,) }
  if (%DJ-RELAY == ON) { unset %DJ-RELAY | scid 1 msg #SRU 3Now playing: $+(14"09,%song1,14") $+(%ShoutCast_SIGN.1,) $+(2,http://420project.org:8000/listen.pls,) $+(%ShoutCast_SIGN.2,) }
  else { msg %ask.chan 3Now playing: $+(14"09,%song1,14") $+(%ShoutCast_SIGN.1,) $+(2,http://420project.org:8000/listen.pls,) $+(%ShoutCast_SIGN.2,) }
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;!listeners Command ( !Listeners )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
on *:SOCKOPEN:listeners1:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:listeners1:{
  if ($sockerr > 0) return
  :nextread
  sockread -f %scasttemp1
  if ($sockbr == 0) return
  if (%scasttemp1 == $null) %scasttemp1 = empty
  set %scasttemp1 $remove(%scasttemp1,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
  if ((HTTP/1.* !iswm %scasttemp1) && (content-type* !iswm %scasttemp1) && (%scasttemp1 != empty)) {
    set %status1 $gettok(%scasttemp1,2,44)    
    set %asong1 $gettok(%scasttemp1,7-,44)
    set %listeners1 $gettok(%scasttemp1,1,44)
    set %peak1 $gettok(%scasttemp1,3,44)
    set %song1 $replace(%asong1,&,$chr(38),',$chr(39))
  }
  goto nextread
}
on *:sockclose:listeners1:{
  if (%status1 == 0) {
    msg %ask.chan $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) Stream Is Offline $+(%ShoutCast_SIGN.2,)
  }
  else { msg %ask.chan $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) 3Listeners: $+(09,%listeners1,14/09,%ShoutCast_MaX.Listeners,) $+(%ShoutCast_SIGN.2,)
  }
}

;;;;;;;;;;;;;;;
;;QueryScript;;
;;;;;;;;;;;;;;;

on *:OPEN:?: {
  msg $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) Hello I'm a bot for $+(3,%ShoutCast_Radio.CHAN,)
  msg $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Link,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) I will not respond to you, if you need assistance please talk to an op in $+(3,%ShoutCast_Radio.CHAN,)
  msg $nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) Conversation is being closed
  closemsg $nick
}

;;;;;;;;;
;;power;;
;;;;;;;;;
alias pwr {
  var %s = $scon(0),%g = 1
  while (%g <= %s) {
    scid $scon(%g)
    var %f = $chan(0),%opped,%voiced,%total
    set %network $network
    inc %total $chan(0)
    while (%f) {
      if ($me isop $chan(%f)) {
        inc %opped
      }
      elseif ($me isvoice $chan(%f)) {
        inc %voiced
      }
      dec %f
      var %regular = $calc(%total - (%opped + %voiced))
    }
    inc %g
    scid -r
    msg %channelpower $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,)
    msg %channelpower %ShoutCast_SIGN.1Network $+(%ShoutCast_SIGN.2,)  0× $+(%ShoutCast_SIGN.1,) %network $+(%ShoutCast_SIGN.2,)
    msg %channelpower %ShoutCast_SIGN.1Total Channels $+(%ShoutCast_SIGN.2,)  $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) %total $+(%ShoutCast_SIGN.2,)
    msg %channelpower %ShoutCast_SIGN.1Opped Status $+(%ShoutCast_SIGN.2,)  $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) %opped $+(%ShoutCast_SIGN.2,)
    msg %channelpower %ShoutCast_SIGN.1Voiced Status $+(%ShoutCast_SIGN.2,)  $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) %voiced $+(%ShoutCast_SIGN.2,)
    msg %channelpower %ShoutCast_SIGN.1Regular Status $+(%ShoutCast_SIGN.2,)  $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) %regular $+(%ShoutCast_SIGN.2,)
    msg %channelpower $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,)
  }
  unset %network %channelpower
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;timer Command
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
on *:SOCKOPEN:timer1:{
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla
  sockwrite -n $sockname $crlf
}
on *:sockread:timer1:{
  if ($sockerr > 0) {
    msg %ask.chan $+(%ShoutCast_SIGN.1,) %radio.name $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) Stream Is Offline $+(%ShoutCast_SIGN.2,)
    return
  }
  :nextread
  sockread -f %scasttemp1
  if ($sockbr == 0) return
  if (%scasttemp1 == $null) %scasttemp1 = empty
  set %scasttemp1 $remove(%scasttemp1,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
  if ((HTTP/1.* !iswm %scasttemp1) && (content-type* !iswm %scasttemp1) && (%scasttemp1 != empty)) {
    set %ShoutCast_TiMER.STATUS $gettok(%scasttemp1,2,44)    
    set %ShoutCast_TiMER.aSONG $gettok(%scasttemp1,7-,44)
    set %ShoutCast_TiMER.Listeners1 $gettok(%scasttemp1,1,44)
    set %ShoutCast_TiMER.PEAK $gettok(%scasttemp1,3,44)
    set %ShoutCast_TiMER.SONG $replace(%asong,&,$chr(38),',$chr(39))
  }
  goto nextread
}
on *:sockclose:timer1:{
  if (%status1 == 0) { msg %ask.chan $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) 0× $+(%ShoutCast_SIGN.1,) Stream Is Offline, Ask a DJ to go on $+(%ShoutCast_SIGN.2,) }
  else {
    notice %ask.nick $+(%ShoutCast_SIGN.1,) $+(9,%ShoutCast_Radio.Name,) $+(%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) $+(%ShoutCast_SIGN.1,) 3Stream: $+(9,%ShoutCast_Radio.Link,) $+(%ShoutCast_SIGN.2,)
    notice %ask.nick 3Song: %ShoutCast_TiMER.SONG $+(%ShoutCast_SIGN.MiD,) 3Listeners: $+(09,%ShoutCast_TiMER.Listeners1,14/09%ShoutCast_MaX.Listeners) $+(%ShoutCast_SIGN.2,3Peak: %ShoutCast_TiMER.PEAK,%ShoutCast_SIGN.2,) $+(%ShoutCast_SIGN.MiD,) 3DJ: %DJ
  }
}

And you might need to go threw the code to edit it a bit... not sure if I removed everything that is custom made to suit Me.

  • But the above script will work..

[size=16]Remember to replace the variables to "you're" server[/size]

 Respond  
MashhitDK   -  Dec 28, 2010

I got it working here...

I'll post My edit when I've finished making it to one on *:TEXT:

 Respond  
Puma-Lee   -  Dec 20, 2010

doesnt works on my room who can help me ?

 Respond  
SnoooP   -  Jul 22, 2010

I used this a while back and it worked fine for me, i'll load it again and see if it gives me an error

 Respond  
Raicho Ichisada   -  Jul 21, 2010

work fine 10/10 :D

 Respond  
Hottwire   -  Jan 03, 2010

ok i figured it out :) 10/10 for it :)

 Respond  
xplo   -  Oct 19, 2009

Great script, but needs a bit of improvement, and levels vary too much.
There should be 3 levels.

  • = everyone
    Admin = Radio admins
    Dj = Radio Djs

less confusing. :)

 Respond  
ProIcons   -  Jul 25, 2009

It seems good:) I have do one of my self and on Grnet has ranked like the Best:D 10/10 Mine, I Don't user yours, I will and i rank it:D

 Respond  
DJ_Sims   -  Apr 04, 2009

Great script and very adaptable, would be nice if it was more user friendly though for newbie scripters.

 Respond  
DJ_CJ   -  Apr 04, 2009

1 of the best shoutcast scripts ever just 1 or 2 problems which i have sorted but its a very very very good script

 Respond  
Fossa   -  Mar 16, 2009

Internet radio, www.shoutcast.com

 Respond  
PATX   -  Mar 15, 2009

eh... whats is shoutcast script? i dont get the point.

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.