Скриптинг для Eggdrop (TCL) - Вопрос-Ответ
- Где можно скачать TCL и документацию к нему?
- Где описаны все внутренние процедуры Eggdrop для скриптов?
- Есть ли книги по TCL на русском языке?
- Есть русская документация на TCL?
- Как вызвать и передать параметры процедуре?
- Как вынуть из userfile пользователей с конкретными флагами?
- Как запустить shell-команду и вывести output в канал?
- Как из скрипта убить процедуру
- Как посчитать количество пользователей в канале?
- Как проверить содержит ли переменная цифру?
- Как прочитать или установить ENV-переменную?
- Как узнать IP бота?
- Как узнать IP бота?
- Как узнать какие события bind'ит мой бот?
- Какие буквы или цифры я могу использовать в флагах пользователей для своих скриптов, чтобы не конфликтовали с ботовскими?
- Можно ли каким-либо образом держать свои данные, не относящиеся к пользователям в userfile?
- После каких изменений в скрипте надо делать .restart, потому что .rehash не помогает?
Где можно скачать TCL и документацию к нему?
Среда, 30 Май 2007Последнее обновление Суббота, 23 Июнь 2007
Где описаны все внутренние процедуры Eggdrop для скриптов?
Среда, 30 Май 2007Прилагаемый к боту файл docs/tcl-commands.doc или перевод его на русском
Последнее обновление Суббота, 23 Июнь 2007
Есть ли книги по TCL на русском языке?
Среда, 30 Май 2007Последнее обновление Понедельник, 24 Сентябрь 2007
Есть русская документация на TCL?
Среда, 30 Май 2007http://www.florin.ru/win/tcl-tk/I_gu10.htm
Последнее обновление Вторник, 30 Ноябрь 1999
Как вызвать и передать параметры процедуре?
Среда, 30 Май 2007proc myproc {a b c} { ... }
myproc 1 2 3
Процедура myproc получит: a=1, b=2, c=3
Последнее обновление Вторник, 30 Ноябрь 1999
Как вынуть из userfile пользователей с конкретными флагами?
Среда, 30 Май 2007userlist AB
- покажет пользователей с флагом "A" или "B" userlist AB&
- покажет пользователей с флагами "A" и "B"Последнее обновление Суббота, 23 Июнь 2007
Как запустить shell-команду и вывести output в канал?
Среда, 30 Май 2007Если на выходе одна строка, можно просто:
set output [exec command]
Например:
set serveruptime [exec uptime]
А если на выходе несколько строк или вы не знаете сколько их будет, то лучше применять следующий код:
foreach temp [split [exec command] "\r\n"] {
putserv "PRIVMSG $chan :$temp"
}
Последнее обновление Вторник, 30 Ноябрь 1999
Как из скрипта убить процедуру
Среда, 30 Май 2007rename <proc_name> ""
Последнее обновление Суббота, 02 Июнь 2007
Как посчитать количество пользователей в канале?
Среда, 30 Май 2007set usersnum [llength [chanlist $chan]]
Последнее обновление Вторник, 30 Ноябрь 1999
Как проверить содержит ли переменная цифру?
Среда, 30 Май 2007if {![catch {expr $var}]} {
# $var является числом
} else {
# $var не является числом
}
Последнее обновление Вторник, 30 Ноябрь 1999
Как прочитать или установить ENV-переменную?
Среда, 23 Май 2007Прочесть :
set myenv $env(DISPLAY)
Установить:
set env(DISPLAY) unix:0
Проверить :
if {[info exists env(VARNAME)]}
Последнее обновление Среда, 23 Май 2007
Как узнать IP бота?
Среда, 23 Май 2007set ip [myip]
foreach v {d c b a} {
set $v [expr $ip & 255]
set ip [expr $ip >> 8]
}
set botip "$a.$b.$c.$d"
Последнее обновление Вторник, 30 Ноябрь 1999
Как узнать IP бота?
Среда, 23 Май 2007set ip [myip]
foreach v {d c b a} {
set $v [expr $ip & 255]
set ip [expr $ip >> 8]
}
set botip "$a.$b.$c.$d"
Последнее обновление Вторник, 30 Ноябрь 1999
Как узнать какие события bind'ит мой бот?
Среда, 30 Май 2007'.binds all' или '.binds <тип> all' (например '.binds DCC all')
Последнее обновление Суббота, 23 Июнь 2007
Какие буквы или цифры я могу использовать в флагах пользователей для своих скриптов, чтобы не конфликтовали с ботовскими?
Среда, 23 Май 2007Все большие буквы (A-Z) и цифры (0-9). Но если вы ставите еще и чужие скрипты, то следите, чтобы их флаги уже не конфликтовали с вашими.
Последнее обновление Среда, 23 Май 2007
Можно ли каким-либо образом держать свои данные, не относящиеся к пользователям в userfile?
Среда, 30 Май 2007По идее нет. Но можно прибегнуть к хитрости и содержать эти данные в XTRA-полях самого бота :)
Последнее обновление Вторник, 30 Ноябрь 1999
После каких изменений в скрипте надо делать .restart, потому что .rehash не помогает?
Среда, 23 Май 2007После удаления bind'ов и после изменения количества переменных в процедурах.
Последнее обновление Среда, 23 Май 2007