Регистрация | Вход
[ Главная · Новые сообщения ]
Форум » Основной раздел » Мастерская » Вопросы по скриптам
Вопросы по скриптам
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
!set -u2
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.
Jake 13.12.12 16:17 #311
что со скриптом 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 ограничил временно поиск без регистрации, думаю вскоре заработает.
Jake 14.12.12 09:20 #313
обновил, бота рестанул, всё равно не работает время :(
Vladislav 14.12.12 11:56 #314
Потому что они уже вернули как было ранее) в общем оставил старый код и новый, но если у них всё в процессе то скорее всего вскоре опять перестанет работать, на данный момент всё работает. Скрипт в обновлениях.

Поправил и !тор, сайт этот конкретно уже надоел каждый месяц меняет систему идентификации, но сейчас работает и ладно)
ban 17.12.12 15:18 #315
Проблема с liveresult.tcl

Да есть зависания переодически,плюс не меняет топик в конце матча,и при входе на канал пишет что матч идет а он давно кончился

пример
Код
•(13:14:50)• -Paul- >>> Идет - минута матча "Коринтианс 0:0 Челси".
Форум » Основной раздел » Мастерская » Вопросы по скриптам
Поиск: