परिचय: चैटबॉट के लिए PHP एक बेहतरीन विकल्प क्यों है?
\nक्या आपने कभी सोचा है कि वे स्मार्ट सहायक कैसे काम करते हैं जो Telegram, VK या वेबसाइट पर सवालों के जवाब देते हैं? बहुत से लोग सोचते हैं कि चैटबॉट बनाने के लिए Python या Node.js आना चाहिए। लेकिन सच्चाई यह है कि PHP पर चैटबॉट न केवल संभव है, बल्कि बहुत सुविधाजनक भी है। PHP एक परिपक्व भाषा है जिसका एक बड़ा समुदाय है, और यह तेजी से प्रोटोटाइप बनाने और बॉट लॉन्च करने के लिए बहुत उपयुक्त है।
\nइस मार्गदर्शिका में, हम बिल्कुल शून्य से एक कार्यशील Telegram-बॉट PHP पर बनाने तक का सफर तय करेंगे। हम दो तरीकों पर चर्चा करेंगे: Localhost पर एक साधारण इको-बॉट और डेटाबेस से जुड़ा एक बॉट। स्पॉइलर: बहुत सारा कोड होगा जिसे आप कॉपी करके अभी चला सकते हैं।
\n\nचैटबॉट क्या है और यह कैसे काम करता है?
\nकोड लिखने से पहले, आइए आर्किटेक्चर को समझें। चैटबॉट एक प्रोग्राम है जो उपयोगकर्ता से संदेश प्राप्त करता है, उसे प्रोसेस करता है और जवाब भेजता है। Telegram (बॉट के लिए सबसे लोकप्रिय प्लेटफॉर्म) के संदर्भ में, योजना इस प्रकार है:
\n- \n
- उपयोगकर्ता Telegram में बॉट को लिखता है। \n
- Telegram आपके सर्वर पर POST-अनुरोध भेजता है (Webhook) या आप स्वयं सर्वर से लगातार पूछताछ करते हैं (Long Polling)। \n
- आपकी PHP स्क्रिप्ट अनुरोध को प्रोसेस करती है और Telegram API के माध्यम से जवाब भेजती है। \n
हम Webhook का उपयोग करेंगे - यह एक आधुनिक और तेज़ तरीका है। कल्पना करें कि जब भी कोई नया संदेश आता है, Telegram आपके सर्वर के दरवाजे पर दस्तक देता है। सुविधाजनक है, है ना?
\n\nतैयारी: शुरुआत के लिए क्या चाहिए?
\nPHP पर एक सरल चैटबॉट बनाने के लिए आपको चाहिए:
\n- \n
- होस्टिंग या लोकल सर्वर (OpenServer, XAMPP, MAMP) जिसमें PHP 7.4+ हो। \n
- इंटरनेट तक पहुंच (Telegram में बॉट रजिस्टर करने के लिए)। \n
- PHP का बुनियादी ज्ञान (वेरिएबल, फंक्शन, JSON के साथ काम करना)। \n
अगर आपके पास होस्टिंग नहीं है, तो कोई बात नहीं - परीक्षण के चरण में आप ngrok यूटिलिटी की मदद से Localhost का उपयोग कर सकते हैं, जो एक अस्थायी सार्वजनिक URL बनाती है। लेकिन इसके बारे में बाद में।
चरण 1. Telegram में बॉट पंजीकृत करना
\nTelegram पर जाएं, BotFather (बॉट बनाने के लिए आधिकारिक बॉट) ढूंढें और /newbot कमांड लिखें। सवालों के जवाब दें: एक नाम दें (जैसे, MyTestBot) और एक username (अनिवार्य रूप से bot पर समाप्त होना चाहिए, जैसे my_test_pythonlib_bot)।
सफल पंजीकरण के बाद BotFather आपको एक टोकन देगा - यह API तक पहुंच की कुंजी है। यह कुछ इस तरह दिखता है: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11। इसे एक सुरक्षित स्थान पर रखें (बेहतर होगा .env फ़ाइल में, लेकिन सरलता के लिए हम अभी इसे हार्डकोड करेंगे)।
महत्वपूर्ण: अपना टोकन किसी को न दिखाएं! यह आपके बॉट का पासवर्ड है।
\n\nचरण 2. PHP पर सबसे सरल इको-बॉट (Webhook)
\nअपनी वेबसाइट की रूट डायरेक्टरी में bot.php फ़ाइल बनाएं। यह स्क्रिप्ट Telegram से अनुरोध प्राप्त करेगी और उसी टेक्स्ट (इको) के साथ जवाब देगी।
<?php\n// Telegram से डेटा प्राप्त करें\n$content = file_get_contents("php://input");\n$update = json_decode($content, true);\n\n// जांचें कि संदेश है या नहीं\nif (!$update) {\n exit;\n}\n\n// चैट आईडी और संदेश का टेक्स्ट निकालें\n$chat_id = $update['message']['chat']['id'];\n$text = $update['message']['text'];\n\n// आपके बॉट का टोकन\n$token = "आपका_टोकन_यहाँ";\n\n// जवाब भेजें (इको)\n$url = "https://api.telegram.org/bot{$token}/sendMessage";\n$data = [\n 'chat_id' => $chat_id,\n 'text' => "आपने लिखा: " . $text\n];\n\n// अनुरोध भेजने के लिए cURL का उपयोग करें\n$ch = curl_init();\ncurl_setopt($ch, CURLOPT_URL, $url);\ncurl_setopt($ch, CURLOPT_POST, 1);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, $data);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n$result = curl_exec($ch);\ncurl_close($ch);\n?>\n\nयह कैसे काम करता है?
\n- \n
- Telegram आपकी
bot.phpफ़ाइल पर POST-अनुरोध भेजता है। - हम इनपुट पढ़ते हैं