on $*:text:/^[!@]define */Si:#: { if (!$2) { notice $nick Please enter a word to lookup } else { inc %ID 1 var $+(%,def.target,%ID) $iif($left($1,1) == @,msg $chan,notice $nick) var $+(%,def.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($+(%,def.search,%ID),2) HTTP/1.1 sockwrite -nt $sockname Host: dictionary.reference.com $+ $crlf $+ $crlf } on *:SOCKREAD:def.*: { var %ID = $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 %read) { $eval($+(%,def.target,%ID),2) Definition: $htmlfree(%read) sockclose $sockname } elseif (No entry found isin %read) { $eval($+(%,def.target,%ID),2) Definition: No results found sockclose $sockname } } } on *:Disconnect:{ unset %ID unset %def.* } alias -l htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ) return %x }