From 4eaa6f137d4f983193e5da6f597cffd09d3a0fce Mon Sep 17 00:00:00 2001 From: Aditya Banerjee Date: Sun, 4 Feb 2024 21:42:22 +0800 Subject: [PATCH] configure webhooks --- telegram-bot/bun.lockb | Bin 67273 -> 85051 bytes telegram-bot/package.json | 52 +++++++++++++------------- telegram-bot/src/components/bot.ts | 12 +++++- telegram-bot/src/components/server.ts | 34 +++++++++++++++++ telegram-bot/src/constants/message.ts | 1 + telegram-bot/src/index.ts | 8 ++++ 6 files changed, 81 insertions(+), 26 deletions(-) create mode 100644 telegram-bot/src/components/server.ts diff --git a/telegram-bot/bun.lockb b/telegram-bot/bun.lockb index 1c0f83471d87be30694b5168e34871d2c2886451..908159a017b2bc8d58646a370ecd1a5123bed685 100755 GIT binary patch delta 20672 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 S?pB>|jv32s$2^YnR{kG{$NFIa delta 9589 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 { this.help(message); }); @@ -151,4 +156,9 @@ export class Bot { this.logger.error(error); } } + + processUpdate(req: Request, response: Response) { + this.client.processUpdate(req.body); + response.status(200).json({ message: MESSAGE.PROCESSING_UPDATE }); + } } diff --git a/telegram-bot/src/components/server.ts b/telegram-bot/src/components/server.ts new file mode 100644 index 0000000..369d58c --- /dev/null +++ b/telegram-bot/src/components/server.ts @@ -0,0 +1,34 @@ +import express, { type Express } from 'express'; +import { json } from 'body-parser'; +import type { Bot } from './bot'; + +const { PORT: port = 3000, TELEGRAM_BOT_TOKEN: token = '' } = process.env; + +export class Server { + static instance: Server; + private app: Express; + private readonly port: number; + + private constructor() { + this.app = express(); + this.port = Number(port); + this.app.use(json()); + this.app.listen(this.port, () => { + console.log(`Server running on port ${this.port}`); + }); + } + + static getInstance(): Server { + if (!Server.instance) { + Server.instance = new Server(); + } + return Server.instance; + } + + setupBot(bot: Bot): void { + this.app.post(`/${token}`, (req, res) => { + bot.processUpdate(req, res); + res.sendStatus(200); + }); + } +} diff --git a/telegram-bot/src/constants/message.ts b/telegram-bot/src/constants/message.ts index cd40111..62599f0 100644 --- a/telegram-bot/src/constants/message.ts +++ b/telegram-bot/src/constants/message.ts @@ -2,4 +2,5 @@ export const MESSAGE = { HELP: 'This is the EchoFinder Telegram bot. It allows you to search for messages, and returns results based on similarity. Usage: /search ', PROMPT: 'Search usage: /search ', NO_RESULTS: 'No results found. Try a different search string.', + PROCESSING_UPDATE: 'Processing update' }; diff --git a/telegram-bot/src/index.ts b/telegram-bot/src/index.ts index 3248752..086aeb5 100644 --- a/telegram-bot/src/index.ts +++ b/telegram-bot/src/index.ts @@ -1,4 +1,12 @@ import { Bot } from 'components/bot'; +import { Server } from 'components/server'; + +const { NODE_ENV: env = 'DEV' } = process.env; const bot = Bot.getInstance(); bot.initialize(); + +if (env !== 'DEV') { + const server = Server.getInstance(); + server.setupBot(bot); +}