Страница 4 из 5

liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 24 июн 2010 01:02
tvrsh
Название: liveresult.tcl
Версия: 1.5
Автор: tvrsh
Описание: Скрипт транслирует в канал текстовые трансляции футбольных матчей с сайта http://liveresult.ru/ Возможен просмотр отчетов о прошедших матчах.
Поддержка Suzi: Да
Пример работы:
# Просмотр списка сегодняшних трансляций.
<tvrsh> !список
<@bionic> Текстовые трансляции (Воскресенье, 29 июля 2012) < Футбол < Live Result Ru
<@bionic> Летние Олимпийские игры 2012 :: Мужчины / Группа A
<@bionic> ! >>> 22:45 - Великобритания (олимп) 0:0 ОАЭ (олимп) [!старт 1]
<@bionic> Летние Олимпийские игры 2012 :: Мужчины / Группа C
<@bionic> 18:00 - Бразилия (олимп) 3:1 Беларусь (олимп) [!отчет 2]
<@bionic> Летние Олимпийские игры 2012 :: Мужчины / Группа D
<@bionic> ! >>> 22:45 - Испания (олимп) 0:1 Гондурас (олимп) [!старт 3]
<@bionic> Россия :: Премьер-Лига
<@bionic> 15:00 - Рубин 3:1 Алания [!отчет 4]
<@bionic> 17:30 - Спартак Москва 2:1 Волга НН [!отчет 5]
<@bionic> 20:00 - Ростов 2:2 Анжи [!отчет 6]

# Просмотр отчета о прошедшей игре.
<tvrsh> !отчет 2
<@bionic> Олимпийская сборная Бразилии вышла в четвертьфинал
<@bionic> Евро-Футбол.Ру Бразильцы добились победы, лучший игрок встречи - Оскар.   Сборная Бразилии – Сборная Беларуси – 3:1 (1:1) Голы: Брессан, 9 – 0:1, Пато, 16 – 1:1, Неймар, 65 – 2:1, Оскар, 90+2 - 3:1.   Сборная Бразилии:
<@bionic> Нето, Марсело, Рафаэль, Сильва, Жуан, Сандро (Гансо, 64), Ромуло, Оскар, Неймар, Пато (Лукас, 85), Халк (Данило, 86). В резерве остались: Алекс, Габриэл, Дамиан, Бруно.   Сборная Беларуси: Гутор, Гордейчук, Кузьменок, Политевич...

# Просмотр трансляции.
<tvrsh> !старт 9
* bionic изменил тему на: Текущая трансляция: Заря 1:3 Арсенал Киев ::
<@bionic> Дополнительное время - 45': Стартовало компенсированное время.
<@bionic> 45': Концовку тайма "Заря" проводит в атаках. Никита Каменюка пробил головой после флангового навеса, но мяч разминулся со стойкой.
<@bionic> Перерыв - -: Счёт 1:3 фиксирует рефери Андрей Кузьмин после первого тайма! Команды уже боевым шагом направляются в раздевалку. Давайте отдохнём немного и мы. Сбор на том же месте через 15 минут! Перерыв.

Ссылка на скрипт: liveresult.tcl

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 23 ноя 2010 23:53
tvrsh
analyzer писал(а):hi tvrsh!
ну как набросаешь? или подзабил?

Какую инфу брать? С главной страницы? Давай точную ссылку и пиши что брать с нее. Это уже тема для другого скрипта.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 25 ноя 2010 20:12
analyzer

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 25 дек 2010 06:12
Dmitriy427
Бот windrop 1.6.20, ошибка сокета в патилайн:
Tcl error [::liveresult::liveresult_list]: couldn't open socket: host is unreachable
Не поможете разобраться?

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 28 дек 2010 00:19
tvrsh
Dmitriy427 писал(а):Бот windrop 1.6.20, ошибка сокета в патилайн:
Tcl error [::liveresult::liveresult_list]: couldn't open socket: host is unreachable
Не поможете разобраться?

Чтобы понять в чем дело, достаточно было воспользоваться переводчиком. Хост недостяжим. Или ломался твой интернет или сайт.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 01 янв 2011 18:04
Dmitriy427
Н-да, по функционалу скрипт хорош, но на открытый канал бота с ним не повесишь пока, сыроват. Любопытный народ очень быстро добивается его недееспособности. Несколько запросов скрипту в течении короткого времени и бот наглухо зависает, без предварительных сообщений об ошибках. При запросе уже оконченной трансляции на канал вываливается нефильтрованный html код тоннами и остановить бота цивилизованными средствами неполучается, можно только забанить и дождаться окончания кодоизвержения или убить процесс. Ну и последний из замеченных багов - трансляции часто прерываются без пыли и шума и бот, и скрипт при этом работоспособности не теряют. В патилан пишет ошибку:
[16:12:26] Tcl error in script for 'timer37':
[16:12:26] can't read "comment": no such variable
Меняется только номер таймера, трансляция просто останавливается, без сообщеня об ошибке на канал. Если матч начинается поздно вечером, то после ноля по москве такая ошибка вылезет обязательно, но и без этого очень часто случается.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 01 янв 2011 18:12
tvrsh
Допилите скрипт этот. Я не фанат футбола и ждать когда начнется трансляция чтобы потестить скрипт мне совсем не интересно. Писал его во время ЧМ по футболу, трансляции были почти всегда, трудностей было меньше. Чтобы не флудили скрипт командами используйте любой из этих вариантов: Ограничение на запуск скрипта.
Если я не ошибаюсь, то по дефолту бинды были установлены только для операторов канала. Именно для того, чтобы ограничить использование команд.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 01 янв 2011 18:18
Dmitriy427
А я, к сожалению, не знаю тикля. Осваиваю только, точнее.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 25 апр 2012 22:56
wr`
перестал выводить список матчей
•(22:51:46)• <ban> !список
•(22:51:47)• <Paul> Текстовые трансляции (Среда, 25 апреля 2012) < Футбол < Live Result Ru
•(22:51:48)• <Paul> Лига Чемпионов - 1/2 финала
•(22:51:48)• <Paul> Россия - Первый дивизион
•(22:51:48)• <Paul> Италия - Серия А
•(22:51:57)• <ban> !список завтра
•(22:51:59)• <Paul> Текстовые трансляции (Четверг, 26 апреля 2012) < Футбол < Live Result Ru
•(22:51:59)• <Paul> Лига Европы - 1/2 финала

не знаете в чем проблема?

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 30 апр 2012 22:15
tvrsh
В строке
if {[regexp -nocase -- {<img src=\"http://static.liveresult.ru/images/

в ссылке замени слово static на s.
Пока смог только такую ошибку найти. Надо ждать когда начнется трансляция.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 30 апр 2012 23:36
Click
Изменение данной строчки не помогло, сами трансляции вроде бы проходят нормально, просто приходится юзать команду !список по два раза, либо !список сегодня.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 01 май 2012 21:03
tvrsh
Там какая-то фигня с этим статиком. Отдается то static, то s. Непонятно почему так. Надо менять на
s.*?
.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 01 май 2012 21:32
wr`
поменял,все работает,спасибо! ;)

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 28 июл 2012 07:42
Jake
а как сделать, чтобы список трансляций, прошедщих за последнюю неделю, бот писал не на канал а в приват юзеру ? просто строк много

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 29 июл 2012 23:10
tvrsh
Обновил скрипт. Добавил отчеты о прошедших матчах. Исправил пропадание некоторых комментариев в трансляции. Смотрите первый пост.

Добавлено спустя 4 минуты 19 секунд:
Jake, чтобы сделать это быстро надо в процедуре ::liveresult::liveresult_list в условии
if {$status == "st_min"} {
в строках, начинающихся на
putserv "PRIVMSG $liveresult(channel)
заменить $liveresult(channel) на $nick.
Тогда весь список будет отправляться в приват пользователю. А чтобы только за неделю лень пока ковырять, может чуть позже.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 30 июл 2012 10:48
Jake
Заменил, получилось, что бот название лиги пишет на канал, а сам список трансляций в приват:

на канале:
[18:36:38] «@Jake» !фсписок неделя
[18:36:40] «@HappyBot» >> Летние Олимпийские игры 2012 - Мужчины - Группа A
[18:36:40] «@HappyBot» >> Летние Олимпийские игры 2012 - Мужчины - Группа C
[18:36:41] «@HappyBot» >> Летние Олимпийские игры 2012 - Мужчины - Группа D
[18:36:43] «@HappyBot» >> Лига Чемпионов - Квалификация
[18:36:48] «@HappyBot» >> Россия - Премьер-Лига
[18:36:51] «@HappyBot» >> Россия - ФНЛ - Первый дивизион
[18:36:55] «@HappyBot» >> Лига Европы - Квалификация
[18:37:03] «@HappyBot» >> Украина - Премьер-Лига
[18:37:07] «@HappyBot» >> Шотландия - Премьер-Лига


а в приват пишет это:
[18:33:25] «HappyBot» [01.08.2012 в 22:45] - Великобритания (олимп) - Уругвай (олимп) [!фстарт 1]
[18:33:25] «HappyBot» [01.08.2012 в 17:30] - Бразилия (олимп) - Новая Зеландия (олимп) [!фстарт 2]
[18:33:26] «HappyBot» [01.08.2012 в 17:30] - Египет (олимп) - Беларусь (олимп) [!фстарт 3]
[18:33:27] «HappyBot» [01.08.2012 в 20:00] - Испания (олимп) - Марокко (олимп) [!фстарт 4]
[18:33:29] «HappyBot» [31.07.2012 в 21:00] - Динамо Киев - Фейеноорд [!фстарт 5]
[18:33:29] «HappyBot» [01.08.2012 в 20:00] - БАТЭ - Дебрецен [!фстарт 6]
[18:33:31] «HappyBot» [01.08.2012 в 21:00] - Шериф - Динамо Загреб [!фстарт 7]
[18:33:33] «HappyBot» [30.07.2012 в 19:00] - Терек - Краснодар [!фстарт 8]
[18:33:33] «HappyBot» [03.08.2012 в 19:00] - Мордовия - Ростов [!фстарт 9]
[18:33:36] «HappyBot» [04.08.2012 в 13:30] - ЦСКА М - Зенит [!фстарт 10]
[18:33:38] «HappyBot» [30.07.2012 в 17:00] - ФК Химки - Томь [!фстарт 11]


как сделать чтобы всё это в приват писалось, а не одно на канал, а другое в приват ?

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 30 июл 2012 10:53
tvrsh
Чуть выше, в условии
if {$champ != "" && $part != ""} {
также замени.

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 30 сен 2012 19:24
wr`
начал выдавать такие ошибки при запросах !старт 1,2,3
•(19:18:01)• <(Paul> [19:18:18] #ban# set errorInfo
•(19:18:01)• <(Paul> Currently: can not find channel named "sock11"
•(19:18:01)• <(Paul> Currently: while executing
•(19:18:01)• <(Paul> Currently: "eof $sock"


и

•(19:16:30)• <(Paul> [19:16:47] #ban# set errorInfo
•(19:16:30)• <(Paul> Currently: invalid command name "zlib"
•(19:16:30)• <(Paul> Currently: while executing
•(19:16:30)• <(Paul> Currently: "::http::geturl "http://www.liveresult.ru/football/txt/today/""
•(19:16:30)• <(Paul> Currently: ("default" arm line 1)
•(19:16:30)• <(Paul> Currently: invoked from within
•(19:16:30)• <(Paul> Currently: "switch -glob $text {
•(19:16:30)• <(Paul> Currently: завтра {set liveresult_tok [::http::geturl "http://www.liveresult.ru/football/txt/tomorrow/"]}
•(19:16:30)• <(Paul> Currently: вчера {set liveresul..."
•(19:16:30)• <(Paul> Currently: (procedure "::liveresult::liveresult_list" line 6)
•(19:16:30)• <(Paul> Currently: invoked from within
•(19:16:30)• <(Paul> Currently: "::liveresult::liveresult_list $_pub1 $_pub2 $_pub3 $_pub4 $_pub5"

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 04 окт 2012 10:00
tvrsh
Первая ошибка не имеет отношения к скрипту.
По второй ошибке решение тут: post678.html#p678

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 30 июн 2013 22:10
EvilHeart
12:09:37am / * <@deadly> !ñòàðò 1
erorr
<halika> »» [00:09:37] Tcl error [::liveresult::liveresult_start]: Missing host part: /football/txt/match285885_Shakhtar_Donetsk-Spartak_Moscow_live/?do=showmatch

Re: liveresult.tcl - текстовые трансляции футбольных матчей.

СообщениеДобавлено: 29 янв 2014 04:02
indjov
EvilHeart писал(а):12:09:37am / * <@deadly> !ñòàðò 1
erorr
<halika> »» [00:09:37] Tcl error [::liveresult::liveresult_start]: Missing host part: /football/txt/match285885_Shakhtar_Donetsk-Spartak_Moscow_live/?do=showmatch


I have the same problem as EvilHeart , but i use the English version of the site, and I replaced the addresses correctly.
But with the introduction of command
!старт an then gives me this error [01:33] <deadbot> [01:33:04] Tcl error [::liveresult::liveresult_start]: Missing host part: /football/matches/match314336_Galatasaray-Sanica_Boru_Elazigspor_live/?do=showmatch