Вопросы по скриптам
|
|
|
Vladislav 20.07.12 14:47 #196
|
Quote <Vladislav> !tcl set parsing_tok [::http::geturl "http://m.cskamoskva.ru/" -timeout 20000]; set data [regsub -all -- {\n|\r|\t} [::http::data $parsing_tok] ""]; ::http::cleanup $parsing_tok; regexp -nocase -- {linered">.*?<div>(.*?)</div>.*?<div>(.*?)</div>} $data -> res1 res2; set res [regsub -all -- {\s+} "Ближайшая игра: $res1 Прошедшая игра: $res2" " "]; return [regsub -all -- {<.*?>} [string map -nocase {</p> ". " "<br />" " " <br> " "} $res] ""]
<Windrop> [RETURN 324.717ms] Ближайшая игра: ЦСКА | Ростов. Чемпионат России. 1 тур 21 / Июля / 2012. Прошедшая игра: Рубин - 3. ЦСКА - 1. Голы:. Хонда (45); Вальдес (46); Карадениз (82) (88).
|
|
|
Code bind pub - !цска parsing
proc parsing {nick uhost hand chan text} { ::http::config -useragent "Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)" set parsing_tok [::http::geturl "http://m.cskamoskva.ru/" -timeout 20000] set data [regsub -all -- {\n|\r|\t} [::http::data $parsing_tok] ""] ::http::cleanup $parsing_tok
if {[regexp -nocase -- {"linered">.*?<div>(.*?)</div>.*?<div>(.*?)</div>} $data -> res1 res2]} { set res [regsub -all -- {\s+} "Ближайшая игра: $res1 Прошедшая игра: $res2" " "] regsub -all -- {<.*?>} [string map -nocase {</p> ". " "<br />" " " <br> " "} $res] "" putserv "PRIVMSG $chan :Ближайшая игра:$res1 $res2" } }
что в этом коде не правильно? выдает
Quote <Paul> Ближайшая игра:<p class="item_g_n">ЦСКА | Ростов</p><p class="item_g_date">Чемпионат России</p><p>1 тур<br />21 / Июля / 2012</p> <p>Рубин - 3</p><p>ЦСКА - 1</p><p><p><b>Голы:</b></p>Хонда (45);<br />Вальдес (46);<br />Карадениз (82) (88)</p>
|
|
|
|
Vladislav 20.07.12 17:28 #198
|
Code bind pub - !цска parsing
proc parsing {nick uhost hand chan text} { ::http::config -useragent "Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)" set parsing_tok [::http::geturl "http://m.cskamoskva.ru/" -timeout 20000] set data [regsub -all -- {\n|\r|\t} [::http::data $parsing_tok] ""] ::http::cleanup $parsing_tok
if {[regexp -nocase -- {linered">.*?<div>(.*?)</div>.*?<div>(.*?)</div>} $data -> res1 res2]} { set res "Ближайшая игра: $res1 Прошедшая игра: $res2" set res [regsub -all -- {\s+} [string map {:. :} [regsub -all -- {<.*?>} [string map -nocase {</p> ". " "<br />" " " <br> " "} $res] ""]] " "] putserv "PRIVMSG $chan :$res"} {putserv "NOTICE $nick :Ошибка данных."} }
|
|
|
Все работает,спасибо большое
|
|
|
скрипт liveresult.tcl, когда ввожу на своём канале команду !фсписок, то бот выводит это:
Quote [15:19:20 27/07/2012 Friday] <Jake> !фсписок [15:19:21 27/07/2012 Friday] <@HappyBot> Текстовые трансляции (Пятница, 27 июля 2012) < Футбол < Live Result Ru [15:19:21 27/07/2012 Friday] <@HappyBot> >> Россия - Премьер-Лига [15:19:21 27/07/2012 Friday] <@HappyBot> >> Украина - Премьер-Лига [15:19:21 27/07/2012 Friday] <@HappyBot> >> Международные матчи (клубы) - клубы
то есть почему-то нет трансляций, которые можно было просмотреть командой !фстарт, во время EURO 2012 скрипт работал нормально ....
На другом канале (не мой бот) нормально выводит:
Quote [15:17:24] «Jake» !список [15:17:26] «+Paul» Текстовые трансляции (Пятница, 27 июля 2012) < Футбол < Live Result Ru [15:17:26] «+Paul» >> Россия - Премьер-Лига [15:17:26] «+Paul» [20:00] - Кубань - Мордовия [!матч 1] [15:17:26] «+Paul» >> Украина - Премьер-Лига [15:17:26] «+Paul» [20:00] - Динамо Киев - Говерла [!матч 2] [15:17:26] «+Paul» >> Международные матчи (клубы) - клубы [15:17:26] «+Paul» [16:00] - Арсенал - Манчестер Сити [!матч 3] [15:17:26] «+Paul» [22:00] - Бенфика - Реал Мадрид [!матч 4]
в чём может быть проблема ?
|
|
|
|
Vladislav 27.07.12 09:38 #201
|
В том что скрипт у тебя не обновлён. Перекачай с сайта.
|
|
|
Спасибо, и похоже перестал функционировать скрипт kino.tcl
И нельзя ли сделать в скипте liveresult.tcl, чтобы бот выводил каждую строку секунды через 2 где-то, а то он сразу все строки выводит, когда на неделю, там много строк и вылетает за флуд:
Quote [17:23:02 27/07/2012 Friday] <Jake> !фсписок неделя [17:23:03 27/07/2012 Friday] <@HappyBot> Текстовые трансляции (c 23.07.2012 по 29.07.2012) < Футбол < Live Result Ru [17:23:03 27/07/2012 Friday] <@HappyBot> >> Лига Чемпионов - Квалификация [17:23:03 27/07/2012 Friday] <@HappyBot> [24.07.2012 в 21:00] - Шериф 1:0 Улисс [!фстарт 1] [17:23:03 27/07/2012 Friday] <@HappyBot> [25.07.2012 в 22:00] - Вардар 0:0 БАТЭ [!фстарт 2] [17:23:03 27/07/2012 Friday] <@HappyBot> >> Россия - Премьер-Лига [17:23:04 27/07/2012 Friday] * @HappyBot (~bot@91.195.210.2) Quit (Excess Flood)
|
|
|
|
Vladislav 27.07.12 12:45 #203
|
Quote Как сделать чтобы бота не выбрасывало с сервера за флуд? Установить на сервисах флаг F, с этой просьбой нужно обратиться к администрации вашей сети. Также с этим флагом бот будет мгновенно отправлять сообщения в приват, не зависимо от количества строк. Или отключите скрипт system/putserv_vs_putfast.tcl
P.S. Если сервер грамотный то не будет бота выбрасывать за флуд... ищи другой сервер или отключай этот скрипт.
|
|
|
что это за ошибка ?
Quote [14:34:25] «Jake» !загрузить allprotection.tcl [14:34:26] «@HappyBot» [ERROR] allprotection.tcl (scripts->protection) 2588 строк, 85.3 КБ. [14:34:26] «@HappyBot» [ERROR] no such channel record [14:34:26] «@HappyBot» [ERROR] при выполнении [14:34:26] «@HappyBot» [ERROR] "channel get $c $ss" [14:34:26] «@HappyBot» [ERROR] (процедура "activt" строка 2) [14:34:28] «@HappyBot» [ERROR] вызванное из [14:34:28] «@HappyBot» [ERROR] "activt [string tolower $c] $ss" [14:34:29] «@HappyBot» [ERROR] Показано 6 строк, всего 23.
// да, дело было в канале, написанном русскими буквами, с заглавной
|
|
|
|
Vladislav 29.07.12 10:52 #205
|
Не знаю, связано что-то с каналами или флагами, у меня такой ошибки нет. Возможно у тебя нет русской локали на сервере и на боте есть русский канал с заглавными буквами. (только для unix)
|
|
|
Не работает скрипт синонимов:
Quote [19:09:16] «Jake» !синоним быстрый [19:09:17] «@HappyBot» Синонимы слова быстрый (найдено 4): error: table not found.
|
|
|
|
Vladislav 29.07.12 13:30 #207
|
Ошибка на сайте, когда там поправят тогда и скрипт заработает.
|
|
|
В чем разница между global и variable при использовании глобальной переменной? С global писанины меньше, а в большинстве скриптов, как я заметил, используется variable.
|
|
|
|
Vladislav 31.07.12 20:27 #209
|
variable используется в namespace eval, в других случаях global. namespace eval удобно использовать для шаблонов (меньше менять значений), больших скриптов (не путаются переменные с другими скриптами).
|
|
|
а как в викторине на Анаграмы подсказки брать ? пишу !х не выводит, или их включать где-то надо ?
|
|
|