+ fix async

master
io42630 3 years ago
parent ca670ad734
commit aa765d45f0

@ -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",

@ -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<TelegramBot.InlineQueryResult> = [
{
type: 'article',
id: 'hello',
id: 'helloxx',
title: translated,
input_message_content: {
message_text: translated

@ -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<string> {
let textResult = await translator.translateText(text, null, lang);
return new Promise<string>(() => textResult.text);
return translator.translateText(text, null, lang)
.then((textResult => textResult.text));
}

@ -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<string>(() => translation);
export async function translate(text: string, lang: string): Promise<string> {
return translator.translate(text, lang)
.then(([result] : any) => result);
}
export async function detect(text: string) {
const [result] = await translator.detect(text);
return new Promise<string>(() => result.language);
export async function detect(text: string): Promise<string> {
return translator.detect(text)
.then(([result] : any) => result.language);
}

Loading…
Cancel
Save