Python और telegram-bot-api से बॉट कैसे बनाएं? पूरी गाइड
Telegram बॉट्स का परिचय
आज के डिजिटल युग में मैसेजिंग ऐप्स हमारी ज़िंदगी का अहम हिस्सा बन गए हैं, और बॉट्स काम को ऑटोमेट करने, यूज़र्स से बातचीत करने और यहां तक कि बिज़नेस चलाने का एक शानदार ज़रिया हैं। अगर आप जल्दी और आसानी से अपना Telegram बॉट बनाना चाहते हैं, तो Python भाषा और python-telegram-bot लाइब्रेरी सबसे बेहतरीन विकल्प है।
चरण 1. BotFather से एक्सेस टोकन प्राप्त करें
कोड लिखने से पहले, अपने बॉट को Telegram में रजिस्टर करना ज़रूरी है। इसके लिए:
- Telegram खोलें और @BotFather यूज़र को सर्च करें।
- /start कमांड दें और फिर /newbot टाइप करें।
- अपने बॉट के लिए एक नाम और यूनिक username दें (जैसे, MyFirstPythonBot)।
- रजिस्ट्रेशन के बाद BotFather आपको एक API टोकन देगा। इसे कॉपी कर लें — यह कोड में काम आएगा।
चरण 2. ज़रूरी लाइब्रेरीज़ इंस्टॉल करें
Telegram API से जुड़ने के लिए हम python-telegram-bot लाइब्रेरी का उपयोग करेंगे। इसे pip के ज़रिए इंस्टॉल करें:
pip install python-telegram-bot --upgrade
चरण 3. बॉट का बेसिक ढांचा
अब एक साधारण बॉट बनाते हैं जो /start कमांड पर जवाब देगा:
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text("नमस्ते! मैं Python में बना आपका पहला बॉट हूँ!")
if __name__ == '__main__':
app = ApplicationBuilder().token("आपका_टोकन_यहाँ_डालें").build()
app.add_handler(CommandHandler("start", start))
app.run_polling()
समझाइश:
ApplicationBuilderऔरCommandHandler— ये कमांड को हैंडल करने के बेसिक टूल्स हैं।startफंक्शन /start कमांड पर रिएक्ट करता है और यूज़र को टेक्स्ट मैसेज भेजता है।run_polling()मेथड बॉट को शुरू करता है और नए मैसेज चेक करना शुरू करता है।
चरण 4. यूज़र के मैसेज को हैंडल करना
अब सामान्य टेक्स्ट मैसेज को हैंडल करने का कोड जोड़ते हैं:
from telegram.ext import MessageHandler, filters
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE):
received_text = update.message.text
await update.message.reply_text(f"आपने लिखा: {received_text}")
if __name__ == '__main__':
app = ApplicationBuilder().token("आपका_टोकन_यहाँ_डालें").build()
app.add_handler(CommandHandler("start", start))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
app.run_polling()
अब बॉट किसी भी टेक्स्ट मैसेज का जवाब आपके टेक्स्ट को दोहराकर देगा।
चरण 5. बटन और इंटरैक्टिव मेन्यू जोड़ना
बॉट्स में बटन जोड़ने से वे और भी उपयोगी हो जाते हैं:
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
async def menu(update: Update, context: ContextTypes.DEFAULT_TYPE):
keyboard = [
[InlineKeyboardButton("बटन 1", callback_data='button1')],
[InlineKeyboardButton("बटन 2", callback_data='button2')]
]
reply_markup = InlineKeyboardMarkup(keyboard)
await update.message.reply_text('एक विकल्प चुनें:', reply_markup=reply_markup)
async def button_handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.callback_query
await query.answer()
await query.edit_message_text(text=f"आपने दबाया: {query.data}")
if __name__ == '__main__':
from telegram.ext import CallbackQueryHandler
app = ApplicationBuilder().token("आपका_टोकन_यहाँ_डालें").build()
app.add_handler(CommandHandler("start", start))
app.add_handler(CommandHandler("menu", menu))
app.add_handler(CallbackQueryHandler(button_handler))
app.add_handler