on *:TEXT:!slang *:#:{ urbandic $chan $2- } alias urbandic { var %sock = $+(urbandic,$1) if ($sock(%sock)) return sockopen %sock www.urbandictionary.com 80 sockmark %sock 1 $1 $urlencode($2-) } on *:SOCKOPEN:urbandic*:{ var %a = sockwrite -n $sockname %a GET $+(/define.php?term=,$getmark($sockname,3-)) HTTP/1.1 %a Host: www.urbandictionary.com %a Connection: close %a $crlf } on *:SOCKREAD:urbandic*:{ var %temp sockread %temp if ($regex(%temp,

(.+) is undefined\.

)) $& msg $getmark($sockname,2) $+(",$regml(1),") is undefined if ($regex(%temp,
(.+))) { if ($getmark($sockname,1) <= $MAX_URBAN_SENDS) $& msg $getmark($sockname,2) No. $getmark($sockname,1) : $+($htmlfree($regml(1)),$iif(*
!iswm $regml(1),...)) sockmark $sockname $calc($getmark($sockname,1) + 1) $getmark($sockname,2-) } } alias -l getmark return $gettok($sock($1).mark,$$2,32) alias -l urlencode { var %a = 1, %b while (%a <= $len($1-)) { %b = $+(%b,$iif($mid($1-,%a,1) isalnum,$v1,$+(%,$base($asc($v1),10,16,2)))) inc %a } return %b } alias -l htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x) return %x }