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, ) return %x }