From 358d2c0b8d67e58938cdaf787e63aba5ab1ac0b8 Mon Sep 17 00:00:00 2001 From: Tiago Danin Date: Sat, 13 Feb 2016 16:37:59 -0300 Subject: [PATCH] Migrating to yandex (translate) --- config.lua | 1 + plugins/translate.lua | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/config.lua b/config.lua index 14d116c..12a0249 100755 --- a/config.lua +++ b/config.lua @@ -7,6 +7,7 @@ return { biblia_api_key = '', thecatapi_key = '', nasa_api_key = '', + yandex_key = '', simsimi_key = '', simsimi_trial = true, time_offset = 0, diff --git a/plugins/translate.lua b/plugins/translate.lua index 7da05b7..f82d1fa 100755 --- a/plugins/translate.lua +++ b/plugins/translate.lua @@ -19,16 +19,22 @@ local action = function(msg) return end end - - local url = 'https://translate.google.com/translate_a/single?client=t&ie=UTF-8&oe=UTF-8&hl=en&dt=t&sl=auto&tl=' .. config.lang .. '&text=' .. URL.escape(input) - + + local url = 'https://translate.yandex.net/api/v1.5/tr.json/translate?key=' .. config.yandex_key .. '&lang=' .. config.lang .. '&text=' .. URL.escape(input) + local str, res = HTTPS.request(url) if res ~= 200 then sendReply(msg, config.errors.connection) return end - - local output = latcyr(str:gmatch("%[%[%[\"(.*)\"")():gsub("\"(.*)", "")) + + local jdat = JSON.decode(str) + if jdat.code ~= 200 then + sendReply(msg, config.errors.connection) + return + end + + local output = jdat.text[1] sendReply(msg.reply_to_message or msg, output)