ShoutCast Script v1.6

Platform:  mIRC
Published  Mar 15, 2009
Updated  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

Code

 

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..

Remember to replace the variables to "you're" server
 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  
Xpl0reR   -  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.