बॉटप्रेस में कस्टम बॉट क्रियाएँ विकसित करना

Botapresa Mem Kastama Bota Kriya Em Vikasita Karana



चैटबॉट आधुनिक व्यवसायों का एक मूलभूत हिस्सा बन गए हैं जो उन्हें बेहतर ग्राहक सहायता प्रदान करने, प्रक्रियाओं को स्वचालित करने और उपयोगकर्ताओं के साथ अधिक प्रभावी ढंग से जुड़ने में सक्षम बनाता है। बॉटप्रेस एक लोकप्रिय ओपन-सोर्स चैटबॉट फ्रेमवर्क है जो विभिन्न अंतर्निहित क्रियाएं प्रदान करता है। हालाँकि, कुछ मामलों में, आपको विशिष्ट आवश्यकताओं को पूरा करने और बॉट की क्षमताओं को बढ़ाने के लिए कस्टम बॉट क्रियाएँ बनाने की आवश्यकता हो सकती है। इस ट्यूटोरियल में, हम एपीआई को कॉल करने और सामग्री तत्व में प्रतिक्रिया का उपयोग करने पर ध्यान केंद्रित करके बॉटप्रेस में कस्टम बॉट क्रियाएं बनाने में आपका मार्गदर्शन करेंगे।

बॉटप्रेस में क्रियाओं को समझना

बॉटप्रेस में क्रियाएँ सर्वर-साइड फ़ंक्शंस हैं जिन्हें वार्तालाप प्रवाह के दौरान बॉट द्वारा निष्पादित किया जाता है। उनके पास वार्तालाप की स्थिति को बदलने, अनुकूलित संदेश भेजने, मनमाना कोड निष्पादित करने (जैसे एपीआई को कॉल करना या डेटा संग्रहीत करना) और बहुत कुछ करने की शक्ति है। अनिवार्य रूप से, क्रियाएँ नियमित जावास्क्रिप्ट फ़ंक्शन हैं जिसका अर्थ है कि वे प्लेटफ़ॉर्म की सीमाओं के भीतर लगभग कुछ भी कर सकते हैं।

जब डायलॉग मैनेजर (डीएम) द्वारा कोई कार्रवाई शुरू की जाती है, तो उसे कई तर्क प्राप्त होते हैं जो फ़ंक्शन को संदर्भ प्रदान करते हैं। इन तर्कों में उपयोगकर्ता विशेषताएँ, सत्र चर, अस्थायी चर, बॉट-स्तरीय चर, वार्तालाप में नवीनतम उपयोगकर्ता घटना, विज़ुअल फ़्लो बिल्डर से पारित तर्क और एक सैंडबॉक्स्ड वीएम शामिल है जिसमें कुछ पर्यावरण चर शामिल हैं।







नई कार्रवाइयां पंजीकृत करना

कस्टम बॉट क्रियाओं को जोड़ने के लिए, आपको एक जावास्क्रिप्ट फ़ाइल (.js) बनानी होगी और उसे इसमें रखना होगा डेटा/वैश्विक/क्रियाएँ आपके बॉटप्रेस प्रोजेक्ट के भीतर फ़ोल्डर। दुर्भाग्य से, रनटाइम के दौरान प्रोग्रामेटिक रूप से नई कार्रवाइयां जोड़ने का कोई तरीका नहीं है। अपने कोड में JavaDoc टिप्पणियों का उपयोग करके, आप क्रियाओं के बारे में उनके नाम, विवरण, तर्क और डिफ़ॉल्ट मान जैसी सार्थक जानकारी प्रदान कर सकते हैं। आप JavaDoc टिप्पणी में @hidden true फ़्लैग जोड़कर फ़्लो संपादक में किसी क्रिया को छिपा भी सकते हैं।



बॉटप्रेस में कस्टम एक्शन कैसे बनाएं

यहां कुछ चरण दिए गए हैं जिनका पालन करके आप बॉटप्रेस में एक कस्टम एक्शन बना सकते हैं:



चरण 1: अपना बॉट बनाएं और एक नोड जोड़ें

आरंभ करने के लिए, बॉटप्रेस में एक नया बॉट बनाएं। एक बार जब आपका बॉट बन जाए, तो वार्तालाप प्रवाह में एक नया नोड जोड़ें।





चरण 2: अपने नोड में उपयुक्त संदेश जोड़ें

नए बनाए गए नोड में, उपयोगकर्ताओं के साथ सामग्री के आदान-प्रदान को सुविधाजनक बनाने के लिए आवश्यक संदेश जोड़ें। उदाहरण के लिए, आप उपयोगकर्ता को बधाई देने और उनका नाम पूछने के लिए एक टेक्स्ट संदेश जोड़ सकते हैं।



चरण 3: साइडबार से एक्ज़ीक्यूट कोड खोलें

बॉटप्रेस फ़्लो बिल्डर में साइडबार पर जाएँ और 'कोड संपादक' खोलें। यह वह जगह है जहां आप अपने कस्टम कार्यों का निर्माण और प्रबंधन कर सकते हैं।

  C:\Users\user01\Desktop\4124.PNG

चरण 4: 'कार्रवाई जोड़ें' बटन पर क्लिक करें

'निष्पादन कोड' अनुभाग में, 'कार्रवाई जोड़ें' बटन पर क्लिक करें। यह क्रिया 'एक नई एक्शन_लीगेसी बनाएं' विंडो खोलती है।

  C:\Users\user01\Desktop\tempsnip.png

चरण 5: फ़ाइल के लिए एक नाम निर्दिष्ट करें और सबमिट बटन पर क्लिक करें

'एक नई एक्शन_लीगेसी बनाएं' विंडो में, अपनी कस्टम एक्शन फ़ाइल के लिए एक सार्थक नाम दें; उदाहरण के लिए, CustomAction.js. एक बार नाम निर्दिष्ट करने के बाद, “सबमिट” बटन पर क्लिक करें। यह 'customAction.js' फ़ाइल बनाता है।

चरण 6: अपना कस्टम कोड लिखें

नव निर्मित 'customAction.js' फ़ाइल खोलें। फ़ाइल के अंदर, आपको बॉयलरप्लेट कोड दिखाई देगा जो एक नई कार्रवाई के लिए जेनरेट किया गया है। उचित टिप्पणियों का उपयोग करके अपनी कस्टम कार्रवाई के लिए एक सार्थक विवरण प्रदान करें।

अब, फ़ंक्शन के भीतर अपना कस्टम कोड लिखें। यह कोड आपके कस्टम एक्शन के व्यवहार को परिभाषित करता है। आप एपीआई कॉल करने, डेटाबेस तक पहुंचने या जटिल तर्क को संभालने जैसे विभिन्न कार्यों को करने के लिए जावास्क्रिप्ट का उपयोग कर सकते हैं।

चरण 7: कस्टम क्रिया का उपयोग करने के लिए अपने नोड को संशोधित करें

बॉटप्रेस फ्लो बिल्डर पर वापस जाएं और उस नोड को संशोधित करें जहां आप अपनी कस्टम कार्रवाई को ट्रिगर करना चाहते हैं। नोड में एक 'निष्पादित कोड' कार्ड जोड़ें।

चरण 8: अपना कस्टम एक्शन नाम चुनें और एक्शन पैरामीटर निर्दिष्ट करें

'निष्पादित कोड' कार्ड में, आपको एक ड्रॉपडाउन सूची दिखाई देगी जिसमें आपके सभी कस्टम कार्यों के नाम होंगे। सूची से अपनी कस्टम कार्रवाई का नाम चुनें. यदि आपकी कस्टम कार्रवाई के लिए किसी पैरामीटर की आवश्यकता है, तो आप उन्हें 'निष्पादित कोड' कार्ड के 'पैरामीटर' अनुभाग में निर्दिष्ट कर सकते हैं।

  C:\Users\user01\Desktop\tempsnip121.png

चरण 9: अपने बॉट से कार्रवाई करवाएं

अंत में, अपने बॉट को कस्टम कार्रवाई करने के लिए नोड में एक और कार्ड जोड़ें। आप अपने कस्टम एक्शन के परिणामों तक पहुंचने और उन्हें बॉट की प्रतिक्रिया में शामिल करने के लिए इवेंट में सहेजे गए वेरिएबल्स ('निष्पादित कोड' कार्ड में निर्दिष्ट) का उपयोग कर सकते हैं।

उदाहरण कस्टम कार्रवाई

मान लीजिए कि आप चाहते हैं कि आपका चैटबॉट किसी निर्दिष्ट स्थान के लिए वर्तमान मौसम की जानकारी प्रदान करे। आप एक कस्टम क्रिया बना सकते हैं जो मौसम एपीआई को कॉल करती है और मौसम डेटा लौटाती है।

स्थिरांक अक्ष = ज़रूरत होना ( 'अक्षियोस' );

स्थिरांक getWeather = async ( उपयोगकर्ता , सत्र, तर्क) => {

स्थिरांक स्थान = args.स्थान || 'न्यूयॉर्क' ;

स्थिरांक apiKey = 'आपका_मौसम_एपीआई_कुंजी' ;

const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${location}`;

कोशिश {

स्थिरांक प्रतिक्रिया = प्रतीक्षा axios.get(apiUrl);

स्थिरांक मौसमडेटा = प्रतिक्रिया.डेटा;

रिटर्न `${location} में वर्तमान मौसम ${weatherData.current.condition.text} है और तापमान ${weatherData.current.temp_c}°C है.`;

} पकड़ें (त्रुटि) {

वापस करना 'माफ़ करें, मैं कर सका \' फिलहाल मौसम की जानकारी प्राप्त करें। कृपया बाद में पुन: प्रयास करें।' ;

}

};

वापसी getWeather( उपयोगकर्ता , सत्र, तर्क);

यह क्रिया उपयोगकर्ता, सत्र और तर्क सहित कुछ तर्क लेती है जो कार्रवाई के लिए संदर्भ और डेटा प्रदान करते हैं। इस उदाहरण में, 'गेटवेदर' कस्टम कार्रवाई स्थान को एक तर्क के रूप में लेती है या प्रदान नहीं किए जाने पर 'न्यूयॉर्क' पर डिफ़ॉल्ट हो जाती है। कार्रवाई एक्सियोस का उपयोग करके मौसम एपीआई को कॉल करती है, मौसम डेटा प्राप्त करती है, और एक संदेश लौटाती है जिसमें मौसम की स्थिति और तापमान होता है।

कस्टम क्रियाओं के लाभ

बॉटप्रेस में कस्टम क्रियाएं कई लाभ प्रदान करती हैं जो आपके चैटबॉट की क्षमताओं और कार्यक्षमता को बढ़ाती हैं:

  1. वे चैटबॉट की कार्यक्षमता को अंतर्निहित क्षमताओं से आगे बढ़ाते हैं।
  2. वे बेहतर उपयोगकर्ता अनुभव के लिए अनुरूप इंटरैक्शन बनाते हैं।
  3. वे गतिशील प्रतिक्रियाओं के लिए एपीआई से वास्तविक समय का डेटा प्राप्त करते हैं।
  4. वे बैकएंड सिस्टम और डेटाबेस के साथ एकीकृत होते हैं।
  5. वे कस्टम कोड के साथ जटिल परिदृश्यों को संभालते हैं।
  6. वे चैटबॉट्स और फ़्लो में क्रियाओं का पुन: उपयोग करते हैं।
  7. वे कस्टम त्रुटि प्रबंधन और लॉगिंग लागू करते हैं।
  8. वे संसाधन-गहन कार्यों का अनुकूलन करते हैं।
  9. वे स्केलिंग के लिए बाहरी सेवाओं का लाभ उठाते हैं।
  10. वे पूर्व-निर्मित कस्टम क्रियाओं तक पहुँचते हैं और साझा करते हैं।

निष्कर्ष

बॉटप्रेस में कस्टम क्रियाएं चैटबॉट क्षमताओं का विस्तार करती हैं, इंटरैक्शन को निजीकृत करती हैं और बाहरी एपीआई को एकीकृत करती हैं। डेवलपर्स सर्वर-साइड जावास्क्रिप्ट फ़ंक्शंस बनाते हैं और उन्हें बॉटप्रेस फ़्लो बिल्डर से आमंत्रित करते हैं। ये क्रियाएं कोड पुन: प्रयोज्यता, बेहतर प्रदर्शन और स्केलेबिलिटी प्रदान करती हैं जो चैटबॉट्स को अधिक बहुमुखी और शक्तिशाली उपकरण बनाती हैं। बॉटप्रेस में कस्टम क्रियाओं का लाभ उठाने से नवीन और आकर्षक चैटबॉट अनुभव तैयार होते हैं।