|
@@ -1,105 +0,0 @@
|
|
|
-#########################################################################
|
|
|
|
|
-## BlackTools - The Ultimate Channel Control Script ##
|
|
|
|
|
-## One TCL. One smart Eggdrop ##
|
|
|
|
|
-#########################################################################
|
|
|
|
|
-########################## ANTIPUB TCL ##############################
|
|
|
|
|
-#########################################################################
|
|
|
|
|
-## ##
|
|
|
|
|
-## BlackTools : http://blacktools.tclscripts.net ##
|
|
|
|
|
-## Bugs report : http://www.tclscripts.net/ ##
|
|
|
|
|
-## GitHub page : https://github.com/tclscripts/BlackToolS-TCL-script ##
|
|
|
|
|
-## Online Help : irc://irc.undernet.org/tcl-help ##
|
|
|
|
|
-## #TCL-HELP / UnderNet ##
|
|
|
|
|
-## You can ask in english or romanian ##
|
|
|
|
|
-## ##
|
|
|
|
|
-#########################################################################
|
|
|
|
|
-
|
|
|
|
|
-proc antipub:protect {nick host hand chan arg} {
|
|
|
|
|
-global black botnick
|
|
|
|
|
- set text [color:filter [split $arg]]
|
|
|
|
|
- set found_pub 0
|
|
|
|
|
- set handle [nick2hand $nick]
|
|
|
|
|
- set found_pub ""
|
|
|
|
|
- set banword ""
|
|
|
|
|
-if {![validchan $chan]} { return }
|
|
|
|
|
-if {[matchattr $handle $black(exceptflags) $chan]} { return }
|
|
|
|
|
- set bl_protect [blacktools:protect $nick $chan]
|
|
|
|
|
-if {$bl_protect == "1"} { return }
|
|
|
|
|
-if {![botisop $chan] && ![setting:get $chan xonly]} { return }
|
|
|
|
|
- set text [check:except $text $chan $black(antipubword) $black(antipubexcept) "ANTIPUB"]
|
|
|
|
|
- set check_word [check:file:word $chan $text "ANTIPUB"]
|
|
|
|
|
-if {$check_word != ""} {
|
|
|
|
|
- blacktools:banner:1 $nick "ANTIPUB:$check_word" $chan $host [get:banmethod "antipub" $chan] [link:chan:get $chan]
|
|
|
|
|
- return 1
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-foreach antipub [string tolower $black(antipubword)] {
|
|
|
|
|
-if {[string match -nocase $antipub $text]} {
|
|
|
|
|
- set found_pub $antipub
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-if {$found_pub != ""} {
|
|
|
|
|
- blacktools:banner:1 $nick "ANTIPUB:$found_pub" $chan $host [get:banmethod "antipub" $chan] [link:chan:get $chan]
|
|
|
|
|
- return 1
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-proc check:except {text chan type except prot} {
|
|
|
|
|
- global black
|
|
|
|
|
- set text [split $text]
|
|
|
|
|
- set counter_word 0
|
|
|
|
|
- set counter_except 0
|
|
|
|
|
- set found_it 0
|
|
|
|
|
-
|
|
|
|
|
-foreach ex $except {
|
|
|
|
|
- set position [lsearch -exact [string tolower $text] [string tolower $ex]]
|
|
|
|
|
-if {$position > -1} {
|
|
|
|
|
- set text [lreplace $text $position $position]
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
- set file [open $black(add_file) r]
|
|
|
|
|
- set size [file size $black(add_file)]
|
|
|
|
|
- set data [split [read $file $size] \n]
|
|
|
|
|
- close $file
|
|
|
|
|
-foreach line $data {
|
|
|
|
|
-if {$line != ""} {
|
|
|
|
|
- set channel [lindex [split $line] 0]
|
|
|
|
|
- set getype [lindex [split $line] 1]
|
|
|
|
|
- set link [join [lrange [split $line] 3 end]]
|
|
|
|
|
-foreach word $text {
|
|
|
|
|
-if {[string equal -nocase $channel $chan] && [string equal -nocase $getype $prot] && [regexp {^[+]} $link] && [string match -nocase [string map {"+" ""} $link] $word]} {
|
|
|
|
|
- set position [lsearch -exact [string tolower $text] [string tolower $word]]
|
|
|
|
|
-if {$position > -1} {
|
|
|
|
|
- set text [lreplace $text $position $position]
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
- return $text
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-proc antipub:module {nick host hand chan arg} {
|
|
|
|
|
- global black lastbind
|
|
|
|
|
- set type 0
|
|
|
|
|
- set chan1 "$chan"
|
|
|
|
|
- set why [lindex [split $arg] 0]
|
|
|
|
|
- set except [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 except [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 $except $type $number "antipub"
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-##############
|
|
|
|
|
-#########################################################################
|
|
|
|
|
-## END ##
|
|
|
|
|
-#########################################################################
|
|
|