EpicNet.Ru - Форум IRC Чата

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.

Вы здесь » EpicNet.Ru - Форум IRC Чата » IDEA SCRIPTS - Идеи для новых mIRC скриптов » Simple fast rejoin kick/ban with exception

Simple fast rejoin kick/ban with exception

Сообщений 1 страница 2 из 2



Can we make a simple code with below given specifications :-

1. Fast rejoin : when a nick join/parts a channel in given time (say, 1 second) or specific cycles (say, 2 cycles per nick), then this code should set a ban on them.
2. The banned nick & host should get auto saved in baduser.txt file (referring to badusercode which you have made in earlier post)
3. Reason : Reason can stay static in this condition (say, Reason : Fast Rejoin Ban!)
4. Exclusion list : can we also have an exclude list for users with vhost? also, op, voice, halfops should get excluded from this cycle ban.
5. Wildsite : instead of using $fulladdress can we use wildcard while banning? that would be a huge relief.
6. Dialogue : a dialogue for managing exception list would be wonderful.

Any further suggestions or queries, please write back.

Thanks & Regards,



Hello Epic,


alias jflood {
  .hadd -m jf join-max 2
  .hadd -m jf time-max 3
  .hadd -m jf kick-text 1[4Join1/4Part1] Slow Down!
  ;# Type 1 = nick!ident@host
  ;# Type 2 = nick!*@host
  ;# Type 3 = *!ident@host
  ;# Type 4 = nick!*@*
  ;# Type 5 = *!ident@*
  ;# Type 6 = *!*@host
  ;# Type 7 = *!*@subnet*
  .hadd -m jf type-ban 6
on *:JOIN:#:{
  jflood | var %jf_chan $+(jfchan-,$chan) | var %jf_nick $+(jfnick-,$chan) | var %jf_ip $gettok($address($nick,5),2,64)
  if ($hget(%jf_chan,%jf_ip)) { .hinc -m %jf_chan %jf_ip 1 }
  if (!$hget(%jf_chan,%jf_ip)) { .hadd -mu $+ $hget(jf,time-max) %jf_chan %jf_ip 1 | .hadd -m %jf_nick %jf_ip $nick }
  if (!$window(@JoinFlood)) .window -nk0 @JoinFlood $mircexe 21
  .aline -hnp @JoinFlood $chan 1[04Join Flood1] >>> $chan $hget(%jf_nick,%jf_ip) $+($chr(40),%jf_ip,$chr(41)) = $+(04,$hget(%jf_chan,%jf_ip))
  if ($hget(%jf_chan,%jf_ip) >= $hget(jf,join-max)) {
    if ($hget(jf,type-ban) == 1) .mode $chan +b $address($hget(%jf_nick,%jf_ip),5)
    if ($hget(jf,type-ban) == 2) .mode $chan +b $address($hget(%jf_nick,%jf_ip),7)
    if ($hget(jf,type-ban) == 3) .mode $chan +b $address($hget(%jf_nick,%jf_ip),0)
    if ($hget(jf,type-ban) == 4) .mode $chan +b $+($hget(%jf_nick,%jf_ip),!*@*)
    if ($hget(jf,type-ban) == 5) .mode $chan +b $+($gettok($address($hget(%jf_nick,%jf_ip),1),1,64),@*)
    if ($hget(jf,type-ban) == 6) .mode $chan +b $address($hget(%jf_nick,%jf_ip),2)
    if ($hget(jf,type-ban) == 7) .mode $chan +b $+(*!*@,$gettok(%jf_ip,1-2,46),.*)
    .write -l1 $qt(scripts\BadUser\baduser.txt) $+($nick,$chr(59),%jf_ip,$chr(59),$hget(jf,kick-text))
    .kick $chan $hget(%jf_nick,%jf_ip) $hget(jf,kick-text)
    .hdel -sw %jf_chan %jf_ip

The code is awesome and works well. although, i have noticed 2 things while using it..

1. Nick joins : it automatically bans the user if the user uses 2 clones to join the channel at the same time.
2. Ban prompt : it prompts me that i am not an op to ban a certain user. I usually sit down in regular chatters while working and it keeps prompting me that i am not an op and hence cannot ban a person.

Below is the example :-

[10:34] <+aditya_m> ty mav
·CLONES· detected from *!*@LibraIRC-ard.gu9.5grj1g.IP : indoreMature,notsodecent [[ 2 ]]
[10:35] <+aditya_m> winterrose agarr kahe .. usko whitelily se mohabbat haii .. toh whitelily kya kahegi ..

here, indoreMature & notsodecent has common ip/host *!*@LibraIRC-ard.gu9.5grj1g.IP. The user is not an abuser but just a random chatter who enjoys joining the room using 2 different nicknames (its odd, i agree). The code detects 2 users joining with the same ip/host and adds the user into baduser.txt as requested.

Below is another instance when this happens with the same user with 2 clones and exactly same ip/host :-

[10:16] <+Eva> paint nahi karna hai... bas 200-300 lot nifty ke le lo, market green ho jayega
·CLONES· detected from *!*@LibraIRC-ard.gu9.5grj1g.IP : indoreM,matureM [[ 2 ]]
[10:16] * Racoon: You must have channel halfop access or above to set channel mode b
[10:16] * Racoon: You must be a channel half-operator

here, the code tries to ban the user but as i have no op status and as i am sitting with the regular chatters, it starts giving me this error.

The code is awesome and really hammers the abusers which keeps revolving (join/part).

p.s : is there a way to add an exception list for this? we can always add few nicks into the exception list which will not be monitored or banned.

any suggestion is welcome,

Thanks & Regards,


Вы здесь » EpicNet.Ru - Форум IRC Чата » IDEA SCRIPTS - Идеи для новых mIRC скриптов » Simple fast rejoin kick/ban with exception