Регистрация | Вход
[ Главная · Новые сообщения ]
Форум » Основной раздел » Мастерская » Вопросы по скриптам
Вопросы по скриптам
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).
ban 20.07.12 17:03 #197
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 :Ошибка данных."}
}
ban 20.07.12 18:01 #199
Все работает,спасибо большое :)
Jake 27.07.12 09:29 #200
скрипт 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
В том что скрипт у тебя не обновлён. Перекачай с сайта.
Jake 27.07.12 10:22 #202
Спасибо, и похоже перестал функционировать скрипт 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. Если сервер грамотный то не будет бота выбрасывать за флуд... ищи другой сервер или отключай этот скрипт.
Jake 29.07.12 08:36 #204
что это за ошибка ?

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)
Jake 29.07.12 13:12 #206
Не работает скрипт синонимов:

Quote
[19:09:16] «Jake» !синоним быстрый
[19:09:17] «@HappyBot» Синонимы слова быстрый (найдено 4): error: table not found.
Vladislav 29.07.12 13:30 #207
Ошибка на сайте, когда там поправят тогда и скрипт заработает.
zxcv 31.07.12 20:11 #208
В чем разница между global и variable при использовании глобальной переменной? С global писанины меньше, а в большинстве скриптов, как я заметил, используется variable.
Vladislav 31.07.12 20:27 #209
variable используется в namespace eval, в других случаях global. namespace eval удобно использовать для шаблонов (меньше менять значений), больших скриптов (не путаются переменные с другими скриптами).
Jake 04.08.12 11:51 #210
а как в викторине на Анаграмы подсказки брать ? пишу !х не выводит, или их включать где-то надо ?
Форум » Основной раздел » Мастерская » Вопросы по скриптам
Поиск: