Clone Scanner
Usage: /cs (on a channel)

alias cs {
  if ($active ischan) {
    unset %cs.*
    if ($window(@CloneScan) == $null) { .window -e @CloneScan }
    var %cs.i = 0
    var %cs.total
    .clear @CloneScan
    .aline $colour(notify) @CloneScan * Scanning # For Clones...
    var %cs.ticks = $ticks
    while (%cs.i < $nick(#,0)) {
      inc %cs.i
      if (($ialchan($address($nick(#,%cs.i),2),#,0) > 1) && ($istok(%cs.tmp.address,$address($nick(#,%cs.i),2),32) == $false)) {
        var %cs.tmp.address = $addtok(%cs.tmp.address,$address($nick(#,%cs.i),2),32)
        inc %cs.total
        var %cs.l = 0
        while (%cs.l < $ialchan($address($nick(#,%cs.i),2),#,0)) {
          inc %cs.l
          var %cs.nicks = $addtok(%cs.nicks,$ialchan($address($nick(#,%cs.i),2),#,%cs.l).nick,44)
        }
        .aline $colour(info) @CloneScan * < $+ %cs.total $+ > ( $+ $address($nick(#,%cs.i),2) $+ ) %cs.nicks
        unset %cs.nicks
      }
    }
    .aline $colour(ctcp) @CloneScan * $iif(%cs.total == $null,No clones were found., [ %cs.total ] group(s) of clones were found.)
    .aline $colour(action) @CloneScan * Scan duration : $calc(($ticks - %cs.ticks) / 1000) secs.
  }
}