# !cleanup
proc pub_kick2 {nick uhost hand chan arg} {
  set dorks [chanlist $chan]
  set dorklist ""
  set reason "$nick requested channel cleanup <\002rUPT\002>"
  foreach p $dorks {
    set who [finduser $(p)![getchanhost $p]]
    if {[matchattr $who -] && ![isop $p $chan]} {
      if {[isvoice $p $chan]} { ; return 0 }
      append dorklist " " $p
    }
  }
  if {$dorklist == ""} {
    putserv "NOTICE $nick :Couldn't find anyone needing kicking<\002rUPT\002>"
    return 0
  }
  set blah "[llength $dorklist]"
  putserv "NOTICE $nick :Kicking \]\002$blah\002\] Users:\002$dorklist\002"
  set count 0
  while {$count < $blah} {
    putserv "KICK $chan [lindex $dorklist $count] :$reason"
    incr count 1
  }
  return 1
}
bind pub m !cleanup pub_kick2

