From 266fc1bcc0f6cb3e1d4bfb91ab011eb8ab2b7c81 Mon Sep 17 00:00:00 2001 From: neken Date: Fri, 10 Apr 2026 15:15:53 +0500 Subject: [PATCH] feat: add entry point with env validation and graceful shutdown --- src/index.ts | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 8f5ec49..1880c00 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1 +1,26 @@ -console.log("Claude Telegram Bot starting..."); +import "dotenv/config"; +import { createBot } from "./bot.js"; + +const token = process.env.TELEGRAM_BOT_TOKEN; +const ownerId = process.env.TELEGRAM_OWNER_ID; +const apiKey = process.env.ANTHROPIC_API_KEY; + +if (!token) throw new Error("TELEGRAM_BOT_TOKEN is required"); +if (!ownerId) throw new Error("TELEGRAM_OWNER_ID is required"); +if (!apiKey) throw new Error("ANTHROPIC_API_KEY is required"); + +const bot = createBot(token, Number(ownerId)); + +bot.start({ + onStart: () => console.log("Bot started successfully"), +}); + +// Graceful shutdown +const shutdown = () => { + console.log("Shutting down..."); + bot.stop(); + process.exit(0); +}; + +process.on("SIGINT", shutdown); +process.on("SIGTERM", shutdown);