This will allow users to flood 5 lines in 5 seconds before it kicks them. If they flood again it will ban them.
on *:TEXT:*:#:{
if ($nick isop $chan) {
halt
}
inc -u5 %flood. [ $+ [ $nick ] ]
if ( %flood. [ $+ [ $nick ] ] >= 5 ) {
if ( %flood. [ $+ [ $nick ] $+ ] .action == ban ) {
ban -u300 $chan $address($nick, 1)
kick $chan $nick Stop Flooding! - 5 minute ban
log $nick ( $+ $address($nick, 0) $+ ) Kicked Banned from $chan for 5 minutes for flooding by $me
halt
} else {
kick $chan $nick Stop Flooding!
%flood. [ $+ [ $nick ] $+ ] .action = ban
log $nick ( $+ $address($nick, 0) $+ ) Kicked from $chan by $me for flooding
halt
}
}
}
on @*:text:*:#: {
tokenize 32 $strip($1-)
if (($nick !isop #) && ($($+(%,string,$wildsite,#,$cid),2) >= 5)) {
hinc -m c $nick | goto $iif($hget(c,$nick) = 1,kick,ban)
:kick | kick # $nick Stop flooding! | halt
:ban | ban -u300 # $nick 1 2nd offense - Banned! | hdel c $nick | halt
}
else { inc -u5 $+(%,string,$wildsite,#,$cid) }
}