From a20b5b9950e6c67e588f247602e57f4c63b0d6c4 Mon Sep 17 00:00:00 2001 From: io42630 Date: Wed, 22 Jun 2022 23:34:32 +0200 Subject: [PATCH] + format / doc --- .gitignore | 2 +- README.md | 10 ++++++++++ keys-template.json | 4 ++++ src/bot-adapter.ts | 23 ++++++++++------------- 4 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 README.md create mode 100644 keys-template.json diff --git a/.gitignore b/.gitignore index c9b39cc..6830bc2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ /.idea/ *keys.json -/ree-bot-translate.iml +/translate_reebot.iml package-lock.json /node_modules /dist diff --git a/README.md b/README.md new file mode 100644 index 0000000..d84dd94 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# Translate ReeBot + +### About +* Uses DeepL for Telegram inline translations. + + +### How To +* enter API-keys into `keys-template.json`, then rename to `keys.json`. +* `npm run build / start` +* in Telegram : add bot > enable inline > /start > use via inline. diff --git a/keys-template.json b/keys-template.json new file mode 100644 index 0000000..e265b72 --- /dev/null +++ b/keys-template.json @@ -0,0 +1,4 @@ +{ + "DEEPL": "", + "TRANSLATE_REEBOT": "" +} diff --git a/src/bot-adapter.ts b/src/bot-adapter.ts index c68713c..11cddc6 100644 --- a/src/bot-adapter.ts +++ b/src/bot-adapter.ts @@ -1,10 +1,10 @@ -import TelegramBot from "node-telegram-bot-api"; -import { Options } from "request"; +import TelegramBot, { InlineQuery } from 'node-telegram-bot-api'; +import { Options } from 'request'; -const translate = require('./translate-adapter').translate +const translate = require('./translate-adapter').translate; const keys = require('../keys.json'); -let request_options: Options = { url: "" }; +let request_options: Options = {url: ''}; let options: TelegramBot.ConstructorOptions = { polling: true, @@ -12,22 +12,19 @@ let options: TelegramBot.ConstructorOptions = { }; const bot = new TelegramBot(keys.TRANSLATE_REEBOT, options); -bot.on("inline_query", async msg => { - console.log(JSON.stringify(msg)); - let results: Array = []; - if (msg.query.length <= 1) return; +bot.on('inline_query', async (msg: InlineQuery) => { if (msg.query.length > 1) { - let translated = await translate(msg.query, 'de'); - results = [ + const translated = (await translate(msg.query, 'de')).text; + const results: Array = [ { type: 'article', id: 'hello_id', - title: translated.text, + title: translated, input_message_content: { - message_text: translated.text + message_text: translated } } ]; + await bot.answerInlineQuery(msg.id, results); } - bot.answerInlineQuery(msg.id, results); });