egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Tv.com tv show info grabber?
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases
View previous topic :: View next topic  
Author Message
JAFO
Voice


Joined: 13 Oct 2005
Posts: 19

PostPosted: Mon Oct 17, 2005 12:27 pm    Post subject: Reply with quote

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 Smile


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 Very Happy
Back to top
View user's profile Send private message
InsideTheBox
Voice


Joined: 17 Oct 2005
Posts: 1

PostPosted: Mon Oct 17, 2005 5:58 pm    Post subject: Reply with quote

<luciverse> !tvinfo The Ultimate Fighter

Tcl error [pub.tvinfo.com]: unknown channel command: should be one of: add, set, info, remove

Crying or Very sad
Back to top
View user's profile Send private message
Taz
Voice


Joined: 23 Oct 2005
Posts: 9

PostPosted: Sun Oct 23, 2005 10:22 pm    Post subject: Thanx Reply with quote

Thanx to you and your friend JAFO. This is exactly what a lot of us wanted.
Back to top
View user's profile Send private message
pEeDy
Voice


Joined: 01 Nov 2005
Posts: 2

PostPosted: Tue Nov 01, 2005 7:52 pm    Post subject: Reply with quote

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? Sad

Edit; got it Very Happy
For other noobs:
You have to put it in your telnet window Smile
And you have to load egghttp.tcl too, before you load this tcl script.
Back to top
View user's profile Send private message
outthere
Voice


Joined: 26 Nov 2005
Posts: 33

PostPosted: Sat Nov 26, 2005 7:36 pm    Post subject: error Reply with quote

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 Confused
Back to top
View user's profile Send private message
FriedCPU
Voice


Joined: 03 Dec 2005
Posts: 1

PostPosted: Sat Dec 03, 2005 12:14 am    Post subject: Some changes Reply with quote

Hey
I like the script, very nice Smile
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
View user's profile Send private message
JAFO
Voice


Joined: 13 Oct 2005
Posts: 19

PostPosted: Wed Feb 15, 2006 5:38 am    Post subject: Reply with quote

thx for updating Smile
Back to top
View user's profile Send private message
semaja2
Voice


Joined: 18 Mar 2006
Posts: 1

PostPosted: Sat Mar 18, 2006 10:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
hpostiga
Voice


Joined: 29 Dec 2005
Posts: 3

PostPosted: Mon Apr 17, 2006 8:02 pm    Post subject: Reply with quote

the script don't work now :s

[00:53:05] <@H_P0STiGa> !tvinfo the o.c
[00:53:30] <@Up2yoU-Team> URL: http://www.tv.com/talk-show/genre/13/summary.html
Back to top
View user's profile Send private message
Bman
Voice


Joined: 04 Apr 2006
Posts: 9

PostPosted: Tue Apr 18, 2006 7:49 pm    Post subject: Reply with quote

[06:42:38PM] <@|Bman|> !tvinfo 24
[06:42:43PM] -CIA- URL: http://www.tv.com/talk-show/genre/13/summary.html

yeah i get the same errors
Back to top
View user's profile Send private message
silver
Voice


Joined: 18 Apr 2006
Posts: 8

PostPosted: Tue Apr 18, 2006 11:17 pm    Post subject: Reply with quote

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 Wink

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 Smile

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? Very Happy
Back to top
View user's profile Send private message
skipyy
Voice


Joined: 22 Apr 2006
Posts: 3

PostPosted: Sat Apr 22, 2006 12:58 pm    Post subject: Reply with quote

can some1 please finish this script? :X
only the next episode and last episode are important
Back to top
View user's profile Send private message
JAFO
Voice


Joined: 13 Oct 2005
Posts: 19

PostPosted: Sun May 14, 2006 5:44 am    Post subject: Reply with quote

try the tvrage version. Should be around here somewhere Wink

http://forum.egghelp.org/viewtopic.php?t=11208

there it is ,
Back to top
View user's profile Send private message
Sparky66
Voice


Joined: 12 Jun 2006
Posts: 4

PostPosted: Mon Jun 12, 2006 9:37 am    Post subject: Can anyone get this to work please Reply with quote

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 &nbsp;&nbsp;
Premiered: September 22, 2004
[2:29pm] <+didibot> Airs Next: ABC at Wednesday 8:00 PM (60 min.) Status: Returning Series &nbsp;&nbsp;
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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases All times are GMT - 4 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber