All pastes #434171 Raw Edit

Stuff

public text v1 · immutable
·published 2007-04-11 08:21 UTC
rendered paste body
alias -l MAX_URBAN_SENDS return 2 
on *:TEXT:!urban*:#:{        
  urbandic $nick notice $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,<h1><b>(.+)</b> is undefined\.</h1>)) $& 
    notice $getmark($sockname,2) $+(",$regml(1),") is undefined 
  if ($regex(%temp,<p>(.+))) { 
    if ($getmark($sockname,1) <= $MAX_URBAN_SENDS) $& 
      notice $getmark($sockname,2) No. $getmark($sockname,1) : $+($htmlfree($regml(1)),$iif(*</p> !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 = $regsubex($$1,/([^\w\s])/Sg,$+(%,$base($asc(\t),10,16,2))) 
  return $replace(%a,$chr(32),$chr(43)) 
} 
alias -l htmlfree { 
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&,$chr(9)) 
  return %x 
}