All pastes #21175 Raw Edit

Unnamed

public text v1 · immutable
#21175 ·published 2005-08-26 00:10 UTC
rendered paste body
on *:JOIN:#kiffen:{
  if (($nick != %cs.lnick) && !%cs.spam) {
    set -u3 %cs.spam $true
    set %cs.check $true
    whois $nick
  }
}

raw 311:*:{
  if (%cs.check) {
    haltdef
  }
}

raw 312:*:{
  if (%cs.check) {
    haltdef
  }
}

raw 330:*:{
  if (%cs.check) {
    haltdef
  }
}

raw 317:*:{
  if (%cs.check) {
    haltdef
  }
}

raw 319:*:{
  if (%cs.check) {
    if ($numtok($replace($3-,$+($chr(64),$chr(35)),$chr(35),$+($chr(43),$chr(35)),$chr(35)),32) < 2) {
      var %score = 2
      check.score $2 %score
    }
    else {
      var %score = -2
      check.score $2 %score
    }
    haltdef
  }
}

raw 318:*:{
  if (%cs.check) {
    unset %cs.check
    haltdef
  }
}

alias check.score {
  if ($1 == -a) {
    set %cs.thost $addtok(%cs.thost,$$2,32)
    echo -a Successfully added: $2 to trusted host list.
  }
  else {
    var %nick = $1
    var %address = $address($1,5)
    var %host = $gettok(%address,2,64)
    var %nident = $gettok(%address,1,64)
    var %ident = $gettok(%nident,1,33)
    var %score = $iif($2,$2,0)
    var %t = $numtok(%cs.thost,32)
    while (%t) {
      if ($gettok(%cs.thost,%t,32) iswm %address) { return }
      dec %t
    }
    if ($regex(%host,^\d+\.\d+\.\d+\.\d+$)) {
      var %score = $calc(%score + 2)
    }
    elseif ($regex(%host,/\d/g) >= 6 && !$regex(%host,.+(t-dialin\.net|arcor-ip\.net|teleos-web\.de|t-ipconnect\.de|snet\.net|tiscali\.de|qsc\.de|versanet\.de|hansenet\.de|aol\.com|ewetel\.net|ignite\.net))) {
      var %score = $calc(%score + 2)
    }
    if ($regex(%host,.+quakenet\.org$)) {
      var %score = $calc(%score - 2)
    }
    if ($regex(%nident,/(?:^|[^aeiou4310AEIOU])(?:r|j|x|w|v|q)(?:[^aeiou4310AEIOU]|$)/g)) {
      echo -s $ifmatch
      var %score = $calc(%score + (2 * $ifmatch))
    }
    if ($regex(%nident,/b(?:[cp])/g)) {
      var %score = $calc(%score + 2)
    }
    if ($regex(%nident,/[^cs]h(?:[^aeiou4310AEIOU]|$)/g)) {
      var %score = $calc(%score + 2)
    }
    if (%score > 2) {
      set %cs.lnick %nick
      set %cs.lhost %host
      kick #kiffen %nick $kick.msg - No bot/infected client? Rejoin pls!
    }
    echo -s DebugLine: nident: %nident - host: %host - score: %score
  }
}