PHP में चैट-बॉट बनाना: सिद्धांत से कार्यशील कोड तक

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP चैट-बॉट के लिए एक बेहतरीन भाषा क्यों है?

\n

जब चैट-बॉट बनाने की बात आती है, तो कई लोग तुरंत Python या Node.js के बारे में सोचते हैं। लेकिन PHP, जिस पर pythonlib.ru और इंटरनेट का अधिकांश भाग चलता है, इस कार्य को बखूबी संभालता है। PHP के तीन मुख्य फायदे हैं: किसी भी होस्टिंग पर तैनाती में आसानी, तैयार लाइब्रेरीज़ की विशाल संख्या, और सरल सिंटैक्स। यदि आप पहले से PHP से परिचित हैं, तो आप एक शाम में अपना पहला चैट-बॉट लिख सकते हैं। इस लेख में, हम PHP में चैट-बॉट बनाने की पूरी प्रक्रिया को शुरू से समझेंगे, Telegram में पंजीकरण से लेकर जटिल कमांड को संभालने तक।

\n

हम फ्रेमवर्क का उपयोग नहीं करेंगे - केवल शुद्ध PHP और एक आधिकारिक लाइब्रेरी। इससे आप समझ पाएंगे कि सब कुछ "हुड के नीचे" कैसे काम करता है। और फिर आप स्केलिंग के लिए आसानी से किसी भी आधुनिक फ्रेमवर्क (Laravel, Symfony) पर स्विच कर सकते हैं।

\n\n

शुरुआत के लिए क्या चाहिए?

\n

कोड लिखने से पहले, आइए अपना कार्य वातावरण तैयार करें। PHP में बॉट विकसित करने के लिए आपको आवश्यकता होगी:

\n
    \n
  • वेब सर्वर (Apache या Nginx) PHP 7.4 या उच्चतर के साथ - कोई भी होस्टिंग या लोकल मशीन पर OpenServer काम करेगा।
  • \n
  • HTTPS तक पहुंच - Telegram को Webhook के लिए सुरक्षित कनेक्शन की आवश्यकता होती है (लोकल डेवलपमेंट के लिए ngrok का उपयोग किया जा सकता है)।
  • \n
  • Composer - PHP के लिए पैकेज मैनेजर (एक कमांड से इंस्टॉल होता है)।
  • \n
  • Telegram खाता - बॉट को पंजीकृत करने और परीक्षण करने के लिए।
  • \n
\n

यदि आपके पास पहले से PHP पर कोई वेबसाइट है, जैसे pythonlib.ru, तो आप बॉट को सीधे उसके सबडोमेन पर जोड़ सकते हैं - यह सुविधाजनक है और इसमें कोई अतिरिक्त लागत नहीं आती।

\n\n

Telegram में बॉट का पंजीकरण

\n

Telegram खोलें, BotFather (बॉट बनाने के लिए आधिकारिक बॉट) खोजें और कमांड भेजें:

\n
/newbot
\n

BotFather आपसे आपके बॉट का नाम और यूज़रनेम बनाने के लिए कहेगा। यूज़रनेम bot पर समाप्त होना चाहिए, उदाहरण: MyFirstPHPBot। सफल पंजीकरण के बाद, आपको एक टोकन मिलेगा - इस प्रकार की एक लंबी स्ट्रिंग:

\n
1234567890:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
\n

इस टोकन को सुरक्षित रखें - API के सभी अनुरोधों के लिए इसकी आवश्यकता होगी। इसे किसी को न दें, अन्यथा आपका बॉट हैक किया जा सकता है।

\n\n

चैट-बॉट की आर्किटेक्चर: Long Polling बनाम Webhook

\n

बॉट को संदेश प्राप्त करने के दो तरीके हैं:

\n
    \n
  • Long Polling - बॉट स्वयं लगातार Telegram सर्वर से पूछता है: "कोई नया संदेश है?"। डीबग करना आसान है, लेकिन सर्वर पर लोड बढ़ाता है।
  • \n
  • Webhook - जब कोई बॉट को लिखता है, तो Telegram स्वयं आपके URL पर POST अनुरोध भेजता है। तेज़ और अधिक विश्वसनीय, HTTPS की आवश्यकता होती है।
  • \n
\n

इस व्यावहारिक मार्गदर्शिका में हम Webhook का उपयोग करेंगे, क्योंकि यह प्रोडक्शन बॉट के लिए आधुनिक मानक है। इसे ब्राउज़र के माध्यम से एक कमांड से सेट किया जा सकता है।

\n\n

चरण 1: Telegram API के साथ काम करने के लिए लाइब्रेरी स्थापित करें

\n

JSON पार्सिंग और अनुरोध भेजने को मैन्युअल रूप से लिखने से बचने के लिए, Telegram की आधिकारिक PHP लाइब्रेरी स्थापित करें। अपने प्रोजेक्ट फ़ोल्डर में टर्मिनल खोलें और निष्पादित करें:

\n
composer require telegram-bot/api
\n

यह लाइब्रेरी API के सभी तरीकों का समर्थन करती है और Telegram के साथ अपडेट होती है। स्थापना के बाद, फ़ोल्डर में vendor और composer.json फ़ाइल दिखाई देगी।

\n\n

चरण 2: इनकमिंग संदेशों को संसाधित करने के लिए बेसिक स्क्रिप्ट

\n

एक फ़ाइल bot.php बनाएं - यह Webhook के लिए एंट्री पॉइंट होगी। यहाँ न्यूनतम कोड है जो किसी भी संदेश पर "नमस्ते!" का उत्तर देता है:

\n\n
<?php\nrequire_once __DIR__ . '/vendor/autoload.php';\n\nuse Telegram\\Bot\\Api;\n\n$token = 'आपका_टोकन_यहाँ';\n$telegram = new Api($token);\n\n// इनकमिंग अपडेट प्राप्त करें\n$update = $telegram->getWebhookUpdate();\n\n// संदेश का टेक्स्ट और चैट ID निकालें\n$message = $update->getMessage();\n$chatId                

ब्लॉग

पुस्तक अनुशंसाएँ