Пример использования:
[10:10:12] <@tvrsh> !load
[10:10:12] <+bionic> -(Load)- !load <scriptname.tcl> -(Info)-
# Тут пробуем подгрузить скрипт.
[10:10:16] <@tvrsh> !load bart.tcl
# Бот сообщает что в скрипте ошибка и показывает ее.
[10:10:16] <+bionic> -(Load)- Script: bart.tcl Size: 5.90625 Kb Status: Error -(Info)-
[10:10:16] <+bionic> -(Load)- can't read "bartlist": no such variable -(Info)-
# После исправления ошибки снова подгружаем скрипт.
[10:10:41] <@tvrsh> !load bart.tcl
# Бот сообщает что все в порядке.
[10:10:41] <+bionic> -(Load)- Script: bart.tcl - Size: 5.9072265625 Kb - Status: OK -(Info)-
# Скрипт работает.
[10:10:48] <@tvrsh> !барт
[10:10:48] <+bionic> [28/110] Я не буду выпендриваться.
set lflags "n"
set lscriptsdir "scripts"
set ltrigger "!"
bind pub $lflags ${ltrigger}load load:file
proc load:file {nick host hand chan text} {
global lscriptsdir ltrigger
set file [lindex [split $text] 0]
if {$file == ""} {
putserv "PRIVMSG $chan :-(Load)- ${ltrigger}load <scriptname.tcl> -(Info)-"
return 0
} elseif {![file exists [file join $lscriptsdir $file]]} {
putserv "PRIVMSG $chan :-(Load)- Sorry $file doesn`t exists -(Info)-"
return 0
} else {
set kbsize [expr {[file size [file join $lscriptsdir/$file]] / 1024.0}]
if {[catch {uplevel "source [file join $lscriptsdir $file]"} error]} {
putserv "PRIVMSG $chan :-(Load)- Script: $file Size: $kbsize Kb Status: Error -(Info)-"
putserv "PRIVMSG $chan :-(Load)- $error -(Info)-"
} else {
putserv "PRIVMSG $chan :-(Load)- Script: $file - Size: $kbsize Kb - Status: OK -(Info)-"
}
}
}(с) http://tclhelp.net/











