All pastes #292762 Raw Edit

Mine

public text v1 · immutable
#292762 ·published 2006-12-26 22:23 UTC
rendered paste body
on $*:TEXT:/^[!@]Translate/Si:#: {
  if ($sock(Translate)) { .sockclose Translate }
  if ($2 != $chr(49)) && ($2 != $chr(50)) { $iif($left($1,1) == @,msg $chan,.notice $nick) 10You did not specify a language. 041 10for Dutch-English, 042 10for English-Dutch. (04!Translate 110/042 Text10) | halt }
  if (!$3) { $iif($left($1,1) == @,msg $chan,.notice $nick) 10Invalid command. Use: 04!Translate 110/042 Text 10- Choose 041 10for Dutch-English, 042 for English-Dutch. | halt }
  set %Tr.Lan $iif($2 == $chr(49),nl_en,en_nl)
  set %Tr.O $chr(3) $+ $chr(48) $+ $chr(52) $+ $chr(91) $+ $chr(3) $+ $chr(49) $+ $chr(48) $+ $chr(66) $+ $chr(111) $+ $chr(117) $+ $chr(110) $+ $chr(99) $+ $chr(101) $+ $chr(3) $+ $chr(48) $+ $chr(52) $+ $chr(93)
  set %Tr.Chan $iif($left($1,1) == @,msg $chan,.notice $nick)
  set %Tr.nick $nick
  set %Tr.Temp $3-
  sockopen Translate www.babelfish.altavista.com 80
}
on *:SOCKOPEN:Translate: {
  sockwrite -nt $sockname GET /tr?lp= $+ %Tr.Lan $+ &trtext= [ $+ [ $replace(%Tr.Temp,$chr(32),%20,$chr(44),%20) ] ] HTTP/1.1
  sockwrite -nt $sockname Host: www.babelfish.altavista.com $+ $crlf $+ $crlf
}
on *:SOCKREAD:Translate: {
  if ($sockerr) {
    %Tr.chan 10Error. Please inform %Tr.O 10of this bug.
    halt
  }
  else {
    var %sockreader
    sockread %sockreader
    if (*Yahoo! - 400 Bad Request* iswm %sockreader ) {
      msg %Tr.Chan 10Error. Please try again. %Tr.O
      sockclose Translate
    }
    if (*</div></td>* iswm %sockreader && %Tr.Goon == on) {
      %Tr.Chan 04Translation:10 %Tr.Incomplete $remove(%sockreader,</div></td>) %Tr.O
      unset %Tr.*
      sockclose Translate
    }
    if (*<td bgcolor=white class=s><div style=padding:10px;>* iswm %sockreader && *</div></td>* !iswm %sockreader ) {
      set %Tr.Incomplete $remove(%sockreader,<td bgcolor=white class=s><div style=padding:10px;>,$chr(9),</div></td>)
      set %Tr.Goon on
    }
    if (*<td bgcolor=white class=s><div style=padding:10px;>* iswm %sockreader && *</div></td>* iswm %sockreader ) {
      %Tr.Chan 04Translation:10 $remove(%sockreader,<td bgcolor=white class=s><div style=padding:10px;>,$chr(9),</div></td>) %Tr.O
      unset %Tr.*
      sockclose Translate
    }
  }
}