All pastes #92591 Raw Edit

Unnamed

public text v1 · immutable
#92591 ·published 2006-07-19 18:08 UTC
rendered paste body
on $*:text:/^[!@.]urban/Si:#: { 
  if (!$2) notice $nick Please Supply a word
  else {
    inc %IT 1
    set $+(%,udef.target.,%IT) $iif($left($1,1) == @,msg $chan,notice $nick)
    set $+(%,udef.search.,%IT) $replace($4-,$chr(32),+)
    sockopen $+(udef.,%IT) www.urbandictionary.com 80
  }
}

on *:SOCKOPEN:udef.*: {
  sockwrite -nt $sockname GET /define.php?term= $+ $eval($+(%,udef.search.,%IT),2) HTTP/1.1
  sockwrite -nt $sockname Host: urbandictionary.com $+ $crlf $+ $crlf
}


on *:SOCKREAD:udef.*: {
  var %IT.id = $right($sockname,-5)
  if ($sockerr) {
    $eval($+(%,udef.target.,%IT),2) Socket error
    sockclose $sockname
  }
  else {
    var %read | sockread %read
    if (!$sockbr) { return }
    if ($regex(%read,/1.(.*)/)) {
      $eval($+(%,udef.target.,%IT),2) Urban Definition For " $+ $eval($+(%,udef.search.,%ID),2)) $+ ": $htmlfree($regml(1))
      sockclose $sockname
      unset [ $+(%,udef.*.,%IT) ]
    }
    elseif ($regex(%read,/<h1>(.*)</h1>/)) {
      $eval($+(%,udef.target.,%IT),2) No results found for " $+ $eval($+(%,udef.search.,%IT),2) $+ "
      sockclose $sockname
      unset [ $+(%,udef.*.,%IT) ]
    }
  }
}

alias -l htmlfree {
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;)
  return %x
}