on $*:text:/^[!@]define */Si:#: { if (!$2) { notice $nick Please enter a word to lookup } else { var $+(%,def.target,%ID) $iif($left($1,1) == @,msg $chan,notice $nick) var $+(%,search.,%ID) $replace($2-,$chr(32),+) sockopen $+(def.,%ID) dictionary.reference.com 80 } } on *:SOCKOPEN:def.*: { sockwrite -nt $sockname GET /search?r=2&q= $+ $eval($+(%,search.,%ID),2) HTTP/1.1 sockwrite -nt $sockname Host: dictionary.reference.com $+ $crlf $+ $crlf } on *:SOCKREAD:def.*: { var %IDt = $right($sockname,-4) if ($sockerr) { $eval($+(%,def.target,%ID),2) Socket error - Please try again later sockclose $sockname } else { var %read | sockread %read if (!$sockbr) { return } elseif (Pronunciation Key isin $htmlfree(%read)) { $eval($+(%,def.target,%ID),2) Definition: $htmlfree(%read) sockclose $sockname } elseif (No entry found for isin $htmlfree(%read)) { $eval($+(%,def.target,%ID),2) Definition: No results found unset %search. $+ $right($sockname,-4) sockclose $sockname } } } alias -l htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ) return %x }