set moviever "0.01b"
# Use: .movies help - Show brief help.
# .movies now - Now playing.
# .movies week - Opening this week.
# .movies soon - Coming soon.
#
#
set moviechans "#sith"
set moviequiet "#sith"
set movietimeout "30000"
package require http
bind pub - .movies proc:movies
bind msg - .movies proc:msgmovies
proc proc:msgmovies {nick uhost hand text} {
if {![onchan $nick]} {return}
proc:movies $nick $uhost $hand privmsg $text
return
}
proc proc:movies {nick uhost hand chan text} {
set command [lindex [split $text] 0]
if {([lsearch -exact $::moviechans $chan] == -1) && ($chan != "privmsg")} {return}
if {([lsearch -exact $::moviequiet $chan] != -1) || ($chan == "privmsg")} {set chan $nick}
set regexm "";set moviehead "";set moviedata "";set movienames ""
if {$command == "" || $command == "now"} {
set regexm {
Now Playing
.*?}
set moviehead "Movies Now Playing"
} elseif {$command == "week"} {
set regexm {Opening This Week
.*?}
set moviehead "Movies Opening This Week"
} elseif {$command == "soon"} {
set regexm {Coming Soon
.*?}
set moviehead "Movies Coming Soon"
} else {
puthelp "PRIVMSG $nick :Usage: \002.movies now\002 | \002.movies week\002 | \002.movies soon\002 to show movies now playing, opening this week or coming soon."
return
}
set movieurl "http://www.filmspot.com"
catch {set page [::http::geturl $movieurl -timeout $::movietimeout]} error
if {[string match -nocase "*couldn't open socket*" $error]} {
puthelp "PRIVMSG $chan :Error: couldn't connect to filmspot.com..Try again later."
return
}
if { [::http::status $page] == "timeout" } {
puthelp "PRIVMSG $chan :Error: Connection to filmspot.com timed out..Try again later."
return
}
set html [::http::data $page]
::http::cleanup $page
if {[regexp $regexm $html match moviedata]} {
regsub -all {} $moviedata {} moviedata
regsub -all {} $moviedata {} moviedata
set movienames [regexp -all -inline {(.*?)} $moviedata]
regsub -all {.*?} $movienames {} movienames
puthelp "PRIVMSG $chan :\0038$moviehead\:\003"
set m 0
foreach name $movienames {
if {$name != ""} {
incr m
puthelp "PRIVMSG $chan :\00311$m)\003\00310 $name\003"
}
}
puthelp "PRIVMSG $chan :\00314\[End of $moviehead\]\003"
} else {
puthelp "PRIVMSG $nick :No movie data found."
}
}