All pastes #258599 Raw Edit

Unnamed

public text v1 · immutable
#258599 ·published 2006-11-26 17:53 UTC
rendered paste body
on $*:TEXT:/^[@!]lookup|define/Si:#:{
  set %dict.dest $iif($left($1,1) == @,msg $chan,notice $nick)
  if (!$2) { %dict.dest Sorry, you didn't specify a word to look up. | unset %dict.dest | halt } 
  set %dict.term $2
  sockopen dictionary dictionary.reference.com 80
}
on *:SOCKOPEN:dictionary:{ 
  sockwrite -n $sockname GET /search?q= $+ %dict.term  HTTP/1.1
  sockwrite -n $sockname Host: dictionary.reference.com $+ $crlf $+ $crlf
} 
on *:SOCKREAD:dictionary:{ 
  if ($sockerr) { %dict.dest $sockerror | sockclose $sockname }    
  var %result | sockread -f %result
  set %dict.result $remove($htmlfree(%result),$chr(9))
  if ((%dict.looking == on) && (%dict.term == $remove($htmlfree(%dict.result),$chr(9)))) {
    sockread -f %dict.result
    %dict.dest %dict.term $+ : $remove($htmlfree(%dict.result),n*:)
    sockclose $sockname
  }
  if (*results for:* iswm %dict.result) { set %dict.looking on }
}
alias htmlfree { 
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) 
  return %x 
}