Try this
Code:
on *:join:#:{
  .enable #bad_ident_nick_scan
  .who $nick
}
#bad_ident_nick_scan off
raw 315:*:{
  .disable #bad_ident_nick_scan
  haltdef
}
raw 352:*:{
  if $read(bad.txt,s,$3) || $read(bad.txt,s,$6) {
    if $me isop $2 {
      .ban -k $2 $6 Banned due to bad nick or ident
    }
    else {
      set %bad $addtok(%bad,$6,32)
    }
  }
}
#bad_ident_nick_scan end
on *:op:#:{
  if $opnick == $me && %bad {
    var %a = 1, %b = $numtok(%bad,32)
    while %a <= %b {
      if $gettok(%bad,%a,32) ison $chan {
        ban -k $chan $gettok(%bad,%a,32) Banned due to bad nick or ident
      }
      inc %a
    }
    unset %bad
  }
}