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