rendered paste bodyset ns "tvtome"
namespace eval $ns {
unset ::ns
variable language "english"
bind pub - !tv [namespace current]::pubshowinfo
bind msg - !tv [namespace current]::privshowinfo
proc pubshowinfo {n u h c t} {
showinfo $t $c
}
proc privshowinfo {n u h t} {
showinfo $t $n
}
proc showinfo {t where} {
variable language
if {![string length $t]} {
putserv "PRIVMSG $where :Usage: !tv <show>"
return 0
}
variable search [join [lrange [split $t] 0 e] {+}]
variable url "http://episodeworld.com/botsearch/$search/$language"
variable sock [egghttp:geturl $url [list parseinfo $where $url]]
}
proc parseinfo {target url sock} {
variable data [egghttp:data $sock]
egghttp:cleanup $sock
if {![string length $data]} {
putserv "PRIVMSG $target :Error: show not found!"
return 0
}
variable i 0
foreach line [split $data \n] {
incr i
if { $i == 1 } {
putserv "PRIVMSG $target :Show: [string trim $line <br>]"
} elseif { $i < 4 } {
putserv "PRIVMSG $target :[string trim $line <br>]"
}
}
}
}