Sistema de tradução
Jan/090
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 x { return $replace($1-,",",>,>,',',<,<) }
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.
No comments yet.
Leave a comment
No trackbacks yet.

