From aa765d45f0b817664dbfc9d36389e6656666541b Mon Sep 17 00:00:00 2001 From: io42630 Date: Sun, 26 Jun 2022 14:46:36 +0200 Subject: [PATCH] + fix async --- package.json | 3 +-- src/bot-hooks.ts | 24 +++++++++++++----------- src/deepl-translate-adapter.ts | 4 ++-- src/google-translate-adapter.ts | 12 ++++++------ 4 files changed, 22 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 667f103..4d614d6 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,7 @@ "description": "", "scripts": { "build": "tsc", - "start": "npm run serve", - "serve": "node dist/bot-adapter.js" + "start": "node dist/bot-hooks.js" }, "dependencies": { "@google-cloud/translate": "^6.3.1", diff --git a/src/bot-hooks.ts b/src/bot-hooks.ts index c493805..2badbf8 100644 --- a/src/bot-hooks.ts +++ b/src/bot-hooks.ts @@ -11,7 +11,7 @@ const options: TelegramBot.ConstructorOptions = { polling: true, request: request_options }; -const bot = new TelegramBot(keys.TRANSLATE_REEBOT, options); +const bot = new TelegramBot(keys.TEST_TRANSLATE_REEBOT, options); const eol = ',,'; bot.on('inline_query', async (query: InlineQuery) => { @@ -24,31 +24,33 @@ bot.on('inline_query', async (query: InlineQuery) => { queryText.endsWith(eol + 'ua') || queryText.endsWith(eol + 'uk') || queryText.endsWith(eol + 'ru'); - let lang: string; - let transText: string; + let text: string; if (basicQuery) { lang = 'de'; - transText = queryText.slice(0, length - 2); + text = queryText.slice(0, length - 2); } else if (customQuery) { lang = queryText.slice(length - 2, length); lang = lang === 'en' ? 'en-US' : lang; - transText = queryText.slice(0, length - 4); + lang = lang === 'ua' || lang === 'ru' ? 'uk' : lang; + text = queryText.slice(0, length - 4); } else { return; } - let translated = ''; - const srcLang = detectGoogle(transText); - if(srcLang === 'ua' || lang === 'ua') { - translated = await translateGoogle(transText, lang); + let translated: string; + detectGoogle(text).then((reslt: string) => console.log(reslt)); + const srcLang: string = 'en'; + + if (srcLang === 'uk' || lang === 'uk') { + translated = await translateGoogle(text, lang); } else { - translated = await translateDeepL(transText, lang); + translated = await translateDeepL(text, lang); } const results: Array = [ { type: 'article', - id: 'hello', + id: 'helloxx', title: translated, input_message_content: { message_text: translated diff --git a/src/deepl-translate-adapter.ts b/src/deepl-translate-adapter.ts index 2f5f8ea..5a3ae4f 100644 --- a/src/deepl-translate-adapter.ts +++ b/src/deepl-translate-adapter.ts @@ -3,6 +3,6 @@ import { Translator, TargetLanguageCode } from 'deepl-node'; const translator = new Translator(require('../keys.json').DEEPL); export async function translate(text: string, lang: TargetLanguageCode): Promise { - let textResult = await translator.translateText(text, null, lang); - return new Promise(() => textResult.text); + return translator.translateText(text, null, lang) + .then((textResult => textResult.text)); } diff --git a/src/google-translate-adapter.ts b/src/google-translate-adapter.ts index 6cd9874..178ef84 100644 --- a/src/google-translate-adapter.ts +++ b/src/google-translate-adapter.ts @@ -4,12 +4,12 @@ const projectId = 'translate-reebot'; const translator = new Translate({projectId}); translator.key = require('../keys.json').GOOGLE; -export async function translate(text: string, lang: string) { - const [translation] = await translator.translate(text, lang); - return new Promise(() => translation); +export async function translate(text: string, lang: string): Promise { + return translator.translate(text, lang) + .then(([result] : any) => result); } -export async function detect(text: string) { - const [result] = await translator.detect(text); - return new Promise(() => result.language); +export async function detect(text: string): Promise { + return translator.detect(text) + .then(([result] : any) => result.language); }