TCL скрипты. Полезные советы.

Написал Данила Вершинин Вторник, 24 Июль 2007

Всем привет! TCL скрипты очень популярны в сообществе IRC. Но не каждый знает, как сделать их эффективно работающими и легко устранять возникшие неисправности. Если у Вас есть IRC бот, например Eggdrop или Windrop, в каждом дистрибутиве бота находится набор готовых скриптов. Они не жизненно-необходимы, но могут облегчить жизнь начинающему скриптеру.

Рассмотрим некоторые TCL скрипты, поставляемые с Windrop, и объясним зачем они нужны

  • alltools.tcl

    Этот скрипт призван облегчить жизнь разработчикам скриптов. Например, вы возможно знаете, что для отправки сообщения на канал необходимо написать следующий код:

    puthelp "PRIVMSG $dest :$text"

    Здесь $dest - это ник или название канала, на который будет отправлено сообщение $text. Куда проще всё может выглядеть, если подгружен скрипт alltools.tcl, а именно:
    putmsg <nick/chan> <text>

    Здесь я думаю всё понятно. Скрипт подгружается командой 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.
Последнее обновление ( Суббота, 22 Сентябрь 2007 )
< Пред.   След. >