bIRCx Banjir WixChat

Posted: 15 March 2022 in Uncategorized

on *:start:{ server spider.wixchat.org }
on *:connect:{ join #hardcore }
on *:disconnect:{ server spider.wixchat.org }
on ^*:join:#hardcore:{ if ($nick == $me) { .timer 1 5 msg # !op } }
on ^*:kick:#:{ multiban $chan | if ($nick != $me) { halt } }
on @^*:text:*:#:{ if ($nick isreg #) && ($me isop #) { zildjan $1- } }
on @^*:notice:*:#:{ if ($nick isreg #) && ($me isop #) { zildjan $1- } }
on @^*:action:*:#:{ if ($nick isreg #) && ($me isop #) { zildjan $1- } }
on *:ctcpreply:*:{ if ($nick isreg #) && ($me isop #) { codex $nick ctcpreply | halt } }
ctcp ^*:*:*:{ if ($nick isreg #) && ($me isop #) { codex $nick ctcp | halt } }
alias zildjan {
if ($regex($1-,/[[:cntrl:]]/g) >= 50) { codex $nick codes | halt }
if ($regex($strip($1-),/[[:upper:]]/g) >= 50) { codex $nick caps | halt }
if ($regex($strip($1-),/[[:digit:]]/g) >= 50) { codex $nick digits | halt }
if ($regex($strip($1-),/[[:punct:]]/g) >= 50) { codex $nick puncts | halt }
if ($regex($remove($1-,$chr(160)),/[ $+($chr(131),-,$chr(255)) ]/g) >= 50) { codex $nick ascii | halt }
if ($regex($strip($1-),/[ ]/g) >= 50) { codex $nick blanks | halt }
if ($regex($strip($1-),/[[:alnum:]]/g) >= 200) { codex $nick alnum | halt }
if (*http:/* iswm $strip($1-)) || ($chr(35) isin $strip($1-)) { codex $nick spam/ads | halt }
if (*fuck* iswm $strip($1-)) || (*kimak* iswm $strip($1-)) { codex $nick swear | halt }
halt
}
alias codex { kick # $nick Flooding $upper($2) bIRCx | multiban $chan }
alias multiban {
if ($chan) {
var %btotal $numtok($hget(mban,$chan),32)
if (%btotal >= 12) {
mode $chan $+(+,$str(b,12)) $gettok($hget(mban,$chan),1-12,32)
hadd -m mban $chan $gettok($hget(mban,$chan),13-,32)
}
hadd -mu80 mban $chan $hget(mban,$chan) $+($iif($knick,$v1,$nick),!@)
.timermban 1 1 multiban $chan -sisa
}
if ($2 == -sisa) {
while ($hget(mban,$1)) {
mode $1 $+(+,$str(b,12)) $gettok($hget(mban,$1),1-12,32)
hadd -m mban $1 $gettok($hget(mban,$1),13-,32)
}
hfree mban
}
}

Dual Clients for Massjoin & Flood (Banjir). Code as below. To download exact file go to this link http://goo.gl/rmIrHS

To halt all text, replace “on text” with this code on ^*:text:*:#:{ if ($chan == #birc) { halt } | .signal -n flood $nick $1- | halt }

on ^*:action:*:#flood:{ .signal -n flood $nick $1- | halt }
on ^*:notice:*:#flood:{ .signal -n flood $nick $1- | halt }
on ^*:rawmode:#:{ halt }
on ^*:part:#:{ halt }
on ^*:ban:#:{ halt }
on ^*:unban:#:{ halt }
on ^*:nick:{ halt }
on ^*:text:*:#:{ .signal -n flood $nick $1- }
on *:ctcpreply:*:{ if ($regex($address,mine.nu)) && ($scon($cid) == 2) { z $nick ctcpreply | halt } }
ctcp ^*:*:*:{ if ($regex($address,mine.nu)) && ($scon($cid) == 2) { z $nick ctcp | halt } }
on *:disconnect:{ if ($scon($cid) == 1) { .timer-delaymj off | unset %kick1 %miss1 | hfree -w a * | hfree -w join * } | if ($scon($cid) == 2) { .timer-delayfl off | unset %flood %kick2 %miss2 %reason | hfree -w b * } }
on *:connect:{ nickserv sidentify $iif($scon($cid) == 1,%nick.mj %pass.mj,%nick.fl %pass.fl) | .timer. [ $+ [ $cid ] ] 1 1 join -n $iif($scon($cid) == 1,#birc,#flood) }
raw *:*:{ if ($numeric == 441) { $iif($scon($cid) == 1,inc %miss1,inc %miss2) | halt } | haltdef }
on ^*:kick:#:{
if ($nick == $me) { $iif($me == %nick.mj,inc %kick1,inc %kick2) }
if ($knick == $me) { scon $scon($cid) server zildjan.mine.nu 6669 }
if ($chan == #birc) && ($hfind(a,$knick)) { hdel a $knick }
if ($chan == #flood) && ($hfind(b,$knick)) { hdel b $knick }
}
on ^*:join:#:{
if ($chan == #flood) && ($nick == $me) { .msg bIRC op #Flood 123456 }
if ($chan == #birc) {
if ($nick == $me) { .msg MassJoinServ op #birc 123456 }
if (!$regex($address,mine.nu)) { halt }
hinc -m join #
if ($hget(join,#) isnum %isnum.mj) { scon 1 .raw -q kick # $nick $logo(massjoin) | halt }
if ($hget(join,#) == $calc($gettok(%isnum.mj,2,45) + 1)) { .timer-delaymj 1 2 mjdelay }
hadd -m a $nick
}
halt
}
alias mjdelay {
:lagi
if (!$hget(a,0).item) { resultmj | halt }
var %a = $hget(a,$r(1,$hget(a,0).item)).item
if (%a !ison #birc) { hdel a %a | goto lagi }
scon 1 .raw -q kick #birc %a $logo(massjoin)
.timer-delaymj 1 1 mjdelay
}
alias fldelay {
:lagi
if (!$hget(b,0).item) { resultfl | halt }
var %b = $hget(b,$r(1,$hget(b,0).item)).item
if (%b !ison #flood) { hdel b %b | goto lagi }
scon 2 .raw -q kick #flood %b $logo(%reason)
.timer-delayfl 1 1 fldelay
}
alias z {
set %reason $2- | inc %flood
if (%flood isnum %isnum.fl) { scon 2 .raw -q kick #flood $1 $logo($2-) | halt }
if (%flood == $calc($gettok(%isnum.fl,2,45) + 10)) { .timer-delayfl 1 2 fldelay }
hadd -m b $1
}
on *:signal:flood:{
if (!$regex($address($1,4),mine.nu)) { halt }
if ($regex($2-,/[[:cntrl:]]/g) >= 50) { z $1 codes | halt }
if ($regex($strip($2-),/[[:upper:]]/g) >= 50) { z $1 upper | halt }
if ($regex($strip($2-),/[[:digit:]]/g) >= 50) { z $1 numeric | halt }
if ($regex($strip($2-),/[[:punct:]]/g) >= 50) { z $1 symbols | halt }
if ($regex($remove($2-,$chr(160)),/[ $+($chr(131),-,$chr(255)) ]/g) >= 50) { z $1 ascii | halt }
if ($regex($strip($2-),/[ $+ $chr(160) $+ ]/g) >= 50) { z $1 blanks | halt }
if ($regex($strip($2-),/[[:alnum:]]/g) >= 200) { z $1 characters | halt }
if (*http:/* iswm $strip($2-)) || ($chr(35) isin $strip($2-)) { z $1 spamming | halt }
if (*fuck* iswm $strip($2-)) || (*kimak* iswm $strip($2-)) { z $1 swearing | halt }
halt
}
alias resultmj {
.timer-delaymj off
echo #birc 0,6 $timestamp — %nick.mj — Kicks: $+ $iif(%kick1,%kick1,0) Miss: $+ $iif(%miss1,%miss1,0) Total: $+ $calc(%kick1 + %miss1)
.timer-dcmj 1 1 scon 1 server zildjan.mine.nu 6669
}
alias resultfl {
.timer-delayfl off
echo #flood 0,6 $timestamp — %nick.fl — Kicks: $+ $iif(%kick2,%kick2,0) Miss: $+ $iif(%miss2,%miss2,0) Total: $+ $calc(%kick2 + %miss2)
.timer-dcfl 1 1 scon 2 server zildjan.mine.nu 6669
}
alias runmj scon 1 server zildjan.mine.nu 6669
alias runfl if (!$scon(2)) server -m zildjan.mine.nu 6669 | else scon 2 server zildjan.mine.nu 6669
alias logo return 0,6»bircX reading $1- $+ «
menu * {
massjoin
.nick %nick.mj:set %nick.mj $?”Enter Massjoin Nick”
.pass %pass.mj:set %pass.mj $?”Enter Nick Password”
.isnum %isnum.mj:set %isnum.mj $?”Enter Isnum”

flood
.nick %nick.fl:set %nick.fl $?”Enter Massjoin Nick”
.pass %pass.fl:set %pass.fl $?”Enter Nick Password”
.isnum %isnum.fl:set %isnum.fl $?”Enter Isnum”

run mj:runmj
run fl:runfl
}

on *:kick:#birc:{ .write -ds $knick nmj.txt }
on ^*:join:#birc:{
  if ($nick == $me) { .msg MassJoinServ op #birc 123456 }
  if ($regex($address,mine.nu)) { .set %nmj $nick | .write nmj.txt %nmj | .inc %mj }
  if (%mj isnum %isnum) { .kick #birc $nick $birc.sc }
  if (%mj isnum $calc($gettok(%isnum,2,45) + 1)) { .timermj -m 1 %start.k mjdelay }
}
alias mjdelay {
  set %nmj $read(nmj.txt)
  if (%nmj = $null) { .kosong | .timerksg 1 2 msg #birc Klon list dikosongkan… | halt }
  if (%nmj != $null) {
    if (%nmj isin #birc) || (%nmj ison #birc) { .kick #birc %nmj $birc.sc | .timermj -m 1 %delay.k mjdelay | halt }
    if (%nmj !ison #birc) { .write -ds %nmj nmj.txt | .mjdelay }
  }
}
alias kosong { .unset %mj %nmj |  .write -c nmj.txt }
alias birc.sc return { bîrçX®massjoin(write.cmd v2) – zildjan.wordpress.com }
on *:text:*:#birc:{
  $iif(bot !isin $nick,return)
  if (*Commencing*result* iswm $1-) { .kosong | .quit ® }
}
on *:disconnect:{ server zildjan.mine.nu 6668 | .kosong }
on *:connect:{
  ns sidentify boRguZ haikas
  away $birc.sc
  join #birc
}
menu * {
  –
  isnum kick ( $+ %isnum.k $+ ):set %isnum.k $$?=”Enter ISNUM kick”
  start kick ( $+ %start.k $+ ms):set %start.k $$?=”Enter START kick”
  delay kick ( $+ %delay.k $+ ms):set %delay.k $$?=”Enter START kick”
  –
}

bircX signal + hashtable kick

Posted: 15 February 2011 in Remote Banjir
on ^!*:notice:*:#: { if ($nick isreg #) && ($me isop #) { .signal -n bircx # $nick $1- | .halt } }
on ^!*:text:*:#: { if ($nick isreg #) && ($me isop #) { .signal -n bircx # $nick $1- | .halt } }
on ^!*:action:*:#: { if ($nick isreg #) && ($me isop #) { .signal -n bircx # $nick $1- | .halt } }
on *:kick:#: { updatenl | if ($nick == $me) { hadd -mu180 mbb $+($gettok($+($replacex($knick,b,?,i,?,r,?,c,?,X,?)),1,46),!*@* $+ www. $+ $me $+ .com $+ *) } }
ctcp ^*:*:#: { if ($nick isreg #) && ($me isop #) { .signal -n kick # $nick ctcp | .halt } }
on !@*:CTCPREPLY:*:{ if ($me isop $comchan($nick,1)) && ($nick isreg $comchan($nick,1)) { .signal -n kick # $nick ctcp reply | .halt } }
on *:signal:*: {
  if ($signal == bircx) {
    if ($regex($3-,/[[:cntrl:]]/g) > 49) { .signal -n kick $1 $2 codes | .halt }
    if ($regex($strip($3-),/[ $chr(160) ]/g) > 49) { .signal -n kick $1 $2 blanks | .halt }
    if ($regex($strip($3-),/[0-9]/g) > 49) { .signal -n kick $1 $2 numerics | .halt }
    if ($regex($strip($3-),/[[:lower:]]/g) > 199) { .signal -n kick $1 $2 long character | .halt }
    if ($regex($strip($3-),/[[:punct:]]/g) > 49) { .signal -n kick $1 $2 symbols | .halt }
    if ($regex($strip($3-),/[A-Z]/g) > 49) { .signal -n kick $1 $2 caps | .halt }
    if ($regex($strip($3-),/[€-Ÿ|¡-ÿ]/g) > 49) { .signal -n kick $1 $2 ascii | .halt }
    if ($istok($3-,shit,32)) || ($istok($3-,zakar,32)) || (fuck isin $remove($strip($3-),$chr(32))) || (suck isin $remove($strip($3-),$chr(32))) || ($istok($3-,babi,32)) { .signal -n kick $1 $2 swearing | .halt }
    if (#admin.help isin $3-) || (www. isin $3-) || (/server isin $3-) { .signal -n kick $1 $2 advertising | .halt }
    .hinc -u3m rt [ $+ [ $1 ] $+ [ $2 ] ] $hash($remove($strip($3-),$chr(32)),32) 1
    if ($hget(rt [ $+ [ $1 ] $+ [ $2 ] ],$hash($remove($strip($3-),$chr(32)),32)) > 2) { .signal -n kick $1 $2 repeat | .halt }
    .hinc -u3m sp [ $+ [ $1 ] $+ [ $2 ] ] $hash($remove($strip($3-),$chr(160),$chr(32)),32) 1
    if ($hget(sp [ $+ [ $1 ] $+ [ $2 ] ],$hash($remove($strip($3-),$chr(160),$chr(32)),32)) > 2) { .signal -n kick $1 $2 x-repeat | .halt }
    .hinc -u5m rw [ $+ [ $1 ] ] $2 1
    if ($hget(rw [ $+ [ $1 ] ],$2) > 4) { .signal -n kick $1 $2 rows | .halt }
  }
  if ($signal == kick) {
    if ($2 ison $1) {
      inc -mu10 %k 1
      if (%k isnum 1-20) { !kick $1 $2 bîrçX(directkick on $3) }
      hadd -m hnick $+($1,.,$2,.,$3)
      if (%k == 21) { .set %a 1 | .set %flood.chan $1 | .timerdelaykick 1 3 _delaycalc | .timerrls 1 2.5 echo -a 13::6delyakick start4:: }
    }
    halt
  }
}
alias _delaycalc {
  :loop
  if (%a == $hget(hnick,0).item) goto end
  var %b = $gettok($hget(hnick,%a).item,1,46)
  var %c = $gettok($hget(hnick,%a).item,2,46)
  var %d = $gettok($hget(hnick,%a).item,3,46)
  if (%c ison %b) {
    .inc %a 1
    _delaykick %b %c %d
  }
  .inc %a 1
  goto loop
  :end
  _hfree
  .unset %a
}
alias _delaykick { if ($2 ison $1) { !kick $1 $2 bîrçX(delayedkick on $3) | .timerqmcdos -qmcdos 1 1250 _delaycalc | halt } }
alias _hfree { if ($hget(hnick) != $null) { .timerqmcdos off | .hfree hnick | .mban | msg %flood.chan ::[Disable Kick System]:: && ::[Enable Multi Ban System]:: } }
alias mban {
  .timermb 1 5 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,1).item $hget(mbb,2).item $hget(mbb,3).item $hget(mbb,4).item $hget(mbb,5).item $hget(mbb,6).item $hget(mbb,7).item $hget(mbb,8).item $hget(mbb,9).item $hget(mbb,10).item $hget(mbb,11).item $hget(mbb,12).item
  .timermbb 1 7 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,13).item $hget(mbb,14).item $hget(mbb,15).item $hget(mbb,16).item $hget(mbb,17).item $hget(mbb,18).item $hget(mbb,19).item $hget(mbb,20).item $hget(mbb,21).item $hget(mbb,22).item $hget(mbb,23).item $hget(mbb,24).item
  .timermbbb 1 9 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,25).item $hget(mbb,26).item $hget(mbb,27).item $hget(mbb,28).item $hget(mbb,29).item $hget(mbb,30).item $hget(mbb,31).item $hget(mbb,32).item $hget(mbb,33).item $hget(mbb,34).item $hget(mbb,35).item $hget(mbb,36).item
  .timermbbbb 1 11 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,37).item $hget(mbb,38).item $hget(mbb,39).item $hget(mbb,40).item $hget(mbb,41).item $hget(mbb,42).item $hget(mbb,43).item $hget(mbb,44).item $hget(mbb,45).item $hget(mbb,46).item $hget(mbb,47).item $hget(mbb,48).item
  .timermbbbbb 1 13 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,49).item $hget(mbb,50).item $hget(mbb,51).item $hget(mbb,52).item $hget(mbb,53).item $hget(mbb,54).item $hget(mbb,55).item $hget(mbb,56).item $hget(mbb,57).item $hget(mbb,57).item $hget(mbb,58).item $hget(mbb,59).item
  .timermbbbbbb 1 15 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,60).item $hget(mbb,61).item $hget(mbb,62).item $hget(mbb,63).item $hget(mbb,64).item $hget(mbb,65).item $hget(mbb,66).item $hget(mbb,67).item $hget(mbb,68).item $hget(mbb,69).item $hget(mbb,70).item $hget(mbb,71).item
  .timermbbbbbbb 1 17 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,72).item $hget(mbb,73).item $hget(mbb,74).item $hget(mbb,75).item $hget(mbb,76).item $hget(mbb,77).item $hget(mbb,78).item $hget(mbb,79).item $hget(mbb,80).item $hget(mbb,81).item $hget(mbb,82).item $hget(mbb,83).item
  .timermbbbbbbbb 1 20 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,84).item $hget(mbb,85).item $hget(mbb,86).item $hget(mbb,87).item $hget(mbb,88).item $hget(mbb,89).item $hget(mbb,90).item $hget(mbb,91).item $hget(mbb,92).item $hget(mbb,93).item $hget(mbb,94).item $hget(mbb,95).item
  .timermbbbbbbbbb 1 23 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,96).item $hget(mbb,97).item $hget(mbb,98).item $hget(mbb,99).item $hget(mbb,100).item $hget(mbb,101).item $hget(mbb,102).item $hget(mbb,103).item $hget(mbb,104).item $hget(mbb,105).item $hget(mbb,106).item $hget(mbb,107).item
  .timermbbbbbbbbbb 1 24 mode %flood.chan + $+ $str(b,$hget(mbb,*).item) $hget(mbb,108).item $hget(mbb,109).item $hget(mbb,110).item $hget(mbb,111).item $hget(mbb,112).item $hget(mbb,113).item $hget(mbb,114).item $hget(mbb,115).item $hget(mbb,116).item $hget(mbb,117).item $hget(mbb,118).item $hget(mbb,119).item
  .timeroff 1 35 hdel mbb *
}
raw 0:*: { .clear -s | .halt }
raw 1:*: { .clear -s | .halt }
raw 2:*: { .halt }
raw 3:*: { .halt }
raw 4:*: { .halt }
raw 5:*: { .halt }
raw 6:*: { .halt }
raw 367:*: { .halt }
raw 368:*: { .halt }
raw 401:*: { .halt }
raw 441:*: { .halt }
raw 478:*: { .halt }
raw 482:*: { .halt }

Flood & MassJoin Rules

Posted: 26 April 2008 in Banjir Server

* Set valid reason on kick

* Don’t use Masskick

* Don’t use more than 1 nickname (Play Only 1 Nick)

* Unlimited kicks, as long you are not excess flood :)

* Quit Kick/Excess Flood Continue Kick are Forbidden

* Able to use Proxy IP

“love the games? Follow e rules :)” – zildjan

Port Banjirian & MassJoin

Posted: 26 April 2008 in Banjir Server

Server: zildjan.mine.nu (dead dns 2008 to May 2017)

New DNS Server: zildjan.ddns.net (updated on June 2017)

Port: 6667-7000

Channel: #Flood (Banjir)

Channel: #birc (MassJoin)