| Welcome to Multishow. We hope you enjoy your visit. You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free. Join our community! If you're already a member please log in to your account to access all of our features: |
| mIRC Shoutcast Script | |
|---|---|
| Topic Started: Apr 25 2009, 08:39 PM (34 Views) | |
| JOBNED1 | Apr 25 2009, 08:39 PM Post #1 |
|
Head Administrator
![]()
|
;----[ Advanced SHOUTcast DJ Bot ]--------------- ; Filename. : shoutcast.mrc ; Release...: v1.0 on August 2004 ; Author....: m.aditya a.k.a [|Red-X|] ; Location..: Jakarta - Indonesia ; Bugreport.: http://www.hawkee.com/ ; E-mail....: m_aditya@kaskus.com ; Two shoutcast servers on Multi Servers/Channels ;------------------------------------------------ ;start here alias connect_ { if (%shoutcast.currentdj [ $+ [ $cid ] ] == n/a) { unset %shoutcast.currentdj [ $+ [ $cid ] ] } if (%shoutcast.channel [ $+ [ $cid ] ]) join %shoutcast.channel [ $+ [ $cid ] ] %shoutcast.pass [ $+ [ $cid ] ] = $+($r(a,z),$r(10001,19999),$r(a,z)) } alias addsong hadd song $1 $2- alias delsong hdel song $1 alias hdj hadd dj $+($cid,$1) $2 $3- alias ddj hdel dj $+($cid,$1) alias ownercmd return $c(resetserver) - $c(addserver) <server> - $c(dj) [add|del] <nick> - $c(up) - $c(down) alias -l resetcurrentdj if (%shoutcast.currentdj [ $+ [ $1 ] ] == n/a) { unset %shoutcast.currentdj [ $+ [ $1 ] ] } alias web return $iif($1,$+(http://,$1,:,$2,/listen.pls),n/a)) alias -l shoutcast.currenttopic return $replace(%shoutcast.channeltopic,<StationName>,$iif($1,$1,n/a),<CurrentDJ>,$iif($2 == n/a,n/a,$2),<server>,$iif($3,$3,n/a),<News>,$iif($4,$4,n/a),<Website>,$iif($5,$5,n/a)) alias -l shoutcast.currentcommand return $replace(%shoutcast.commandformat,<CommandTopic>,Skn $3 $+ $iif($1 == Listeners,Listeners,$iif($1 == peak,Peak Listeners,$iif($1 == bitrate,Bitrate,$iif($1 == song,Song)))),<CommandValue>,$2 $iif($1 == bitrate,Kbps)) alias -l shoutcast.commandformat return <CommandTopic>: <CommandValue> alias -l shoutcast.channeltopic return <StationName> - Current DJ: <CurrentDJ> - Server: <Server> Website: <website> News: <news> alias set.shoutcast.method { if ($2 == dj) { %shoutcast.commscommand [ $+ [ $1 ] ] = $replace(%shoutcast.commandformat,<CommandTopic>,Commands,<CommandValue>, $c(onair) - $c(offair) - $c(addnews) [1|2] <news> - $c(chan) [add|del] <channel>) } else { if (%shoutcast.method [ $+ [ $1 ] ] == 1) { %shoutcast.commscommand [ $+ [ $1 ] ] = $replace(%shoutcast.commandformat,<CommandTopic>,Commands,<CommandValue>,$c(radio) $c(stat) $c(server) $c(dj) $c(listeners) $c(peak) $c(song) $c(bitrate) $c(shoutout) <message> $c(request) <song> $c(website) $c(news) $c(msg) <nick> <message> $c(help) $c(seen) dj <dj'snick> $c(creator)) } else { %shoutcast.commscommand [ $+ [ $1 ] ] = $replace(%shoutcast.commandformat,<CommandTopic>,Commands,<CommandValue>,$c(server) $c(dj) $c(listeners) $c(peak) $c(song) $c(bitrate) $c(shoutout) <message> $c(request) <song> $c(website) $c(news) $c(msg) <nick> <message> $c(help) $c(seen) dj <dj'snick> $c(creator)) } } if ($isid) return %shoutcast.commscommand [ $+ [ $1 ] ] } alias -l set.user.request { var %x = $var(%shoutcast.server*,0) var %i = 1, %shoutcast.server.temp [ $+ [ $1 ] ] while (%i <= %x) { if ($istok(server@website@news,$2,64)) { %shoutcast.server.temp [ $+ [ $1 ] ] = $addtok(%shoutcast.server.temp [ $+ [ $1 ] ],$iif($2,$+($iif($2 == server,http://),%shoutcast. [ $+ [ $+($2,%i) ] ],$iif($2 == server,$+(:,%shoutcast.port [ $+ [ %i ] ],/listen.pls)))),45) } inc %i } if ($istok(server@website@news,$2,64)) { %request.command [ $+ [ $1 ] ] = $replace(%shoutcast.commandformat,<CommandTopic>,$2,<CommandValue>,%shoutcast.server.temp [ $+ [ $1 ] ]) } else { %request.command [ $+ [ $1 ] ] = $replace(%shoutcast.commandformat,<CommandTopic>,$iif($istok(shoutout@request,$2,64),$+($2,$chr(32),from,$chr(32),$3),$2),<CommandValue>,$iif($istok(shoutout@request,$2,64),$iif($4,$4-,n/a),$iif($var($+(%,shoutcast.,$2,$1),1).value == n/a,n/a,$var($+(%,shoutcast.,$2,$1),1).value))) } } alias -l ctrigger { var %s1 = $gettok($1,-1,46) if (stat == %s1) { return Status: $+ $iif($2 == 0,Stream down,Stream Active) Current/Peak/Max.Listeners: $+($3,/,$4,/,$5) Current Song: $7- Bitrate: $6 } elseif (listeners == %s1) { var %shoutcast.clisteners = $+(%shoutcast.listeners. [ $+ [ $2 ] ],$chr(32),with Max.,$chr(32),%shoutcast.maxlisteners. [ $+ [ $2 ] ]) | return $shoutcast.currentcommand(listeners,%shoutcast.clisteners,$3-) } elseif (peak == %s1) { return $shoutcast.currentcommand(peak,%shoutcast.peak. [ $+ [ $2 ] ],$3-) } elseif (bitrate == %s1) { return $shoutcast.currentcommand(bitrate,%shoutcast.bitrate. [ $+ [ $2 ] ],$3-) } elseif (song == %s1) { return $shoutcast.currentcommand(song,%shoutcast.song. [ $+ [ $2 ] ],$3-) } } alias -l reguestchan { if (%reg.chan [ $+ [ $2 ] ]) { %t.chan = %reg.chan [ $+ [ $2 ] ] } var %n = $var(%shoutcast.server*,0), %cz = $chan(0) while (%n) { %s = $var(%shoutcast.server*,%n).value if ($var($+(%,$1,.,$2,%t.chan,%s),1).value != $null) { return $ifmatch } dec %n } } alias sockconnect { set %nsite $var($+($chr(37),shoutcast,.,server,*),0) while (%nsite) { var %a = $var($+($chr(37),shoutcast,.,server,*),%nsite).value, %b = $var($+($chr(37),shoutcast,.,port,%nsite),1).value, %s = $+(shoutcast,.,%a,.,$cid,.,$1) if ($sock(%s).to < 10) { .notice $2 connected to %a can not be proceed..previous request under processing.. | break } elseif (%a) && (%b) && (%s) { echo -s -14 $+ $timestamp connecting to %a $+ : $+ %b | sockclose %s | sockopen %s %a %b } if ($2 == auto) set %autoserve [ $+ [ $+($cid,%a) ] ] ok dec %nsite } } alias -l current.topic { var %i = $var(%shoutcast.currenttopic*,0), %shoutcast.currenttopic.temp while (%i) { %shoutcast.currenttopic.temp = $addtok(%shoutcast.currenttopic.temp,%shoutcast.currenttopic [ $+ [ %i ] ],151) dec %i } return $addtok(Welcome to..,%shoutcast.currenttopic.temp,58) } alias -l setcurrent.topic { var %x = $var(%shoutcast.server*,0) while (%x) { %shoutcast.currenttopic [ $+ [ %x ] ] = $shoutcast.currenttopic(%shoutcast.name [ $+ [ %x ] ],%shoutcast.currentdj [ $+ [ $1 ] ],$web(%shoutcast.server [ $+ [ %x ] ],%shoutcast.port [ $+ [ %x ] ]),%shoutcast.news [ $+ [ %x ] ],%shoutcast.website [ $+ [ %x ] ]) dec %x } } alias -l reportallchan { scid $1 var %i = $chan(0) while (%i) { if ($istok(%shoutcast.channel [ $+ [ $1 ] ],$chan(%i),44)) msg $chan(%i) $2- dec %i } scid -r } alias -l cmd return dj!website!server!commands!news!shoutout!request!stat!listeners!peak!bitrate!song!onair!offair!addnews!chan!resetserver!addserver!restart!msg!radio!help!creator!up!down!seen alias -l c return $+(%shoutcast.trigger,$1) alias shoutcast.version return Advanced SHOUTcast DJ Bot alias -l restart run mirc.exe | exit on !*:join:$(%shoutcast.channel [ $+ [ $cid ] ]): { if (!%onjoin [ $+ [ $cid ] ]) { set -u5 %onjoin [ $+ [ $cid ] ] ! if ($level($address($nick,0)) == asdj) { hdj $nick join $chan $ctime pvoice 10 $chan $nick if ($nick == $owner) { .msg $nick 4@Owner welcome... } if (!$istok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,43)) { .msg $nick Hi..4@DJ pls..login to get the bot access | halt } else { halt } } elseif (%ojgreet [ $+ [ $cid ] ] == on) && (!%onjoin. [ $+ [ $+($cid,$chan,$site) ] ]) { setcurrent.topic $cid set -u600 %onjoin. [ $+ [ $+($cid,$chan,$site) ] ] ! set.shoutcast.method $cid if (%ojnotice [ $+ [ $cid ] ] == 1) { .notice $nick $current.topic .timernot $+ $cid 1 2 .notice $nick %shoutcast.commscommand [ $+ [ $cid ] ] } else { .msg $nick $current.topic | .timermsg $+ $cid 1 2 .msg $nick %shoutcast.commscommand [ $+ [ $cid ] ] } } } } on !*:part:$(%shoutcast.channel [ $+ [ $cid ] ]): { if ($nick == $owner) { halt } hdj $nick part $chan $ctime $1- if (!%part. [ $+ [ $+($cid,$chan) ] ]) { set -u8 %part. [ $+ [ $+($cid,$chan) ] ] 1 | goto next } inc %part. [ $+ [ $+($cid,$chan) ] ] if (%part. [ $+ [ $+($cid,$chan) ] ] >= 3) { halt } :next | if (%ojgreet [ $+ [ $cid ] ] == on) { if ($istok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,43)) && ($level($address($nick,0)) == asdj) { .msg $nick off4@air? } else { .msg $nick thanks f4@r visit our room } } } on !*:nick: { if ($istok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,43)) { %shoutcast.currentdj [ $+ [ $cid ] ] = $reptok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,$newnick,1,43) hdj $nick nick $newnick $ctime if ($nick == $owner) { alias owner return $newnick } if (!%chnick. [ $+ [ $cid ] ]) { set -u5 %chnick. [ $+ [ $cid ] ] ! setcurrent.topic $cid var %n = $comchan($newnick,0) while (%n) { if ($istok(%shoutcast.channel [ $+ [ $cid ] ],$comchan($newnick,%n),44)) { if ($comchan($newnick,%n).op) && (%ontopic [ $+ [ $cid ] ] == on) topic $comchan($newnick,%n) $current.topic else msg $comchan($newnick,%n) $current.topic } dec %n } } } } on ^*:quit: { if ($nick == $owner) { goto end } if ($istok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,43)) && (!%quit. [ $+ [ $cid ] ]) { set -u10 %quit. [ $+ [ $cid ] ] 1 hdj $nick quit $ctime $1- %shoutcast.currentdj [ $+ [ $cid ] ] = $remtok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,1,43) echo $color(info2) -at :: $+ $nick left IRC remove4@ $+ $nick from dj4@list done.. } :end | halt } ;DJ Login on ^!*:text:*:?: { if ($level($address($nick,0)) == asdj) { if ($left($1,1) != $c) { goto end } if (%shoutcast.currentdj [ $+ [ $cid ] ] == n/a) { set %shoutcast.currentdj [ $+ [ $cid ] ] } if ($istok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,43)) { .msg $nick you have been logged..no need to re12@login | goto end } if (%login [ $+ [ $+($cid,$address($nick,0)) ] ] == 3) { .msg $nick you have been 3x login4@failed..sorry. | .ignore -u600 $nick 2 | goto end } inc -u600 %login [ $+ [ $+($cid,$address($nick,0)) ] ] if ($1 == $c(login)) && ($2 == %shoutcast.pass [ $+ [ $cid ] ]) { %shoutcast.currentdj [ $+ [ $cid ] ] = $addtok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,43) hdj $nick signed-in $chan $ctime .msg $nick your login4@accepted .timersendcmd $+ $cid $+ $nick 1 1 .raw privmsg $nick : $+ $set.shoutcast.method($cid,dj) goto end } elseif ($1 != $c(login)) { .msg $nick wrong4@command...type $c(login) <password> } elseif ($2 != %shoutcast.pass [ $+ [ $cid ] ]) { .msg $nick wrong4@password. } } :end } on !*:text:*:$(%shoutcast.channel [ $+ [ $cid ] ]):{ if ($left($1,1) != $c) || (!$istok($cmd,$remove($1,$c),33)) { halt } if (!%triger. [ $+ [ $+($cid,$wildsite) ] ]) && (!%smtrig [ $+ [ $+($cid,$chan) ] ]) { set -u8 %triger. [ $+ [ $+($cid,$wildsite) ] ] 1 | goto next } if (%smtrig [ $+ [ $+($cid,$chan) ] ]) { tokenize 32 %smtrig [ $+ [ $+($cid,$chan) ] ] | .msg $chan $nick $+ : same request has been asked by $1 $duration($calc($ctime - $2)) ago ..sorry | halt } inc -u8 %triger. [ $+ [ $+($cid,$wildsite) ] ] | set -u10 %smtrig [ $+ [ $+($cid,$chan) ] ] $nick $ctime if (%triger. [ $+ [ $+($cid,$wildsite) ] ] >= 3) { .ignore -u10 $nick 2 | .notice $nick to $nick $+ : you've sent too many request in 10 secs ..ignore4@ $+ $nick for 10 secs | halt } if (%triger. [ $+ [ $+($cid,$wildsite) ] ]) { .msg $chan $nick $+ : plz wait .for 10 secs before sending another comand | halt } :next if ($1 == $c(help)) { if ($level($address($nick,0)) == asdj) && ($nick == $owner) { .msg $nick $set.shoutcast.method($cid,dj) $ownercmd } elseif ($level($address($nick,0)) == asdj) { .msg $nick $set.shoutcast.method($cid,dj) } else { msg $nick $set.shoutcast.method($cid) } goto end } if ($1 == $c(dj)) && (!$2) { .signal -n users $cid currentdj $chan goto end } if ($1 == $c(website)) { .signal -n users $cid website $chan goto end } if ($1 == $c(server)) { .signal -n users $cid server $chan goto end } if ($1 == $c(commands)) { set.shoutcast.method $cid msg $chan %shoutcast.commscommand [ $+ [ $cid ] ] if ($istok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,43)) && ($nick != $owner) { .timercomdj $+ $cid $+ $nick 1 3 .msg $nick commands4@for-DJ : $c(onair) - $c(offair) - $c(addnews) [1|2] <news> - $c(chan) [add|del] <channel> - $c(radio) } goto end } if ($1 == $c(news)) { .signal -n users $cid news $chan goto end } if ($1 == $c(shoutout)) && ($2) { if (%shoutcast.currentdj [ $+ [ $cid ] ] == n/a) { .notice $nick to $nick $+ : Error: no4@DJ is on air to send shoutout } else { %djnick.temp = $gettok(%shoutcast.currentdj [ $+ [ $cid ] ],$rand(1,$numtok(%shoutcast.currentdj [ $+ [ $cid ] ],0)),43) set.user.request $cid shoutout $nick $2- .notice $nick to $nick $+ : Your shoutout " $+ $2- $+ " has been sent to %djnick.temp .raw privmsg %djnick.temp : $+ < $+ $nick $+ > shoutout %request.command [ $+ [ $cid ] ] } goto end } if ($1 == $c(request)) { if (!$2) { .notice $nick Syntax Error: type $c(request) <song> | halt } if (%shoutcast.currentdj [ $+ [ $cid ] ] == n/a) { .notice $nick Alert: No4@DJ is on air to proceed your request. | halt } else { if ($hfind(song,$+(*,$remove($2-,$chr(32)),*),1,w)) { %tx = $hget(song,$ifmatch)) | tokenize 32 %tx | .notice $nick to $nick $+ : $ifmatch was broadcasted $duration($calc($ctime - $1)) ago from $2 at $3 plz choose different title } else { %djnick.temp = $gettok(%shoutcast.currentdj [ $+ [ $cid ] ],$rand(1,$numtok(%shoutcast.currentdj [ $+ [ $cid ] ],0)),43) set.user.request $cid request $nick $2- if (%requestsend [ $+ [ $cid ] ] == 1) { .raw privmsg %djnick.temp : $+ < $+ $nick $+ > %request.command [ $+ [ $cid ] ] | .notice $nick to $nick $+ : Your request " $+ $2- $+ " has been sent. to %djnick.temp } elseif (%requestlog [ $+ [ $cid ] ] == 1) { requestlog $cid $chan $nick $2- | .notice $nick to $nick $+ : Your request " $+ $2- $+ " has been logged } goto end } } } if ($1 == $c(radio)) || ($1 == $c(stat)) || ($1 == $c(listeners)) || ($1 == $c(peak)) || ($1 == $c(bitrate)) || ($1 == $c(song)) { if ($timer($+(auto,$cid)).secs < 15) .timer $+ $+(auto,$cid) off if ($1 == $c(stat)) || ($1 == $c(radio)) { if (!$istok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,43)) && (%shoutcast.method [ $+ [ $cid ] ] != 1) { .notice $nick access4@denied to show $remove($1,$c) | goto end } } var %r = $remove($1,$c) if ($var($+(%,%r,.,$cid),1).value != $null) { .notice $nick to $nick $+ : Your request sent too fast..., wait 5 secs to send new request | halt } set -u5 $+(%,%r,.,$cid) $nick set %reg.chan [ $+ [ $cid ] ] $chan if (%shoutcast.server1) set $+(%,%r,.,$cid,$chan,%shoutcast.server1) $chan if (%shoutcast.server2) set $+(%,%r,.,$cid,$chan,%shoutcast.server2) $chan sockconnect %r $nick goto end } if ($1 == $c(msg)) { if (!$2) || (!$3) { .notice $nick to $nick $+ :: did you send shit? | halt } else { .raw privmsg $2 : $+ < $+ $nick $+ > $3- .notice $nick to $nick $+ :: Your message to $2 sent.... goto end } } if ($1 == $c(seen)) && ($2 == dj) && ($3) { if ($level($address($3,0)) == asdj) seennick $chan $nick $3 | else msg $chan $nick $+ : $3 is not in the dj's list } if ($1 == $c(creator)) { msg $chan -7 $+ $shoutcast.version v1.07- by $maker | goto end } if ($level($address($nick,0)) == asdj) { if (!$istok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,43)) { .msg $nick Access4@Denied .timer $+ $cid $+ $nick 1 1 .msg $nick Plz relog4@in type in this window -> $c(login) <password> goto end } else { if ($1 == $c(onair)) { .signal -n DJs $cid $chan goto end } if ($1 == $c(offair)) { hdj $nick offair $chan $ctime $1- %shoutcast.currentdj [ $+ [ $cid ] ] = $reptok(%shoutcast.currentdj [ $+ [ $cid ] ],$nick,$+($nick,[,off,]),1,43) .signal -n DJs $cid $chan .msg $nick set4@ [ $+ [ $+($nick,[offair]) ] ] :you nick has been set to $+($nick,[offair]) pls relogin to get access again later goto end } ;syntax : for.i.e @addnews [1|2] <text> ;[1|2] means to station1 or 2 if ($1 == $c(addnews)) { if ($2) && ($3) { unset %shoutcast.news [ $+ [ $2 ] ] %shoutcast.news [ $+ [ $2 ] ] = $addtok(%shoutcast.name [ $+ [ $2 ] ],$3-,58) .signal -n DJs $cid $chan .notice $nick add4@news to %shoutcast.name [ $+ [ $2 ] ] $+ : $3- goto end } else { .notice $nick syntax error: type $c(addnews) <1|2> <text> | halt } } if ($1 == $c(chan)) { if ($3) { var %c = $addtok($chr(35),$remove($3,$chr(35)),0) if ($2 == add) { %shoutcast.channel [ $+ [ $cid ] ] = $addtok(%shoutcast.channel [ $+ [ $cid ] ],%c,44) if ($me !ison %c) .timerjoin $+ $cid 1 5 join %c .notice $nick add4@channel %c joining... goto end } if ($2 == del) { %shoutcast.channel [ $+ [ $cid ] ] = $remtok(%shoutcast.channel [ $+ [ $cid ] ],%c,1,44) if ($me ison %c) .timerpart $+ $cid 1 5 part %c ask4@by $nick $iif($4,$4-,-) 7 $+ $shoutcast.version 7- by $maker at www.hawkee.com .notice $nick del4@channel %c parting... goto end } } else { notice $nick syntax error: type $c(chan) add|del <channel> | halt } } if ($nick == $owner) { if ($1 == $c(resetserver)) { unset %shoutcast.server* %shoutcast.website* %shoutcast.name* %shoutcast.port* %nr.of.server msg $chan reset4@server done goto end } ;i.e : @addserver merlin.net 8026 if ($1 == $c(addserver)) { if ($2) && ($3) { if (%nr.of.server > 2) { .msg $nick plz $c(resetserver) first before added | halt } inc %nr.of.server var %s = $remove($2,http://,www.) set %shoutcast.website [ $+ [ %nr.of.server ] ] $+(http://,www.,%s) set %shoutcast.name [ $+ [ %nr.of.server ] ] $+(%s,Radio,%nr.of.server,Online) set $+($chr(37),shoutcast,.,server,%nr.of.server) %s set $+($chr(37),shoutcast,.,port,%nr.of.server) $3 .msg $nick Station $+ %nr.of.server $+ : $+(%s,Radio,%nr.of.server,Online) Server: %s Port: $3 Website: $+(http://,www.,%s) goto end } else { .msg $nick syntax error: type $c(addserver) <server> <port> | halt } } if ($1 == $c(dj)) { if ($2 == add) && ($3) { .guser asdj $3 0 DJ | .msg $3 add4@DJ your Password: $+ %shoutcast.pass $+ $cid Login: type -> $c(login) <pass> } if ($2 == del) && ($3) { .ruser asdj $3 0 | %shoutcast.currentdj [ $+ [ $cid ] ] = $remtok(%shoutcast.currentdj [ $+ [ $cid ] ],$3,1,43) | .msg $3 remove4@DJ sorry.. } goto end } if (dal.net isin $server) { if ($1 == $c(up)) && ($me !isop $chan) cs op $chan $me if ($1 == $c(down)) && ($me isop $chan) { mode $chan +v-o $me $me } goto end } if ($1 == $c(restart)) { restart | halt } } } } :end } on *:SOCKOPEN:$(shoutcast. $+ $+(%shoutcast.server1,*)):{ set -u0 %`t $gettok($sockname,-1,46) var %cid = $gettok($sockname,-2,46) if ($sockerr > 0) { set %shoutcast.errorformat $replace(%shoutcast.commandformat,<CommandTopic>,Error,<CommandValue>,No Connection To Server: $gettok($sockname,2-3,46)) if ($reguestchan($gettok($sockname,-1,46),%cid)) { scid -t1 %cid msg $ifmatch %shoutcast.errorformat } disp.status %cid 1 %shoutcast.errorformat return } sockident $sockname } on *:sockread:$(shoutcast. $+ $+(%shoutcast.server1,*)):{ if ($sockerr > 0) return :nextread var %s.temp = $gettok($sockname,2,46), %n.temp = $remove(%shoutcast.name1,$chr(32),-,.), %`t = $gettok($sockname,-1,46), %cid = $gettok($sockname,-2,46) if (%`t == radio) { sockread %scasttemp if ($sockbr == 0) return tokenize 58 %scasttemp var %t = $gethtml(%scasttemp) if (%scasttemp == ICY 200 OK) { disp.status %cid 1 Loading Stream... } elseif ($1 == icy-notice1) { hadd asdj $+(notice,%n.temp) $iif($deltok(%t,1,58),$ifmatch,n/a) } elseif ($1 == icy-notice2) { hadd asdj $+(notice,%n.temp) $addtok($hget(asdj,$+(notice,%n.temp)),$iif($deltok(%t,1,58),$ifmatch,.),32) } elseif ($1 == icy-name) { hadd asdj $+(name,%n.temp) $iif($deltok(%t,1,58),$ifmatch,n/a)) } elseif ($1 == icy-genre) { hadd asdj $+(genre,%n.temp) $iif($deltok(%t,1,58),$ifmatch,n/a) } elseif ($1 == icy-url) { var %w = $iif($deltok(%t,1,58),$ifmatch,n/a) | hadd asdj $+(url,%n.temp) %w | %shoutcast.website1 = %w } elseif ($1 == icy-br) { hadd asdj $+(bitrate,%n.temp) $iif($deltok(%t,1,58),$ifmatch,n/a) } elseif (icy !isin $1) { sockclose $sockname if ($reguestchan(%`t,%cid)) { scid -t1 %cid msg $ifmatch $streamreport(%n.temp) } halt } goto nextread } sockread -f %scasttemp if ($sockbr == 0) return if (%scasttemp == $null) %scasttemp = empty var %scasttemp = $remove(%scasttemp,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>) tokenize 44 %scasttemp if (*HTTP*404* iswm %scasttemp) { aline -p $+(@,$remove(%shoutcast.name1,$chr(32))) No data found on $gettok($sockname,2-3,46) | sockclose $sockname } if (HTTP/1.* !iswm %scasttemp) && (content-type* !iswm %scasttemp) && (%scasttemp != empty) { set %shoutcast.status. [ $+ [ %s.temp ] ] $2 set %shoutcast.listeners. [ $+ [ %s.temp ] ] $1 set %shoutcast.maxlisteners. [ $+ [ %s.temp ] ] $4 set %shoutcast.peak. [ $+ [ %s.temp ] ] $3 set %shoutcast.bitrate. [ $+ [ %s.temp ] ] $6 set %shoutcast.song. [ $+ [ %s.temp ] ] $7- if ($7) addsong $remove($deltok($7-,1,45),$chr(32)) $ctime %n.temp $web(%shoutcast.server1,%shoutcast.port1) if (%`t == stat) { %shoutcast.report = $+(%n.temp,-,$ctrigger($sockname,$2,$1,$3,$4,$6,$7-)) disp.status %cid 1 %shoutcast.report if (%autoserve [ $+ [ $+(%cid,%shoutcast.server1) ] ]) { unset %autoserve [ $+ [ $+(%cid,%shoutcast.server1) ] ] | reportallchan %cid %shoutcast.report | return } if ($reguestchan(%`t,%cid)) { scid -t1 %cid msg $ifmatch %shoutcast.report } } else { if ($2 == 0) { %shoutcast.report = $replace(%shoutcast.commandformat,<CommandTopic>,Alert:,<CommandValue>,Streaming Is currently Down on Skn %n.temp) if ($reguestchan(%`t,%cid)) { scid -t1 %cid msg $ifmatch %shoutcast.report } } elseif ($reguestchan(%`t,%cid)) { scid -t1 %cid msg $ifmatch $ctrigger($sockname,%s.temp,%n.temp) } disp.status %cid 1 %shoutcast.report } } goto nextread } on *:sockclose:$(shoutcast. $+ $+(%shoutcast.server1,*)):{ var %`t = $gettok($sockname,-1,46), %cid = $gettok($sockname,-2,46) if (($sockerr) || (%autoreport [ $+ [ $cid ] ] == off)) return if (%`t == stat) && (%delay [ $+ [ %cid ] ]) { scid %cid .timer $+ $+(auto,%cid) 1 %delay [ $+ [ %cid ] ] sockconnect stat auto } } on *:SOCKOPEN:$(shoutcast. $+ $+(%shoutcast.server2,*)):{ set -u0 %`t $gettok($sockname,-1,46) var %cid = $gettok($sockname,-2,46) if ($sockerr > 0) { set %shoutcast.errorformat $replace(%shoutcast.commandformat,<CommandTopic>,Error,<CommandValue>,No Connection To Server: $gettok($sockname,2-3,46)) if ($reguestchan($gettok($sockname,-1,46),%cid)) { scid -t1 %cid msg $ifmatch %shoutcast.errorformat } disp.status %cid 2 %shoutcast.errorformat return } sockident $sockname } on *:sockread:$(shoutcast. $+ $+(%shoutcast.server2,*)):{ if ($sockerr > 0) return :nextread sockread -f %scasttemp if ($sockbr == 0) return var %s.temp = $gettok($sockname,2,46), %n.temp = $remove(%shoutcast.name2,$chr(32),-,.), %`t = $gettok($sockname,-1,46), %cid = $gettok($sockname,-2,46) if (%`t == radio) { sockread %scasttemp if ($sockbr == 0) return tokenize 58 %scasttemp var %t = $gethtml(%scasttemp) if (%scasttemp == ICY 200 OK) { disp.status %cid 2 Loading Stream... } elseif ($1 == icy-notice1) { hadd asdj $+(notice,%n.temp) $iif($deltok(%t,1,58),$ifmatch,n/a) } elseif ($1 == icy-notice2) { hadd asdj $+(notice,%n.temp) $addtok($hget(asdj,$+(notice,%n.temp)),$iif($deltok(%t,1,58),$ifmatch,.),32) } elseif ($1 == icy-name) { hadd asdj $+(name,%n.temp) $iif($deltok(%t,1,58),$ifmatch,n/a)) } elseif ($1 == icy-genre) { hadd asdj $+(genre,%n.temp) $iif($deltok(%t,1,58),$ifmatch,n/a) } elseif ($1 == icy-url) { var %w = $iif($deltok(%t,1,58),$ifmatch,n/a) | hadd asdj $+(url,%n.temp) %w | %shoutcast.website2 = %w } elseif ($1 == icy-br) { hadd asdj $+(bitrate,%n.temp) $iif($deltok(%t,1,58),$ifmatch,n/a) } elseif (icy !isin $1) { sockclose $sockname if ($reguestchan(%`t,%cid)) { scid -t1 %cid msg $ifmatch $streamreport(%n.temp) } halt } goto nextread } sockread -f %scasttemp if ($sockbr == 0) return if (%scasttemp == $null) %scasttemp = empty var %scasttemp = $remove(%scasttemp,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>) tokenize 44 %scasttemp if (*HTTP*404* iswm %scasttemp) { aline -p $+(@,$remove(%shoutcast.name2,$chr(32))) No data found on $gettok($sockname,2-3,46) | sockclose $sockname } if (HTTP/1.* !iswm %scasttemp) && (content-type* !iswm %scasttemp) && (%scasttemp != empty) { set %shoutcast.status. [ $+ [ %s.temp ] ] $2 set %shoutcast.listeners. [ $+ [ %s.temp ] ] $1 set %shoutcast.maxlisteners. [ $+ [ %s.temp ] ] $4 set %shoutcast.peak. [ $+ [ %s.temp ] ] $3 set %shoutcast.bitrate. [ $+ [ %s.temp ] ] $6 set %shoutcast.song. [ $+ [ %s.temp ] ] $7- if ($7) addsong $remove($deltok($7-,1,45),$chr(32)) $ctime %n.temp $web(%shoutcast.server2,%shoutcast.port2) if (%`t == stat) { %shoutcast.report = $+(%n.temp,-,$ctrigger($sockname,$2,$1,$3,$4,$6,$7-)) disp.status %cid 2 %shoutcast.report if (%autoserve [ $+ [ $+(%cid,%shoutcast.server2) ] ]) { unset %autoserve [ $+ [ $+(%cid,%shoutcast.server2) ] ] | reportallchan %cid %shoutcast.report | return } if ($reguestchan(%`t,%cid)) { scid -t1 %cid msg $ifmatch %shoutcast.report } } else { if ($2 == 0) { %shoutcast.report = $replace(%shoutcast.commandformat,<CommandTopic>,Alert:,<CommandValue>,Streaming Is currently Down on Skn %n.temp) if ($reguestchan(%`t,%cid)) { scid -t1 %cid msg $ifmatch %shoutcast.report } } elseif ($reguestchan(%`t,%cid)) { scid -t1 %cid msg $ifmatch $ctrigger($sockname,%s.temp,%n.temp) } disp.status %cid 2 %shoutcast.report } } goto nextread } on *:sockclose:$(shoutcast. $+ $+(%shoutcast.server2,*)):{ var %`t = $gettok($sockname,-1,46), %cid = $gettok($sockname,-2,46) if (($sockerr) || (%autoreport [ $+ [ $cid ] ] == off)) return if (%`t == stat) && (%delay [ $+ [ %cid ] ]) { scid %cid .timer $+ $+(auto,%cid) 1 %delay [ $+ [ %cid ] ] sockconnect stat auto } } on *:SIGNAL:users: { set.user.request $1 $2 | msg $3 %request.command [ $+ [ $1 ] ] } on *:SIGNAL:DJs: { setcurrent.topic $1 if ($me isop $2) && (%ontopic [ $+ [ $1 ] ] == on) topic $2 $current.topic else msg $2 $current.topic } ;protection on *:SIGNAL:opme: scid $1 cs op $2 $me on !@*:ban:$(%shoutcast.channel [ $+ [ $cid ] ]):{ if ($banmask iswm $address($me,5)) { kick $chan $nick Banning channel bot addresses are Ilegal Action | mode $chan -b+b $banmask $wildsite } } on *:notice:*has deopped*:$(%shoutcast.channel [ $+ [ $cid ] ]):{ if (dal.net isin $server) && ($nick == ChanServ) && ($4 == $me) && ($1 != $owner) { .signal -n opme $cid $chan } } on !*:deop:$(%shoutcast.channel [ $+ [ $cid ] ]):{ if (dal.net isin $server) && ($opnick == $me) && ($nick != $owner) && ($nick != ChanServ) && (!%deopme [ $+ [ $+($cid,$chan) ] ]) { set -u5 %deopme [ $+ [ $+($cid,$chan) ] ] ! | .signal -n opme $cid $chan } } on *:connect: .ial on | if ($wildtok(%shoutcast.channel [ $+ [ $cid ] ],*Change-Me*,1,44)) { unset %shoutcast.channel [ $+ [ $cid ] ] | incpl } | .timer 1 10 connect_ on *:start: default.set | .hmake song 500 | .hmake asdj 1 | hmake dj 10 | .anick $+($mnick,2) | %clonenumber = 2 | echo $color(info) -a -7 $+ $shoutcast.version 7- loaded.... | unsetvar on *:exit: .hfree song | .rlevel asdj alias sockident { if (%`t == radio) { sockwrite -n $1 GET / HTTP/1.0 sockwrite -n $1 Host: $sock($1).ip sockwrite -n $1 } else { sockwrite -n $1 GET /7.html HTTP/1.0 sockwrite -n $1 Host: $sock($1).ip sockwrite -n $1 User-Agent: Mozilla/5.0 sockwrite -n $1 $crlf } } alias disp.status { if (%actionlog [ $+ [ $1 ] ] == 0) return if (!$window($+(@,$remove($var($+(%,shoutcast.name,$2),1).value,$chr(32))))) window -b $+(@,$remove($var($+(%,shoutcast.name,$2),1).value,$chr(32))) Tahoma 11 aline -p $+(@,$remove($var($+(%,shoutcast.name,$2),1).value,$chr(32))) $timestamp $3- } alias streamreport return Server-Notice: $iif($hget(asdj,$+(notice,$1)),$hget(asdj,$+(notice,$1)),n/a) Station-Name: $iif($hget(asdj,$+(name,$1)),$hget(asdj,$+(name,$1)),n/a) Genre: $iif($hget(asdj,$+(genre,$1)),$hget(asdj,$+(genre,$1)),n/a) URL: $iif($hget(asdj,$+(url,$1)), $hget(asdj,$+(url,$1)),n/a) alias maker return $decode(W3xSZWQtWHxd,m) alias -l gethtml { var %text, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%text), %text = $remove(%text,&) return %text } alias request { if ($window(@Requestlog)) { return } window -elk0 @Requestlog Tahoma 11 aline -p @Requestlog ------------------------------------------------------------------------------------------------- aline -p @Requestlog :: List of Request...................................... aline -p @Requestlog ------------------------------------------------------------------------------------------------- .timerasslog 1 2 window -b @Requestlog } alias requestlog { if (!$window(@Requestlog)) { unset %countrequest [ $+ [ $+($1,$2) ] ] } if (!%countrequest [ $+ [ $+($1,$2) ] ]) { set %countrequest [ $+ [ $+($1,$2) ] ] 1 } else inc %countrequest [ $+ [ $+($1,$2) ] ] request %countrequest [ $+ [ $+($1,$2) ] ] aline -p @Requestlog ( $+ %countrequest [ $+ [ $+($1,$2) ] ] $+ ) $timestamp Channel: $+ $remove($2,$chr(35)) Nick: $+ $3 Song: $+ $4- } alias -l seennick { var %i = $comchan($3,0) if (!%i) { raw notice $2 : $+ $seenparse($3) | return } while (%i) { if ($comchan($3,%i) == $1) { msg $1 $2 :hm..it seems that you need to open your eyes widely } else { raw notice $2 : $+ $3 is in $comchan($3,%i) right now | break } dec %i } } alias seenparse { var %c = $hget(dj,$+($cid,$1)) if (!%c) { return $1 is not login yet } var %n = $1 tokenize 32 %c if ($1 == quit) { return I last saw %n quitting $duration($calc($ctime - $2)) ago $iif($3,with the message $3-) } if ($1 == part) { return I last saw %n leaving $2 $duration($calc($ctime - $3)) ago with the message $4- } if ($1 == join) { return I last saw %n joining $2 $duration($calc($ctime - $3)) ago. } if ($1 == nick) { return I last saw %n changing nickname to $2 $duration($calc($ctime - $3)) ago. } if ($1 == offair) { return I last saw %n asked for offair in $2 $duration($calc($ctime - $3)) ago. } if ($1 == signed-in) { return I last saw %n signed-in in $2 $duration($calc($ctime - $3)) ago. } } on *:LOAD:{ ;this variable are set just to show the setting need to be made, but it can anyway be used for testing set %shoutcast.website1 http://tiongkokradio.com set %shoutcast.website2 http://indoradio.sb5.org set %shoutcast.name1 Teochew Radio Online1 set %shoutcast.name2 Teochew Radio Online2 set %shoutcast.server1 tiongkokradio.com set %shoutcast.server2 indoradio.sb5.org set %shoutcast.news1 %shoutcast.name1 $+ : added news set %shoutcast.news2 %shoutcast.name2 $+ : added news set %shoutcast.channeltopic $shoutcast.channeltopic set %shoutcast.commandformat $shoutcast.commandformat set %shoutcast.trigger @ set %shoutcast.port1 2222 set %shoutcast.port2 8181 echo $color(info) -a :: $+ $shoutcast.version v1.0 Succesfully loaded... echo $color(info) -a ::Capable of Two socket connections to different IP's echo $color(info) -a ::This Addon created by [|Red-X|] echo $color(info) -a ::Bugs found or any question mail to m_aditya@kaskus.com or at www.hawkee.com or /msg [|Red-|] on @Dalnet #help-script..plz...respons... .timer1 1 3 open shoutcast } alias -l open if (!$dialog($1)) dialog -mhr $1 $1 dialog shoutcast { title $shoutcast.version size -1 -1 203 158 option dbu button "&OK", 13, 155 140 37 12, ok button "&Cancel", 14, 112 140 37 12, cancel tab "Main Settings", 1, 6 1 192 133 edit %shoutcast.name1, 2, 10 28 90 10, tab 1 autohs edit %shoutcast.server1, 3, 10 49 90 10, tab 1 autohs edit %shoutcast.port1, 4, 76 63 22 10, tab 1 autohs edit %shoutcast.trigger, 5, 164 119 31 10, tab 1 edit %shoutcast.website1, 6, 10 96 90 10, tab 1 autohs edit %shoutcast.channel [ $+ [ $cid ] ], 7, 10 119 148 10, tab 1 autohs text "Channels:", 55, 11 111 41 8, tab 1 text "Website1", 54, 12 87 54 8, tab 1 text "Port:1", 52, 58 64 14 8, tab 1 text "Server1 Address:", 51, 11 40 63 8, tab 1 text "Station1 Name:", 50, 11 20 71 8, tab 1 text "Trigger:", 53, 165 111 25 8, tab 1 edit %shoutcast.name2, 11, 105 28 90 10, tab 1 autohs edit %shoutcast.server2, 12, 105 49 90 10, tab 1 autohs edit %shoutcast.port2, 15, 171 63 22 10, tab 1 autohs text "Port:2", 16, 152 64 14 8, tab 1 text "Station2 Name:", 17, 106 20 71 8, tab 1 edit %shoutcast.website2, 18, 105 96 91 10, tab 1 autohs text "Website2", 19, 106 87 54 8, tab 1 text "Server2 Address:", 22, 106 40 63 8, tab 1 edit %shoutcast.pass [ $+ [ $cid ] ], 23, 51 77 47 10, tab 1 autohs edit %shoutcast.pass [ $+ [ $cid ] ], 24, 146 77 47 10, tab 1 autohs text "Password", 25, 16 72 29 8, tab 1 text "connection1", 62, 16 78 29 8, tab 1 text "Password", 26, 108 72 34 8, tab 1 text "connection2", 63, 108 78 34 8, tab 1 box "", 38, 8 14 94 96, tab 1 box "", 43, 103 14 93 96, tab 1 tab "Message/Display settings", 34 text "Channel Topic:", 56, 11 17 51 8, tab 34 edit %shoutcast.channeltopic, 8, 11 25 180 10, tab 34 autohs text "Variables: <StationName> <CurrentDJ> <Server> <News> <website>", 57, 11 37 175 8, tab 34 disable text "Command Responses:", 58, 11 46 80 8, tab 34 edit %shoutcast.commandformat, 9, 11 55 180 10, tab 34 autohs text "Variables: <CommandTopic> <CommandValue>", 59, 11 67 124 8, tab 34 disable check Set Topic %ontopic [ $+ [ $cid ] ], 28, 16 81 42 10, tab 34 radio "Message", 29, 117 100 42 10, tab 34 radio "Notice", 30, 117 114 42 10, tab 34 check Join/part Greeting %ojgreet [ $+ [ $cid ] ], 31, 118 86 66 10, tab 34 box "", 27, 11 75 98 30, tab 34 box "on join/part greeting", 35, 111 75 82 55, tab 34 check method %shoutcast.method, 36, 18 113 35 12, tab 34 push flat box "", 60, 11 104 98 26, tab 34 text "User's commands", 61, 56 115 45 8, tab 34 check Auto Display %autoreport [ $+ [ $cid ] ], 37, 60 81 47 10, tab 34 combo 39, 66 92 24 41, tab 34 size drop disable text "STAT display every", 41, 16 95 49 8, tab 34 text "secs", 42, 93 95 17 8, tab 34 tab "Request/Activities Settings", 44 text "server1 news:", 40, 13 17 48 8, tab 44 edit %shoutcast.news1, 10, 12 25 180 10, tab 44 autohs edit %shoutcast.news2, 20, 12 54 180 10, tab 44 autohs text "server2 news:", 21, 13 45 48 8, tab 44 box "User's Request Setting", 45, 12 68 181 39, tab 44 radio "Forward User's request to a DJ randomizely ", 46, 46 79 116 10, tab 44 radio "Log User's Request to @Requestlog", 47, 46 92 102 10, tab 44 box "Activity Log", 48, 12 108 181 22, tab 44 check "Display activities on @station-name window ", 49, 47 116 114 10, tab 44 link "About asDJ-Bot v1.0", 32, 8 142 66 8 } ON *:DIALOG:shoutcast:init:0:{ did -ca $dname 39 %delay [ $+ [ $cid ] ] didtok -a $dname 39 44 60,120,180,240,300,360,420,600,1200,2400,3600 if (%shoutcast.method [ $+ [ $cid ] ] == 1) { did -u $dname 36 | did -a $dname 36 Method 1 } | else { did -c $dname 36 | did -a $dname 36 Method 2 } if (%ontopic [ $+ [ $cid ] ] == off) did -u $dname 28 | else did -c $dname 28 if (%ojgreet [ $+ [ $cid ] ] == on) { did -e $dname 29,30 | did -c $dname 31 } | else { did -b $dname 29,30 | did -u $dname 31 } if (%autoreport [ $+ [ $cid ] ] == on) { did -e $dname 39,41 | did -c $dname 37 } | else { did -b $dname 39,41 | did -u $dname 37 } if (%ojmsg [ $+ [ $cid ] ] == 1) { %ojnotice [ $+ [ $cid ] ] = 0 | did -u $dname 30 | did -c $dname 29 } | else { %ojnotice [ $+ [ $cid ] ] = 1 | did -c $dname 30 | did -u $dname 29 } if (%requestlog [ $+ [ $cid ] ] == 1) { %requestsend [ $+ [ $cid ] ] = 0 | did -u $dname 46 | did -c $dname 47 } | else { %requestsend [ $+ [ $cid ] ] = 1 | did -c $dname 46 | did -u $dname 47 } if (%actionlog [ $+ [ $cid ] ] == 1) did -c $dname 49 | else did -u $dname 49 } ON *:DIALOG:shoutcast:sclick:*:{ if ($did == 13) { set %shoutcast.name1 $did($dname,2) set %shoutcast.server1 $did($dname,3) set %shoutcast.port1 $did($dname,4) set %shoutcast.trigger $did($dname,5) set %shoutcast.website1 $did($dname,6) set %shoutcast.name2 $did($dname,11) set %shoutcast.server2 $did($dname,12) set %shoutcast.port2 $did($dname,15) set %shoutcast.website2 $did($dname,18) set %shoutcast.channel [ $+ [ $cid ] ] $did($dname,7) set %shoutcast.channeltopic $did($dname,8) set %shoutcast.commandformat $did($dname,9) set %shoutcast.news1 $did($dname,10) set %shoutcast.news2 $did($dname,20) set %shoutcast.pass [ $+ [ $scon(1).cid ] ] $did($dname,23) set %shoutcast.pass [ $+ [ $scon(2).cid ] ] $did($dname,24) set %delay [ $+ [ $cid ] ] $did($dname,39) } if ($did == 29) { %ojmsg [ $+ [ $cid ] ] = $iif(%ojmsg [ $+ [ $cid ] ] == 1,0,1) | if ($did(29).state == 1) { %ojmsg [ $+ [ $cid ] ] = 1 | %ojnotice [ $+ [ $cid ] ] = 0 | did -u $dname 30 | did -c $dname 29 } | else { %ojnotice [ $+ [ $cid ] ] = 1 | did -c $dname 30 | did -u $dname 29 } } if ($did == 30) { %ojnotice [ $+ [ $cid ] ] = $iif(%ojnotice [ $+ [ $cid ] ] == 1,0,1) | if ($did(30).state == 1) { %ojnotice [ $+ [ $cid ] ] = 1 | %ojmsg [ $+ [ $cid ] ] = 0 | did -c $dname 30 | did -u $dname 29 } | else { %ojmsg [ $+ [ $cid ] ] = 1 | did -u $dname 30 | did -c $dname 29 } } if ($did == 28) { %ontopic [ $+ [ $cid ] ] = $iif(%ontopic [ $+ [ $cid ] ] == on,off,on) | if (%ontopic [ $+ [ $cid ] ] == on) did -ca $dname 28 Set Topic on | else did -ua $dname 28 Set Topic off } if ($did == 31) { %ojgreet [ $+ [ $cid ] ] = $iif(%ojgreet [ $+ [ $cid ] ] == on,off,on) | if (%ojgreet [ $+ [ $cid ] ] == on) { did -e $dname 29,30 | did -ca $dname 31 Join/part Greeting on } | else { did -b $dname 29,30 | did -ua $dname 31 Join/part Greeting off } } if ($did == 32) { if (!$dialog(about.asdj)) dialog -mv about.asdj about.asdj } if ($did == 36) { %shoutcast.method [ $+ [ $cid ] ] = $iif(%shoutcast.method [ $+ [ $cid ] ] == 1,2,1) | if (%shoutcast.method [ $+ [ $cid ] ] == 1) { did -ua $dname 36 method 1 } | else { did -ca $dname 36 method 2 } | echo $color(info2) -a $iif(%shoutcast.method [ $+ [ $cid ] ] == 1,Method 1,Method 2) $+ - User's $set.shoutcast.method($cid) } if ($did == 37) { %autoreport [ $+ [ $cid ] ] = $iif(%autoreport [ $+ [ $cid ] ] == on,off,on) | if (%autoreport [ $+ [ $cid ] ] == on) { did -e $dname 39,41 | did -ca $dname 37 Auto Display on } | else { did -b $dname 39,41 | did -ua $dname 37 Auto Display off } } if ($did == 46) { %requestsend [ $+ [ $cid ] ] = $iif(%requestsend [ $+ [ $cid ] ] == 1,0,1) | if ($did(46).state == 1) { %requestsend [ $+ [ $cid ] ] = 1 | %requestlog [ $+ [ $cid ] ] = 0 | did -u $dname 47 | did -c $dname 46 } | else { %requestlog [ $+ [ $cid ] ] = 1 | did -c $dname 47 | did -u $dname 46 } } if ($did == 47) { %requestlog [ $+ [ $cid ] ] = $iif(%requestlog [ $+ [ $cid ] ] == 1,0,1) | if ($did(47).state == 1) { %requestlog [ $+ [ $cid ] ] = 1 | %requestsend [ $+ [ $cid ] ] = 0 | did -u $dname 46 | did -c $dname 47 } | else { %requestsend [ $+ [ $cid ] ] = 1 | did -c $dname 46 | did -u $dname 47 } } if ($did == 49) { %actionlog [ $+ [ $cid ] ] = $iif(%actionlog [ $+ [ $cid ] ] == 1,0,1) | if ($did(49).state == 1) { %actionlog [ $+ [ $cid ] ] = 1 | did -c $dname 49 } | else { %actionlog [ $+ [ $cid ] ] = 0 | did -u $dname 49 } } } alias -l default.set { set %shoutcast.currentdj [ $+ [ $cid ] ] n/a set %delay [ $+ [ $cid ] ] 600 set %shoutcast.channel [ $+ [ $cid ] ] #Change-Me1,#Change-Me2,#Change-Me3,#etc set %shoutcast.method [ $+ [ $cid ] ] 1 set %shoutcast.pass [ $+ [ $cid ] ] 1234change set %actionlog [ $+ [ $cid ] ] 0 } alias -l unsetvar unset %nr.of.server %request.* %song* %listeners* %bitrate* %stat* %peak* alias incpl open error | .timerdlg 1 3 open shoutcast dialog error { title asDJ-Bot Error size -1 -1 108 37 option dbu text "ERROR: configuration incomplete!",3, 11 7 95 7 button "Close" 4, 38 20 25 12, Ok ? } dialog about.asdj { title "About asDJ-Bot v1.0" size -1 -1 86 78 option dbu box "", 1, -6 59 100 50 button "close", 2, 47 65 37 10, cancel text "Author:", 3, 3 2 25 8 link "E-Mail", 5, 30 9 54 8 link "http://www.hawkee.com", 8, 3 16 82 8 text "[|Red-X|]", 6, 30 2 54 8 text "Contact:", 4, 3 9 25 8 text "?2004 by M.Aditya", 9, 3 55 82 8 text "You can find more information in the readme. Always check the website for updates and/or other scripts.", 10, 3 27 80 26 } ON *:DIALOG:about.asdj:sclick:*: { if ($did == 4) .url -n mailto: m_aditya@kaskus.com if ($did == 8) .url -n http://www.hawkee.com } menu channel,menubar,status,nicklist { $+(&,$shoutcast.version) .&Make New Connection: %nick = $iif($?="nick?",$!,$mnick) | server -m $$?="server?" $$?="port?" -i %nick .- .Configure:if (!$dialog(shoutcast)) dialog -mr shoutcast shoutcast .- .&IAL status ..$iif($chan(#).ial == $true,All addresses OK):echo No need to update IAL for # ..$iif($chan(#).ial == $false,IAL for # Incomplete. Update?):.who # .- .$iif($chan(#).ial == $false,$style(2)) Assignment ..$iif($active !ischan,$style(2)) Owner ...$iif($ulist($address($snick(#,1),0),asdj,1),&Del.,&Add) $snick(#,1): resetcurrentdj $cid | $iif($ulist($address($snick(#,1),0),asdj,1),.ruser,.guser) asdj $snick(#,1) 0 | if ($ulist($address($snick(#,1),0),asdj,1)) { alias owner return $snick(#,1) | %shoutcast.currentdj [ $+ [ $cid ] ] = $addtok(%shoutcast.currentdj [ $+ [ $cid ] ],$snick(#,1),43) | .msg $snick(#,1) added4@Owner } | else { alias owner return | %shoutcast.currentdj [ $+ [ $cid ] ] = $remtok(%shoutcast.currentdj [ $+ [ $cid ] ],$snick(#,1),1,43) | .msg $snick(#,1) del4@Owner } ..$iif($active !ischan,$style(2)) &DJ ...$iif($ulist($address($snick(#,1),0),asdj,1),&Del.,&Add) $snick(#,1): resetcurrentdj $cid | $iif($ulist($address($snick(#,1),0),asdj,1),.ruser,.guser) asdj $snick(#,1) 0 | if ($ulist($address($snick(#,1),0),asdj,1)) { msg $snick(#,1) added4@DJ, type $c(login) %shoutcast.pass [ $+ [ $cid ] ] } | else { %shoutcast.currentdj [ $+ [ $cid ] ] = $remtok(%shoutcast.currentdj [ $+ [ $cid ] ],$snick(#,1),1,43) | .msg $snick(#,1) del4@DJ } .$iif($active ischan,$active) ..$iif($istok(%shoutcast.channel [ $+ [ $cid ] ],#,44),&Del.,&Add) $active: if ($istok(%shoutcast.channel [ $+ [ $cid ] ],#,44)) { %shoutcast.channel [ $+ [ $cid ] ] = $remtok(%shoutcast.channel [ $+ [ $cid ] ],#,1,44) } | else { %shoutcast.channel [ $+ [ $cid ] ] = $addtok(%shoutcast.channel [ $+ [ $cid ] ],#,44)) } | echo $color(info) -a ::Active Channels: %shoutcast.channel [ $+ [ $cid ] ] .- .$iif($active != status window,Advertise):say I'm using -7 $+ $shoutcast.version v1.07- by $maker } menu @Requestlog { dclick window -c @Requestlog Copy: clipboard $sline($active,1) Clear screen: dline -s 4 $+ - - &Del. line:var %ln = $sline($active,1).ln | dline -s %ln $+ - $+ %ln - Close: .window -c $active } on *:UNLOAD:{ echo -a ::unloaded $shoutcast.version addon unsetvar | unset %shoutcast* } ;eos |
![]() |
|
| 1 user reading this topic (1 Guest and 0 Anonymous) | |
| « Previous Topic · General Disscusions · Next Topic » |







12:54 AM Nov 26