mIRC Home    About    Download    Register    News    Help

Print Thread
#273488 08/07/25 06:29 PM
Joined: Nov 2021
Posts: 158
Simo Offline OP
Vogon poet
OP Offline
Vogon poet
Joined: Nov 2021
Posts: 158
this a small code ive rewritten from an existing code to remove cloned nicks that look alike as i found that happens sometimes on dalnet

Code

; works with wildcard * as well
; Example Usage : /clonednicks *nick*

Alias clonednicks {
  var %chan = $active | if (%chan !ischan) { echo -stac own This command can only be used on a channel. | halt }
  if (!$1) { echo -a *********** no valid entry was given ************* Syntax : /cnicks CloneDNickHere | halt }  
  if (!$nick(%chan,$me,~&@)) { halt }  
  if (. isin $1-) { var %kickmsg = $gettok($1-,-1,46) - «-Cloned-NICKS-» } | else {  var %kickmsg = «-Cloned-NICKS-»  }
  if ($len($1) == 1 && $1 == *) { halt }
  var %i = 1, %nm = $addtok(%nm,$nickbanregex($1),32)
  while ($nick(#,%i,r)) {
    if ( $1 iswm $v1) {
      var %user = $v2
      var %kick = $addtok(%kick,%user,44),  %nm = $addtok(%nm,$banmask( %user  ),32) 
      if ($numtok(%nm,32) == 4) { mode %chan + $+ $str(b,$numtok(%nm,32)) %nm | unset %nm  }
      if ($numtok(%kick,44) == 4) {  kick %chan %kick %kickmsg | unset %kick }
    }
    inc %i
  }

  if (%nm) { mode %chan + $+ $str(b,$numtok(%nm,32)) %nm }
  if (%kick) { kick %chan %kick %kickmsg }
}

Alias banmask {
  var %identmask = $remove($gettok($gettok($address($1,0),1,64),2,33),~), %ip = $gettok( $address($1,2) ,2,64)
  if ( irccloud isin %ip ) {  return $+(*!,$replace(%identmask,uid,*id,sid,*id),@*) }
  if ($count(%ip,.) isnum 3- && irccloud !isin %ip) { return $+(*!~*@*.,$gettok(%ip,-3-,46)) }
  if ($count(%ip,.) isnum 1-2 && irccloud !isin %ip) { return $+(*!~*@*.,$gettok(%ip,-2-,46)) }
}



Simo #273490 09/07/25 01:38 AM
Joined: Nov 2021
Posts: 158
Simo Offline OP
Vogon poet
OP Offline
Vogon poet
Joined: Nov 2021
Posts: 158
Small change :

i have added an extra check not to kickban; channel founder / admins / ops / halfops

Code
 


Alias clonednicks {
  var %chan = $active | if (%chan !ischan) { echo -stac own This command can only be used on a channel. | halt }
  if (!$1) { echo -a *********** no valid entry was given ************* Syntax : /cnicks CloneDNickHere | halt }  
  if (!$nick(%chan,$me,~&@)) { halt }  
  if (. isin $1-) { var %kickmsg = $gettok($1-,-1,46) - «-Cloned-NICKS-» } | else {  var %kickmsg = «-Cloned-NICKS-»  }
  if ($len($1) == 1 && $1 == *) { halt }
  var %i = 1, %nm = $addtok(%nm,$nickbanregex($1),32)
  while ($nick(#,%i,r)) {
    if ( $1 iswm $v1) {
      var %user = $v2
     if (!$nick(%chan,%user,~&@%)) {  var %kick = $addtok(%kick,%user,44),  %nm = $addtok(%nm,$banmask( %user  ),32) } 
      if ($numtok(%nm,32) == 4) { mode %chan + $+ $str(b,$numtok(%nm,32)) %nm | unset %nm  }
      if ($numtok(%kick,44) == 4) {  kick %chan %kick %kickmsg | unset %kick }
    }
    inc %i
  }

  if (%nm) { mode %chan + $+ $str(b,$numtok(%nm,32)) %nm }
  if (%kick) { kick %chan %kick %kickmsg }
}




Link Copied to Clipboard