This is a simple kick or ban snippet for bot or OP. Based on Repeats kick: Version 1 by sukhbira.
Set to watch every line of text, repeat kick time trigger 30s, ban on second repeat event for 5 minutes.
ON @*:TEXT:*:#:{
IF ($nick isop # ) { RETURN }
VAR %text = $hash($strip($1-),32)
IF ($len($strip($1-)) >= 1 ) {
VAR %old.text = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
VAR %old.text = $deltok(%old.text,1,46)
}
IF ((%rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == $null) || (%old.text != %text)) {
SET -u30 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1. $+ %text
RETURN
}
VAR %temp = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
VAR %count = $gettok(%temp,1,46)
INC %count
SET -u30 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] %count $+ . $+ %text
IF (%count > 1) {
inc -ku600 %rpk. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
IF (%rpk. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == 1) {
echo -at 5 $nick 4 has repeated 3 %count 4times within 30 seconds.
kick # $nick 4Reduce repeats! Detected 5 %count 4repeats in under 5 30 4seconds.
}
ELSEIF (%rpk. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == 2) {
echo -at 5 Continuous Repeats: $nick 4has repeated his mistake 3 %rpk. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 4times within 10 minutes.
ban -u300 # $nick 1
kick # $nick You have been warned! Reduce repeats! Cool off for 5 minutes!
unset %rpk. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
}
}