परिचय: TypeScript क्यों, Python क्यों नहीं?
\n\nनमस्ते डेवलपर! अगर आप PythonLib पर यह पढ़ रहे हैं, तो शायद आप हैरान हों: "Python की साइट पर TypeScript का आर्टिकल क्यों?" इसका जवाब सीधा है: IT की दुनिया में सीमाएं नहीं होतीं, और एक अच्छा डेवलपर एक भाषा के दायरे से बाहर निकलना जानता है। TypeScript सिर्फ "JavaScript का अपग्रेड" नहीं है, बल्कि यह मजबूत, स्केलेबल और भरोसेमंद एप्लिकेशन बनाने का एक शक्तिशाली टूल है। और Telegram बॉट्स इसकी प्रैक्टिस करने के लिए एकदम सही प्लेटफॉर्म हैं।
\n\nसोचिए: आप कोड लिख रहे हैं, और IDE पहले से एरर्स दिखा रहा है, डेटा टाइप्स रनटाइम में गिरने नहीं देते, और ऑटोकम्प्लीशन स्विस घड़ी की तरह काम करता है। यह जादू नहीं, बल्कि TypeScript है। इस गाइड में हम शुरुआत से एक पूरा Telegram बॉट TypeScript में बनाएंगे: BotFather में रजिस्ट्रेशन से लेकर डिप्लॉयमेंट तक। आप सीखेंगे कि प्रोजेक्ट कैसे सेट करें, कमांड हैंडल करें, मैसेज भेजें और बाहरी API के साथ काम करें।
\n\nतैयार हैं? चलिए शुरू करते हैं!
\n\nTelegram Bot के लिए TypeScript क्यों चुनें
\n\nकोड में कूदने से पहले, समझ लेते हैं कि Python के बजाय TypeScript में बॉट क्यों लिखें, जो इस काम के लिए "मूल" भाषा मानी जाती है।
\n\n- \n
- टाइपिंग आपका दोस्त है। जब प्रोजेक्ट में 10+ कमांड और 20 हैंडलर हों, तो TypeScript आपको स्ट्रिंग की जगह नंबर डालने जैसी बेवकूफी भरी गलतियों से बचाता है। \n
- आधुनिक सिंटैक्स। Async/await, डिस्ट्रक्चरिंग, मॉड्यूल्स — ये सब कोड को साफ और पढ़ने में आसान बनाते हैं। \n
- Node.js इकोसिस्टम। ढेरों लाइब्रेरीज़, जिनमें Telegraf (बॉट्स के लिए सबसे बेहतरीन फ्रेमवर्क) शामिल है। \n
- परफॉरमेंस। Node.js एक इवेंट-ड्रिवन प्लेटफॉर्म है, जो हाई-लोड चैट-बॉट्स के लिए आदर्श है। \n
वैसे, Telegraf के बारे में: यह TypeScript-first फ्रेमवर्क है, जो Telegram Bot API के साथ काम करना बेहद आसान बनाता है। हम इसी का उपयोग करेंगे।
\n\nतैयारी: क्या इंस्टॉल करना होगा
\n\nशुरू करने के लिए आपको चाहिए:
\n\n# सुनिश्चित करें कि Node.js (वर्जन 18+) और npm इंस्टॉल हैं\nnode -v\nnpm -v\n\n# प्रोजेक्ट फोल्डर बनाएं\nmkdir telegram-bot-ts\ncd telegram-bot-ts\n\n# प्रोजेक्ट इनिशियलाइज़ करें\nnpm init -y\n\nअब डिपेंडेंसीज़ इंस्टॉल करें:
\n\nnpm install telegraf dotenv\nnpm install -D typescript @types/node ts-node nodemon\n\nसमझते हैं क्या इंस्टॉल किया:
\n- \n
- telegraf — बॉट के लिए मुख्य फ्रेमवर्क। \n
- dotenv — .env फाइल में टोकन स्टोर करने के लिए (सुरक्षा सबसे पहले)। \n
- typescript, @types/node, ts-node — TS को कंपाइल और रन करने के लिए। \n
- nodemon — बदलावों पर ऑटोमैटिक रीस्टार्ट के लिए। \n
tsconfig.json फाइल बनाएं:
{\n "compilerOptions": {\n "target": "ES2020",\n "module": "commonjs",\n "strict": true,\n "esModuleInterop": true,\n "skipLibCheck": true,\n "forceConsistentCasingInFileNames": true,\n "outDir": "./dist"\n },\n "include": ["src/**/*"],\n "exclude": ["node_modules"]\n}\n\nऔर .env फाइल (इसे .gitignore में जोड़ना न भूलें!):
BOT_TOKEN=आपका_BotFather_टोकन\n\nबॉट रजिस्ट्रेशन: BotFather से परिचय
\n\nयह सबसे आसान चरण है। Telegram खोलें, @BotFather खोजें और /newbot कमांड भेजें। निर्देशों का पालन करें:
- \n
- बॉट का नाम डालें (जैसे, "मेरा स्मार्ट सहायक")। \n
- यूज़रनेम डालें (
botपर खत्म होना चाहिए, जैसेmy_smart_helper_bot)। \n - मिला टोकन कॉपी करें और
.envमें पेस्ट करें। \n
हो गया! अब आपके पास Telegram API की चाबी है।
\n\nप्रोजेक्ट स्ट्रक्चर और पहला रन
\n\nsrc फोल्डर बनाएं और उसमें index.ts फाइल बनाएं:
// src/index.ts\nimport { Telegraf } from 'telegraf';\nimport { mess