All pastes #675567 Raw Edit

Mine

public text v1 · immutable
#675567 ·published 2007-08-30 08:45 UTC
rendered paste body
alias -l MAX_URBAN_SENDS return 4

on *:TEXT:'urban *:#:{
  urbandic $nick $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>)) $&
    msg $getmark($sockname,2) $+(",$regml(1),") is undefined
  if ($regex(%temp,<p>(.+))) {
    if ($getmark($sockname,1) <= $MAX_URBAN_SENDS) $&
      msg  $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
}