ON *:JOIN:#: {
  unset $+(%,ircops*,$chan)
  if ($nick == $me) .timer 1 1 opercheck $chan
  else {
    .who $nick
    set $+(%,ircopscheck.,$chan) 1
    set %justanick 1
  }
}
alias opercheck {
  if ($nick($1,0) > 40) echo $color(info2) -t $1 * IRCop scanning halted - too many users in $1
  else {
    who $1
    set $+(%,ircopscheck.,$1) $1
  }
}
raw 352:*: {
  if ($($+(%,ircopscheck.,$2),2) != $null) {
    .haltdef
    if (* isin $7) {
      if (%justanick) {
        var %x = $comchan($6,0)
        while (%x) {
          cline 4 $comchan($6,%x) $nick($comchan($6,%x),$6)
          dec %x
        }
      }
      else {
        set $+(%,ircops.,$2) $($+(%,ircops.,$2),2) $6
        if ($6 != $me) {
          if ($me ison $2) cline 04 $2 $nick($2,$6)
        }
        else if ($me ison $2) cline 00 $2 $nick($2,$6)
      }
    }
  }
}
raw 315:*: {
  if ($($+(%,ircopscheck.,$2),2) != $null) {
    .haltdef
    if ($($+(%,ircops.,$2),2) != $null) {
      ;echo $color(info2) -t $2 * IRCops in $2 $+ : $($+(%,ircops.,$2),2)
    }
    unset $+(%,ircops*,$2)
  }
  elseif (%justanick) {
    .haltdef
    unset %justanick
  }
}
