Пример использования:
[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/