rendered paste bodyon $*: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
}