2026 में Telegram Mini App कैसे बनाएं: प्रोटोटाइप से 60,000 दैनिक उपयोगकर्ताओं तक
The Open Squad के अनुभव से Telegram Mini App विकास की पूरी गाइड। स्टैक (Next.js, FastAPI, TON SDK), initData ऑथेंटिकेशन, Stars और USDT पेमेंट्स, डिप्लॉयमेंट और स्केलिंग।
Telegram Mini Apps एक प्रायोगिक फीचर से असली डिस्ट्रिब्यूशन प्लेटफ़ॉर्म बन चुके हैं: 200 मिलियन उपयोगकर्ता हर महीने इन्हें खोलते हैं, और मेसेंजर के अंदर प्रोडक्ट शिप करने का यह सबसे तेज़ी से बढ़ता तरीका है। हमने 2024 की शुरुआत में The Open Earn लॉन्च किया और 18 महीनों में इसे 60,000 दैनिक सक्रिय उपयोगकर्ताओं और 500,000+ पूर्ण किए गए कार्यों तक पहुंचा दिया। यह गाइड वही है जो हमने किया और जो हम पहले दिन खुद को बताते।
Mini App vs सामान्य बॉट: कब क्या चुनें
Telegram Bot मेसेजेस के ऊपर एक चैट इंटरफ़ेस है। Telegram Mini App एक पूरा वेब ऐप्लिकेशन है जो Telegram के अंदर खुलता है और मेसेंजर के API तक पहुंच रखता है।
सामान्य बॉट तब काफी है जब:
- फ्लो रैखिक है: कमांड्स → जवाब (एस्क्रो बॉट, नोटिफिकेशन बॉट)
- UI जटिलता न्यूनतम है
- प्रोटोटाइप की गति महत्वपूर्ण है
Mini App की ज़रूरत तब है जब:
- नेविगेशन, फ़ॉर्म, सूचियों के साथ जटिल UI
- रियल-टाइम इंटरैक्टिविटी
- Telegram Payments या Stars के माध्यम से पेमेंट्स
- प्रोडक्ट कैटलॉग, उपयोगकर्ता प्रोफ़ाइल, फ़ीड
The Open Earn में हम दोनों चलाते हैं: नोटिफिकेशन और ऑनबोर्डिंग के लिए बॉट, मुख्य इंटरफ़ेस (बैलेंस, विदड्रॉल, स्टैट्स) के लिए Mini App।
स्टैक: हम वास्तव में क्या उपयोग करते हैं
The Open Earn का प्रोडक्शन स्टैक, बिना मार्केटिंग शोर के:
Frontend (Mini App):
- Next.js 16 (App Router, SSR) — तेज़ पहले रेंडर और लैंडिंग पर SEO के लिए
- React 19 + TypeScript
- @twa-dev/sdk — Telegram Web Apps SDK के चारों ओर रैपर (थीम, viewport, इवेंट्स)
- TonConnect SDK — उपयोगकर्ता के TON वॉलेट को कनेक्ट करने के लिए
Backend:
- Python 3.12 + FastAPI — API सर्वर
- aiogram 3.x — बॉट
- PostgreSQL 16 — मुख्य स्टोर
- Redis — सेशन कैश, rate limiting, वर्कर्स के लिए pub/sub
- Celery — बैकग्राउंड जॉब्स (पेआउट्स, टास्क वेरिफिकेशन)
इन्फ्रास्ट्रक्चर:
- एक dedicated सर्वर (8 GB RAM, 4 vCPU)
- रिवर्स प्रॉक्सी के रूप में nginx
- Node प्रक्रियाओं के लिए PM2, Python के लिए systemd
- SSL के लिए Let's Encrypt
यह 50–100K DAU तक संभाल लेता है। हमें केवल तब अपग्रेड करना पड़ा जब हम 60K पार कर गए — हमने Postgres को एक managed instance पर ले गए।
ऑथेंटिकेशन: initData और सर्वर-साइड वैलिडेशन
सबसे आम शुरुआती गलती: Telegram.WebApp.initDataUnsafe पर भरोसा करना। यह DevTools में स्पूफ किया जा सकता है।
सही फ्लो:
- Mini App लॉन्च पर JS SDK के माध्यम से Telegram से
initData(raw string) प्राप्त करता है - यह उसे आपके बैकएंड को
Authorization: TelegramInitData ...में भेजता है - बैकएंड bot token से HMAC-SHA256 के साथ हस्ताक्षर वैलिडेट करता है
- वैध हस्ताक्षर पर —
user.idनिकालें और एक सेशन टोकन जारी करें
Python में वैलिडेशन:
import hmac, hashlib
from urllib.parse import parse_qs
def validate_init_data(init_data: str, bot_token: str) -> dict:
parsed = parse_qs(init_data)
received_hash = parsed.pop("hash")[0]
data_check = "\n".join(f"{k}={v[0]}" for k, v in sorted(parsed.items()))
secret = hmac.new(b"WebAppData", bot_token.encode(), hashlib.sha256).digest()
expected = hmac.new(secret, data_check.encode(), hashlib.sha256).hexdigest()
if not hmac.compare_digest(expected, received_hash):
raise ValueError("Invalid signature")
return parsed
auth_date भी जांचें — 24 घंटे से पुराने सेशन छोड़ दें (replay सुरक्षा)।
पेमेंट्स: Stars, TON, USDT
2026 में Telegram इकोसिस्टम के अंदर पैसे लेने के तीन वास्तविक तरीके:
1. Telegram Stars (डिजिटल वस्तुओं के लिए) — currency: "XTR" के साथ Bot API: sendInvoice के माध्यम से। केवल अमूर्त खरीदारी। Telegram लगभग 30% लेता है।
2. TON सीधे — TonConnect के माध्यम से: उपयोगकर्ता एक वॉलेट कनेक्ट करता है और लेनदेन पर हस्ताक्षर करता है। फीस सेंट का अंश है।
3. TON पर USDT (Jetton) — TON के समान लेकिन एक स्टेबलकॉइन के रूप में। B2B और निश्चित-मूल्य बिलिंग के लिए उपयोगी।
The Open Earn में हम TonConnect के माध्यम से USDT में कमाई का भुगतान करते हैं — उपयोगकर्ता डॉलर राशि देखते हैं, उतार-चढ़ाव वाला TON मूल्य नहीं। न्यूनतम विदड्रॉल: $1।
डिप्लॉयमेंट और स्केलिंग
पहले 10K DAU के लिए सबसे सरल प्रोडक्शन लेआउट:
[Cloudflare] → [nginx] → [Next.js on :3000] → [FastAPI on :8000] → [Postgres]
↓
[Redis]
30K DAU पर हमारे लिए क्या टूटा और हमने इसे कैसे ठीक किया:
- Postgres connection pool ख़त्म हो गया — pgbouncer जोड़ा और read/write अलग किया
- Redis OOM पीक के दौरान —
maxmemoryबढ़ाया,allkeys-lruपर स्विच किया - बॉट webhook latency — भारी जांचों को Celery पर ले गए
- स्टैटिक एसेट CDN — Cloudflare R2 पर पुश किया
एक नियम जो मायने रखता है: मापें, अनुमान न लगाएं। एररों के लिए Sentry, मेट्रिक्स के लिए Grafana + Prometheus, पहले दिन से।
हम क्या अलग करते
अगर हम पहले दिन से दोबारा शुरू कर रहे होते:
- शुरू से ही 2 सर्विसेज में बांटें — पब्लिक API (Mini App) और प्राइवेट (admin/workers)। मर्ज करना बाद में अलग करने से सस्ता है।
- पहले दिन से feature flags शिप करें (Unleash, GrowthBook) — ग्रोथ के दौरान A/B टेस्ट्स के लिए उपयोगी होता।
- सरल फ़ॉर्मों के लिए कस्टम REST लेयर के बजाय Next.js Server Actions का उपयोग करें। कम कोड।
- पहले दिन सुंदर एनिमेशन छोड़ दें — उपयोगकर्ता फंक्शन के लिए आते हैं, पॉलिश के लिए नहीं। पॉलिश product-market fit के बाद समझ में आती है।
- पहले दिन से i18n बनाएं — 12 भाषाओं में अनुवाद ने हमारे ट्रैफ़िक को 4× कर दिया, लेकिन उन्हें बाद में जोड़ना दर्दनाक था।
आगे क्या
2026 में Mini Apps अब "Telegram का प्रयोग" नहीं हैं — वे एक असली डिस्ट्रिब्यूशन चैनल हैं। यदि आपका प्रोडक्ट मेसेंजर के सक्रिय दर्शकों के साथ मेल खाता है, तो कम से कम एक प्रोटोटाइप बनाने लायक है। स्टार्टर स्टैक छोटा है, जोखिम नेटिव मोबाइल ऐप से कम है।
यदि आप देखना चाहते हैं कि यह प्रोडक्शन में कैसा दिखता है — The Open Earn खोलें या सीधे बॉट पर जाएं।