mIRC Home    About    Download    Register    News    Help

Print Thread
Page 2 of 2 1 2
Simo #273283 Yesterday at 03:08 PM
Joined: May 2022
Posts: 102
F
Fernet Offline OP
Vogon poet
OP Offline
Vogon poet
F
Joined: May 2022
Posts: 102
Originally Posted by Simo
ive tested this and it all works for me

Note: ive used a stacked nicks in the on op event if your networks allows stacked kicks and modes kick #channel nick,nick,nick,nick,nick,nick
not sure on what network you are gonna use this as some networks allow stacked kicks.

Code
..................

alias badnick_alias {
  var %chan $1 , %nick $2
  if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
  if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) { kick %chan %nick please change your nick thanks you.... }  
}

.....................

I looks really great and (of course) perfectly work.
Can I change badnick_alias with this:

Code

alias badnick_alias {
  var %chan $1 , %nick $2
if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
  if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30))  {
    notice %nick FIRST WARN
    .timer 1 30 badnick_alias %chan %nick 30
    .timer 1 45 badnick_alias %chan %nick 45
    .timer 1 60 badnick_alias %chan %nick 60
    return
  }
  elseif ($3 == 30) notice %nick SECOND WARN
  elseif ($3 == 45) notice %nick LAST WARN
  elseif ($3 == 60) kick %chan %nick KICK

}

So to give warning to user and kick after 60 sec?

Fernet #273284 Yesterday at 10:37 PM
Joined: Nov 2021
Posts: 135
Vogon poet
Offline
Vogon poet
Joined: Nov 2021
Posts: 135
this seems to work for me :

Code

on !*:JOIN:#:{
  if (!$Timer($+(CheckNicks,.,$network,.,$chan,.,$nick))) {   .Timer $+ $+(CheckNicks,.,$network,.,$chan,.,$nick)  -md 1 750 badnick_alias $unsafe($chan) $nick  } 
}


ON *:nick:{
  haltdef
  var %whloop = 1
  while ( $comchan($newnick,%whloop) != $null )  {
    var %chan $v1
    if (!$nick(%chan,$newnick,@&~%) && $nick(%chan,$me,@&~%)) { badnick_alias %chan $newnick  }
    inc %whloop
  }
  halt
}


ON *:op:#test:{
  if ($opnick == $me) {
    var %loop = 1, %nick , %kickmsg = please change your nick thank you.... 
    while (%loop <= $nick($chan,0)) {
      %nick = $nick($chan,%loop)
      if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) { 
        if (!$nick($chan,%nick,~&@%+)) { var %kick = $addtok(%kick,%nick,44) }
        if ($numtok(%kick,44) == 4) { kick $chan %kick %kickmsg | unset %kick }      
      }  
      inc %loop 1
    }
  }
  if (%kick) { kick $chan %kick %kickmsg }
}




alias badnick_alias {
  var %chan $1 , %nick $2
  if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
  if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30))  {
    if (!$Timer($+(CheckNickZ,.,$network,.,%chan,.,%nick))) {   
      NOTICE %nick FIRST WARNING
      .Timer $+ $+(CheckNickZ,.,$network,.,%chan,.,%nick)  3 15 badnick_still_on_chan $unsafe(%chan) %nick  
    } 
  }
}


alias badnick_still_on_chan {
  inc % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] 
  if ($2 ison $1 && % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] < 3) { NOTICE $2 % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] WARNINGS } 
  elseif ( % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] == 3 && $2 ison $1 ) { kick $1 $2 % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] WARNINGS | .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset % $+ $+(CheckWarnings,.,$network,.,$1,.,$2)  }
  elseif ($2 !ison $1) {  .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ]  }
}





Page 2 of 2 1 2

Link Copied to Clipboard