on ^*:TEXT:*:*:{ if ($1 == !trans) { if (!$2) { msg $chan [ $+ Translator $+ ] nothing to Translate! halt } set %trans.input $replace($lower($2-),$chr(32),+) if $sock(Translator) { sockclose Translator } sockopen Translator http://dictionary.reference.com 80 set %trans.nick $nick } } on *:SOCKOPEN:Translator: { sockwrite -n Translator GET /translate/text.htmltrue&transtext= $+ $+(trans:,+,%trans.input) $+ &transtype=jive sockwrite -n Translator Host: http://dictionary.reference.com } on *:SOCKREAD:Translator: { if ($sockerr) { notice %trans.nick $cmderror Socket error translating %trans.input $+ ! sockclose Translator halt } else { var %Translator sockread %Translator var %Translator = $htmlfree(%Translator) if (trans: isin %Translator) { notice %trans.nick [ $+ Translation $+ ] $right(%Translator,-6) } } } alias htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ) return %x }