on *: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 }