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

Решение вопросов при работе с TCL скриптами.

Модератор: Модераторы

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

Сообщение tvrsh » 17 июл 2010 18:04

###
#
# Название: 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КБ.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

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

Сообщение triton » 17 июл 2010 20:02

при команде !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


бот на сузи.
triton
 
Сообщения: 40
Зарегистрирован: 07 июн 2010 08:14
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21

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

Сообщение tvrsh » 17 июл 2010 23:06

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> Используйте !книги [-количество книг для отображения] <автор или название книги>.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

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

Сообщение triton » 18 июл 2010 09:09

при команде !books кизи ни чего не отвечает и выдает в пати туже ошибку

[09:05] [books] triton/#nmn
[09:05] Tcl error [::books::books_pub]: can't read "a": no such variable
triton
 
Сообщения: 40
Зарегистрирован: 07 июн 2010 08:14
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21

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

Сообщение wizo4ka » 18 июл 2010 18:34

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]]
    }
Последний раз редактировалось wizo4ka 20 июл 2010 04:25, всего редактировалось 3 раз(а).
wizo4ka
 
Сообщения: 4
Зарегистрирован: 22 июн 2010 21:52
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.19+suzi

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

Сообщение wizo4ka » 18 июл 2010 18:37

tvrsh, спасибо за реализацию идеи. Жалко ,конечно. что изначально поиск организован не по флибусте, ибо на либрусеке запрещено скачивать иностранную литературу простым пользователям.
wizo4ka
 
Сообщения: 4
Зарегистрирован: 22 июн 2010 21:52
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.19+suzi

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

Сообщение wizo4ka » 18 июл 2010 19:13

и еще я бы заменила
 set text [lindex [split $text] 1]

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


тогда будет искать по всему запросу, а не только по первому слову в случае указания количества выводимых строк.
wizo4ka
 
Сообщения: 4
Зарегистрирован: 22 июн 2010 21:52
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.19+suzi

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

Сообщение sad » 22 окт 2010 04:47

*** 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", без изменений...
Нежелание играться - первый признак деградации ;)
Аватара пользователя
sad
 
Сообщения: 28
Зарегистрирован: 15 авг 2010 16:17
Откуда: Комсомольск-на-Амуре
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

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

Сообщение tvrsh » 22 окт 2010 12:06

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
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

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

Сообщение sad » 22 окт 2010 15:28

tvrsh, покурил, изменил, теперь в пати на любой запрос:
Tcl error [::books::books_msg]: couldn't open socket: host is unreachable
Нежелание играться - первый признак деградации ;)
Аватара пользователя
sad
 
Сообщения: 28
Зарегистрирован: 15 авг 2010 16:17
Откуда: Комсомольск-на-Амуре
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

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

Сообщение sad » 22 окт 2010 15:47

Осознал, косяк с моей стороны... Видимо таки нам на Дальнем востоке снова отрубили либрусек ((
Нежелание играться - первый признак деградации ;)
Аватара пользователя
sad
 
Сообщения: 28
Зарегистрирован: 15 авг 2010 16:17
Откуда: Комсомольск-на-Амуре
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi


Вернуться в TCL скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

cron