Sistema de tradução

7
Jan/09
0

Hoje, andei falando com o Skull_BoY e ele me pediu para fazer um sistema de tradução em mIRC Scripting: tudo que fosse digitado em um certo canal em inglês, fosse traduzido para português e enviado para outro canal.

Eu fiz o sistema, apesar de estar totalmente enferrujado em relação à MS.

alias t { return $token($1, $2, 32) }
alias x { return $replace($1-,&quot;,",&gt;,>,&#39;,',&lt;,<) }
on $*:text:/(.+)/iS:#: if ($chan == $t($hget(translate, channels), 1)) { translate $strip($1-) }     

alias translator {
if $regex($1,^off$) { hfree translate channels | halt }
if !$2 || $regex($1-2,/(#\w+)/g) < 2 {
echo -ga › sintáxe: /translator #canal1 #canal2 (onde " #canal1 " é o canal de onde o texto será capturado para tradução)

if ($hget(translate, channels)) { echo -ga › canais ativos/registrados no momento: $v1 }
halt
}

hadd -m translate channels $1-2
echo -ga › ok! $1 e $2 registrados com sucesso!
}

alias translate {
set %rand $r(1,1000)
hadd -m $+(translate_,%rand) texto $1-

sockopen $+(translate_,%rand) translate.google.com 80
}

on *:sockopen:translate_*: {

var %w = sockwrite -n $sockname, %s = $+(sl=en&tl=pt&text=,$hget($sockname, texto),&btnTrTxt)

%w POST /translate_t HTTP/1.1
%w Host: translate.google.com
%w Connection: Close
%w Content-Type: application/x-www-form-urlencoded; charset="utf-8"
%w Content-Length: $calc($len(%s) + 1)
%w
%w %s
}

on *:sockread:translate_*: {
sockread %q
;echo -ga -> %q
if $regex(%q,/wrap=SOFT dir="ltr" rows=5 id=suggestion>(.+)<\/textarea>/iS) { msg  $t($hget(translate, channels), 2) tradução › $x($regml(1)) | sockclose $sockname }
}

on *:sockclose:translate_*: { hfree $sockname }

Sintáxe: /translator #canal-para-capturar #canal-para-enviar.

Tagged as: ,
Comments (0) Trackbacks (0)

No comments yet.

Leave a comment

No trackbacks yet.