TCL скрипты. Полезные советы.
Всем привет! TCL скрипты очень популярны в сообществе IRC. Но не каждый знает, как сделать их эффективно работающими и легко устранять возникшие неисправности. Если у Вас есть IRC бот, например Eggdrop или Windrop, в каждом дистрибутиве бота находится набор готовых скриптов. Они не жизненно-необходимы, но могут облегчить жизнь начинающему скриптеру.
Рассмотрим некоторые TCL скрипты, поставляемые с Windrop, и объясним зачем они нужны
-
alltools.tcl
Этот скрипт призван облегчить жизнь разработчикам скриптов. Например, вы возможно знаете, что для отправки сообщения на канал необходимо написать следующий код:
puthelp "PRIVMSG $dest :$text"Здесь $dest - это ник или название канала, на который будет отправлено сообщение $text. Куда проще всё может выглядеть, если подгружен скрипт alltools.tcl, а именно:
putmsgЗдесь я думаю всё понятно. Скрипт подгружается командой source scripts/alltools.tcl в eggdrop.conf, что действительно по умолчанию после установки бота. Так что при написании скриптов, имейте ввиду, что лучше использовать сокращённый синтаксис записи команд, поскольку это позволит сократить размер ваших многочисленных tcl скриптов. В свою очередь меньший размер tcl скриптов позволит боту быстрее загружать их, быстрее производить рихэш (rehash).
-
compat.tcl
Скрипт производит стыковку старых функций с новыми, то есть необходим для обеспечения некоторой степени совместимости старых скриптов для новых версий ботов. В процессе разработки новых ботов, некоторые функции, например, отбрасываются и заменяются новыми либо не заменяется, а отбрасываются вовсе. Могут меняться параметры функций, число параметров, что приводит к некорректной работе старых скриптов. Скрипт пытается решить данную проблему.
-
userinfo.tcl
Этот скрипт улучшает вывод, производимый командой
whois', используя опциюwhois-fields’ бота eggdrop версии 1.1-grant и выше. Он добавляет функциональность скрипта whois.tcl, используемого в версиях до 1.1-grant.