----- validate.tcl ----- set valtrig "!validate" set valtrig2 "!v" bind pub - $valtrig pub_validate bind pub - $valtrig2 pub_validate proc pub_validate {nick uhost hand chan arg} { if {[llength $arg]==0} { putserv "privmsg $nick :Usage: !validate " } elseif { [llength $arg] > 2 } { putserv "privmsg $nick :Usage: !validate " } else { set url $arg if {[string range $arg 0 3] != "www."} { if {[string range $arg 0 6] != "http://"} { putserv "privmsg $chan :$nick: valid url's must begin with either http:// or www." return } } set results [split [exec "/home/tballard/eggdrop/scripts/validate.rb" $url] "\n"] if {[llength $results] == 0} { set rnd [rand 4] switch $rnd { 0 { putserv "privmsg $chan :$nick: aye holmes, i aint got nothin for $url. please check the url." return } 1 { putserv "privmsg $chan :$nick: hey bitch, check your damn url and then get back to me eh?" return } 2 { putserv "privmsg $chan :$nick: well aint this about a bitch. i got nuttin'. check your url." return } 3 { putserv "privmsg $chan :$nick: failed to fetch any information for $url, please verify that it is valid." return } 4 { putserv "privmsg $chan :$nick: well douche me with dishwater, aint this a turd in the punch bowl... $url returned nothing." return } default { putserv "privmsg $chan :$nick: No results for $url." return } } } foreach line $results { regsub -all "" $line {} line regsub -all "<\/strong>" $line {} line if {[lsearch -exact [string tolower $line] "not"]!=-1} { set errCnt [exec "/home/tballard/eggdrop/scripts/validate_error.rb" $url] set cgiEsc [exec "/home/tballard/eggdrop/scripts/cgi_escape.rb" $url] append line " \(\002$errCnt errors\002\) - http://validator.w3.org/check?uri=$cgiEsc" } putserv "privmsg $chan :Result for $url: $line" } } } putlog "VALIDATE DOT TCL LOADED. -ansimation" --- validate.rb --- #!/usr/bin/ruby require 'open-uri' require 'cgi' urll = CGI::escape(ARGV[0]) open( "http://validator.w3.org/check?uri=#{ urll }" ) { |html| text = html.read text.scan /(.+?)<\/h2>/m do |url| puts url end } --- validate_error.rb --- #!/usr/bin/ruby require 'open-uri' require 'cgi' url = CGI::escape(ARGV[0]) open( "http://validator.w3.org/check?uri=#{ url }" ) { |html| text = html.read text.scan /Failed validation, (\d+) error[s]?/m do |url| puts url end }