alias scan {
	if ([$0]) {@ chan = [$0]}{@ chan = [$C]}
    	@ voc = 0;@ ops = 0;@ non = 0
        fe ($chanusers($chan)) nick {
        	if (ischanop($nick $chan) == 1) {
			@ push(nicks.ops @$nick)
			@ ops = ops + 1
		}{
		if (isvoice($chan $nick) == 1) {
			@ push(nicks.voc +$nick)
			@ voc = voc + 1
		}{
			@ push(nicks.non $nick);@ non = non + 1
		}}
            }
            @ nicks = nicks.ops##[ ]##nicks.voc##[ ]##nicks.non
            echo $G ${h0}[${hw}users on $chan${h0}:${hw} o${h0}/${x}$ops${h0},${hw} v${h0}/${x}$voc${h0},${hw} n${h0}/${x}$non${h0},${hw} t${h0}/${x}${non+voc+ops}${h0}]${x}
            sc.head
            fe ($nicks) n1 n2 n3 n4 n5 {
              sc.echo $n1 $n2 $n3 $n4 $n5
            }
            sc.foot
            ^assign -nicks;^assign -nicks.ops;^assign -nicks.voc;^assign -nicks.non
            ^assign -ops;^assign -voc;^assign -non;^assign -chan
           }
