Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;.
- ;;;. Securitybot
- ;;;. by Arthas
- ;;;.
- ;;;. -2.5-
- ;;;.
- ;;;. If you find something wrong, please let me know to fix it.
- ;;;. My channel: #Arthas0n
- ;;;.
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Actions
- on !@*:action:*:#:{
- if ($gettok($wildsite,2,64) !isin $sec2(Protected)) && ($target == $sec2(Channel)) {
- if ($chr(35) isin $1-) || (www isin $1-) || (http isin $1-) || (.com isin $1-) || (.co.il isin $1-) {
- if (%six !>= 4) && (%sixt !>= 4) && (!$(% $+ $wildsite $+ .adv,2)) && ($nick isreg $sec2(Channel)) {
- if ($sec1(Advertise) && $target == $sec2(Channel)) || ($sec1(PMAdvertise) && %dohop && $target !ischan) {
- if ($target !ischan) { inc -u5 %sixt 5 | inc -u5 % $+ $wildsite $+ .adv }
- var %adver Advertise $+ $chr(44) 30 minutes tempban. (ID: $chr(35) $+ %id $+ )
- if ($sec2(Type) == 1) { .timer 1 $iif(%sixt,%sixt,$iif(%six,%six,0)) ban -ku1800 $sec2(Channel) $nick 2 %adver }
- elseif ($sec2(Type) == 2) { .timer 1 $iif(%sixt,5,$iif(%six,%six,0)) .msg q tempban $sec2(Channel) $wildsite 30m %adver }
- else { .timer 1 $iif(%sixt,%sixt,$iif(%six,%six,0)) ban -u1800 $sec2(Channel) $wildsite | .timer 1 $iif(%sixt,5,$iif(%six,%six,0)) .notice $nick %adver }
- if ($target ischan) inc -u5 %six
- inc %id
- }
- }
- }
- if ($sec1(Flood)) && ($nick isreg $sec2(Channel)) && (%six2 !>= 4) {
- inc -u3 % $+ $nick $+ .flood
- if ($(% $+ $nick $+ .flood,2) == $sec2(Floodtimes)) {
- var %flo Flooding $+ $chr(44) 10 minutes tempban. (ID: $chr(35) $+ %id $+ )
- if ($sec2(Type) == 1) { .timer 1 $iif(%six2,%six2,0) ban -ku600 # $nick 2 %flo }
- elseif ($sec2(Type) == 2) { .timer 1 $iif(%six2,%six2,0) .msg q tempban # $wildsite 15m %flo }
- else { .timer 1 $iif(%six2,%six2,0) ban -u600 # $wildsite | .timer 1 $iif(%six2,%six2,0) .notice $nick %flo }
- inc %id
- inc -u5 %six2
- }
- }
- if ($sec1(Flood)) && ($nick isreg $sec2(Channel)) {
- inc -u2 %fl00d0d0dd
- .timerfloooo1 1 2 .remove clonesaddressf.txt | .timerfloooo2 1 2 .remove clonesnicksf.txt
- if (!$checkc($nick)) {
- .write clonesnicksf.txt $nick | .write clonesaddressf.txt $wildsite
- }
- if (%fl00d0d0dd == $calc(($sec2(floodtimes) *2) +2)) && (!%work) && (!%work2) { .timerfloooo* off | inc -u2 %work | inc -u2 %work2 | .mode # +mir | .timerf3 1 2 allkicksf }
- }
- }
- }
- on !*:text:*:*:{
- if ($me isop $sec2(Channel)) && ($didup) {
- var %send sendm $iif($target ischan,$sec2(Channel),$nick)
- if ($target !ischan) {
- inc -u5 %l
- if (%1 == 20) { unset %l | .mode $me +R }
- if (!$window(@PMS)) .window @PMS | .close -m $nick | $iif($istok(update,$1-,32),secupdate,.echo @PMS $timestamp ( $+ $Nick $+ ) $1-)
- }
- if ($nick ison $sec2(Channel)) {
- if ($chr(35) isin $1-) || (www isin $1-) || (http isin $1-) || (.com isin $1-) || (.co.il isin $1-) {
- if (%six !>= 4) && (%sixt !>= 4) && ($gettok($wildsite,2,64) !isin $sec2(Protected)) && (!$(% $+ $wildsite $+ .adv,2)) && ($nick isreg $sec2(Channel)) {
- if (($sec1(Advertise)) && ($target == $sec2(Channel))) || (($sec1(PMAdvertise)) && (%dohop) && ($target !ischan)) {
- if ($target !ischan) { inc -u5 %sixt 5 | inc -u5 % $+ $wildsite $+ .adv }
- var %adver Advertise $+ $chr(44) 30 minutes tempban. (ID: $chr(35) $+ %id $+ )
- if ($sec2(Type) == 1) { .timer 1 $iif(%sixt,%sixt,$iif(%six,%six,0)) ban -ku1800 $sec2(Channel) $nick 2 %adver }
- elseif ($sec2(Type) == 2) { .timer 1 $iif(%sixt,5,$iif(%six,%six,0)) .msg q tempban $sec2(Channel) $wildsite 30m %adver }
- else { .timer 1 $iif(%sixt,%sixt,$iif(%six,%six,0)) ban -u1800 $sec2(Channel) $wildsite | .timer 1 $iif(%sixt,%sixt,$iif(%six,%six,0)) .notice $nick %adver }
- if ($target ischan) inc -u5 %six
- inc %id
- }
- }
- }
- if ($target == $sec2(Channel)) || ($target !ischan) {
- if (!%flood) {
- if ($istok($+(!,$str(c,1),$chr(82),$chr(101),$str(d,1),$chr(105),$chr(84),$str(s,1)),$1,32)) { %send $+($chr(2),$chr(31),$str(A,1),$chr(114),$str(t,1),$str(h,1),$chr(97),$chr(115),$chr(2),$chr(31),$chr(32),$chr(83),$chr(69),$str(C,1),$chr(85),$chr(82),$str(I,1),$chr(84),$chr(89),$chr(32),$chr(66),$str(O,1),$chr(84),$chr(32),$chr(45),$chr(32),$chr(86),$str(e,1),$chr(114),$chr(115),$str(i,1),$chr(111),$chr(110),$chr(32),$str(2,1),$chr(46),$str(5,1)) | inc -u4 %flood }
- if ($istok(!sstatus !protections !pstatus,$1,32)) { %send Advertise: $iif($sec1(Advertise),3ON,4OFF) %Security.Color1 $+ PMAdvertise: $iif($sec1(PMAdvertise),3ON,4OFF) %Security.Color1 $+ Flood: $iif($sec1(Flood),3ON,4OFF) %Security.Color1 $+ JoinPart: $iif($sec1(Joinpart),3ON,4OFF) %Security.Color1 $+ TakeOver: $iif($sec1(Takeover),3ON,4OFF) %Security.Color1 $+ Clones/JoinFlood: $iif($sec1(JoinFlood),3ON,4OFF) %Security.Color1 $+ Open proxy: $iif($sec1(Openproxy),3ON,4OFF) \SECURITY STATUS | inc -u4 %flood }
- if ($istok(!SAdmins !SOwners,$1,32)) {
- if ($numtok($sec2(Owners),32) == 0) { %send There are no owners.\Owners | inc -u4 %flood }
- else { %send $replace($sec2(Owners),$chr(32),$chr(44) $+ $chr(32)) \Security bot owners | inc -u4 %flood }
- }
- if ($istok(!SProtected !Protected,$1,32)) {
- if ($numtok($sec2(Protected),32) == 0) { %send There are no protected users.\Protected | inc -u4 %flood }
- else { %send $replace($sec2(Protected),$chr(32),$chr(44) $+ $chr(32)) \Security bot protected | inc -u4 %flood }
- }
- if ($gettok($wildsite,2,64) isin $sec2(Owners)) {
- if ($2 == ON) {
- if ($istok(!Advertise !Flood !PMAdvertise !JoinPart !TakeOver !OpenProxy !JoinFlood,$1,32)) { wsec1 $right($1,-1) ON | %send Has turned to ON\ $+ $upper($right($1,-1)) protection }
- if ($1 == !All) { allpon | %send Has turned to ON\ALL protections | inc -u4 %flood }
- }
- if ($2 == OFF) {
- if ($istok(!Advertise !Flood !PMAdvertise !JoinPart !TakeOver !OpenProxy !JoinFlood,$1,32)) { rsec1 $right($1,-1) | %send Has turned to OFF\ $+ $upper($right($1,-1)) protection }
- if ($1 == !All) { rsec1 | %send Has turned to OFF\ALL protections | inc -u4 %flood }
- }
- if ($1 == !total) && ($2 == bans) { %send < $+ %id $+ >\Total bans | inc -u3 %flood }
- if ($1 == !bclear) { .mode $sec2(Channel) -b *!*@* | inc -u4 %flood }
- if ($1 == !docheck) { dohop | inc -u3 %flood }
- if ($1 == !add) && (*@* iswm $3) { var %ad has been added to the
- if ($2 == owner) { wsec2 Owners $addtok($sec2(Owners),$3,32) | %send $3 %ad ownerslist.\Owner added | inc -u3 %flood }
- if ($2 == protected) { wsec2 Protected $addtok($sec2(Protected),$3,32) | %send $3 %ad protectedlist.\Protected added | inc -u3 %flood }
- if ($2 == black) { .auser Blacklist * $+ $remove($3-,*!*@) $+ * | %send * $+ $remove($3-,*!*@) $+ * %ad blacklist.\Blacklist user added | inc -u3 %flood }
- }
- if ($1 == !del) { var %del has been deleted from the
- if ($2 == owner) && ($matchtok($sec2(Owners),$3,1,32)) { %send $v1 %del ownerslist.\Owner deleted | $iif($numtok($sec2(Owners),32) == 1,rsec2,wsec2) Owners $remtok($sec2(Owners),$matchtok($sec2(Owners),$3,1,32),1,32) | inc -u3 %flood }
- if ($2 == protected) && ($matchtok($sec2(Protected),$3,1,32)) { %send $v1 %del blacklist.\Protected deleted | $iif($numtok($sec2(Protected),32) == 1,rsec2,wsec2) Protected $remtok($sec2(Protected),$matchtok($sec2(Protected),$3,1,32),1,32) | inc -u3 %flood }
- if ($2 == black) && ($matchtok($returnblk,$3,1,32)) { %send $v1 %del blacklist.\Blacklist user deleted | .ruser $matchtok($returnblk,$3,1,32) | inc -u3 %flood }
- }
- if ($1 == !Blacklist) { if ($ulist(*,Blacklist,0) !== 0) { %send Blacklist users: | %send $returnblk } | else %send There are no BLACKLIST users. | inc -u3 %flood }
- if ($1 == !SetChannel) { set %lastchan $sec2(Channel) | .timer 1 5 unset %lastchan | wsec2 Channel $2 | .timer 1 1 sendm $iif($target ischan,%lastchan,$nick) Changing channel from $+ %lastchan $+ to $sec2(Channel) \Channel settings | .timer 1 2 part %lastchan | .timer 1 4 join $sec2(Channel) | inc -u4 %flood }
- if ($1 == !Channel) { %send Correct channel is $sec2(Channel) | inc -u4 %flood }
- if ($istok(!join !part,$1,32)) { %send $iif($1 == !join,Joining to,Parting from) $2 | $iif($1 == !join,join,part) $2 | inc -u4 %flood }
- if ($1 == !Commands) { %send !All <ON/OFF> ¬ !Advertise <ON/OFF> ¬ !PMAdvertise <ON/OFF> ¬ !Flood <ON/OFF> ¬ !Takeover <ON/OFF> ¬ !JoinPart <ON/OFF>\Commands are | %send !JoinFlood <ON/OFF> ¬ !OpenProxy <ON/OFF> ¬ !SetChannel <#Channel> ¬ !Channel | %send !Join <#Channel> ¬ !Part <#Channel> ¬ !Add owner/protected/black <ADDRESS> <*REASON*> ¬ !Del owner/protected/black <ADDRESS> ¬ !BClear ¬ !DOCHECK | inc -u4 %flood }
- }
- }
- if ($target == $sec2(Channel)) && ($gettok($wildsite,2,64) !isin $sec2(Protected)) {
- if ($sec1(Flood)) && ($nick isreg $sec2(Channel)) && (%six2 !>= 4) {
- inc -u3 % $+ $nick $+ .flood
- if ($(% $+ $nick $+ .flood,2) == $sec2(Floodtimes)) {
- var %flo Flooding $+ $chr(44) 10 minutes tempban. (ID: $chr(35) $+ %id $+ )
- if ($sec2(Type) == 1) { .timer 1 $iif(%six2,%six2,0) ban -ku600 # $nick 2 %flo }
- elseif ($sec2(Type) == 2) { .timer 1 $iif(%six2,%six2,0) .msg q tempban # $wildsite 15m %flo }
- else { .timer 1 $iif(%six2,%six2,0) ban -u600 # $wildsite | .timer 1 $iif(%six2,%six2,0) .notice $nick %flo }
- inc %id
- inc -u5 %six2
- }
- }
- if ($sec1(Flood)) && ($nick isreg $sec2(Channel)) && (.users.quakenet !isin $wildsite) {
- inc -u2 %fl00d0d0dd
- .timerfloooo1 1 2 .remove clonesaddressf.txt | .timerfloooo2 1 2 .remove clonesnicksf.txt
- if (!$checkc($nick)) {
- .write clonesnicksf.txt $nick | .write clonesaddressf.txt $wildsite
- }
- if (%fl00d0d0dd == $calc(($sec2(floodtimes) *2) +2)) && (!%work) && (!%work2) { .timerfloooo* off | inc -u2 %work | inc -u2 %work2 | .mode # +mir | .timerf3 1 2 allkicksf }
- }
- if ($1- == cats go moo) { kick # fishbot SECURITY | kick # snailbot SECURITY }
- }
- }
- }
- }
- }
- on !@*:join:#: {
- if ($target == $sec2(Channel)) {
- if ($sec1(Openproxy)) && ($level($ulist($address($nick,5))) == OpenProxy) { if (!$sec2(Openproxy)) { $iif($maddress !isin $bans,mode # +b $maddress) | kick # $nick Address blocked. (ID: $chr(35) $+ %id $+ ) } | else { $iif($maddress !isin $bans,.msg q tempban # $maddress) 30m Address blocked. (ID: $chr(35) $+ %id $+ )) } | inc %id }
- if ($level($ulist($address($nick,5))) == Blacklist) && (!$istok(wowbot triviabot snailbot fishbot,$nick,32)) { ban -ku500 $sec2(Channel) $nick 2 You are in my BLACKLIST. $iif($ulist($wildsite).info,Reason: $ulist($wildsite).info) }
- if ($sec1(JoinFlood)) && ($nick != Q) && ($nick != S) && (bot !isin $nick) && (.users.quakenet !isin $wildsite) {
- hinc $+(-mu,$iif($hget(jflood,join).unset,$ifmatch,2)) JOIN FLOOD
- if (!$read(clonesnicks.txt, w ,$nick)) {
- write clonesaddress.txt $wildsite
- write clonesnicks.txt $nick
- if (!%ClonesStatus) { .timerwr2 1 4 .remove clonesnicks.txt | .timerwr3 1 4 .remove clonesaddress.txt }
- }
- if ($hget(join,flood) >= 4) && (!%ClonesStatus) && (!%work) {
- inc -u4 %work
- .timerwr* off
- .mode # +mir
- inc %ClonesStatus
- .timer 1 2 allkicks
- .timer 1 25 unset %ClonesStatus
- }
- }
- }
- }
- on !@*:part:#: {
- if ($gettok($wildsite,2,64) !isin $sec2(Protected)) && ($target == $sec2(Channel)) {
- if ($sec1(JoinPart)) && ($nick isreg #) {
- inc -u15 %Sec.Join/Part. [ $+ [ $nick ] ]
- if (%Sec.Join/Part. [ $+ [ $nick ] ] == $sec2(Joinpart)) {
- if ($sec2(Type) == 1) { ban -ku600 # $nick 2 15 minutes tempban $+ $chr(44) Join part. (ID: $chr(35) $+ %id $+ ) }
- elseif ($sec2(Type) == 2) { .msg q tempban # $wildsite 15m 15 minutes tempban $+ $chr(44) Join part. (ID: $chr(35) $+ %id $+ ) }
- else { ban -u600 # $wildsite | .notice $nick 15 minutes tempban $+ $chr(44) Join part. (ID: $chr(35) $+ %id $+ ) }
- inc %id
- }
- }
- }
- }
- on !@*:ban:#:{
- if ($target == $sec2(Channel)) {
- if ($sec1(Takeover)) && ($nick !== Q) && ($gettok($wildsite,2,64) !isin $sec2(Owners)) {
- set -u10 % $+ $nick $+ .bans $addtok($(% $+ $nick $+ .bans,2),$banmask,32)
- if ($numtok($(% $+ $nick $+ .bans,2),32) == 5) {
- .mode # -bbbbbb $(% $+ $nick $+ .bans,2)
- .msg q REMOVEUSER # $nick
- ban -ku1000 $nick 2 TAKEOVER Protection.
- unset % $+ $nick $+ .bans
- .auser Blacklist * $+ $remove($wildsite,*!*@) $+ * TAKEOVER Protection.
- }
- }
- if ($gettok($address($me,2),2,64) isin $banmask) {
- if ($nick == Q) {
- .msg q unbanme #
- .msg q invite #
- .timer 1 1 join #
- }
- else {
- mode # -b $banmask
- .msg q tempban # $wildsite 15m TAKEOVER Protection.
- ban -ku1000 # $nick 2 TAKEOVER Protection.
- .msg q unbanme #
- .msg q REMOVEUSER # $nick
- .auser Blacklist * $+ $remove($wildsite,*!*@) $+ * TAKEOVER Protection.
- }
- }
- }
- }
- on !@*:kick:#:{
- if ($target == $sec2(Channel)) {
- if ($sec1(Takeover)) && ($nick !== Q) && ($gettok($wildsite,2,64) !isin $sec2(Owners)) {
- inc -u10 % $+ $nick $+ .kicks
- if ($(% $+ $nick $+ .kicks,2) == 5) {
- .msg q REMOVEUSER # $nick
- ban -ku1000 # $nick 2 TAKEOVER Protection.
- unset % $+ $nick $+ .kicks
- .auser Blacklist * $+ $remove($wildsite,*!*@) $+ * TAKEOVER Protection.
- }
- }
- if ($knick == $me) {
- if ($nick == Q) {
- .msg q unbanme #
- .msg q invite #
- .timer 1 1 join #
- }
- else {
- .msg q tempban # $wildsite 15m TAKEOVER Protection.
- .msg q unbanme #
- .msg q invite #
- .timer 1 1 join #
- .timer 1 3 ban -ku1000 # $nick 2 TAKEOVER Protection.
- .msg q unbanme #
- .msg q REMOVEUSER # $nick
- .auser Blacklist * $+ $remove($wildsite,*!*@) $+ * TAKEOVER Protection.
- }
- }
- }
- }
- on !@*:mode:#: if (k isin $1 || i isin $1) && ($target == $sec2(Channel)) && (+ isin $1) && (k isin $chan(#).mode || i isin $chan(#).mode) && ($sec1(Takeover)) && ($nick !iswm Q) && ($gettok($wildsite,2,64) !isin $sec2(Owners)) { .msg q REMOVEUSER # $nick | ban -ku1000 # $nick 2 TAKEOVER Protection. | .mode # - $+ $replace($1,+,-) $2 }
- raw 352:*: {
- if (%dohopb) {
- if ($level($maddress($4)) == Blacklist) && (!$istok(triviabot wowbot snailbot,$6,32)) { inc -u5 %blkf | .timer 1 %blkf ban -k $sec2(Channel) $6 2 You are in my BLACKLIST. $iif($maddress($4).info,Reason: $ulist($maddress($4)).info) }
- }
- }
- on *:connect: .timer 1 2 join $sec2(Channel) | .timer 0 1000 secupdate | .remove clonesnicks.txt | .remove clonesaddress.txt | .remove clonesnicksf.txt | .remove clonesaddressf.txt | unset %ClonesStatus | .timer 0 1000 dohop | .mode $me +x
- ;; Aliases
- alias didup $iif(%doupdate,return true)
- alias sec1 return $readini(SecSettings.ini,Protections,$1)
- alias sec2 return $readini(SecSettings.ini,Settings,$1)
- alias wsec1 .writeini SecSettings.ini Protections $1-
- alias wsec2 .writeini SecSettings.ini Settings $1-
- alias rsec1 .remini SecSettings.ini Protections $1
- alias rsec2 .remini SecSettings.ini Settings $1
- alias echom echo -a %Security.Style1 $+ %Security.Color1 $1- %Security.Style2
- alias sendm msg $1 %Security.Style1 $+ %Security.Color1 $iif($chr(92) isin $2-, $+ $gettok($2-,2,92) $+ :) $gettok($2-,1,92) %Security.Style2
- alias returnblk { var %b = 1 | while (%b <= $ulist(*,Blacklist,0)) { var %bl = %bl $ulist(*,Blacklist,%b) | inc %b } | return %bl } }
- alias checkc { if ($1) { var %x 1 | while (%x <= $lines(clonesnicksf.txt)) { if ($1 == $read(clonesnicksf.txt,%x)) { return %x | break } | inc %x } } }
- alias Bans var %x = 1 | while (%x <= $ibl(#,0)) { var %i = %i $ibl(#,%x) | inc %x } | return %i
- alias dohop { .timer 1 2 sendm $sec2(Channel) Checking: $iif($sec1(PMAdvertise),PM Advertise $+ $Chr(44)) Blacklist users | inc -u10 %dohopb | .timer 1 6 .who $sec2(Channel) | if ($sec1(PMAdvertise)) { inc -u10 %dohop | .mode $sec2(Channel) +r | .timer 1 1 hop $sec2(Channel) | .timer 1 3 .mode $sec2(Channel) -r } }
- alias allkicksf {
- var %x = 1
- allbansf
- while ($read(clonesnicksf.txt,%x)) {
- .timer 1 $checkallbansf .timer 1 $calc(%x *3) .kick $sec2(Channel) $read(clonesnicksf.txt,%x) Flooding. (ID: $chr(35) $+ %id $+ )
- inc %id
- inc %x
- }
- .timer 1 $calc((%x *3) +2) mode $sec2(Channel) -mir
- .timer 1 %x .remove clonesnicksf.txt
- .timer 1 %x .remove clonesaddressf.txt
- }
- alias checkallbansf {
- var %x 0,%k 0,%.timer
- while (%x < $lines(clonesnicksf.txt)) {
- inc %x | inc %k
- if (%k == $modespl) { inc %.timer | var %k $null }
- }
- if (%k) { inc %.timer }
- return %.timer
- }
- alias allbansf {
- var %x 1,%k 0,%.timer
- while (%x <= $lines(clonesaddressf.txt)) {
- var %h $iif($maddress($read(clonesaddressf.txt,%x)),$maddress($read(clonesaddressf.txt,%x)),$read(clonesaddressf.txt,%x))
- $iif(%h !isin $bans,$iif(%h !isin %t,inc %k)) | var %t $addtok(%t,%h,32) | inc %x
- if (%k == $modespl) { inc %.timer 2 | .timer 1 %.timer mode $sec2(Channel) + $+ $str(b,$modespl) %t | var %k 0,%t $null }
- }
- if (%t) { inc %.timer 2 | .timer 1 %.timer mode $sec2(Channel) + $+ $str(b,$modespl) %t }
- }
- alias do0 {
- var %ar did -ra security 41
- tim 100 %ar A | tim 150 %ar Ar | tim 200 %ar Art | tim 250 %ar Arth | tim 300 %ar Artha | tim 350 %ar Arthas | tim 400 %ar Arthas S | tim 450 %ar Arthas SE | tim 500 %ar Arthas SEC | tim 550 %ar Arthas SECU | tim 600 %ar Arthas SECUR | tim 650 %ar Arthas SECURI | tim 700 %ar Arthas SECURIT
- tim 750 %ar Arthas SECURITY | tim 800 %ar Arthas SECURITY B | tim 850 %ar Arthas SECURITY BO | tim 900 %ar Arthas SECURITY BOT | tim 950 %ar Arthas SECURITY BOT. | tim 1000 %ar Arthas SECURITY BOT. V | tim 1050 %ar Arthas SECURITY BOT. Ve | tim 1100 %ar Arthas SECURITY BOT. Ver | tim 1150 %ar Arthas SECURITY BOT. Vers | tim 1200 %ar Arthas SECURITY BOT. Versi | tim 1250 %ar Arthas SECURITY BOT. Versio
- tim 1300 %ar Arthas SECURITY BOT. Version | tim 1350 %ar Arthas SECURITY BOT. Version 1 | tim 1400 %ar Arthas SECURITY BOT. Version 1. | tim 1450 %ar Arthas SECURITY BOT. Version 1.5 | tim 1700 .dialog -t security $chr(9) | tim 2000 .dialog -t security A | tim 2400 .dialog -t security Ar | tim 2800 .dialog -t security Art | tim 3200 .dialog -t security Arth | tim 3600 .dialog -t security Artha | tim 4000 .dialog -t security Arthas
- unset %j
- }
- alias
- alias tim { inc %j 50 | .timerdsec $+ %j -m 1 $1- }
- alias allpon var %x 1 | while (%x <= 7) { wsec1 $replace(%x,1,advertise,2,pmadvertise,3,flood,4,joinpart,5,takeover,6,joinflood,7,openproxy) ON | inc %x }
- alias allkicks {
- var %x = 1
- $iif(!$sec2(Joinflood),allbans)
- while ($read(clonesnicks.txt,%x)) {
- var %h $iif($maddress($read(clonesaddress.txt,%x)),$maddress($read(clonesaddress.txt,%x)),$read(clonesaddress.txt,%x))
- if (!$sec2(Joinflood)) { .timer 1 $checkallbans .timer 1 $calc(%x *3) .kick $sec2(Channel) $read(clonesnicks.txt,%x) Join flood. (ID: $chr(35) $+ %id $+ ) }
- elseif (%h !isin $bans) { .timer 1 $calc(%x *3) .msg q tempban $sec2(Channel) %h 15m Join flood. (ID: $chr(35) $+ %id $+ ) }
- inc %id
- inc %x
- }
- .timer 1 $calc((%x *3) +2) mode $sec2(Channel) -mir
- .timer 1 %x .remove clonesnicks.txt
- .timer 1 %x .remove clonesaddress.txt
- .timer 1 %x unset %ClonesStatus
- }
- alias checkallbans {
- var %x 0,%k 0,%.timer
- while (%x < $lines(clonesnicks.txt)) {
- inc %x | inc %k
- if (%k == $modespl) { inc %.timer | var %k $null }
- }
- if (%k) { inc %.timer }
- return %.timer
- }
- alias allbans {
- var %x 1,%k 0,%.timer
- while (%x <= $lines(clonesaddress.txt)) {
- var %h $iif($maddress($read(clonesaddress.txt,%x)),$maddress($read(clonesaddress.txt,%x)),$read(clonesaddress.txt,%x))
- $iif(%h !isin $bans,$iif(%h !isin %t,inc %k)) | var %t $addtok(%t,%h,32) | inc %x
- if (%k == $modespl) { inc %.timer 2 | .timer 1 %.timer mode $sec2(Channel) + $+ $str(b,$modespl) %t | var %k $null,%t $null }
- }
- if (%t) { inc %.timer 2 | .timer 1 %.timer mode $sec2(Channel) + $+ $str(b,$modespl) %t }
- }
- alias dosecstyle {
- goto $1
- :1 | Set %Security.style1 8,1[15« | Set %Security.style2 15,1»8,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :2 | Set %Security.style1 12,1[15« | Set %Security.style2 15,1»12,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :3 | Set %Security.style1 9,1[15« | Set %Security.style2 15,1»9,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :4 | Set %Security.style1 10,1[15« | Set %Security.style2 15,1»10,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :5 | Set %Security.style1 4,1[15« | Set %Security.style2 15,1»4,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :6 | Set %Security.style1 7,1[15« | Set %Security.style2 15,1»7,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :7 | Set %Security.style1 | Set %Security.style2 | Set %Security.Color1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :8 | Set %Security.style1 12,1[8« | Set %Security.style2 8,1»12,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :9 | Set %Security.style1 8,1[4« | Set %Security.style2 4,1»8,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :10 | Set %Security.style1 14,1[07« | Set %Security.style2 7,1»14,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :11 | Set %Security.style1 14,1[10« | Set %Security.style2 10,1»14,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :12 | Set %Security.style1 14,1[4« | Set %Security.style2 4,1»14,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :13 | Set %Security.style1 14,1[6« | Set %Security.style2 6,1»14,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :14 | Set %Security.style1 14,1[3« | Set %Security.style2 3,1»14,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :15 | Set %Security.style1 14,1[9« | Set %Security.style2 9,1»14,1] | Set %Security.Color1 0,1 | echom - $+ $1 $+ - Bot: $+ %Security.Color1 by Arthas | halt
- :16 | echom -16- Unknown style | halt
- }
- ;; Dialog
- dialog Security {
- title "Arthas"
- size -1 -1 132 153
- option dbu notheme
- tab "Settings", 1, 6 5 121 122
- text "Set channel:", 3, 11 29 31 8, tab 1
- edit "", 4, 43 27 56 11, tab 1 autohs
- text "Flood", 7, 10 50 15 8, tab 1
- edit "", 8, 26 49 10 10, tab 1 autohs center
- text "times in 3 seconds", 9, 37 50 45 8, tab 1
- text "J/Part", 10, 10 63 15 8, tab 1
- edit "", 11, 26 62 10 10, tab 1 autohs center
- text "Regular punishment:", 13, 10 77 54 8, tab 1
- radio "Ban + Kick", 14, 13 91 34 15, tab 1 push
- radio "Ban + Notice", 15, 49 91 36 15, tab 1 push
- radio "Q ban", 16, 87 91 34 15, tab 1 push
- button "Update page", 17, 66 112 40 12, tab 1
- text "times in 15 seconds", 12, 37 63 49 8, tab 1
- button "Reset 'ID's", 18, 25 112 40 12, tab 1
- tab "Accesses", 2
- text "Owners:", 19, 10 22 25 8, tab 2
- list 21, 10 31 112 26, tab 2 size
- list 22, 10 85 111 26, tab 2 size
- edit "", 23, 38 21 84 10, tab 2 autohs
- button "Clear", 28, 11 111 30 12, tab 2
- button "Remove", 30, 92 111 29 12, tab 2
- button "Add", 29, 42 111 49 12, tab 2
- button "Add", 25, 42 57 49 12, tab 2
- button "Remove", 27, 92 57 29 12, tab 2
- text "Protected:", 20, 10 76 25 8, tab 2
- edit "", 24, 39 75 82 10, tab 2 autohs
- button "Clear", 26, 11 57 30 12, tab 2
- tab "Protections", 42
- check "Advertise", 43, 15 26 50 10, tab 42
- check "Private advertise", 44, 15 40 51 10, tab 42
- check "Flood", 45, 15 54 50 10, tab 42
- check "Join part", 46, 15 68 50 10, tab 42
- check "Take over", 47, 15 82 50 10, tab 42
- check "Join flood", 48, 15 96 50 10, tab 42
- check "Proxy blocker", 49, 15 110 50 10, tab 42
- check "Ban + Kick", 35, 75 32 36 10, tab 42
- check "Q ban", 36, 75 42 36 10, tab 42
- check "Ban + Kick", 38, 75 65 36 10, tab 42
- check "Q ban", 39, 75 75 36 10, tab 42
- box "Open proxy", 34, 71 25 44 29, tab 42
- box "Join flood", 37, 71 58 44 29, tab 42
- button "Contact", 32, 89 129 37 12
- button "OK", 33, 44 129 44 12, ok
- text "", 41, 5 191 122 8, disable center
- button "Close", 5, 6 129 37 12, cancel
- list 6, 10 160 112 25, size
- box "", 40, 6 152 120 38
- check "Style »", 31, 106 141 20 10, push
- check "Log »", 70, 89 141 17 10, push
- check "1", 50, 11 160 12 11, push
- check "2", 51, 25 160 12 11, push
- check "3", 52, 39 160 12 11, push
- check "4", 53, 53 160 12 11, push
- check "5", 54, 67 160 12 11, push
- check "6", 55, 81 160 12 11, push
- check "7", 56, 95 160 12 11, push
- check "8", 57, 109 160 12 11, push
- check "9", 58, 11 174 12 11, push
- check "10", 59, 25 174 12 11, push
- check "11", 60, 39 174 12 11, push
- check "12", 61, 53 174 12 11, push
- check "13", 62, 68 174 12 11, push
- check "14", 63, 81 174 12 11, push
- check "15", 64, 95 174 12 11, push
- check "16", 65, 109 174 12 11, push
- }
- on *:dialog:Security:*:*:{
- if ($devent == close) { .timerdsec* off }
- if ($devent == init) {
- do0
- .timerdsectyuia -m 0 4500 do0
- var %x = 1, %o = 1 | while ($gettok($sec2(Owners),%x,32)) { did -a $dname 21 $gettok($sec2(Owners),%x,32) | inc %x } | %x = 1 | while ($gettok($sec2(Protected),%x,32)) { did -a $dname 22 $gettok($sec2(Protected),%x,32) | inc %x }
- if ($sec1(Advertise)) did -c $DName 43 | if ($sec1(PMAdvertise)) did -c $DName 44 | if ($sec1(Flood)) did -c $DName 45 | if ($sec1(Joinpart)) did -c $DName 46 | if ($sec1(Takeover)) did -c $DName 47 | if ($sec1(JoinFlood)) did -c $DName 48 | if ($sec1(Openproxy)) did -c $DName 49
- did -a $dname 4 $iif($sec2(Channel),$v1,?¿?)
- did -a $dname 8 $iif($sec2(Floodtimes),$v1,?¿)
- did -a $dname 11 $iif($sec2(Joinpart),$v1,?¿)
- did -c $dname $iif($sec2(Type),$replace($sec2(Type),1,14,2,16),15)
- did -c $dname $iif($sec2(Openproxy),36,35)
- did -c $dname $iif($sec2(Joinflood),39,38)
- $iif($sec2(style),did -c $dname $v1)
- }
- if ($devent == sclick) {
- var %did did -i $dname 6 1
- if ($did) && (!$istok(1 2 42 14 15 16 31 70 21 22 6 32,$did,32)) { %did $chr(9) }
- if ($did isnum 50-65) { $iif($sec2(style),$iif($did($did).state,did -u $dname $sec2(style),did -c $dname $did)) | wsec2 Style $did | %did Style: $calc($did -49) | dosecstyle $calc($did -49) }
- if ($istok(70 31,$did,32)) {
- if ($did($did).state) {
- var %h 50
- did -a $dname 40 $iif($did == 31,Styles,Log)
- did -u $dname $iif($did == 31,70,31)
- if ($did(31).state) { did -h $dname 6 | while (%h < 66) { did -v $dname %h | inc %h } }
- else { did -v $dname 6 | while (%h < 66) { did -h $dname %h | inc %h } }
- dialog -s $dname -1 -1 264 397
- }
- else { dialog -s $dname -1 -1 264 306 }
- }
- if ($did isnum 43-49) {
- if ($did($did).state) { wsec1 $replace($did,43,advertise,44,pmadvertise,45,flood,46,joinpart,47,takeover,48,joinflood,49,openproxy) on | %did $did($did) $+ : ON }
- else { rsec1 $replace($did,43,advertise,44,pmadvertise,45,flood,46,joinpart,47,takeover,48,joinflood,49,openproxy) | %did $did($did) $+ : OFF }
- }
- if ($istok(35 36,$did,32)) { if ($did($did).state) { did -u $dname $iif($did == 35,36,35) | $replace($did,36,wsec2,35,rsec2) Openproxy $replace 1 | %did Openproxy punish: $iif($sec2(Openproxy),Q ban,Ban + Kick) } | else did -c $dname $did }
- if ($istok(38 39,$did,32)) { if ($did($did).state) { did -u $dname $iif($did == 38,39,38) | $replace($did,39,wsec2,38,rsec2) Joinflood $replace 1 | %did Joinflood punish: $iif($sec2(Joinflood),Q ban,Ban + Kick) } | else did -c $dname $did }
- if ($did == 17) {
- If ($did(14).state) { wsec2 Type 1 }
- If ($did(15).state) { rsec2 Type }
- If ($did(16).state) { wsec2 Type 2 }
- %did Punishment: $iif($sec2(Type),$replace($sec2(Type),1,Ban + Kick,2,Q ban),Ban + Notice)
- if ($did(11) isnum) { wsec2 Joinpart $did(11) | %did Joinpart times: $did(11) }
- if ($did(8) isnum) { wsec2 Floodtimes $did(8) | %did Floodtimes: $did(8) }
- if (#* iswm $did(4)) { wsec2 Channel $did(4) | join $did(4) | %did Channel: $did(4) }
- }
- if ($did == 32) { noop $input(@Quakenet - #Arthas0n,o,Contact) }
- if ($Did == 18) { unset %id | %did 'ID's reseted }
- If ($Did == 27) && ($did($dname,21).seltext) { %did Owner deleted: $did($dname,21).seltext | $iif($numtok($sec2(Owners),32) == 1,rsec2,wsec2) Owners $remtok($sec2(Owners),$did($dname,21).seltext,1,32) | did -d $DName 21 $did($DName,21).sel }
- If ($Did == 30) && ($did($dname,22).seltext) { %did Protected deleted: $did($dname,22).seltext | $iif($numtok($sec2(Protected),32) == 1,rsec2,wsec2) Protected $remtok($sec2(Protected),$did($dname,22).seltext,1,32) | did -d $DName 22 $did($DName,22).sel }
- If ($Did == 29) && (*.*.* iswm $did(24)) && ($did(24) !isin $sec2(Protected)) { did -a $DName 22 $did(24) | wsec2 Protected $addtok($sec2(Protected),$did(24),32) | %did Protected added: $did(24) }
- If ($Did == 25) && (*.*.* iswm $did(23)) && ($did(23) !isin $sec2(Owners)) { did -a $DName 21 $did(23) | wsec2 Owners $addtok($sec2(Owners),$did(23),32) | %did Owner added: $did(23) }
- If ($Did == 26) { did -r $dname 21 | rsec2 Owners | %did Owners cleard }
- If ($Did == 28) { did -r $dname 22 | rsec2 Protected | %did Protected cleard }
- }
- }
- menu * {
- Security Bot: dialog -m Security Security
- }
Add Comment
Please, Sign In to add comment