Страница 1 из 1

allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 17 янв 2010 22:28
tvrsh
Скрипт дает возможность владельцам бота(флаг +n) загружать или удалять из конфига бота скрипты, используя для этого команды с канала. Больше нет необходимости редактировать eggdrop.conf вручную. Создается файл scripts.txt в который записываются все загружаемые вами скрипты, и при каждой загрузке бота эти скрипты автоматически подгружаются в него.
Основан на
## Allscripts v1.42
##
## Author: Papillon ( http://www.r0x0ring.com )

Фактически, это он и есть, просто переписаны бинды и добавлено несколько незначительных изменений.

Доступные команды:
!+script путь\до\скрипта.tcl - загрузить скрипт в конфиг.
!-script путь\до\скрипта.tcl - выгрузить скрипт из конфига.
!scripts - просмотреть все загруженные скрипты.
!allscripts путь\до\директории - просмотреть список всех скриптов в директории.

Настроек всего две:
В первой указываете путь до папки scripts вашего бота, во второй выбираете что делать после загрузки/выгрузки скриптов.

Также скрипт умеешь рехашить/рестартить бота после загрузки/выгрузки скриптов.

Предложения по улучшению функционала приветствуются.

Обновления приложенного файла:
08.02.2010 - Исправлена ошибка Tcl error [script:scripts]: can't read "alls": no such variable
22.02.1010 - Добавлен размер и количество строк в информацию о загрузке или выгрузке скрипта.

Re: allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 07 фев 2010 02:12
Baklazhan
При команде !scripts бот выдаёт ошибку Tcl error [script:scripts]: can't read "alls": no such variable - в чём может быть дело?

Re: allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 07 фев 2010 03:32
tvrsh
Строку
if {![file exists scriptdir/scripts.txt]} { set fs [open "$scriptdir/scripts.txt" a+]; close $fs }
замените на
if {![file exists $scriptdir/scripts.txt]} { set fs [open "$scriptdir/scripts.txt" a+]; close $fs }

Re: allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 08 фев 2010 09:09
Baklazhan
Тоже самое,пишет ту же ошибку - Tcl error [script:scripts]: can't read "alls": no such variable
И ещё бот не показывает загруженные скрипты,пишу команду,он пишет только это: (10:02:55) <Bot> Загруженные скрипты:
И ещё забыл спросить,файлик scripts.txt пустой,бот сам пишет туда загруженые скрипты или мне писать? :)

Re: allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 09 фев 2010 00:25
tvrsh
Ошибка и пустой файл по-тому, что ты не удосужился загрузить ни один скрипт.
Скрипт в первом сообщении обновлен.

Re: allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 09 фев 2010 15:35
Baklazhan
Разобрался,спасибо всё работает :)

Re: allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 21 фев 2010 18:56
tvrsh
Добавлен размер и количество строк в информацию о загрузке или выгрузке скрипта.
#egghelp @ IrcNet.ru писал(а): <@tvrsh> !+script picturls.tcl
<+bionic> tvrsh, загружен скрипт: picturls.tcl, Размер/Строк: 6.017КБ/140.

Re: allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 07 мар 2010 19:57
tvrsh
В сочетании с этим скриптом:
TCL: [ Скачать ] [ Скрыть ]
#by Vertigo@RusNet
bind pub n !get get_
proc get_ {n u h c t} {
if {$t == ""} {
putserv "PRIVMSG $c :$n: Используй: !get <ссылка на файл>"; return}
set af [catch {exec wget $t} r]
 if {[string match "*child process exited abnormally*" $r]} {putserv "PRIVMSG $c :Ошибка. Не могу скачать."; return}
 set file [lindex [split [lindex [split [lindex [split $r \n] end-1] "`"] 1] "'"] 0]
 if {[file exists $file]} {putserv "NOTICE $n :Файл скачан успешно."}
}

можно добавлять скрипты боту не имея к нему доступа по фтп. Используя команду !get бот скачивает в папку filesys указанный вами скрипт и потом вы его загружаете используя allscripts.tcl

Re: allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 07 мар 2010 21:58
Baklazhan
Бот скачивает скрипты,а вот куда?? в filesys их нету :(

Re: allscripts.tcl работа со скриптами через команды с канала.

СообщениеДобавлено: 08 мар 2010 00:06
tvrsh
Да, я думал что в filesys, оказалось, что просто в корень.