| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- #########################################################################
- ## BlackTools - The Ultimate Channel Control Script ##
- ## One TCL. One smart Eggdrop ##
- #########################################################################
- ########################### CHANLINK 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 link:process {nick host hand chan chan1 type what channels delchan} {
- global black
-
- if {$what == ""} {
- switch $type {
- 0 {
- blacktools:tell $nick $host $hand $chan $chan1 gl.instr "link"
- }
- 1 {
- blacktools:tell $nick $host $hand $chan $chan1 gl.instr_nick "link"
- }
- 2 {
- blacktools:tell $nick $host $hand $chan $chan1 gl.instr_priv "link"
- }
- }
- }
- switch $what {
- list {
- set return [link:show]
- if {$return == "0"} {
- blacktools:tell $nick $host $hand $chan $chan1 chanlink.5 none
- return
- }
- blacktools:tell $nick $host $hand $chan $chan1 chanlink.3 [join $return]
- }
- reset {
- link:reset
- blacktools:tell $nick $host $hand $chan $chan1 chanlink.2 none
- }
- all {
- link:set $what
- blacktools:tell $nick $host $hand $chan $chan1 chanlink.4 none
- }
- del {
- if {![validchan $delchan]} {
- blacktools:tell $nick $host $hand $chan $chan1 gl.novalidchan none
- return
- }
- set return [link:del $delchan]
- if {$return == "1"} {
- blacktools:tell $nick $host $hand $chan $chan1 chanlink.7 $delchan
- } else {
- blacktools:tell $nick $host $hand $chan $chan1 chanlink.8 $delchan
- }
- }
- default {
- set return [link:set $channels]
- set split_return [split $return ":"]
- set validchan [lindex $split_return 0]
- set notvalid [lindex $split_return 1]
- if {$validchan != ""} {
- blacktools:tell $nick $host $hand $chan $chan1 chanlink.1 [join $validchan]
- }
- if {$notvalid != ""} {
- blacktools:tell $nick $host $hand $chan $chan1 chanlink.6 [join $notvalid]
- }
- }
- }
- }
- proc link:show {} {
- global black botnick
- set return [link:get]
- if {$return == ""} {
- return 0
- }
- return $return
- }
- proc link:set {channels} {
- global black botnick
- set validchan ""
- set notvalid ""
- if {[string equal -nocase $channels "all"]} {
- foreach chan [channels] {
- if {[setting:get $chan chanlink] == "0"} {
- setting:set $chan +chanlink ""
- }
- }
- return 1
- }
- foreach chan $channels {
- if {[validchan $chan]} {
- lappend validchan $chan
- if {[setting:get $chan chanlink] == "0"} {
- setting:set $chan +chanlink ""
- }
- } else {
- lappend notvalid $chan
- }
- }
- return "$validchan:$notvalid"
- }
- proc link:reset {} {
- global black botnick
- foreach chan [channels] {
- if {[setting:get $chan chanlink]} {
- setting:set $chan -chanlink ""
- }
- }
- }
- proc link:del {chan} {
- global black
- if {[setting:get $chan chanlink]} {
- setting:set $chan -chanlink ""
- return 1
- } else {
- return 0
- }
- }
- proc link:get {} {
- global black botnick
- set channels ""
- foreach chan [channels] {
- if {[setting:get $chan chanlink]} {
- lappend channels $chan
- }
- }
- return $channels
- }
- proc link:status {chan} {
- global black
- if {[setting:get $chan chanlink]} {
- return 1
- } else {
- return 0
- }
- }
- proc link:chan:get {readchan} {
- global black
- set channels ""
- set readchan [string tolower $readchan]
- if {[setting:get $readchan chanlink] == "0"} {
- return ""
- }
- foreach chan [string tolower [channels]] {
- if {[setting:get $chan chanlink]} {
- if {$readchan != $chan} {
- lappend channels $chan
- }
- }
- }
- return $channels
- }
- ##############
- #########################################################################
- ## END ##
- #########################################################################
|