on $*:TEXT:/^[@!]urban/Si:#:{ if ($2) { var %sname = $+(urban,.,$ticks) hadd -m %sname disp $iif($left($1,1) == !,.notice $nick,msg $chan) hadd -m %sname term $2 sockopen %sname parsers.freehostia.com 80 } } on *:SOCKOPEN:urban.*:{ sockwrite -nt $sockname GET /parsers/urban.php?term= $+ $hget($sockname,term) HTTP/1.1 sockwrite -nt $sockname HOST: parsers.freehostia.com $+ $crlf $+ $crlf } on *:SOCKREAD:urban.*:{ var %read | sockread -f %read tokenize 32 %read if ($1 == define:) { $hget($sockname,disp) [URBAN] $tcase($replace($hget($sockname,term),+,$chr(32))) $+ : $2- hadd -m $sockname results $2- } if ($1 == extra:) { var %a = 0 while ($1 == extra:) { inc %a if ($len($2-) >= 1) var %line = %line $+(%a,.) $2- sockread -f %read tokenize 32 %read } } if ($1 == END) { if (!$hget($sockname,results)) $hget($sockname,disp) [URBAN] $tcase($replace($hget($sockname,term),+,$chr(32))) $+ : no results found. hfree $sockname sockclose $sockname } } alias -l tcase { var %a = 0 while (%a < $numtok($1,32)) { inc %a | var %line = %line $upper($mid($gettok($1,%a,32),1,1)) $+ $right($gettok($1,%a,32),-1) } return %line }