| View previous topic :: View next topic |
| Author |
Message |
JAFO Voice
Joined: 13 Oct 2005 Posts: 19
|
Posted: Mon Oct 17, 2005 12:27 pm Post subject: |
|
|
A friend of mine did a lil work on the script
| Code: | ###
# Parse show info from tv.com
# Enable with .chanset #channel +tvi
# [0/1] public or private reply's (public 0, private 1)
set tvreply 0
# offset to EST
# 6 hours makes sense for CET (Europe)
set tvoffset 6
if ![info exists egghttp(version)] {
putlog "egghttp.tcl was NOT successfully loaded."
}
setudef flag tvi
bind pub - !tvinfo pub:info.tv.com
proc pub:info.tv.com {nick uhost hand chan text} {
if ![channel get $chan tvi] return
if {$::tvreply} {set target $nick} {set target $chan}
if {$text==""} {putserv "PRIVMSG $target :Usage: $::lastbind <show>"; return}
set search [join [lrange [split $text] 0 e] {+}]
set d [date:offset [clock seconds] %m%d%y]
set url "http://www.tv.com/search.php?type=11&stype=program&qs=$search&search=Search/"
set sock [egghttp:geturl $url [list findrealurl:tv.com $target] -headers "Cookie: tv_promo_$d=1"]
}
proc findrealurl:tv.com {target sock} {
set data [egghttp:data $sock]
egghttp:cleanup $sock
foreach line [split $data \n] {
if [string match -noc "*returned no results*" $line] {
putserv "PRIVMSG $target :Unknown show."
return
}
if [string match -noc *www.tv.com*show*summary.html* $line] {
regexp -nocase {(http://)[^\"]+} $line url
set d [date:offset [clock seconds] %m%d%y]
set s [egghttp:geturl $url [list parseinfo:tv.com $target $url] -headers "Cookie: tv_promo_$d=1"]
return
}
}
}
proc parseinfo:tv.com {target url sock} {
set data [egghttp:data $sock]
egghttp:cleanup $sock
set data [string map {"\n" "" "</div>" "</div>\n" "<br />" "<br />\n"} $data]
set dV 0
foreach line [split $data \n] {
if [regexp {<title>(.*).TV Show} $line . show] {
putserv "PRIVMSG $target :Show: $show"
}
if [string match -nocase "*Airs:*" $line] {
regsub -all {<(.|\n)*?>} $line {} airs
putserv "PRIVMSG $target :[concat [join $airs]]"
}
if [string match -nocase "*Status:*" $line] {
regsub -all {<(.|\n)*?>} $line {} status
putserv "PRIVMSG $target :[concat [join $status]]"
}
if [string match -nocase "*Premiered*" $line] {
regsub -all {<(.|\n)*?>} $line {} premiered
putserv "PRIVMSG $target :[concat [join $premiered]]"
}
if [string match -nocase "*Show Category:*" $line] {
regsub -all {<(.|\n)*?>} $line {} category
putserv "PRIVMSG $target :[concat [join $category]]"
}
if [string match -nocase "*, 200*" $line] {
regsub -all {<(.|\n)*?>} $line {} Dates
if ![string match -nocase "*Premiered*" $line] {
if {$dV == 0} {
putserv "PRIVMSG $target :Next Air Date: [concat [join $Dates]]"
} else {
putserv "PRIVMSG $target :Last Air Date: [concat [join $Dates]]"
}
incr dV
}
}
}
putserv "PRIVMSG $target :URL: $url"
}
proc date:offset {epox arg} {
set t [expr $epox-((60*60)*$::tvoffset)]
set w [clock format $t -format $arg]
return $w
}
|
.chanset changed also from +tv >>> +tvi ( coz i allready used +tv in tv.com.tcl v0.2 by greenbear )
Might contain unlogical data , but it works
| Code: |
<~me> !tvinfo 24
<@MyBot> Show: 24
<@MyBot> Airs: Monday 9:00 PM on FOX (60 mins)
<@MyBot> Status: Returning Series
<@MyBot> Premiered November 6, 2001
<@MyBot> Show Category: Action/Adventure , Drama
<@MyBot> Next Air Date: Sunday January 15, 2006
<@MyBot> Last Air Date: Monday May 23, 2005
<@MyBot> URL: http://www.tv.com/24/show/3866/summary.html?q=24 |
Njoy  |
|
| Back to top |
|
 |
InsideTheBox Voice
Joined: 17 Oct 2005 Posts: 1
|
Posted: Mon Oct 17, 2005 5:58 pm Post subject: |
|
|
<luciverse> !tvinfo The Ultimate Fighter
Tcl error [pub.tvinfo.com]: unknown channel command: should be one of: add, set, info, remove
 |
|
| Back to top |
|
 |
Taz Voice
Joined: 23 Oct 2005 Posts: 9
|
Posted: Sun Oct 23, 2005 10:22 pm Post subject: Thanx |
|
|
| Thanx to you and your friend JAFO. This is exactly what a lot of us wanted. |
|
| Back to top |
|
 |
pEeDy Voice
Joined: 01 Nov 2005 Posts: 2
|
Posted: Tue Nov 01, 2005 7:52 pm Post subject: |
|
|
Where do I type this '.chanset #channel +tvi' ?? I tried in a query, a private message and in channel... DCC chat doesn't work... help me please?
Edit; got it
For other noobs:
You have to put it in your telnet window
And you have to load egghttp.tcl too, before you load this tcl script. |
|
| Back to top |
|
 |
outthere Voice
Joined: 26 Nov 2005 Posts: 33
|
Posted: Sat Nov 26, 2005 7:36 pm Post subject: error |
|
|
wow.. i have been looking for something like this... thx
i am getting an error though when i do !tvinfo ep
Tcl error [pub:info.tv.com]: invalid command name "Â "
i checked egghttp and tvi tcl and cant find that text anywhere..
i think it might be a simple problem a noob like me doesnt know anything about.. any help would be greatly appreciated...
thx  |
|
| Back to top |
|
 |
FriedCPU Voice
Joined: 03 Dec 2005 Posts: 1
|
Posted: Sat Dec 03, 2005 12:14 am Post subject: Some changes |
|
|
Hey
I like the script, very nice
I made a few changes.
1) the way the adjusted script posted above grabs the next/prev date information, it done it by match 200*, meaning shows only in the year 2000+
2) for shows that have ended, it now says "first aired, last aired" instead of "next, last" which makes more sense.
note: i changed it back to +tv not +tvi, sorry if this is a problem for some people
| Code: |
###
# Parse show info from tv.com
# Enable with .chanset #channel +tv
# [0/1] public or private reply's (public 0, private 1)
set tvreply 0
# offset to EST
# 6 hours makes sense for CET (Europe)
set tvoffset 6
if ![info exists egghttp(version)] {
putlog "egghttp.tcl was NOT successfully loaded."
}
setudef flag tv
bind pub - !tvinfo pub:info.tv.com
proc pub:info.tv.com {nick uhost hand chan text} {
if ![channel get $chan tv] return
if {$::tvreply} {set target $nick} {set target $chan}
if {$text==""} {putserv "PRIVMSG $target :Usage: $::lastbind <show>"; return}
set search [join [lrange [split $text] 0 e] {+}]
set d [date:offset [clock seconds] %m%d%y]
set url "http://www.tv.com/search.php?type=11&stype=program&qs=$search&search=Search/"
set sock [egghttp:geturl $url [list findrealurl:tv.com $target] -headers "Cookie: tv_promo_$d=1"]
}
proc findrealurl:tv.com {target sock} {
set data [egghttp:data $sock]
egghttp:cleanup $sock
foreach line [split $data \n] {
if [string match -noc "*returned no results*" $line] {
putserv "PRIVMSG $target :Unknown show."
return
}
if [string match -noc *www.tv.com*show*summary.html* $line] {
regexp -nocase {(http://)[^\"]+} $line url
set d [date:offset [clock seconds] %m%d%y]
set s [egghttp:geturl $url [list parseinfo:tv.com $target $url] -headers "Cookie: tv_promo_$d=1"]
return
}
}
}
proc parseinfo:tv.com {target url sock} {
set data [egghttp:data $sock]
egghttp:cleanup $sock
set data [string map {"\n" "" "</div>" "</div>\n" "<br />" "<br />\n"} $data]
set dV 0
set ended "0"
foreach line [split $data \n] {
if [regexp {<title>(.*).TV Show} $line . show] {
putserv "PRIVMSG $target :Show: $show"
}
if [string match -nocase "*Airs:*" $line] {
regsub -all {<(.|\n)*?>} $line {} airs
putserv "PRIVMSG $target :[concat [join $airs]]"
}
if [string match -nocase "*Status:*" $line] {
regsub -all {<(.|\n)*?>} $line {} status
if {[concat [join $status]] == "Status: Ended"} { set ended "1" }
putserv "PRIVMSG $target :[concat [join $status]]"
}
if [string match -nocase "*Premiered*" $line] {
regsub -all {<(.|\n)*?>} $line {} premiered
putserv "PRIVMSG $target :[concat [join $premiered]]"
}
if [string match -nocase "*Show Category:*" $line] {
regsub -all {<(.|\n)*?>} $line {} category
putserv "PRIVMSG $target :[concat [join $category]]"
}
if [string match -nocase "*f-bold f-medium f-red mb-5*" $line] {
regsub -all {<(.|\n)*?>} $line {} Dates
if ![string match -nocase "*Premiered*" $line] {
if {$dV == 0} {
if {$ended == "1"} {
putserv "PRIVMSG $target :First Air Date: [concat [join $Dates]]"
} else {
putserv "PRIVMSG $target :Next Air Date: [concat [join $Dates]]"
}
} else {
putserv "PRIVMSG $target :Last Air Date: [concat [join $Dates]]"
}
incr dV
}
}
}
putserv "PRIVMSG $target :URL: $url"
}
proc date:offset {epox arg} {
set t [expr $epox-((60*60)*$::tvoffset)]
set w [clock format $t -format $arg]
return $w
}
|
|
|
| Back to top |
|
 |
JAFO Voice
Joined: 13 Oct 2005 Posts: 19
|
Posted: Wed Feb 15, 2006 5:38 am Post subject: |
|
|
thx for updating  |
|
| Back to top |
|
 |
semaja2 Voice
Joined: 18 Mar 2006 Posts: 1
|
Posted: Sat Mar 18, 2006 10:40 pm Post subject: |
|
|
hey im trying to get this script to work but when i try to do !tv stargate it doesnt say anything, any ideas?
UPDATE: i now get this error in the windrop logs unexpected integer but got "1142703097.0" |
|
| Back to top |
|
 |
hpostiga Voice
Joined: 29 Dec 2005 Posts: 3
|
|
| Back to top |
|
 |
Bman Voice
Joined: 04 Apr 2006 Posts: 9
|
|
| Back to top |
|
 |
silver Voice
Joined: 18 Apr 2006 Posts: 8
|
Posted: Tue Apr 18, 2006 11:17 pm Post subject: |
|
|
jup, tv.com changed layout/scripts again :s
i started on modding it to work again but blah.. too lazy :>
here's how far i was
change
set url "http://www.tv.com/search.php?type=11&stype=program&qs=$search&search=Search/"
to
set url "http://www.tv.com/search.php?type=11&stype=program&qs=$search"
change
if [string match -noc *www.tv.com*show*summary.html* $line] {
to
if [string match -noc *www.tv.com*\/show\/*summary.html* $line] {
(cuz there's multiple http://www.tv.com/shows/blabla/summarty.html links in the html now)
change
if [regexp {<title>(.*).TV Show} $line . show] {
to
if [regexp {<title>(.*).TV Show - } $line . show] {
etc,etc
its a bit harder to parse now... also it seems like there's some flood protection now as search.php sometimes returns empty page, could be wrong tho
maybe someone else wants to finish?  |
|
| Back to top |
|
 |
skipyy Voice
Joined: 22 Apr 2006 Posts: 3
|
Posted: Sat Apr 22, 2006 12:58 pm Post subject: |
|
|
can some1 please finish this script? :X
only the next episode and last episode are important |
|
| Back to top |
|
 |
JAFO Voice
Joined: 13 Oct 2005 Posts: 19
|
|
| Back to top |
|
 |
Sparky66 Voice
Joined: 12 Jun 2006 Posts: 4
|
Posted: Mon Jun 12, 2006 9:37 am Post subject: Can anyone get this to work please |
|
|
Looking for this script to be fixed if anyone can help
| Quote: | ##
# Parse show info from tv.com
# Enable with .chanset #channel +tv
# [0/1] public or private reply's (public 0, private 1)
set tvreply 0
# offset to EST
# 6 hours makes sense for CET (Europe)
set tvoffset 6
if ![info exists egghttp(version)] {
putlog "egghttp.tcl was NOT successfully loaded."
}
setudef flag tv
bind pub - !tvinfo pub:info.tv.com
proc pub:info.tv.com {nick uhost hand chan text} {
if ![channel get $chan tv] return
if {$::tvreply} {set target $nick} {set target $chan}
if {$text==""} {putserv "PRIVMSG $target :Usage: $::lastbind <show>"; return}
set search [join [lrange [split $text] 0 e] {+}]
set d [date:offset [clock seconds] %m%d%y]
set url "http://www.tv.com/search.php?type=11&stype=program&qs=$search"
set sock [egghttp:geturl $url [list findrealurl:tv.com $target] -headers "Cookie: tv_promo_$d=1"]
}
proc findrealurl:tv.com {target sock} {
set data [egghttp:data $sock]
egghttp:cleanup $sock
foreach line [split $data \n] {
if [string match -noc "*returned no results*" $line] {
putserv "PRIVMSG $target :Unknown show."
return
}
if [string match -noc *www.tv.com*\/show\/*summary.html* $line] {
regexp -nocase {(http://)[^\"]+} $line url
set d [date:offset [clock seconds] %m%d%y]
set s [egghttp:geturl $url [list parseinfo:tv.com $target $url] -headers "Cookie: tv_promo_$d=1"]
return
}
}
}
proc parseinfo:tv.com {target url sock} {
set data [egghttp:data $sock]
egghttp:cleanup $sock
set data [string map {"\n" "" "</div>" "</div>\n" "<br />" "<br />\n"} $data]
set dV 0
set ended "0"
foreach line [split $data \n] {
if [regexp {<title>(.*).TV Show - } $line . show] {
putserv "PRIVMSG $target :Show: $show"
}
if [string match -nocase "*Airs:*" $line] {
regsub -all {<(.|\n)*?>} $line {} airs
putserv "PRIVMSG $target :[concat [join $airs]]"
}
if [string match -nocase "*Status:*" $line] {
regsub -all {<(.|\n)*?>} $line {} status
if {[concat [join $status]] == "Status: Ended"} { set ended "1" }
putserv "PRIVMSG $target :[concat [join $status]]"
}
if [string match -nocase "*Premiered*" $line] {
regsub -all {<(.|\n)*?>} $line {} premiered
putserv "PRIVMSG $target :[concat [join $premiered]]"
}
if [string match -nocase "*Show Category:*" $line] {
regsub -all {<(.|\n)*?>} $line {} category
putserv "PRIVMSG $target :[concat [join $category]]"
}
if [string match -nocase "*f-bold f-medium f-red mb-5*" $line] {
regsub -all {<(.|\n)*?>} $line {} Dates
if ![string match -nocase "*Premiered*" $line] {
if {$dV == 0} {
if {$ended == "1"} {
putserv "PRIVMSG $target :First Air Date: [concat [join $Dates]]"
} else {
putserv "PRIVMSG $target :Next Air Date: [concat [join $Dates]]"
}
} else {
putserv "PRIVMSG $target :Last Air Date: [concat [join $Dates]]"
}
incr dV
}
}
}
putserv "PRIVMSG $target :URL: $url"
}
proc date:offset {epox arg} {
set t [expr $epox-((60*60)*$::tvoffset)]
set w [clock format $t -format $arg]
return $w
} |
this is what its saying
| Quote: | [2:29pm] <+didibot> Show: Lost
[2:29pm] <+didibot> Airs Next: ABC at Wednesday 8:00 PM (60 min.) Status: Returning Series
Premiered: September 22, 2004
[2:29pm] <+didibot> Airs Next: ABC at Wednesday 8:00 PM (60 min.) Status: Returning Series
Premiered: September 22, 2004
[2:29pm] <+didibot> URL: http://www.tv.com/lost/show/24313/summary.html?q=lost&tag=search_results;imag
e;0 |
|
|
| Back to top |
|
 |
|