आईआरसी बॉट कैसे विकसित करें: 12 कदम (चित्रों के साथ)

विषयसूची:

आईआरसी बॉट कैसे विकसित करें: 12 कदम (चित्रों के साथ)
आईआरसी बॉट कैसे विकसित करें: 12 कदम (चित्रों के साथ)

वीडियो: आईआरसी बॉट कैसे विकसित करें: 12 कदम (चित्रों के साथ)

वीडियो: आईआरसी बॉट कैसे विकसित करें: 12 कदम (चित्रों के साथ)
वीडियो: अपनी शादी की क्या शर्त रखी है पूज्या जया किशोरी जी नें? आइए जानते हैं उन्हीं से | Jaya Kishori 2024, अप्रैल
Anonim

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

कदम

विधि 1 में से 2: विकल्पों का मूल्यांकन

एक आईआरसी बॉट चरण 1 विकसित करें
एक आईआरसी बॉट चरण 1 विकसित करें

चरण 1. क्लाइंट स्क्रिप्ट स्थापित करने पर विचार करें।

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

एक आईआरसी बॉट चरण 2 विकसित करें
एक आईआरसी बॉट चरण 2 विकसित करें

चरण 2. अपने बॉट के लिए पहले से मौजूद कोडबेस पर विचार करें।

कई खुले स्रोत और मुफ्त कार्यक्रम मौजूद हैं जो आपको अपना अनुकूलित बॉट जल्दी से स्थापित करने में मदद कर सकते हैं। ऐसा ही एक उदाहरण एगड्रॉप है, सबसे पुराना आईआरसी बॉट अभी भी बनाए रखा जा रहा है।

एक आईआरसी बॉट चरण 3 विकसित करें
एक आईआरसी बॉट चरण 3 विकसित करें

चरण 3. अपना खुद का बॉट लिखने पर विचार करें।

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

  • PHP को php.net से डाउनलोड किया जा सकता है
  • PHP स्क्रिप्ट को कमांड लाइन से निष्पादित किया जा सकता है। अतिरिक्त जानकारी और PHP का उपयोग करने में सहायता के लिए, यह PHP मैन्युअल पृष्ठ देखें।

विधि २ का २: अपना खुद का बॉट विकसित करना

एक आईआरसी बॉट चरण 4 विकसित करें
एक आईआरसी बॉट चरण 4 विकसित करें

चरण 1. कनेक्शन विवरण इकट्ठा करें।

नेटवर्क से सफलतापूर्वक कनेक्ट होने के लिए आपको निम्न जानकारी प्राप्त करने की आवश्यकता होगी।

  • सर्वर: सर्वर का डोमेन नाम IRC से जुड़ने के लिए उपयोग किया जाता है, जैसे

    चैट.फ्रीनोड.नेट

  • बंदरगाह: ज्यादातर मामलों में, यह 6667 है, लेकिन यदि आप सुनिश्चित नहीं हैं, तो अपने स्वयं के आईआरसी क्लाइंट या नेटवर्क की वेबसाइट देखें।
  • उपनाम: आपके बॉट को जिस उपनाम का उपयोग करना चाहिए। ध्यान रखें कि कुछ विशेष वर्णों की आमतौर पर अनुमति नहीं है (@#!~)।
  • अध्यक्ष: जब कोई व्यक्ति इस तरह से WHOIS करता है, तो उपनाम के बाद पहचान फ़ील्ड दिखाई देती है:

    उपनाम!पहचान@होस्टनाम

  • GECOS: इस फ़ील्ड में आम तौर पर उपयोगकर्ता का वास्तविक नाम या बॉट का सामान्य विवरण होता है लेकिन आप वहां जो चाहें डाल सकते हैं।
  • चैनल: आप आमतौर पर चाहते हैं कि आपका बॉट एक या अधिक चैनलों में मौजूद रहे। अधिकांश नेटवर्क पर, ये '#' से पहले लगे होते हैं लेकिन यह कुछ और हो सकता है।
एक आईआरसी बॉट चरण 5 विकसित करें
एक आईआरसी बॉट चरण 5 विकसित करें

चरण 2. अपनी स्क्रिप्ट में कॉन्फ़िगरेशन प्रारंभ करें।

ऐसा करने का सबसे बुनियादी तरीका ऊपर दिए गए कॉन्फ़िगरेशन नामों के अनुसार कुछ चरों का नामकरण करना है। आप उन्हें एक कॉन्फ़िग फ़ाइल में भी स्टोर कर सकते हैं और उन्हें पार्स कर सकते हैं, लेकिन अभी के लिए हम केवल पूर्ण आवश्यकताओं के साथ रहेंगे।

एक आईआरसी बॉट चरण 6 विकसित करें
एक आईआरसी बॉट चरण 6 विकसित करें

चरण 3. नेटवर्क से कनेक्ट करें।

ऐसा करने के लिए, आपको निर्दिष्ट पोर्ट पर सर्वर के लिए एक सॉकेट खोलना होगा। यदि किसी भी कारण से कनेक्शन विफल हो जाता है, तो आपको इस भाग में कुछ त्रुटि प्रबंधन कोड भी जोड़ना चाहिए। इस मामले में, PHP हमें त्रुटि को प्रभावी ढंग से संभालने के लिए कुछ साफ-सुथरे कार्य प्रदान करता है।

एक आईआरसी बॉट चरण 7 विकसित करें
एक आईआरसी बॉट चरण 7 विकसित करें

चरण 4. अपना बॉट पंजीकृत करें।

इसका अर्थ है सर्वर को अपना उपनाम, पहचान और GECOS प्रदान करना, NickServ के साथ पंजीकरण नहीं करना। ऐसा करने के लिए, बस सर्वर पर NICK और USER कमांड लिखें, उसके बाद कैरिज रिटर्न और न्यूलाइन। यह अनिवार्य है कि आप इसे ठीक वैसा ही करें जैसा कि दिखाया गया है, क्योंकि यह RFC1459 में निर्दिष्ट है, जो IRC प्रोटोकॉल के लिए विनिर्देश है।

ध्यान दें कि मध्य दो पैरामीटर (इस मामले में, * और 8) निर्दिष्ट किए जाने चाहिए, लेकिन सर्वर द्वारा उन्हें अनदेखा कर दिया जाता है। उन दोनों का उपयोग केवल लिंक किए गए सर्वरों के बीच किया जाता है, सीधे कनेक्टिंग क्लाइंट द्वारा नहीं।

एक आईआरसी बॉट चरण 8 विकसित करें
एक आईआरसी बॉट चरण 8 विकसित करें

चरण 5. लूप का उपयोग करके सॉकेट से डेटा प्राप्त करते रहें।

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

एक आईआरसी बॉट चरण 9 विकसित करें
एक आईआरसी बॉट चरण 9 विकसित करें

चरण 6. एक पिंग हैंडलर लिखें।

यह महत्वपूर्ण है। यदि आप समय पर पिंग्स का जवाब नहीं देते हैं, तो सर्वर आपको डिस्कनेक्ट कर देगा। आइए पहले इसका ख्याल रखें। सर्वर से भेजे जाने पर पिंग्स इस तरह दिखते हैं:

पिंग: rajaniemi.freenode.net

. सर्वर को अपना नाम ':' के बाद रखने की आवश्यकता नहीं है, यह जो चाहे आपूर्ति कर सकता है। पोंग का उपयोग करने के अलावा, आपको सर्वर द्वारा कही गई बातों को *फिर से दोहराना होगा।

एक आईआरसी बॉट चरण 10 विकसित करें
एक आईआरसी बॉट चरण 10 विकसित करें

चरण 7. अपने चैनल से जुड़ें।

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

  • ऐसा करने के लिए, हम सर्वर स्थिति कोड 376 या 422 की जाँच करेंगे। 376 का अर्थ है MOTD (दिन का संदेश) समाप्त। 422 का मतलब है कि भेजने के लिए कोई MOTD नहीं था। जब आप कनेक्ट करते हैं तो एमओटीडी सर्वर भेजता है, लेकिन यह एक अच्छा संकेतक है जब हम चैनलों में शामिल होना शुरू कर सकते हैं।
  • आपको जॉइन कमांड जारी करनी होगी। इस आदेश के बाद अल्पविराम द्वारा अलग किए गए एक या अधिक चैनल हो सकते हैं।
  • ध्यान दें कि सर्वर जो डेटा भेजता है वह आसानी से रिक्त स्थान द्वारा सीमांकित किया जाता है। इस तरह हम डेटा को विभाजित कर सकते हैं और इसे एक सरणी अनुक्रमणिका का उपयोग करके संदर्भित कर सकते हैं।
एक आईआरसी बॉट चरण 11 विकसित करें
एक आईआरसी बॉट चरण 11 विकसित करें

चरण 8. चैनल संदेशों का जवाब दें।

अब मज़ेदार हिस्से के लिए। आपका बॉट चैनल में शामिल हो गया है, इसलिए अब आप इसका उपयोग अपने इच्छित कार्यों के लिए कर सकते हैं। आइए @moo नामक एक उदाहरण कमांड बनाते हैं।

  • उस ऑफसेट पर ध्यान दें जहां संदेश शुरू होते हैं (यह चैनल और निजी संदेशों दोनों पर लागू होता है)। यह हमेशा एक ही स्थान पर होता है।
  • आप खंडित डेटा को एक साथ वापस जोड़कर कमांड को रिक्त स्थान के साथ संभाल सकते हैं ($d)। यह इस लेख के दायरे से बाहर है।
  • यदि लक्ष्य एक चैनल है (जैसे #botters-test), तो आप उसका उत्तर दें। यदि यह एक निजी संदेश है, तो यह बिट आपके बॉट का उपनाम होगा! फिर आपको प्रेषक के उपनाम का उपयोग करके उत्तर देना होगा, आपका नहीं (अन्यथा आप अपने आप से बात कर रहे होंगे, और यह सिर्फ मूर्खतापूर्ण है)।
एक आईआरसी बॉट चरण 12 विकसित करें
एक आईआरसी बॉट चरण 12 विकसित करें

चरण 9. अपने बॉट का विस्तार करें।

आप उपरोक्त कार्यान्वयन का उपयोग करके कई नई सुविधाएँ जोड़ सकते हैं। कई अन्य कमांड हैं जो IRC नेटवर्क को जारी किए जा सकते हैं, जैसे कि ऑप्स को मैनेज करना, किक करना और बैन करना, टॉपिक को सेट करना, कई अन्य विशेषताओं के बीच।

टिप्स

  • आप अपने संदेशों को इस तरह से प्रीफ़िक्स करके "/me" कमांड का परिणाम तैयार कर सकते हैं:

    • PRIVMSG #चैनल:\001ACTION टेक्स्ट यहां\001.
    • 001 का अर्थ ASCII वर्ण 1 है और इसकी व्याख्या डबल कोटेड PHP स्ट्रिंग के रूप में की जाएगी। वैकल्पिक रूप से, आप उपयोग कर सकते हैं

      सीआर(1)

    • स्ट्रिंग के बाहर।
  • एक संदेश में "\003" (ASCII कोड 3) उपसर्ग करके रंग के लिए एक संख्या के बाद रंगों का उत्पादन किया जा सकता है। 0 = सफ़ेद, 1 = काला, 2 = नीला, 3 = हरा, 4 = लाल […] अधिक रंगों के लिए एमआईआरसी का पेज देखें।
  • शिष्टाचार के तौर पर, अपना बॉट ऑनलाइन लाने से पहले चैनल मालिकों और आईआरसी ऑपरेटरों की सहमति लें। बॉट्स के प्रति सभी नेटवर्क और चैनलों की स्वागत नीति नहीं है, यहां तक कि अच्छे व्यवहार वाले भी।
  • कुछ आईआरसी डेमॉन प्रोटोकॉल के विनिर्देशों से परे जाते हैं और अन्य सुविधाओं को लागू करते हैं। यदि आप इसे किसी विशिष्ट नेटवर्क के लिए तैयार कर रहे हैं, तो आप निश्चित रूप से उन सुविधाओं का उपयोग कर सकते हैं यदि आप उनके प्रोटोकॉल के बारे में जानते हैं। यदि आप चाहते हैं कि आपका बॉट कई नेटवर्क पर तैनात किया जाए, तो इसे RFC में रखने की कोशिश करें।

सिफारिश की: