proc c_kickban {nick userhost handle chan text} { if {([isop $nick $chan]) || ([ishalfop $nick $chan])} { if {[[string length [lindex $text 0]] == 0]} { return 1 } else { set tnick [lindex $text 0] } if {[[string length [lindex $text 1]] == 0]} { set reason "Banned" set timer 28800 } else { if {[string is integer [lindex $text 1]]} { set timer [expr [lindex $text 1] * 60] set reason [banreason [lrange $text 2 end]] } elseif {[lindex $text 1] == "forever"} { set timer 0 set reason [banreason [lrange $text 2 end]] } else { set reason [banreason [lrange $text 1 end]] set timer 28800 } } set host [i_hostbynick $tnick $chan] set mask "*!*@$host" putserv "MODE $chan +b $mask" putserv "KICK $chan $tnick :$reason" if {$timer != 0} { utimer $timer "unban $mask" } } }