add global try

master
io42630 3 years ago
parent 3ec7c6915f
commit 649d1b7490

@ -5,6 +5,7 @@ const translateDeepL = require('./deepl-translate-adapter').translate;
const translateGoogle = require('./google-translate-adapter').translate; const translateGoogle = require('./google-translate-adapter').translate;
const detectGoogle = require('./google-translate-adapter').detect; const detectGoogle = require('./google-translate-adapter').detect;
const makeResult = require('./results').makeResult; const makeResult = require('./results').makeResult;
const makeError = require('./results').makeError;
const keys = require('../keys.json'); const keys = require('../keys.json');
const request_options: Options = {url: ''}; const request_options: Options = {url: ''};
@ -56,33 +57,45 @@ function makeResults(translated: string): Array<InlineQueryResultArticle> {
return results; return results;
} }
function makeErrors(): Array<InlineQueryResultArticle> {
const results: Array<InlineQueryResultArticle> = [];
results.push(makeError());
return results;
}
bot.on('inline_query', async (query: InlineQuery) => { bot.on('inline_query', async (query: InlineQuery) => {
const queryText = query.query; let results: Array<InlineQueryResultArticle>;
const length = queryText.length; try {
if (length < 3) { return; } const queryText = query.query;
const basicQuery = queryText.endsWith(eol); const length = queryText.length;
const customQuery = !basicQuery && ( if (length < 3) { return; }
queryText.endsWith(eol + 'de') || const basicQuery = queryText.endsWith(eol);
queryText.endsWith(eol + 'en') || const customQuery = !basicQuery && (
queryText.endsWith(eol + 'ua') || queryText.endsWith(eol + 'de') ||
queryText.endsWith(eol + 'uk') || queryText.endsWith(eol + 'en') ||
queryText.endsWith(eol + 'es') || queryText.endsWith(eol + 'ua') ||
queryText.endsWith(eol + 'fr') || queryText.endsWith(eol + 'uk') ||
queryText.endsWith(eol + 'it') || queryText.endsWith(eol + 'es') ||
queryText.endsWith(eol + 'ru') queryText.endsWith(eol + 'fr') ||
); queryText.endsWith(eol + 'it') ||
let dstLang: string; queryText.endsWith(eol + 'ru')
let text: string; );
if (basicQuery) { let dstLang: string;
dstLang = 'de'; let text: string;
text = queryText.slice(0, length - 2); if (basicQuery) {
} else if (customQuery) { dstLang = 'de';
dstLang = queryText.slice(length - 2, length); text = queryText.slice(0, length - 2);
text = queryText.slice(0, length - 4); } else if (customQuery) {
} else { dstLang = queryText.slice(length - 2, length);
return; text = queryText.slice(0, length - 4);
} else {
return;
}
const translated = await translate(text, dstLang);
results = makeResults(translated);
} catch (e) {
console.log(e);
results = makeErrors();
} }
const translated = await translate(text, dstLang);
const results = makeResults(translated);
await bot.answerInlineQuery(query.id, results, {cache_time: 0, is_personal: true}); await bot.answerInlineQuery(query.id, results, {cache_time: 0, is_personal: true});
}); });

@ -11,3 +11,13 @@ export function makeResult(title: string, message: string): InlineQueryResultArt
input_message_content: {message_text: message} input_message_content: {message_text: message}
}; };
} }
export function makeError(): InlineQueryResultArticle {
if (id + 1 == Number.MAX_SAFE_INTEGER) { id = 0; }
return {
type: 'article',
id: '' + ++id,
title: 'Error.',
input_message_content: {message_text: ''}
};
}

Loading…
Cancel
Save