alias c1 return $+($chr(3),12,$1) alias c2 return $+($chr(3),04,$1) on $*:TEXT:/^[@!]([^_]+)_([^ ]+) (.+)$/:#:{ if ($me == stupidbot) noop elseif (%dchan [ $+ [ $chan ] ] == yes) { halt } var %to = $regml(2), %from = $regml(1), %text = $regml(3) var %from = $lang(%from), %to = $lang(%to) if (*NoExist* !iswm $+(%from,~,%to)) { var %sn = $+(trans.,$ticks), %h = hadd -m %sn %h disp $iif($left($1,1) == @,msg $chan,notice $nick) %h from %from %h to %to %h text %text sockopen %sn www.tranexp.com 2000 } } on *:SOCKOPEN:trans.*:{ var %r = sockwrite -nt $sockname %r GET $+(/InterTran?type=text&from=,$hget($sockname,from),&to=,$hget($sockname,to),&text=,$hget($sockname,text)) HTTP/1.1 %r Host: www.tranexp.com $+ $crlf $+ $crlf } on *:SOCKREAD:trans.*:{ var %s | sockread %s if ($regex(%s,/name="translation" >(.*?)<\/textarea>/i)) { var %a = $regml(1) $hget($sockname,disp) $c1(Translator Translating:) $c2($hget($sockname,text)) $hget($sockname,disp) $c1(From:) $c2($bw($hget($sockname,from))) $c1(To:) $c2($bw($hget($sockname,to))) $hget($sockname,disp) $c1(Result:) $c2(%a) hfree $sockname sockclose $sockname halt } } alias -l bw { if ($1 == eng) return English if ($1 == poe) return Portugese if ($1 == bul) return Bulgarian if ($1 == cro) return Croatian if ($1 == che) return Czech if ($1 == dan) return Danish if ($1 == dut) return Dutch if ($1 == fin) return Finnish if ($1 == fre) return French if ($1 == ger) return German if ($1 == grk) return Greek if ($1 == spa) return Spanish if ($1 == hun) return Hungarian if ($1 == ice) return Icelandic if ($1 == ita) return Italian if ($1 == nor) return Norwegian if ($1 == tag) return Filipino/Tagalog if ($1 == pol) return Polish if ($1 == rom) return Romanian if ($1 == rus) return Russian if ($1 == sel) return Serbian if ($1 == slo) return Slovenian if ($1 == swe) return Swedish if ($1 == tur) return Turkish if ($1 == ltt) return Latin } alias -l lang { if ($regex($1,/^en(?:g|glish)?$/i)) return eng if ($regex($1,/^port(?:ugal|ugese)?$/i)) return poe if ($regex($1,/^cro(?:ation)?$/i)) return cro if ($regex($1,/^dan(?:ish)?$/i)) retun dan if ($regex($1,/^dut(?:ch)?$/i)) return dut if ($regex($1,/^fin(?:land|nish|ny?)?$/i)) return fin if ($regex($1,/^french$/i)) return fre if ($regex($1,/^german$/i)) return ger if ($regex($1,/^gr(?:e[ea])?k$/i)) return grk if ($regex($1,/^spa(?:n(?:ish)?)?$/i)) return spa if ($regex($1,/^hun(?:garian)?$/i)) return hun if ($regex($1,/^ita(?:lian|ly)?$/i)) return ita if ($regex($1,/^nor(?:w(?:ay|egian))?$/i)) return nor=>Norwegian if ($regex($1,/^(?:tagalog|(?:ph|f)ilip(?:ines?|ino))$/i)) return tag if ($regex($1,/^polish$/i)) return pol if ($regex($1,/^russian$/i)) return rus if ($regex($1,/^swee?d(?:[iae]n|ish)?$/i)) return swe if ($regex($1,/^turk(?:ish)?$/i)) return tur if ($regex($1,/^latin$/i)) return ltt return NoExist }