| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #########################################################################
- ## BlackTools - The Ultimate Channel Control Script ##
- ## One TCL. One smart Eggdrop ##
- #########################################################################
- ######################## ANTIBADWORD 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 antibadword:protect {nick host hand chan arg} {
- global black botnick username
- if {![validchan $chan]} { return }
- set handle [nick2hand $nick]
- set found_word ""
- set text [color:filter [split $arg]]
- set split_check ""
- set get_pers ""
- if {![validchan $chan]} { return }
- if {![botisop $chan] && ![setting:get $chan xonly]} { return }
- if {[matchattr $handle $black(exceptflags) $chan]} { return }
- set bl_protect [blacktools:protect $nick $chan]
- if {$bl_protect == "1"} { return }
- if {[isbotnick $nick]} { return }
- set text [check:except $text $chan $black(antibadword) $black(except_badwords) "BADWORD"]
- set check_word [check:file:word $chan $text "BADWORD"]
- if {$check_word != ""} {
- if {[regexp {[:]} $check_word]} {
- set split_check [split $check_word ":"]
- set check_word [join [lindex $split_check 0]]
- set get_pers [lindex $split_check 1]
- }
- if {$get_pers != ""} {
- blacktools:banner:1 $nick "ANTIBADWORD:$check_word" $chan $host [get:banmethod "antibadword:$get_pers" $chan] [link:chan:get $chan]
- } else {
- blacktools:banner:1 $nick "ANTIBADWORD:$check_word" $chan $host [get:banmethod "antibadword" $chan] [link:chan:get $chan]
- }
- return 1
- }
- }
- proc badword:module {nick host hand chan arg} {
- global black lastbind
- set type 0
- set chan1 "$chan"
- set why [lindex [split $arg] 0]
- set badw [join [lrange [split $arg] 1 end]]
- set number [lindex [split $arg] 1]
- if {[regexp {^[&#]} $why] && [matchattr $hand nmo|M $why]} {
- set chan "$why"
- set why [lindex [split $arg] 1]
- set badw [join [lrange [split $arg] 2 end]]
- set number [lindex [split $arg] 2]
- }
- set return [blacktools:mychar $lastbind $hand]
- if {$return == "0"} {
- return
- }
- prot:module:process $nick $host $hand $chan $chan1 $why $badw $type $number "badword"
- }
- ##############
- #########################################################################
- ## END ##
- #########################################################################
|