| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #########################################################################
- ## BlackTools - The Ultimate Channel Control Script ##
- ## One TCL. One smart Eggdrop ##
- #########################################################################
- ####################### RepetitiveChars TCL #########################
- #########################################################################
- ## ##
- ## BlackTools : http://blacktools.tclscripts.net ##
- ## Bugs report : http://www.tclscripts.net/ ##
- ## GitHub page : https://github.com/tclscripts/BlackToolS-TCL ##
- ## Online Help : irc://irc.undernet.org/tcl-help ##
- ## #TCL-HELP / UnderNet ##
- ## You can ask in english or romanian ##
- ## ##
- #########################################################################
- proc repetitivechars:protect {nick host hand chan arg} {
- global black
- if {![validchan $chan]} { return }
- set handle [nick2hand $nick]
- if {![botisop $chan] && ![setting:get $chan xonly]} { return }
- if {[matchattr $handle $black(exceptflags) $chan]} { return }
- if {[isbotnick $nick]} { return }
- set bl_protect [blacktools:protect $nick $chan]
- if {$bl_protect == "1"} { return }
- set getnum [setting:get $chan repetitivechars-char]
- if {$getnum == ""} { set getnum "$black(repetitivechars:num)" }
- set llength_chars [string length $arg]
- set chars [split $arg ""]
- set counter 0
- set current_char ""
- for {set i 0 } { $i < $llength_chars } { set i [expr $i + 1] } {
- set char [lindex $chars $i]
- if {$current_char == ""} {
- set current_char $char
- set counter [expr $counter + 1]
- } else {
- if {$char != "$current_char"} {
- set current_char $char
- set counter 1
- } else {
- set counter [expr $counter + 1]
- }
- }
- }
- if {$counter >= $getnum} {
- blacktools:banner:1 $nick "repetitivechars" $chan $host [get:banmethod "repetitivechars" $chan] [link:chan:get $chan]
- return 1
- }
- }
|