Вопросы по скриптам
|
|
|
newbie 28.11.12 15:31 #301
|
Не проще ли отправлять на сервер хидер с запретом выдачи страницы в гзипе? Да и упростить процедуру в выбором адреса. В switch задавать set url "http://site.com/", а уже после делать http::geturl $url -timeout 15000 -headers [list "Accept-Encoding" None]. Страница в таком случае будет приходить не в сжатом формате и ошибок быть не должно.
|
|
|
|
Vladislav 28.11.12 19:33 #302
|
Как-то не очень это помогает) так указано в feed.tcl но на лента.ру тоже часто пишет про zlib.
Quote <Vladislav> !tcl ::http::config -useragent "Mozilla/4.0"; set parsing_tok [::http::geturl http://www.liveresult.ru/football/txt/today/ -timeout 20000 -headers [list "Accept-Encoding" None]]; set data [encoding convertfrom utf-8 [::http::data $parsing_tok]]; ::http::cleanup $parsing_tok; regexp -nocase -- {<title>(.*?)</title>} $data -> data; return $data <Windrop> [ERROR 92.501ms] неизвестная команда "zlib"
|
|
|
|
newbie 28.11.12 20:03 #303
|
Quote Как-то не очень это помогает) Хм. У меня все работает. Возможно сайт отдает для определенного IP принудительно в gzip...
Quote <newbie> .tcl http::config -useragent "Mozilla/4.0"; http::meta [http::geturl http://www.liveresult.ru/football/txt/today/ -timeout 20000 -headers [list "Accept-Encoding" None]] <bot> Tcl: Server nginx Date {Wed, 28 Nov 2012 13:57:55 GMT} Content-Type text/html Connection close Expires {Thu, 19 Nov 1981 08:52:00 GMT} Cache-Control {no-store, no-cache, must-revalidate, post-check=0, pre-check=0} Pragma no-cache <newbie> .tcl http::config -useragent "Mozilla/4.0"; http::meta [http::geturl http://www.liveresult.ru/football/txt/today/ -timeout 20000 -headers [list "Accept-Encoding" "gzip, deflate, x-gzip,*;q=0.1"]] <bot> Tcl: Server nginx Date {Wed, 28 Nov 2012 13:58:57 GMT} Content-Type text/html Connection close Expires {Thu, 19 Nov 1981 08:52:00 GMT} Cache-Control {no-store, no-cache, must-revalidate, post-check=0, pre-check=0} Pragma no-cache Content-Encoding gzip
|
|
|
|
Vladislav 28.11.12 20:12 #304
|
Может у тебя просто есть на сервере zlib или tcl 8.6
Quote <Vladislav> !tcl zlib <Windrop> [ERROR 0.0ms] неизвестная команда "zlib" <Vladislav> !tcl info pa <Windrop> [OK 0.0ms] 8.5.11 <Vladislav> !tcl package provide http <Windrop> [OK 0.0ms] 2.7.7
То что у тебя бот выдаёт, у меня он тоже выдаёт с переделанным http.tcl но данные то при парсере нечитабельные приходят.
Quote <Vladislav> !tcl ::http::config -useragent "Mozilla/4.0"; set parsing_tok [::http::geturl http://www.liveresult.ru/football/txt/today/ -timeout 20000 -headers [list "Accept-Encoding" None]]; set data [encoding convertfrom utf-8 [::http::data $parsing_tok]]; ::http::cleanup $parsing_tok; regexp -nocase -- {<title>(.*?)</title>} $data -> data; return $data <Windrop> [RETURN 215.001ms] Текстовые трансляции (Среда, 28 ноября 2012) ‹ Футбол ‹ Live Result Ru <Vladislav> !tcl ::http::config -useragent "Mozilla/4.0"; set parsing_tok [::http::geturl http://www.liveresult.ru/football/txt/today/ -timeout 20000 -headers [list "Accept-Encoding" "gzip, deflate, x-gzip,*;q=0.1"]]; set data [encoding convertfrom utf-8 [::http::data $parsing_tok]]; ::http::cleanup $parsing_tok; regexp -nocase -- {<title>(.*?)</title>} $data -> data; return $data <Windrop> [RETURN 195.0ms] ? <Windrop> [RETURN] ??xi/пM1?r'2}???tqU??|&??xa{dwh??w?7\?qWV?»/( >¶???bl\?p???}??:?9[ <Windrop> [RETURN] ?)????????(?0??????©?=j?-j??Q??vBb?>;^$?h??l????I9WF???/??F?;??O»r^?O??=?i???µk????'w`?§??mK)?????µ???z?{?]t+??NX?N%??°§»????jxW?X?g????BY«??R???»??m?]??uM????6?ig???:??1¬ 6#*µ??R*?»+Z???h'??M?;V5?>0<D[? [???o~??©KWA??wM»?)n???E???G?)?,???a?p?U??]C?f?,k??©U?)y????sWo?'??7_O?o??????{.??y#??O??????2??aq?¶7?:??k... <Windrop> [RETURN] ?!?i?u<b?µx????? ?e??±}?B???????}C???·2?e%C?R???J???nV???~??~u <Windrop> [RETURN] ?\??g®????{R?~8??4jA <Windrop> [RETURN] ?jE«?????M???A§3lC?d?Mµ *P <Windrop> [RETURN] Показано 6 строк, всего 45.
Скрипт обновил, упростил процедуру с ссылками.
|
|
|
|
pLanu2 30.11.12 09:04 #305
|
что нужно сделать, чтобы отключить скрипт на канале посредством флага: если в скрипте есть флаг: setudef flag u2 : для включения на канале: set +u2, а как сделать, чтобы можно было отключать?
|
|
|
|
Vladislav 30.11.12 11:06 #306
|
|
|
pLanu2 08.12.12 14:09 #307
|
можно ли сделать, чтобы скрипт реагировал на переименование юзера:
Цитата [18:37:54] NewUser_1405 [~plangc@109.195.141.48] теперь известен как Ben
|
|
|
|
Vladislav 08.12.12 14:42 #308
|
Процедура срабатывает когда меняется ник:
Код bind NICK - * nick2 proc nick2 {nick uhost hand chan newnick} { putlog "$nick -> $newnick" }
|
|
|
|
pLanu2 11.12.12 07:36 #309
|
почему команды: "set" и "close" выполняются без квадратных скобок, ведь другие Tcl-команды выполняются в квадратных скобках?:
Код if {![file exists $datebaza]} {set addbaza [open $datebaza w+]; close $addbaza}
|
|
|
|
Vladislav 11.12.12 16:36 #310
|
Прочитай синтаксис языка уже, тут тема по скриптам а не как устроен язык. Скобки нужны там где они нужны, если не нужны то не нужны. Они могут быть и в set например:
Цитата if {[set fcity [getuser $hand XTRA fcity]] == ""} {}
это тоже самое что
Цитата set fcity [getuser $hand XTRA fcity] if {$fcity == ""} {}
ты можешь выполнить команду без скобок getuser $hand XTRA fcity только тебе же нужно результат куда записать и записываешь ты его в set а у set какой формат? set имя команда, а чтобы было понятно где начинается команда и где заканчивается, сделаны скобки, ведь команд то сколько угодно может быть в одной set.
|
|
|
что со скриптом tor.tcl ?
Цитата [22:09:57] <qq> !тор aimp [22:09:58] <@Zeus> Ничего не найдено. [22:10:09] <qq> !тор winamp [22:10:10] <@Zeus> Ничего не найдено.
и время не показывает в google_calc.tcl:
Цитата [22:08:40] <qq> % время москва [22:08:41] <@Zeus> В душе не знаю!
|
|
|
|
Vladislav 13.12.12 18:08 #312
|
google_calc.tcl - починил, доступен в сервисе обновления, а tor.tcl ограничил временно поиск без регистрации, думаю вскоре заработает.
|
|
|
обновил, бота рестанул, всё равно не работает время
|
|
|
|
Vladislav 14.12.12 11:56 #314
|
Потому что они уже вернули как было ранее) в общем оставил старый код и новый, но если у них всё в процессе то скорее всего вскоре опять перестанет работать, на данный момент всё работает. Скрипт в обновлениях.
Поправил и !тор, сайт этот конкретно уже надоел каждый месяц меняет систему идентификации, но сейчас работает и ладно)
|
|
|
Проблема с liveresult.tcl
Да есть зависания переодически,плюс не меняет топик в конце матча,и при входе на канал пишет что матч идет а он давно кончился
пример Код •(13:14:50)• -Paul- >>> Идет - минута матча "Коринтианс 0:0 Челси".
|
|
|