Check bad-nick/ident/host

By simo on Apr 19, 2017

this checks for bad / nick / ident and host and bans the bad part (with wildcard to prevent evade) as well as bans host to prevent rejoin as most likely they didn't drop by for a cup of tea

by Cappuccino.

on !*:JOIN:#:{ 
  if ($nick(#,$me,@&~%)) {
  set %badident $remove($gettok($address($nick,3),1,$asc(@)),*!*)

  ; this checks for badwords in nickname and bans that part and host
  if ($regex($nick,/(s[3e]x|[fs]uck|h[0o]m[0o]|gay|s[3e]ks|sx|xxx|anus|dick|anal|c[0o][ck][ck])/)) { mode # +bb $+(*,$regml(1),*!*@*) $address($nick,2) | kick # $nick bad nickname  detected } 

  ; this checks for badwords in identity and bans that part and host
  if ($regex(%badident,/(s[3e]x|[fs]uck|h[0o]m[0o]|gay|s[3e]ks|sx|xxx|anus|dick|anal|c[0o][ck][ck])/)) { mode # +bb $+(*!*,$regml(1),*@*) $address($nick,2) | kick # $nick bad ident in your credentials detected } 

  ; this checks for badwords in hostname and bans bad part
  if ($regex($site,/(s[3e]x|[fs]uck|h[0o]m[0o]|gay|s[3e]ks|sx|xxx|anus|dick|anal|c[0o][ck][ck])/)) { mode # +b $+(*!*@*,$regml(1),*) | kick # $nick bad hostname in your credentials detected } 
}
}

; this checks bad words in nicks on nick changes and bans that part and host
ON  *!:nick: {
  var %c2z = 1
  while ($chan(%c2z))  {
    var %chanNC $v1
    if ($nick(%chanNC,$me,@%&~)) {
      if ($regex($newnick,/(s[3e]x|[fs]uck|h[0o]m[0o]|gay|s[3e]ks|sx|xxx|anus|dick|anal|c[0o][ck][ck]|p[3e]n[il]s|h[0o]m[0o]|gay|cunt|s[3e]x|[sf]uck|dildo|anal)/)) {  
        mode %chanNC +bb $+(*,$regml(1),*!*@*) $address($newnick,2) 
        if ($newnick ison %chanNC) { kick %chanNC $newnick bad nickname detected  }
      } 
    }
    inc %c2z
  }
}

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.