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

books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 17 июл 2010 18:04
tvrsh
###
#
# Название: books.tcl
# Версия: 1.0
# Автор: tvrsh
#
###
#
# Описание: Скрипт ищет книги по файл-эхе SU.BOOKS
#
###


Скрипт работает с сайтом http://lib.rus.ec/booklib
В результатах поиска выводятся те книги, чей размер превышает 5 кб. Можно указать количество выводимых книг в настройках скрипта или в команде. И еще какие-то настройки.

Пример работы:
<tvrsh> !книги
<@bionic> Используйте !книги [-количество книг для отображения] <автор или название книги>.

<tvrsh> !книги кизи
<@bionic> По вашему запросу "кизи" найдены 7 книг. Первые 5 из них:
<@bionic> http://lib.rus.ec/booklib/KIZI_K01.ZIP - Полет над гнездом кукушки - Кен Кизи - 242.689КБ.
<@bionic> http://lib.rus.ec/booklib/KIZI_K02.HA - Веселые проказники встречаются с Джимом Кроу - Кен Кизи - 3.052КБ.
<@bionic> http://lib.rus.ec/booklib/KIZI_K03.HA - Отто кровавый - Кен Кизи - 6.168КБ.
<@bionic> http://lib.rus.ec/booklib/KIZI_K04.HA - Порою нестерпимо хочется... (роман) - Кен Кизи - 513.023КБ.
<@bionic> http://lib.rus.ec/booklib/KIZI_K05.RAR - Песнь Моряка - Кен Кизи - 318.541КБ.

<tvrsh> !книги -3 кизи
<@bionic> По вашему запросу "кизи" найдены 7 книг. Первые 3 из них:
<@bionic> http://lib.rus.ec/booklib/KIZI_K01.ZIP - Полет над гнездом кукушки - Кен Кизи - 242.689КБ.
<@bionic> http://lib.rus.ec/booklib/KIZI_K02.HA - Веселые проказники встречаются с Джимом Кроу - Кен Кизи - 3.052КБ.
<@bionic> http://lib.rus.ec/booklib/KIZI_K03.HA - Отто кровавый - Кен Кизи - 6.168КБ.

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 17 июл 2010 20:02
triton
при команде !books ни чего не говорит. В пати
[20:00] Tcl error [nub]: can't read "city(gamechan)": no such element in array
[20:00] [books] triton/#nmn
[20:00] Tcl error [::books::books_pub]: can't read "a": no such variable


бот на сузи.

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 17 июл 2010 23:06
tvrsh
triton писал(а):при команде !books ни чего не говорит. В пати
[20:00] Tcl error [nub]: can't read "city(gamechan)": no such element in array
[20:00] [books] triton/#nmn
[20:00] Tcl error [::books::books_pub]: can't read "a": no such variable


бот на сузи.

Первая ошибка к моему скрипту не имеет никакого отношения.
Чтобы исправить вторую надо или догадаться написать автора или название книги после команды или дописать в скрипт "защиту от дурака". Перед строкой
    if {[lindex [split [lindex [split $text] 0] ""] 0] == "-"} {
допиши
    if {$text == ""} {
        ::books::books_out $nick $chan "$books(color1)Используйте $books(color2)$lastbind $books(color3)\[-количество книг для отображения\] $books(color2)<автор или название книги>$books(color1).\003"
        return 0
    }

Теперь будет так:
<tvrsh> !книги
<@bionic> Используйте !книги [-количество книг для отображения] <автор или название книги>.

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 18 июл 2010 09:09
triton
при команде !books кизи ни чего не отвечает и выдает в пати туже ошибку

[09:05] [books] triton/#nmn
[09:05] Tcl error [::books::books_pub]: can't read "a": no such variable

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 18 июл 2010 18:34
wizo4ka
triton, попробуй написать вместо
set text [::egglib::urlencode [encoding convertto utf-8 [encoding convertfrom cp1251 $text]]]

это:
set text [::egglib::urlencode [encoding  convertto utf-8 $text]]


Если будут проблемы с кодировкой вывода.. попробуй закомментировать :
TCL: [ Скачать ] [ Скрыть ]
   if {[info exists ::sp_version]} {
        set data [encoding convertfrom utf-8 $data]
    } else {
        set data [encoding convertto cp1251 [encoding convertfrom utf-8 $data]]
    }

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 18 июл 2010 18:37
wizo4ka
tvrsh, спасибо за реализацию идеи. Жалко ,конечно. что изначально поиск организован не по флибусте, ибо на либрусеке запрещено скачивать иностранную литературу простым пользователям.

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 18 июл 2010 19:13
wizo4ka
и еще я бы заменила
 set text [lindex [split $text] 1]

на
 set text [lrange [split $text] 1 end]


тогда будет искать по всему запросу, а не только по первому слову в случае указания количества выводимых строк.

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 22 окт 2010 04:47
sad
*** sad joined the party line.
[11:47] [books] sad/#Witcher
[11:47] Tcl error [::books::books_pub]: can't read "a": no such variable


сие пишет в патилайн, как бороться? Скрипт скачан "as is", без изменений...

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 22 окт 2010 12:06
tvrsh
sad писал(а):
*** sad joined the party line.
[11:47] [books] sad/#Witcher
[11:47] Tcl error [::books::books_pub]: can't read "a": no such variable


сие пишет в патилайн, как бороться? Скрипт скачан "as is", без изменений...

viewtopic.php?p=866#p866

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 22 окт 2010 15:28
sad
tvrsh, покурил, изменил, теперь в пати на любой запрос:
Tcl error [::books::books_msg]: couldn't open socket: host is unreachable

Re: books.tcl - поиск книг по файл-эхе SU.BOOKS

СообщениеДобавлено: 22 окт 2010 15:47
sad
Осознал, косяк с моей стороны... Видимо таки нам на Дальнем востоке снова отрубили либрусек ((