Basic — File Browser

Basicv09272000 / Basicv09272000 / SYS / cmds.ini

cmds.ini — 30.55 KB — Download this file

[script]
n0=on 1:CLOSE:@do_not_close_this_window:ddeserver off | if ($server) .quote QUIT : | exit
n1=on *:START:{
n2=  unset %missing | if (($isdir(sys\) == $false) || ($isdir(addon\) == $false) || ($isdir(theme\) == $false)) %missing = directories!
n3=  if (($alias(0) < 8) || ($script(0) < 10)) %missing = system files!
n4=  if (%missing) annoy echo 4 -a *** ERROR: Missing %missing The script might not function properly!
n5=  if ($isdir(sys\) == $false) { annoy echo 4 -s *** Missing system directory! Script may not function properly. | halt }
n6=  if ($isfile(sys\fkeys.txt) == $false) { annoy echo 4 -s *** Missing system file. Script will not function properly. | halt }
n7=  if (($nopath($script($script(0))) != basic.ini) && ($_isfile(sys\basic.ini))) { .unload -rs sys\basic.ini | .load -rs sys\basic.ini }
n8=  if (($ini(sys\misc.ini,script)) && ($script(ncomp.ini)) && ($script(misc.ini) == $null)) { .unload -rs $script(ncomp.ini) | .load -rs sys\misc.ini }
n9=  if (($isfile(sys\ibl.ini)) && ($script(ibl.ini) == $null)) .load -rs sys\ibl.ini
n10=  if (($window(-1).w < 800) && ($window(-1).h < 600)) iecho Basic was scripted with a screen resolution of 800x600. Some displays might not appear correctly.
n11=  if ($lock(run)) { echo 4 -s *** /run command is disabled. You must enable it for Basic to work properly. | echo 4 -s *** To do this, press ALT O, then go to General/Lock, and uncheck the /run command. }
n12=  .ial on | .remote on | .perform on | removetmp | rehash | _loaddefaults | if ($windir == $null) getwindir | bracketcheck
n13=  if (%firstrun == 317537) { tbar.set | unset %firstrun | _ultag | installfonts | .timer 1 0 help about | setdisplaydefault }
n14=  else if ($_ultag != TRUE) { .import.users sys\remote.ini|sys\userlist.ini | installfonts }
n15=  CountSoundFiles | startup_start
n16=  if ($i(main,recall_last_server)) if ($i(main,lastserver)) editbox -s /server $ifmatch
n17=  window -h +d @do_not_close_this_window 0 0 0 0
n18=  _eventsound Startup
n19=}
n20=alias -l annoy .timer 0 5 $1-
n21=alias -l installfonts {
n22=  if ($findfile($mircdir,*.fon,0)) {
n23=    write -c fn_inst.bat copy /Y *.fon % $+ windir%\FONTS
n24=    if ($_cnfrm(Would you like to install IBMPC and GwdTE_437 fonts to your computer?)) run -n fn_inst.bat
n25=    else .timer 1 0 s.err You can install these fonts later by double clicking the fn_inst.bat " Font Install
n26=  }
n27=}
n28=on *:ERROR:*:_ondisc
n29=; /ReArrange <Item> <New Item>
n30=alias ReArrange {
n31=  var %OldList = $i(recent,$1)
n32=  if ($istok(%OldList,$2-,32) == $false) {
n33=    var %NewList = $2- %OldList
n34=    _set recent $1 %NewList
n35=    if ($numtok(%NewList,32) > 9) _set recent $1 $gettok(%NewList,1-9,32)
n36=  }
n37=}
n38=on @1:JOIN:#:{
n39=  if (($istok(X!cservice@undernet.org W!cservice@undernet.org,$fulladdress,32)) && (undernet isin $server)) return
n40=  if (($istok(NickServ!service@dal.net ChanServ!service@dal.net,$fulladdress,32)) && (dal.net isin $server)) return
n41=  if ($isexempt($nick,#)) return
n42=  if ($i(#,maxjoins)) {
n43=    var %_fl1 = $fludd(joins,$wildsite,#), %_fl2 = $fludd(joins,$address($nick,3),#)
n44=    if (%_fl1) { fkb # $wildsite Join Flood: $i(#,maxjoins) joins in %_fl1 of $i(#,joins_time) | return }
n45=    if (%_fl2) { fkb # $address($nick,3) Join flood: $i(#,maxjoins) joins in %_fl2 of $i(#,joins_time) | return }
n46=  }
n47=  if ($i(#,clonejoin) == on) {
n48=    var %clone.site.temp1 = $wildsite, %clone.site.temp2 = $address($nick,3), %clone.max = $i(#,maxclones)
n49=    if ($ialchan(%clone.site.temp1,#,0) >= %clone.max) { _clonedo # %clone.site.temp1 | return }
n50=    if ($ialchan(%clone.site.temp2,#,0) >= %clone.max) { _clonedo # %clone.site.temp2 | return }
n51=  }
n52=  if ($lame($nick,#)) { .raw MODE # +b $nick $+ !*@* $+ $lf $+ KICK # $nick : $+ $gkm(lame_nick,Lame nick) | return }
n53=  if ($i(#,wordkick) == on) {
n54=    var %word.var = 1, %word.tot = $numtok($words,32), %word.ban = $words
n55=    while (%word.var <= %word.tot) {
n56=      var %word.check = $gettok(%word.ban,%word.var,32)
n57=      var %word.chans = $_readini(words.ini,%word.check,channels)
n58=      if ((%word.check isin $fulladdress) && ($istok(%word.chans,#,44))) { .raw MODE # +b $address($nick,3) $+ $lf $+ KICK # $nick : $+ $kmsg(bad_nick/hostmask) | break }
n59=      inc %word.var
n60=    }
n61=  }
n62=  if ($i(#,bankickeduser) == on) {
n63=    var %j = $__var(kicked.times.,$address($nick,2))
n64=    if ((%j) && (%j >= $i(#,maxkicked))) {
n65=      kick # $nick You have been kicked %j times already, stay away for a while
n66=      ban -u180 # $wildsite
n67=      return
n68=    }
n69=  }
n70=}
n71=on me:*:JOIN:#:unset $_var(Pass.*.,$chan) %Bots.* | set $_var(ticks,#) $ticks | ReArrange channels #
n72=on *:PART:#:if (($nick == $me) && ($__var(rejoin.,$chan))) rejoin² $chan
n73=on *:QUIT:{
n74=  if ($i(main,nickregain) == on) { var %.permnick = $i(main,permnick) | if ((%.permnick == $nick) && (%.permnick != $me)) { iecho Regaining permanent nick... | .raw NICK %.permnick } }
n75=  if (($query($nick)) && ($istok($i(windows,autoclose),on_quit,32))) .timer 1 2 close -m $nick | halt
n76=}
n77=on *:NOTIFY:{
n78=  if (($i(main,nickregain) == on) && ($me != $i(main,permnick)) && ($i(main,permnick) == $nick)) halt
n79=  .disable #userlist | %notify.check = $addtok(%notify.check,$nick,32) | set -u180 %notify.verify TRUE | .raw USERHOST $nick | halt
n80=}
n81=on *:UNOTIFY:{
n82=  if (($i(main,nickregain) == on) && ($me != $i(main,permnick)) && ($i(main,permnick) == $nick)) { nick $i(main,permnick) | .notify -r $i(main,permnick) }
n83=  if (($query($nick)) && ($istok($i(windows,autoclose),on_unotify,32))) .timer 1 1 close -m $nick
n84=}
n85=on *:DISCONNECT:_ondisc
n86=on *:TEXT:*:?:_pflood msgs $address $nick
n87=on ^1!:OPEN:?:{
n88=  if ($_mopt(4,5)) .timer -m 1 0 close -m $nick
n89=  checkspam $fulladdress $1-
n90=  checkautoget $nick $1-
n91=  if ($away == $false) return
n92=  inc -u40 $_var(openquery,$wildsite)
n93=  if ($__var(openquery,$wildsite) == 1) {
n94=    if ($format(away_switches,$i(AwaySettings,logging),$group(#awaypager))) var %tmp_switch = $ifmatch
n95=    else var %tmp_switch = [l\ $+ $i(AwaySettings,logging) $+ ]] [p\ $+ $group(#awaypager) $+ ]
n96=    .raw NOTICE $nick :Away -(Since: $_at($asctime(%AwaySince)) $+ ) (Current: $_at($asctime($ctime)) $+ ) %tmp_switch
n97=    if ($group(#awaypager) == on) .raw NOTICE $nick :Call my attention via /CTCP $me PAGE
n98=  }
n99=  if ($__var(openquery,$wildsite) >= 10) { .ignore -pu60 $nick 3 | unset $_var(openquery,$wildsite) | halt }
n100=  if ($i(awaysettings,logging) == on) {
n101=    if ($istok(%awayppl,$nick,32) == $false) set %awayppl $addtok(%awayppl,$nick,32) 
n102=    write $logdir $+ away.log $timestamp < $+ $nick $+ > $strip($1-)
n103=    if ($i(awaysettings,awaylogwin)) {
n104=      var %wn = @Away Messages, %wp = $mwin(430,240) 430 240
n105=      if ($window(%wn) == $null) window -kn +ftls %wn $winpos(%wn,%wp) @Awaymsgs $winfont(%wn)
n106=      aline -p %wn $timestamp < $+ $nick $+ > $1-
n107=    }
n108=    else echo 4 -sti14 [PRIVMSG: $+ $nick $+ ] $1-
n109=    halt
n110=  }
n111=}
n112=on *:OPEN:=:if ((($query($nick)) && ($istok($i(windows,autoclose),on_chat,32)))) .timer 1 1 close -m $nick
n113=on *:OP:#:{
n114=  if (($opnick == $me) && ($i(ctcps,rejectkick) == on) && (%reject.senders)) {
n115=    var %i = 1
n116=    while ($gettok(%reject.senders,%i,32)) {
n117=      var %nick = $ifmatch
n118=      gkb %nick Sending %reject.sender. [ $+ [ %nick ] ]
n119=      unset %reject.send. [ $+ [ %nick ] ]
n120=      inc %i
n121=    }
n122=  }
n123=}
n124=on @1!:DEOP:# {
n125=  if ($isexempt($nick,$chan)) return
n126=  if (($i($chan,maxdeop) == 0) || ($i($chan,deop_time) == 0)) return
n127=  if (($level($_ulist($address($nick,5))) >= 40) || ($opnick == $me)) return
n128=  if ($fludd(deop,$wildsite,$chan) == $null) return
n129=  mode $chan +ob $opnick $address($nick,3)
n130=  kick $chan $nick :Mass deop: $i($chan,maxdeop) deops in $fludd(deop,$wildsite,$chan) $+ s in $i($chan,deop_time) $+ s
n131=}
n132=alias _isbot {
n133=  if ((($1 == X) || ($1 == W)) && (undernet isin $server)) return $true
n134=  if (($1 == Chanserv) && (dal.net isin $server)) return $true
n135=  var %k = $readini -n sys\botlist.ini Bot.List $fixnick($$1) hostmask, %a = $address($1,5)
n136=  if ((%k iswm %a) || (%k == %a)) return $true
n137=  return $false
n138=}
n139=on @1:BAN:# {
n140=  var %btogg = $i(#,kickonban), %bnick = $ialchan($banmask,#,1).nick
n141=  if ($banmask iswm $address($me,5)) {
n142=    if (($nick == $me) || (. isin $nick) || ($address == cservice@undernet.org) || ($_isbot($nick))) { .raw MODE $chan -b $banmask | halt }
n143=    if ($__var(banattempt.,$nick)) { 
n144=      .raw KICK $chan $nick :I told you not to ban me $+ $lf $+ MODE $chan -b+b $banmask $address($nick,3) 
n145=      unset $_var(banattempt.,$nick) 
n146=    }
n147=    else {
n148=      set -u60 $_var(banattempt.,$nick) 1 
n149=      .raw MODE $chan -ob $nick $banmask $+ $lf $+ NOTICE $nick :Do not ban me! 
n150=    }
n151=  }
n152=  else {
n153=    if (($address == cservice@undernet.org) || ($_isbot($nick))) return
n154=    if (($nick !isop $chan) && ($nick !ishelp $chan) && (. !isin $nick)) {
n155=      if (($nick == ChanServ) && (*.dal.net iswm $server)) return
n156=      .raw MODE $chan -b+b $banmask $address($nick,3) $+ $lf $+ KICK $chan $nick :Desynch Prot
n157=      halt
n158=    }
n159=    if (($_isprot(%bnick)) && ($_isprot($nick) == $false)) { .raw MODE $chan -ob $nick $banmask | halt }
n160=    if ((%btogg == on) && ($nick != $me)) fk $chan $banmask Banned by $nick
n161=  }
n162=  if ($isexempt($nick,$chan)) return
n163=  if (($i($chan,maxban) == 0) || ($i($chan,deop_time) == 0)) return
n164=  if ($fludd(ban,$wildsite,$chan) == $null) return
n165=  mode $chan -o+b $nick $address($nick,3)
n166=  kick $chan $nick :Mass ban: $i($chan,maxban) bans in $fludd(ban,$wildsite,$chan) $+ s in $i($chan,ban_time) $+ s
n167=}
n168=on @1:KICK:# {
n169=  if ($knick == $me) return
n170=  if ($nick == $me) {
n171=    var %.tmpk = %kicked.user. [ $+ [ $chan ] ]
n172=    if ($istok(%.tmpk,$knick,44)) set %kicked.user. [ $+ [ $chan ] ] $remtok(%kicked.user. [ $+ [ $chan ] ] ,$knick,1,44)
n173=    else set %kicked.user. [ $+ [ $chan ] ] $addtok(%kicked.user. [ $+ [ $chan ] ] ,$knick,44)
n174=    return
n175=  }
n176=  if ($isexempt($nick,$chan)) return
n177=  if (($i($chan,bankickeduser) == on) && ($isexempt($knick,$chan) == $null)) inc [ -u $+ [ $i($chan,kickedmaxtime) ] ] %kicked.times. [ $+ [ $address($knick,2) ] ]
n178=  if (($i($chan,maxkick) == 0) || ($i($chan,kick_time) == 0)) return
n179=  if ($fludd(kick,$wildsite,$chan) == $null) return
n180=  mode $chan -o+b $nick $address($nick,3) 
n181=  kick $chan $nick :Mass kick: $i($chan,maxkick) kicks in $fludd(kick,$wildsite,$chan) $+ s of $i($chan,kick_time) $+ s
n182=}
n183=on *:KICK:#:{
n184=  if ($istok(%reject.senders,$nick,32)) {
n185=    .timerRejectT1. $+ $nick 1 10 unset %reject.sender. $+ $nick
n186=    .timerRejectT2. $+ $nick 1 10 set %reject.senders $remtok(%reject.senders,$nick,32)
n187=  }
n188=}
n189=on *:SENDFAIL:*.*:{
n190=  inc %DCC_Send_Fail_Total
n191=  var %i = 1
n192=  while (%i <= %DCC_Send_Fail_Total) {
n193=    if ( %DCC_Send_Fail_ [ $+ [ %i ] ] == $null) {
n194=      set %DCC_Send_Fail_ $+ %i $nick " $+ $filename $+ "
n195=      break
n196=    }
n197=    inc %i    
n198=  }
n199=  iecho Failed DCC Send to $nick -  $+ $c1 $+ [ $+ $fcom(/resend) $fkey(/resend) $+  $+ $c1 $+ ] to resend $nopath($remove($filename,")) 
n200=}
n201=on *:FILESENT:*.*:{
n202=  var %i = 1
n203=  while ( %DCC_Send_Fail_ [ $+ [ %i ] ] ) {
n204=    var %DCC_Send_Find = $nick " $+ $filename $+ "
n205=    if (%DCC_Send_Fail_ [ $+ [ %i ] ] == %DCC_Send_Find) {
n206=      unset %DCC_Send_Fail_ [ $+ [ %i ] ]
n207=      _rearrange DCC_Send_Fail_ %DCC_Send_Fail_Total
n208=      dec %DCC_Send_Fail_Total
n209=      break
n210=    }
n211=    inc %i
n212=  }
n213=  write $_dcclog Sent $chr(9) $adate $chr(9) $nick $chr(9) $_bytes($lof($filename)) $chr(9) $filename
n214=  ReArrange sentfiles $shortfn($filename)
n215=}
n216=; /_rearrange <var> <total>
n217=alias -l _rearrange {
n218=  if ($2 == 0) return
n219=  var %r = 1
n220=  while (%r <= $2) {
n221=    if ($__var($1,%r)) set % $+ $1 $+ %r $ifmatch
n222=    inc %r
n223=  }
n224=}
n225=alias resend {
n226=  if ((%DCC_Send_Fail_Total == $null) || (%DCC_Send_Fail_Total == 0)) iecho No failed DCC Sends.
n227=  elseif (%DCC_Send_Fail_Total == 1) { if ($server) dcc send %DCC_Send_Fail_1 %DCC_Send_Fail_ [ $+ [ %DCC_Send_Fail_1 ] ] | else s.err You need to be connected to a server. | halt }
n228=  else {
n229=    inc %DCC_Send_Fail_Counter
n230=    if ((%DCC_Send_Fail_Counter == $null) || (%DCC_Send_Fail_Counter > %DCC_Send_Fail_Total)) %DCC_Send_Fail_Counter = 1
n231=    var %tmp = %DCC_Send_Fail_ [ $+ [ %DCC_Send_Fail_Counter ] ]
n232=    editbox -a /dcc send %tmp %DCC_Send_Fail_ [ $+ [ %tmp ] ]
n233=  }
n234=}
n235=on *:FILERCVD:*.*:{
n236=  write $_dcclog Rcvd $chr(9) $adate $chr(9) $nick $chr(9) $_bytes($lof($filename)) $chr(9) $filename
n237=  set %LastRcvdFile $filename | var %cps = $get($nick).cps
n238=  iecho $nopath($filename) received from $nick at $iif(%cps == n/a,0,%cps) $+ cps -  $+ $c1 $+ [ $+ $fcom(/vlrf) $fkey(/vlrf) to run/view $+ $c1 $+ $chr(93)
n239=  ReArrange rcvdfiles $shortfn($filename)
n240=}
n241=on @1!:TEXT:*:#:_chanprot $nick $chan text $1-
n242=on @1!:ACTION:*:#:_chanprot $nick $chan text $1-
n243=on @1!:NOTICE:*:#:_chanprot $nick $chan notices $1-
n244=on *:INVITE:*:{
n245=  if ($isexempt($nick,main)) return
n246=  if (($i(main,maxinvite)) && ($i(main,invite_time))) {
n247=    if ($fludd(invite,$wildsite,main)) {
n248=      .ignore $bind(-iu,$i(main,invite.botnetignoretime)) $wildsite
n249=      fkba $wildsite $gkm(Invite_Flood,Invite flood)
n250=    }
n251=  }
n252=}
n253=on 1!:NICK:{
n254=  if ( %showcomchan. [ $+ [ $nick ] ] ) {
n255=    set %showcomchan. $+ $newnick $true
n256=    unset %showcomchan. [ $+ [ $nick ] ]
n257=  }
n258=  if ($isexempt($nick,main)) return
n259=  var %nick.address = $address($nick,3)
n260=  if (($i(main,maxnick)) && ($i(main,nick_time))) {
n261=    var %nick.nf = $fludd(nick,$wildsite,main)
n262=    if (%nick.nf) {
n263=      var %nick.nk = Nick Flood: $i(main,maxnick) nick changes in %nick.nf of $i(main,nick_time)
n264=      gkb $newnick $gkm(Nick_flood,%nick.nk)
n265=      return
n266=    }
n267=  }
n268=  if ($i(main,nickkick) == on) {
n269=    var %nick.lame.nicks = $_readini(lame.ini,lamenicks,n0), %nick.lame.chans = $_readini(lame.ini,$newnick,channels)
n270=    if ($istok(%nick.lame.nicks,$newnick,32)) {
n271=      if (%nick.lame.chans == *) { gkb $newnick $_ft($kmsg(lame_nick),Lame nick .. schmack!) | return }
n272=      var %nick.n = 1
n273=      while ($gettok(%nick.lame.chans,%nick.n,44)) {
n274=        var %nick.chan = $ifmatch
n275=        if (($me isop %nick.chan) && ($newnick !isop %nick.chan)) {
n276=          kick %nick.chan $newnick $gkm(lame_nick,Lame nick .. schmack!)
n277=          if ($_bt1(%nick.chan,nickkick)) ban [ -u $+ [ $ifmatch ] ] %nick.chan %nick.address
n278=        }
n279=        inc %nick.n
n280=      }
n281=    }
n282=  }
n283=  var %nick.x = 1
n284=  while ($gettok($words,%nick.x,32)) {
n285=    if ($ifmatch isin $newnick) {
n286=      var %nick.cnick.tmp = $_readini(words.ini,$ifmatch,channels)
n287=      if (%nick.cnick.tmp == *) {
n288=        gk $newnick $gkm(bad_nick/hostmask,Bad nick)
n289=        break
n290=      }
n291=      var %nick.i = 1
n292=      while ($gettok(%nick.cnick.tmp,%nick.i,44)) {
n293=        var %nick.chan = $ifmatch
n294=        if (($me isop %nick.chan) && ($newnick !isop %nick.chan)) {
n295=          kick %nick.chan $newnick $gkm(bad_nick/hostmask,Bad nick)
n296=          if ($_bt1(%nick.chan,nickkick)) ban [ -u $+ [ $ifmatch ] ] %nick.chan %nick.address
n297=        }
n298=        inc %nick.i
n299=      }
n300=    }
n301=    inc %nick.x
n302=  }
n303=}
n304=; /_pflood <ctcp|dccs|msgs|ntcs> <address> <nick>
n305=alias _pflood {
n306=  if (($gettok($_pp($1),2,44) == 0) || ($gettok($_pp($1),1,44) == 0)) return
n307=  %_mask = $3 $+ ! $+ $2
n308=  if ($level($_ulist(%_mask)) >= 30) return
n309=  %_padd = *!*@ $+ $gettok($2,2,64)
n310=  inc $bind(-u,$gettok($_pp($1),2,44)) $_var(_pflood.,%_padd)
n311=  if ($__var(_pflood.,%_padd) >= $gettok($_pp($1),1,44)) {
n312=    unset $_var(_pflood.,%_padd)
n313=    %_padd = $_mask(%_mask,$i(ctcps,ignore_type))
n314=    if ($gettok($_pp($1),3,44)) { var %fucker = $ifmatch | .ignore $bind(-,$_n³($1),%fucker) %_padd }
n315=    if (((d isin $1) || (m isin $1)) && ($_pp²($1))) close.all $2-3
n316=    if ($_pp²(2)) .timer._pflood. $+ $3 1 2 .notice $3 You are being ignored.
n317=    if ($_pp²(3)) gkb $3 flood
n318=    if ($_pp²(4)) addshit $2 * flood
n319=    if (($_pp²(5)) && ($appactive == $false)) flash FLOOD ALERT
n320=    if (($_pp²(6)) && ($away)) { if ($_isfile($_pp(file))) splay $ifmatch | else beep 6 }
n321=    halt
n322=  }
n323=}
n324=alias _n³ {
n325=  if ((ctcp isin $1) || (dcc isin $1)) return tu
n326=  if (m isin $1) return pu
n327=  return nu
n328=}
n329=alias close.all {
n330=  if ($chat($2)) close -c $2
n331=  if ($get($2)) close -g $2
n332=  var %i = 1
n333=  while ($query(%i)) {
n334=    var %q.tmp = $query(%i).address
n335=    if ((%q.tmp) && ($1 == %q.tmp)) .timer -m 1 0 close -m $query(%i)
n336=    inc %i
n337=  }
n338=}
n339=on *:NOTICE:*:?:_pflood ntcs $address $nick
n340=alias -l censor return $replace($1,a,*,e,*,i,*,o,*,u,*)
n341=; /_chanprot <nick channel event parms>
n342=alias _chanprot {
n343=  if ($isexempt($1,$2)) return
n344=  var %.event = $iif($3 == notice,botnet_notice,botnet_public), %.fludd = $3 $iif($3 == notice,botnotices,bottext), %.swtch = $i($2, [ max $+ [ $3 ] ] ), %.ftime = $i($2, [ [ $3 ] $+ _time ] ) , %m = $i($2,DefBanType)
n345=  if (%m == 13) var %.uaddy = $screw($address($1,3))
n346=  else var %.uaddy = $address($1,$iif(%m isnum 0-12,%m,3))
n347=  if ($i($2,%.event) == on) { if (($fludd(%.fludd,botnet,$2)) && (m !isin $chan($2).mode)) { mode $2 +m } }
n348=  if ($i($2,wordkick) == on) {
n349=    if ($wordcheck($2,$4-)) {
n350=      var %badmatch = BWK: $censor($ifmatch)
n351=      if ($_bt1($2,wordkick)) ban [ -u $+ [ $ifmatch ] ] $2 %.uaddy
n352=      kick $2 $1 $gkm(Swearing,%badmatch)
n353=    }
n354=  }
n355=  if ($i($2,longword) == on) {
n356=    if (($numtok($4-,32) == 1) && ($len($4-) >= $i($2,maxlength))) { 
n357=      if ($_bt1($2,longword)) ban [ -u $+ [ $ifmatch ] ] $2 %.uaddy
n358=      var %.k = Utterly long word: $len($4-) characters 
n359=      kick $2 $1 $gkm(Long_word_Abuse,%.k)
n360=      return
n361=    } 
n362=  }
n363=  if ($i($2,capskick) == on) {
n364=    if (($len($strip($4-)) >= $i($2,maxcaps)) && ($caps($4-) >= $i($2,maxcaps))) { 
n365=      if ($_bt1($2,capskick)) ban [ -u $+ [ $ifmatch ] ] $2 %.uaddy
n366=      var %.k = Excess CAPS 
n367=      kick $2 $1 $gkm(Excess_caps,%.k)
n368=      return
n369=    }
n370=  }
n371=  if (($i($2,repeat_time)) && ($i($2,maxrepeat))) { 
n372=    var %rt = $repeat($1,$2,$4-)
n373=    if (%rt) { 
n374=      if ($_bt1($2,repeat)) ban [ -u $+ [ $ifmatch ] ] $2 %.uaddy
n375=      var %.k = Repeat Flood: $i($2,maxrepeat) repeats in %rt $+ s of $i($2,repeat_time)  
n376=      kick $2 $1 $gkm(Repeat_flood,%.k)
n377=      return 
n378=    }
n379=  }
n380=  if ((%.swtch) && (%.ftime)) { 
n381=    var %.txt = $fludd($3,$address($1,2),$2) 
n382=    if (%.txt) {
n383=      if ($3 == text) {
n384=        if ($_bt1($2,text)) ban [ -u $+ [ $ifmatch ] ] $2 %.uaddy
n385=        var %.k = Text Flood: $i($2,maxtext) lines in %.txt of %.ftime
n386=        kick $2 $1 $gkm(Public_flood,%.k)
n387=      }
n388=      elseif ($3 == notices) {
n389=        if ($_bt1($2,notices)) ban [ -u $+ [ $ifmatch ] ] $2 %.uaddy
n390=        var %.k = Notice Flood: $i($2,maxnotices) lines in %.txt of %.ftime 
n391=        kick $2 $1 $gkm(Notice_flood,%.k)
n392=      }
n393=    } 
n394=  }
n395=}
n396=#awaypager off
n397=ctcp 1!:PAGE:*:{
n398=  if ($i(main,maxctcp)) { 
n399=    var %_fl.ctcp = $fludd(ctcp,$wildsite,main) 
n400=    if (%_fl.ctcp) {
n401=      if ($isexempt($nick,main)) halt
n402=      gkb $nick CTCP Flood: $i(main,maxctcp) ctcps in %_fl.ctcp $+ s of 10 
n403=      .ignore -tiu60 * 
n404=    }
n405=  }
n406=  else {
n407=    var %.uignore = $_ulist($fulladdress)
n408=    if ($level(%.uignore) == 5) .ignore -tu30 %.uignore
n409=    else {
n410=      .notice $nick Your page has been received. Please wait and I'll be with you shortly. 
n411=      .ignore -tu5 $nick 3
n412=      flash INCOMING PAGE 
n413=      if ($i(AwaySettings,pagersound)) splay $ifmatch
n414=    }
n415=  }
n416=  halt
n417=}
n418=#awaypager end
n419=ctcp 1:*:*:{
n420=  if ($nick == $me) {
n421=    if (($1 == ANTI-IDLE) && ($away) && ($timer(.anti.idle))) halt
n422=    return
n423=  }
n424=  var %level = $level($_ulist($fulladdress))
n425=  _botnetfld CTCP
n426=  if ($target == $me) {
n427=    if (($i(ctcps,hide_userctcp)) && ($istok(OP UNBAN VOICE INVITE PASS HELP,$1,32))) return
n428=    _pflood $iif($1 == DCC,dccs,ctcp) $address $nick
n429=  }
n430=  if ($i($target,maxctcp)) { 
n431=    if ($fludd(ctcp,$wildsite,$target)) {
n432=      %_fl.ctcp = $ifmatch
n433=      if (($1-2 == DCC SEND) && ($__var(adcc.,$nick))) goto DCC_GOTO
n434=      .ignore -tiu60 *
n435=      if ($isexempt($nick,$target)) halt
n436=      gkb $nick CTCP Flood: $i($target,maxctcp) ctcps in %_fl.ctcp $+ s of 10 
n437=      cecho 4CTCP flood detected from $nick ( $+ $address $+ ) 
n438=      halt
n439=    }
n440=  }
n441=  if (($1-2 != DCC RESUME) && ($1-2 != DCC ACCEPT) && ($1 != SOUND) && ($1 != MP3)) {
n442=    var %ctcp.tmp = $format(ctcp_request,$nick,$address,$target,$1-)
n443=    if (%ctcp.tmp) var %ctcp.tmp = $ifmatch
n444=    elseif (%ctcp.tmp == 0) var %ctcp.tmp = 0
n445=    else var %ctcp.tmp =  $+ $c3 $+ $nick  $+ $c1 $+ [ $+ $c3 $+ $address $+  $+ $c1 $+ ] requested $+ $c3 $rctcp($1-) from $+ $c3 $target
n446=    if (%ctcp.tmp != 0) cecho %ctcp.tmp
n447=  }
n448=  if (($i(main,ctcpcloaking) == on) && ($1 != DCC)) halt
n449=  if (($1 == SOUND) || ($1 == MP3)) {
n450=    if ($_winbug($1-)) halt
n451=    if (($_mopt(3,20)) && (($inmidi) || ($inwave))) halt
n452=    if (($_mopt(3,19)) || ($i(main,sreq) == on)) {
n453=      if ($format(ctcp_request,$nick,$address,$target,$1-)) var %ctcp.tmp = $ifmatch
n454=      else var %ctcp.tmp = $pre  $+ $c3 $+ $nick  $+ $c1 $+ [ $+ $c3 $+ $address $+  $+ $c1 $+ ] requested $+ $c3 $rctcp($1-) from $+ $c3 $target
n455=      if ($target ischan) echo -lti14 $target %ctcp.tmp | else _echo %ctcp.tmp
n456=      %tmp.var = $iif($wildtok($1-,*.mp?,1,32),*.mp?,$iif($wildtok($1-,*.wav,1,32),*.wav,*.mid))
n457=      %tmp.var1 = $findtok($1-,$wildtok($1-,%tmp.var,1,32),32)
n458=      %tmp.var2 = $calc(%tmp.var1 + 1) $+ -
n459=      %tmp.var3 = $gettok($1-,%tmp.var2,32)
n460=      if ($left(%tmp.var3,1) != $null) {
n461=        if ($target ischan) {
n462=          if ($format(channel_action,$target,$nick,$address,%tmp.var3)) echo -lti14 $target $ifmatch
n463=          else echo -lti14 $target  $+ $c1 $+ ! $+ $c3 $nick $+  $+ $colour(action) %tmp.var3
n464=        }
n465=        else {
n466=          if ($query($nick)) {
n467=            if ($format(query_action2,$nick,$address,%tmp.var3)) echo -lti14 $nick $ifmatch
n468=            else echo -lti14 $nick  $+ $c1 $+ ! $+ $c3 $nick $+  $+ $colour(action) %tmp.var3
n469=          }
n470=          elseif ($_mopt(0,22)) {
n471=            dqwindow show
n472=            if ($format(query_action1,$nick,$address,%tmp.var3)) echo -dlti14 $ifmatch
n473=            else echo -dlti14  $+ $c1 $+ ! $+ $c3 $nick $+  $+ $c1 \ $+ $c3 $+ $me $+  $+ $colour(action) %tmp.var3
n474=          }
n475=          elseif ($_mopt(4,5)) {
n476=            %twindow = $iif(@* iswm $active,-lsti14,-lati14)
n477=            if ($format(query_action1,$nick,$address,%tmp.var3)) echo %twindow $ifmatch
n478=            else echo %twindow  $+ $c1 $+ ! $+ $c3 $nick $+  $+ $c1 \ $+ $c3 $+ $me $+  $+ $colour(action) %tmp.var3
n479=          }
n480=        }
n481=      }
n482=      %tmp.sfile = $nopath($replace($2,?,$chr(32))) | if ($nosound(%tmp.sfile)) goto soundend
n483=      if (*.mp? iswm $2) {
n484=        %tmp.sound = $mp3dir [ $+ [ %tmp.sfile ] ]
n485=        if ($_isfile(%tmp.sound)) { splay $ifmatch | halt }
n486=        %tmp.sound = $replace(%tmp.sound,$chr(32),?,-,?,_,?)
n487=        if ($findfile($mp3dir,%sound,1)) { splay $ifmatch | halt }
n488=      }
n489=      else if ($_isfile($_sounddir(%tmp.sfile))) { splay $ifmatch | halt }  
n490=      :soundend
n491=      if ($_mopt(3,21)) { iecho Sound request: %tmp.sfile does not exist | if ($_mopt(1,23)) .msg $nick ! $+ $nick %tmp.sfile }
n492=    }
n493=    halt
n494=  }
n495=  if ($1 == DO) { gkb $nick Wrong CTCP Request | .ignore -tu10 $wildsite | halt }
n496=  if ($1 == TIME) { .ctcpreply $nick TIME $fulldate | halt }
n497=  if ($1 == FINGER) { if ($ulevel >= 25) .ctcpreply $nick $1 $readini $_mircini text finger | else .ctcpreply $nick $1 Stick your finger somewhere else | halt }
n498=  if ($1 == PING) { .ctcpreply $nick PING $2- | halt }
n499=  :DCC_GOTO
n500=  if ($1 == DCC) {
n501=    if ($2 == CHAT) {
n502=      if ($__var(adcc.,$nick)) { _creq auto | return }
n503=      %dcc.tmp1 = $i(ctcps,adcc)
n504=      %.dccaddr = $_ulist($fulladdress)
n505=      if ($-adcc(%.dccaddr,$2)) { _creq auto | return }
n506=      if (Ignore isin %dcc.tmp1) { iecho Ignored DCC request from $+ $c3 $nick (User not allowed to DCC) | halt }
n507=      if (%dcc.tmp1 == Strict) { iecho Ignored DCC request from $+ $c3 $nick (User not allowed to DCC) | halt }
n508=      if (%dcc.tmp1 == Lenient) { _creq auto | return }
n509=      if (%dcc.tmp1 == Moderate) { .creq ask | return }
n510=    }
n511=    else {
n512=      ; resume/send prot from Leareth (very old code)..
n513=      if ($2 == RESUME) {
n514=        if ($4) return
n515=        .ignore -tu30 $wildsite
n516=        iecho Bad send request from $nick $+ : $+ $address $+ : $3-
n517=        if (%level < 25) gkb $nick DCC Abuse
n518=        halt
n519=      }
n520=      if ($2 == SEND) {
n521=        if ($4 == 9582342556) {
n522=          .ignore -tu30 $wildsite
n523=          iecho Bad send request from $nick $+ : $+ $address $+ : $3-
n524=          if (%level < 25) gkb $nick DCC Abuse
n525=          halt
n526=        }
n527=        elseif (($dccignore) && ($dccignore($3))) {
n528=          .ignore -tu30 $wildsite
n529=          iecho Ignored file from $nick $+ : $address $+ : ( $+ $3 $+ )
n530=          if (($i(ctcps,rejectkick) == on) && (%level < 25)) {
n531=            set %reject.senders $addtok(%reject.senders,$nick,32)
n532=            set %reject.sender. $+ $nick $3
n533=            gkb $nick Sending ignored file ( $+ $3 $+ ) to users
n534=          }
n535=          halt
n536=        }
n537=        else {
n538=          %dcc.tmp1 = $i(ctcps,adcc)
n539=          %.dccaddr = $_ulist($fulladdress)
n540=          if ($-adcc(%.dccaddr,$2)) { _sreq auto | return }
n541=          if (Ignore isin %dcc.tmp1) { iecho Ignored DCC request from $+ $c3 $nick (User not allowed to DCC) | halt }
n542=          if (%dcc.tmp1 == Strict) { iecho Ignored DCC request from $+ $c3 $nick (User not allowed to DCC) | halt }
n543=          if (%dcc.tmp1 == Lenient) { _sreq auto | return }
n544=          if (%dcc.tmp1 == Moderate) { .sreq ask | return }
n545=        }
n546=      }
n547=    }
n548=    return
n549=  }
n550=  halt
n551=}
n552=alias -l _sreq %.sreq = $sreq | .sreq $1 | .timer 1 2 .sreq %sreq
n553=alias -l _creq %.creq = $creq | .creq $1 | .timer 1 2 .creq %creq
n554=alias -l -adcc if (($level($1) == 40) && ($lower($left($2,1)) isincs $_user($1).flag)) return 1
n555=alias -l cecho {
n556=  var %temp = echo -l $+ $iif(@* iswm $active,s,$left($i(ctcps,incoming),1)) $+ ti14
n557=  if ($format(file)) %temp $1-
n558=  else %temp $pre $1-
n559=}
n560=dialog aig {
n561=  title "Ignore"
n562=  size -3 -3 300 170
n563=  button "OK", 1, 40 140 75 25, ok
n564=  text "Hostmask or nick to ignore:", 2, 10 10 130 14, right
n565=  edit "", 3, 141 6 150 22, autohs
n566=  text "Ignore for.. (in seconds):", 4, 10 30 130 14, right
n567=  combo 5, 142 28 150 99, drop edit
n568=  box "Ignore type:", 6, 10 50 280 85
n569=  check "Private messages", 7, 20 70 110 14
n570=  check "Notices", 8, 20 90 110 14
n571=  check "Channel text", 9, 20 110 110 14
n572=  check "CTCP requests", 10, 170 70 110 14
n573=  check "Invites", 11, 170 90 110 14
n574=  check "Control codes", 12, 170 110 110 14
n575=  button "Cancel", 13, 120 140 75 25, cancel
n576=  button "Help", 14,  200 140 75 25, disable
n577=}
n578=on *:DIALOG:aig:sclick:1:{
n579=  unset %.i_switch
n580=  if ($did(3) == $null) return
n581=  var %.i = 7
n582=  while (%.i <= 12) {
n583=    if ($did(%.i).state) %.i_switch = %.i_switch $+ $iif(%.i == 7,p,$iif(%.i == 8,n,$iif(%.i == 9,c,$iif(%.i == 10,t,$iif(%.i == 11,i,$iif(%.i == 12,k))))))
n584=    inc %.i
n585=  }
n586=  if (%.i_switch) %.i_switch = - $+ $ifmatch
n587=  if (($did(5) isnum) && ($did(5) > 0)) %.i_switch = %.i_switch $+ u $+ $did(5)
n588=  .ignore %.i_switch $did(3)
n589=  if ($window(@Ignore list)) ignores
n590=}
n591=on *:DIALOG:aig:init:*:var %x = 20 | while (%x <= 180) { did -a $dname 5 %x | inc %x 10 }
n592=dialog logf {
n593=  title "Log files"
n594=  size -3 -3 200 245
n595=  option pixels
n596=  button "&Close", 1, 105 210 50 25, cancel
n597=  button "&View", 2, 50 210 50 25
n598=  list 3, 10 10 180 200, sort
n599=}
n600=alias -l fm did -a logf 3 $nopath($1-)
n601=on *:dialog:logf:init:*:if (%.NickLog) { var %t = $findfile($logdir,%.NickLog,0,fm $1-) | unset %.NickLog }
n602=on *:dialog:logf:sclick:2:if ( $_isfile( [ $logdir $+ [ $did(3,$did(3).sel) ] ] ) ) notepad $ifmatch
n603=on *:dialog:logf:dclick:3:if ( $_isfile( [ $logdir $+ [ $did(3,$did(3).sel) ] ] ) ) notepad $ifmatch
n604=on *:dialog:sl:init:*:var %i = 1 | while (%i <= 10) { if ($__var(StartUp.,%i)) did -a $dname 6 $ifmatch | inc %i }
n605=on *:dialog:sl:sclick:7:if ($did(6).sel) startup_rem $did(6,$ifmatch)
n606=on *:dialog:sl:sclick:5:.timer -m 1 0 startup_browse
n607=on *:dialog:sl:sclick:4:if (($did(3)) && ($didwm(sl,6,$did(3)) == 0)) startup_add $did(3) | elseif ($did(3)) .timer 1 0 s.err $did(3) seems to be in the Startup list already.
n608=on *:dialog:sl:sclick:2:help StartUp
n609=on *:dialog:sl:sclick:1:if ($script(dialog.ini)) .timer 1 0 .unload -rs $ifmatch
n610=;EOF