यस लेखमा, हामी सामान्य रूपमा बोट सिर्जना गर्ने कुरा गर्छौं। तपाईं केवल सम्पूर्ण सबमिट कोड प्रतिलिपि गर्न सक्नुहुनेछ, र आफैंमा यसलाई सम्पादन गर्न सक्नुहुन्छ यदि तपाईं जाभास्क्रिप्ट सीपहरू हुनुहुन्छ भने। यो बोट हामी द्वारा सिर्जना गरिएको थियो, तर केहि चरणहरूमा प्रयोगकर्ताले अझै पनि विभिन्न समस्याहरूको सामना गर्न सक्दछ, त्यसैले यदि त्यहाँ छन् भने स्क्रिन त्रुटि कोडहरूमा देखा पर्दछ, तर यदि त्यहाँ छन् भने स्क्रिन त्रुटि कोडहरूमा देखा पर्दछ।
यदि यो आदर्श छ कि यो सामग्री तपाईको लागि धेरै जटिल छ वा अन्य कारणहरूको लागि उपयुक्त छैन, संगीत बजाउन तयार नि: शुल्क जीट्स प्रयोग गर्नुहोस्। तलको लिंकमा लेख तपाइँले यसको बारेमा विस्तृत जानकारी पाउनुहुनेछ र तपाईं कार्य लागू गर्न सक्नुहुन्छ।
थप पढ्नुहोस्:
डिस्र्जनमा सर्वर बोट थप्दै
कुराकानी मार्फत संगीत खेल्नुहोस्
चरण 1: नयाँ अनुप्रयोग सिर्जना गर्दै
खारेजका लागि प्रत्येक बोट विकासकर्ताहरूको लागि आधिकारिक पोर्टलमा दर्ता हुनुपर्दछ। त्यसोभए तपाईंले अनुमतिहरू र बोटको सामान्य व्यवहारलाई सबै आवश्यक सेटिहरूहरूमा पहुँच प्राप्त गर्न सक्नुहुनेछ, तपाईं व्यक्तिगत सर्वरमा यसको प्राधिकरणको लिंक प्रतिलिपि गर्न सक्नुहुनेछ, जुन आदेशहरूको थप कटौती प्रयोग गर्न आवश्यक छ।
डिस्कर्ड विकासकर्ता पोर्टलको आधिकारिक वेबसाइटमा जानुहोस्
- विकासकर्ताहरूको लागि पोर्टलको मुख्य पृष्ठ खोल्न माथिको लिंक प्रयोग गर्नुहोस्, फोर्ज गर्नुहोस् व्यक्तिगत खातामा लग इन गर्नुहोस् र नयाँ अनुप्रयोग सिर्जना गर्न "नयाँ अनुप्रयोग" क्लिक गर्नुहोस्।
- उहाँको नाम प्रविष्ट गर्नुहोस्, विशिष्टता दिनुहोस्, किनकि यदि त्यहाँ समान नामको धेरै बोटहरू छन् भने, यो सिर्जना गर्न सम्भव छैन - पुन: नानामा नजीक जानकारी दिइनेछ।
- पूरा भएपछि साइटमा मेनू खोल्नुहोस् र "बोट" कोटि चयन गर्नुहोस्।
- "बिल्डर-अ-बोट" स्ट्रिंगको विपरीत "बोट थप्नुहोस्" मा क्लिक गर्नुहोस्।
- चयनित अनुप्रयोगको लागि बोटको थप निश्चित गर्नुहोस्।
- एक परिचित मेनू मार्फत, «outh2» मा जानुहोस्।
- यो सेक्सन बोट र यसको प्राधिकरणको सामान्य प्यारामिटरहरूको लागि जिम्मेवार छ। "स्कोपमा" ब्लकमा, "बोट" अनुच्छेद चिन्ह लगाउनुहोस्।
- अनुमतिहरूको सूचीमा, आवाज च्यानल र बोल्ने क्षमतालाई जोड्ने निश्चित हुनुहोस्, किनकि यो थप प्रसारण संगीतको लागि आवश्यक छ।
- बोटले सन्देशहरू पढ्न र पठाउन सक्षम हुनुपर्दछ, त्यसैले पाठ च्याट अनुमतिहरूसँग अनुभागमा यी विकल्पहरू सक्षम गर्न नबिर्सनुहोस्। अवश्य पनि, तपाईं एकैचोटि सबै अनुमतिहरू प्रदान गर्न सक्नुहुनेछ, तर यो दृष्टिकोण अविश्वसनीय छ, विशेष गरी यदि तपाईं एक जन प्रयोगकर्ताको लागि बोट बनाउनुहुन्छ।
- अनुमति प्राप्त हुने बित्तिकै अनुमति पूरा हुने बित्तिकै सर्वरमा पहिलो प्राधिकरणको लागि लिंक प्रतिलिपि गर्नुहोस्, किनकि अन्यथा यसलाई थप्दैन।
- यो लिंक अनुसरण गर्नुहोस् र परीक्षण सर्भर चयन गर्नुहोस् जहाँ तपाईं बोट जाँच गर्न चाहानुहुन्छ।
- क्याप्चर गर्नुहोस् क्याप्चर गर्नुहोस् र सफल प्राधिकरणको बारेमा जानकारीको लागि प्रतीक्षा गर्नुहोस्।
अब तपाईंसँग एक अद्वितीय टोकनको साथ बोट छ, र बोट सर्भरमा थपिएको छ, तर अफलाइन मोडमा हुँदा। यसलाई सुरू गर्न, यो स्थानीय कम्प्युटरमा केहि बढी कार्यहरू गर्नु पर्दछ, किनकि हामीले अफलाईन अपरेशनको लागि बोटि suppending बोट लगाउँदैनौं।
चरण 2: तयारी कार्यहरू
तयारी कार्यहरूमा आवश्यक निर्देशिकाहरू र फाईलहरू, उपकरण र ती लागि निर्भरताहरूको स्थापना समावेश गर्दछ। यसमा जटिल केहि पनि छैन, तपाइँले केवल प्रत्येक कार्यलाई बदल्नको लागि, ध्यानपूर्वक कुनै चरणमा त्रुटिहरू अनुसरण गर्न आवश्यक छ।
- बोटको नामको साथ फोल्डर सिर्जना गर्नुहोस्। तपाईं कुनै पनि ठाउँ रोज्न सक्नुहुन्छ, तर प्रयोगकर्ताको गृह फोल्डर यसको लागि उत्तम उपयुक्त छ।
- यसमा दुई फाईलहरू सिर्जना गर्नुहोस्: "कन्फिगलिग.json" र "अनुक्रमणिका .Js"। पहिलो स्थापनामा बोटको समग्र कन्फिगरेसन स्थापना गर्नुहोस् - यसको उपसर्ग र अनौंठो टोकन, र दोस्रोमा कमाण्ड र यस उपकरणको साझा कार्यहरूको साथ सम्पूर्ण कार्यक्रम कोड।
- बोटको कामका लागि नोड.js को आवश्यकता छ। यो उपकरण स्थानीय कम्प्युटरमा स्क्रिप्टहरू सुरू गर्न डिजाइन गरिएको हो। तल लिंक अनुसरण गर्नुहोस् र विन्डोजको लागि यसको स्थापनाकर्ता डाउनलोड गर्नुहोस्।
आधिकारिक साइटबाट Node.js डाउनलोड गर्नुहोस्
- कार्यान्वयन योग्य फाइल कार्यान्वयन योग्यको डाउनलोड गर्ने आशा गर्नुहोस्, स्क्रिनमा प्रदर्शित निर्देशनहरू पालना गर्दै, सरल स्थापना प्रक्रिया पार गर्नुहोस्।
- त्यस पछि, "कमान्ड लाइन" तपाईंको लागि सुविधाजनक खोल्नुहोस्, उदाहरणका लागि, "रन" उपयोगिता (यसले जीत + r कुञ्जी संयोजन सुरू गर्दछ)।
- विचर्ड एपीआईको साथ काम गर्न मोड्युल स्थापना गर्नुहोस्, जसलाई "डिस्कफोर्ड.jes" भनिन्छ। यो गर्नका लागि, कन्सोल विन्डोमा खोल्ने, एनपीएम स्थापना डिस्कर्ड प्रविष्ट गर्नुहोस् .Js FFMPEG-Brearies overdl-कोर - आलूता दिनुहोस् - त्यसैले तपाईं तुरून्त आवश्यक निर्भरताहरू थप्नुहोस्।
- एक सफल स्थापनामा स्क्रीनमा सूचनाहरूमा पर्खनुहोस्, वर्तमान कन्सोल विन्डो बन्द नगरीकन। यदि त्रुटिहरू देखा पर्दछन्, तिनीहरूको कोड सिक्नुहोस् र खोज ईन्जिन प्रयोग गर्नुहोस् र फोरमहरू वा आधिकारिक वेबसाइटमा काम निर्णय लिन खोज ईन्जिन प्रयोग गर्नुहोस्।
नतिजाको रूपमा, प्रयोगकर्ताको होम फोल्डर नोड कम्पोनेन्टसँग सम्बन्धित फाईलहरू देख्ने र मोड्युल पछि थपियो। कम्प्युटर पुन: सुरू गर्नुहोस् ताकि बोट स्टार्टअप छैन, त्यसपछि अर्को चरणमा जानुहोस्।
चरण :: सम्पादन बोट कन्फिगरेसन फाइल सम्पादन गर्दै
तपाईंलाई पहिले नै थाहा छ कि त्यहाँ सिर्जना गरिएको बोट कन्फिगरेसन फाइलमा प्रयोग गरिएको उपसर्ग (सर्भरमा कमाण्डमा प्रवेश गर्नु अघि, एप्लीमा अनुप्रयोगको लागि जिम्मेवार ठहरिन्छ। सबै थप कार्यहरू पूरा गर्न, हामी js सिन्ट्याक्स समर्थन वा कुनै पनि उन्नत पाठ सम्पादकको साथ कार्यक्रम डाउनलोड गर्दैछौं यदि यो पहिले यो गरिएको छैन भने। तलको लिंकमा लेख तपाईं उपलब्ध उपयुक्त समाधानको साथ आफूलाई परिचित हुन सक्षम हुनुहुनेछ।
थप पढ्नुहोस्: प्रोग्रामिंगका लागि विकास वातावरण चयन गर्दै
यो कम्प्युटरमा स्थापना भएको छ र काम गर्न तयार छ, तपाईं सुरक्षित रूपमा कन्फिगरेसन फाइल सम्पादन गर्न सक्नुहुनेछ, प्रयोगकर्ता डाटा प्रविष्ट गर्न।
- एक पाठ सम्पादक वा विकास वातावरण मार्फत कन्फिगिग फाइल चलाउनुहोस्, तल कोड घुसाउनुहोस्।
{
"उपसर्ग": "!",
"टोकन": "तपाईंको खाके"
}
अपेक्षितमा डबल उद्धरणमा फायरफाइक्स परिवर्तन गर्नुहोस् वा एक विस्मलीकार मार्क छोड्नुहोस्। यो चिन्ह प्रयोग गरेर आदेशको उदाहरण यस्तो देखिन्छ :! खेल।
- विकास पोर्टलमा तपाईंको बोटमा जानुहोस्, त्यहाँ एक अनौंठो टोकन फेला पार्नुहोस् र यसलाई प्रतिलिपि गर्नुहोस्।
- डबल उद्धोषणहरू मेटाउँदै तपाईंको-टोक निरीक्षण घुसाउनुहोस्।
- परिवर्तनहरू बचत गर्नुहोस् र यो फाईल बन्द गर्नुहोस्। के भने, तपाईं मानक "नोटबुक" मार्फत समान कार्य गर्न सक्नुहुन्छ।
कन्फिगरेसन फाईलसँग यस कार्यहरूमा पूरा भयो, त्यहाँ अब छैन जुन अब तपाईंले कोडको एकल लाइन तोक्नु आवश्यक पर्दैन। यसलाई बन्द गर्नुहोस्, बिर्सनु बिना नै सम्पादनहरू बचत गर्न, र संगीत बजाउन बोटलाई लेख्न अगाडि बढ्नुहोस्।
चरण :: परीक्षण सुरूवात बोट
पहिले, हामीले यो सुनिश्चित गर्नु आवश्यक छ कि बोट सामान्यतया सर्भरमा चलिरहेको छ र अनलाइन मोडमा जान्छ, यो कोडमा यसको मुख्य भाग लेख्न आवश्यक हुन्छ, र सुरू गर्न नोड।
- विकास वातावरण वा चयनित पाठ सम्पादक मार्फत, सम्पादनको लागि उल्लेखित फाइल खोल्नुहोस्।
- निर्भरता स्थापनाको लागि जिम्मेवार छ र प्रयोग गरिएको मोड्युलहरू दर्साउँछ:
कन्भर्ट डिस्कफोर्ड = आवश्यक ('DENT.JS');
बस्ती {
उपसर्ग,
चकन्नु
= = आवश्यक छ ('./ CLIN CLIN.json');
UTDL = ('YTDL-कोर'))
- पहिले निर्दिष्ट गरिएको टोकनको सहयोगको साथ, एक ग्राहक र लगइन सिर्जना गर्नुहोस्, जुन केवल दुई साधारण लाइनहरू प्रविष्ट गरेर गरिन्छ:
करोड क्लाइन्ट = नयाँ विस्थापन ();
ग्राहक.lagin (टोक लगाउनुहोस्);
- यो बोट सुन्न को लागी अन्तिम आधारभूत लाइनहरु निर्दिष्ट गर्न मात्र बाँकी छ।
ग्राहकको.योसेस ('तयार', () => {{{{
कन्सोल.log ('तयार!');
});
ग्राहक.योसेज ('पुन: जमिन', () => {>
कन्सोल.lug ('पुन: जडान गर्दै!');
});
ग्राहक.योसेस ('विच्छेदन', () => {{{
कन्सोल.lug ('विच्छेदन!');
});
- "फाईल" मेनू विस्तार गर्नुहोस् र बनाइएको परिवर्तनहरू बचत गर्नुहोस्।
- एक सुविधाजनक तरीकामा कन्सोल चलाउनुहोस्।
- यो बोट स्क्रिप्ट सुरू गर्न नोड सूचकांक .JS आदेश प्रविष्ट गर्नुहोस्।
- यदि यसको फाईलहरू प्रयोगकर्ताको होम डाइरेक्टरीमा अवस्थित छैन भने नोड पछि पूर्ण निर्दिष्ट गर्नुपर्दछ।
- बोटको सफल प्रक्षेपण देखाइएको छ जुन देखाइएको शिलालेख "तयार छ!"।
- डिस्डर्ड खोल्नुहोस् र बोटलाई "अनलाइन" को स्थितिमा पुग्छ भनेर निश्चित गर्नुहोस्।
चरण :: संगीत बटनको मुख्य कोड लेख्दै
सबैभन्दा जटिल प्रक्रिया बाँकी छ - संगीत बोटको लागि आधारभूत कोड लेख्दै। त्यहाँ कार्यहरूको सूची छ जुन प्रदर्शन गर्नुपर्दछ: सन्देशहरू पढ्ने र प्रशोधन गर्ने आदेशहरू पढ्ने र यसको ठेगानाको परिभाषा, आवाज च्यानल र प्लेब्याकमा जडान गर्दै। यी सबै बोटहरूमा अनुमतिहरू छन्, त्यसैले तपाईंले जाभास्क्रिप्ट कार्यहरू प्रयोग गरेर कार्यहरू निर्दिष्ट गर्नु आवश्यक छ, जुन उही "अनुक्रमणिका.jes" फाईलमा प्रदर्शन गरिन्छ।
सन्देशहरू पढ्नको लागि साधारण सुविधा थप्नुहोस्:
ग्राहक.ON ('सन्देश', एशिन्कल सन्देश => {{
}
यसले दुई लाइनमा मात्र समावेश गर्दछ, तर बोटलाई अनुकूलन क्वेरी लिनको लागि अनुमति दिनेछ र सही रूपमा प्रशोधन गर्दछ। यो भन्न सकिन्छ कि यो कुनै पनि प्रकारको बोटका लागि सबैभन्दा महत्त्वपूर्ण टोली मध्ये एक हो। प्रविष्ट गरेर अन्य बोटबाट सन्देशहरू बेवास्ता गर्न निश्चित गर्नुहोस्
यदि (सन्देश.अधिकता .bot) फर्कनुहोस्;
यसले सर्भरमा एकै साथ बहु जट्स प्रयोग गर्दा द्वन्द्वहरूलाई वेवास्ता गर्दछ। अर्को, उपसर्ग जाँच गर्न आवश्यक हुनेछ ताकि बोटले टोलीलाई ग्रहण गर्यो वा फर्कायो।
यदि (! सन्देश.conteTENTENTER.STARTSwith (उपसर्ग)) फिर्ता;
जाँच गर्दै प्रशस्त आदेशहरू सरल यदि यदि अपरेटरहरू प्रयोग गरेर बाहिर निकालिएका छन् यदि हाम्रो केसमा डिजाइन यस जस्तो देखिन्छ भने:
सर्भर सर्भर क्वालिच = लाम.get (सन्देश .विशियल। अप);
यदि (सन्देश.conteTENTENT.STARTSwith (`$ E {Prefix} प्ले`)))
कार्यान्वयन (सन्देश, सर्भर क्रीव्यू);
फर्किनु;
Other अन्यथा यदि (सन्देश.conteTENTINT.STARTSwith (`$ E9 {Prefix} स्किप))
स्किप (सन्देश, सर्भरचुकिलो);
फर्किनु;
Other अन्यथा यदि (सन्देश.conteTENTENTER.STARTSwith (`$ E9 {Prefix} रोक्नुहोस्))
रोक्नुहोस् (सन्देश, सर्भरचुकिलो);
फर्किनु;
} अन्य
सन्देश। Qune.chand ('तपाईले अवस्थित आदेश प्रयोग गर्नु पर्छ!')
}
कृपया नोट गर्नुहोस् कि आर्क ('') प्रकार्यले प्रयोगकर्तालाई सन्देश पठाउँदछ यदि यसले अचानक गैर-कार्यदानको कमाण्डमा प्रवेश गर्दछ भने। यो सन्देश तपाईले सम्पादन गर्न सक्नुहुनेछ, उद्धरणमा शिलालेखहरू परिवर्तन गर्न सक्नुहुन्छ।
अब बोटले आदेशहरू लिन सिके, तर यसले उनीहरूसँग कुराकानी गर्न सक्दैन, किनकि कार्यहरू तोकिएको छैन। पहिले प्ले आदेश थप्नुहोस्, जुन प्लेब्याकको लागि जिम्मेवार छ। यसको लागि, निम्न फारमको साथ एक एर्रे आवश्यक छ:
कच्चा = नयाँ नक्शा ();
उसले लाममा सबै कमाण्डहरू पठाउँदछ र अघिल्लो एक समाप्त हुन्छ भने मात्र गीतहरू बनाउँदछ। अर्को, यो एक प्रकार्य सिर्जना गर्न आवश्यक हुनेछ कि यदि आवाज च्यानलमा जडित छ भने र बोट सम्बन्धित अनुमतिहरू हो कि जाँच गर्दछ।
Asynnc प्रकार्य कार्यान्वयन (सन्देश, सर्भर क्रीयल) {
कभर आर्गुनहरू = सन्देश। पाठेटेन्ट.plit ('');
CONK OSNCHUCHACH = सन्देश
यदि (! bekcuchuchnel) रिटर्न सन्देश रिटर्न गर्नुहोस्
कन्भेन्ट अनुमतिहरू = भ्वाइचेनल.परजिंगफर (सन्देश। Verient.user);
यदि (! अनुमतिहरू ('जडान') ||: अनुमतिहरू ('बोल्ने')))))))))))))) अनुमति दिइयो।
सन्देश सन्देशमा फर्कनुहोस्। कन्डर। कन्डन्ड ('मलाई तपाईंको आवाज च्यानल बोल्न अनुमति दिनुहोस्!');
}
}
अर्को कार्य - YTDL पुस्तकालय जडान गर्दै, किनकि यस बोटले यूट्यूबबाट लिंकमा गीतको नाम पढ्नेछ, पछि यसलाई सर्वरमा खेल्दछ। यो कोड सम्मिलितको सानो टुक्रा घुसाइन्छ।
गँगन गीत = itDl.getinffo (ARGS [1])
गुट गीत = {
शीर्षक: गीतनिनोफेफेफेजल।
URL: गीतनिनफो.भेरो_पुर,
};
कोडको अर्को खण्डले तपाईंलाई बुझ्न अनुमति दिईन्छ कि यदि त्यहाँ लाममा गीतहरू छन् वा तपाईं तुरून्त आवाज च्यानलमा जडान गर्न सक्नुहुनेछ र प्लेब्याक सुरू गर्न सक्नुहुनेछ।
यदि (! सर्भर क्र्वर) {
} अन्य
सर्भर क्वेस्टेज.पीएस ongs.push (गीत);
कन्सोल.lug (सर्भर क्रीयल.एस ong ्गहरू);
सन्देश सन्देशमा फर्कनुहोस्
}
अर्को नोभिसिस प्रोग्रामरहरू अनुबन्ध योजनाको लागि एक सानो जटिल आउँछ जुन एक एर्रेमा गीत थप गर्दछ र प्रत्येक चोटि तपाईं प्रविष्ट गर्नुहुन्छ! खेल्नुहोस्, लामलाई जाँच गरेर र सही कार्य छनौट गर्नुहोस्। प्रस्तुत टिप्पणीहरूलाई ध्यान दिनुहोस्, जसले सबै सूक्ष्मताहरूसँग व्यवहार गर्न अनुमति दिन्छ।
// लामको लागि अनुबन्ध सिर्जना गर्दै
Gawnterontator = {
पाठ संकचन: सन्देश
Oschuchunc: भ्रष्टाचार,
जडान: शून्य,
गीतहरू: [],
भोल्यूम: ,
खेल्दै: सत्य,
};
// हाम्रो सम्झौताको साथ लाम सेट गर्नुहोस्
kyt.set (सन्देश
// गीतहरू को एर्रेमा रचना घुसाउनुहोस्
kntortratic.songs.push (गीत);
प्रयास गर्नुहोस् {
// यहाँ हामी आवाज च्याट गर्न कोशिस गर्दैछौं र वस्तुमा जडान बचत गर्न प्रयास गर्दैछौं
VIN जडान = कोंप्न अधीनको प्रतीक्षालय। जेनोन ();
Qucoratchatation.connionce = जडान;
// गीत सुरू गर्न प्लेब्याक प्रकार्य कल गर्दै
प्ले (सन्देश। ल्युडिस्टेचर, लाम chowntsongs [0]);
} समात्नुहोस् (एरआर) {
// यदि बोटले आवाज कुराकानीमा सामेल हुन सक्दैन भने एक त्रुटि सन्देश प्रदर्शन गर्नुहोस्
कन्सोल .ण (ईर);
लाम .डोल (सन्देश .विसिड.ID);
सन्देश सन्देश फिर्ता गर्नुहोस्। Qune.chand (ईर);
}
लाममा, सबै स्पष्ट छ, तर अझै गीतहरू खेल्दैन, किनकि त्यहाँ खेल प्रकार्यको लागि कुनै असाइनमेन्ट छैन। कोडमा यो गर्न यो संरचना थप्न आवश्यक छ
प्रकार्य प्ले (गिल्ड, गीत) {
सर्भर सर्भर क्वेरी = gam.get (गिल्ड.id.id);
यदि (! गीत) {
सर्भर क्वेलिभूखचिनुभनल। Aveaveave;
लाम .दली (गिल्ड.id.id);
फर्किनु;
}
}
प्लेनिंग प्लेस्ट्रीम () प्रकार्य () कार्य र ट्र्याकमा निर्दिष्ट लिंक प्रयोग सुरु हुन्छ।
कन्भर्टिचर = सर्भर। कन्फर्मेन्क्शन .्ग्राफ्रीम (YTDL (गीत)))
.यो ('अन्त', () => {{{
कन्सोल.lug ('संगीत सकियो!')
// लामबाट समाप्त गीत हटाउँछ
सर्भर क्वेस्टेज .Songs.shift ();
// फेरि निम्न गीतहरूको साथ प्लेब्याक प्रकार्य
प्ले (गिल्ड, सर्भर क्र्क्ली.स us ण [0]);
})
.यो ('त्रुटि', त्रुटि => {
कन्सोल. वारर (त्रुटि);
});
एडेटेचर.सेटपुलगारोगुन्डिथमिक (सर्भर छनौटकय.भुलमे /));
यदि तपाईं एक गीत स्किप प्रकार्य थप्न चाहानुहुन्छ, उदाहरणका लागि, जब तपाईं एक प्लेलिस्ट खेल्न निर्णय गर्नुहुन्छ, पहिले उपयुक्त आदेशको ख्याल राख्नुहोस्, र त्यस्तै अंश थप्नुहोस्:
प्रकार्य स्किप (सन्देश, सर्भरचुमुखी) {
यदि (! सन्देश
यदि (! सर्भर क्रीयल) रिडर्डि qure.cann Qunder ('त्यहाँ कुनै गीत छैन जुन म छोड्छु!');
सर्भर क्लीचनेसन .डीस्पति।
}
लगभग समान योजनाले पनि स्टप प्रकार्यलाई काम गर्दछ, तर कोडको साथ ब्लकले थोरै फरक देखिन्छन्:
प्रकार्य स्टप (सन्देश, सर्भरचुमुख) {
यदि (! सन्देश। Meebobuchannel) रिटर्न सन्देश रिटर्न सन्देश
संगीत रोक्न तपाई आवाज च्यानलमा हुनुपर्दछ! ');
सर्भर क्वेस्टेज.Songs = [];
सर्भर क्लीचनेसन .डीस्पति।
}
विचार गर्नुहोस् कि माथि प्रस्तुत गरिएको जानकारीहरू ती प्रयोगकर्ताहरूको लागि मात्र उपयुक्त छ कि जाभास्क्रिप्ट भाषासँग परिचित व्यक्तिहरूको लागि मात्र उपयुक्त छ वा अध्ययन गर्नेमा मात्र संलग्न छ र एक संगीत बटन सिर्जना गर्ने निर्णय गर्नुभयो। यदि तपाईं सामान्यमा र निर्दिष्ट ब्लकहरू स्वामित्वको साथ स्वामित्वको साथ हुनुहुन्न भने तपाईं सबैमा केहि पनि भन्नुहुन्न, केवल सम्पूर्ण स्रोत कोड फाईलमा राख्नुहोस् (तिनीहरू उद्धरणहरू छन्) र बचत गर्नुहोस् परिवर्तन। सबै स्रोत कोडसँग यस प्रकार छ:
कन्भर्ट डिस्कफोर्ड = आवश्यक ('DENT.JS');
बस्ती {
उपसर्ग,
चकन्नु
= = आवश्यक छ ('./ CLIN CLIN.json');
UTDL = ('YTDL-कोर'))
करोड क्लाइन्ट = नयाँ विस्थापन ();
कच्चा = नयाँ नक्शा ();
ग्राहकको.योसेस ('तयार', () => {{{{
कन्सोल.log ('तयार!');
});
ग्राहक.योसेज ('पुन: जमिन', () => {>
कन्सोल.lug ('पुन: जडान गर्दै!');
});
ग्राहक.योसेस ('विच्छेदन', () => {{{
कन्सोल.lug ('विच्छेदन!');
});
ग्राहक.ON ('सन्देश', एशिन्कल सन्देश => {{
यदि (सन्देश.अधिकता .bot) फर्कनुहोस्;
यदि (! सन्देश.conteTENTENTER.STARTSwith (उपसर्ग)) फिर्ता;
सर्भर सर्भर क्वालिच = लाम.get (सन्देश .विशियल। अप);
यदि (सन्देश.conteTENTENT.STARTSwith (`$ E {Prefix} प्ले`)))
कार्यान्वयन (सन्देश, सर्भर क्रीव्यू);
फर्किनु;
Other अन्यथा यदि (सन्देश.conteTENTINT.STARTSwith (`$ E9 {Prefix} स्किप))
स्किप (सन्देश, सर्भरचुकिलो);
फर्किनु;
Other अन्यथा यदि (सन्देश.conteTENTENTER.STARTSwith (`$ E9 {Prefix} रोक्नुहोस्))
रोक्नुहोस् (सन्देश, सर्भरचुकिलो);
फर्किनु;
} अन्य
सन्देश। Qune.chand ('तपाईले एक मान्य आदेश प्रविष्ट गर्न आवश्यक छ!')
}
});
Asynnc प्रकार्य कार्यान्वयन (सन्देश, सर्भर क्रीयल) {
कभर आर्गुनहरू = सन्देश। पाठेटेन्ट.plit ('');
CONK OSNCHUCHACH = सन्देश
यदि (! bekcuchchnel) रिटर्न रिटर्डि Qu.cunder। QUnd ('संगीत बजाउन तपाईं आवाज च्यानलमा हुनु आवश्यक छ!'
कन्भेन्ट अनुमतिहरू = भ्वाइचेनल.परजिंगफर (सन्देश। Verient.user);
यदि (! अनुमतिहरू ('जडान') ||: अनुमतिहरू ('बोल्ने')))))))))))))) अनुमति दिइयो।
सन्देश सन्देश फिर्ता गर्नुहोस्। कंकेनेल ('मलाई तपाईको आवाज च्यानलमा भाग लिन र बोल्न अनुमति चाहिन्छ!');
}
गँगन गीत = itDl.getinffo (ARGS [1])
गुट गीत = {
शीर्षक: गीतनिनोफेफेफेजल।
URL: गीतनिनफो.भेरो_पुर,
};
यदि (! सर्भर क्र्वर) {
Gawnterontator = {
पाठ संकचन: सन्देश
Oschuchunc: भ्रष्टाचार,
जडान: शून्य,
गीतहरू: [],
भोल्यूम: ,
खेल्दै: सत्य,
};
kyt.set (सन्देश
kntortratic.songs.push (गीत);
प्रयास गर्नुहोस् {
VIN जडान = कोंप्न अधीनको प्रतीक्षालय। जेनोन ();
Qucoratchatation.connionce = जडान;
प्ले (सन्देश। ल्युडिस्टेचर, लाम chowntsongs [0]);
} समात्नुहोस् (एरआर) {
कन्सोल .ण (ईर);
लाम .डोल (सन्देश .विसिड.ID);
सन्देश सन्देश फिर्ता गर्नुहोस्। Qune.chand (ईर);
}
} अन्य
सर्भर क्वेस्टेज.पीएस ongs.push (गीत);
कन्सोल.lug (सर्भर क्रीयल.एस ong ्गहरू);
सन्देश सन्देशमा फर्कनुहोस्
}
}
प्रकार्य स्किप (सन्देश, सर्भरचुमुखी) {
यदि (! सन्देश। म्यूम्बर.विम्बेंसक) रिटर्न सन्देश फिर्ता गर्नुहोस्। Qunder.chand ('तपाइँ संगीत रोक्न को लागी एक आवाज च्यानलमा हुनुपर्दछ!');
यदि (! सर्भर क्रीयल) रिडर्डि qure.cann Qunder ('त्यहाँ कुनै गीत छैन जुन म छोड्छु!');
सर्भर क्लीचनेसन .डीस्पति।
}
प्रकार्य स्टप (सन्देश, सर्भरचुमुख) {
यदि (! सन्देश। म्यूम्बर.विम्बेंसक) रिटर्न सन्देश फिर्ता गर्नुहोस्। Qunder.chand ('तपाइँ संगीत रोक्न को लागी एक आवाज च्यानलमा हुनुपर्दछ!');
सर्भर क्वेस्टेज.Songs = [];
सर्भर क्लीचनेसन .डीस्पति।
}
प्रकार्य प्ले (गिल्ड, गीत) {
सर्भर सर्भर क्वेरी = gam.get (गिल्ड.id.id);
यदि (! गीत) {
सर्भर क्वेलिभूखचिनुभनल। Aveaveave;
लाम .दली (गिल्ड.id.id);
फर्किनु;
}
कन्भर्टिचर = सर्भर। कन्फर्मेन्क्शन .्ग्राफ्रीम (YTDL (गीत)))
.यो ('अन्त', () => {{{
कन्सोल.lug ('संगीत समाप्त भयो!');
सर्भर क्वेस्टेज .Songs.shift ();
प्ले (गिल्ड, सर्भर क्र्क्ली.स us ण [0]);
})
.यो ('त्रुटि', त्रुटि => {
कन्सोल. वारर (त्रुटि);
});
एडेटेचर.सेटपुलगारोगुन्डिथमिक (सर्भर छनौटकय.भुलमे /));
}
ग्राहक.lagin (टोक लगाउनुहोस्);
पूरा भएपछि, यो बोट पुन: सुरु गर्नु राम्रो हुन्छ, जुन पछि तपाईं आफ्नो सर्भरमा जान सक्नुहुन्छ, आवाज च्यानलमा जडान गर्नुहोस् र कुराकानीको कुनै पनि आदेश प्रविष्ट गर्नुहोस्, बोटमा कस्तो प्रतिक्रिया देखाईकन जाँच गर्दै।
यदि बोटको माथिको भेरिटी तपाईंको लागि उपयुक्त छैन भने, तपाईं उही github मा स्रोत कोडहरू पाउन सक्नुहुन्छ र तिनीहरूलाई तपाइँको कम्प्युटरमा प्रतिलिपि गर्न सक्नुहुन्छ। रेजिष्ट्रेसनको सिद्धान्त र सुरुवात उस्तै रहन्छ, त्यसैले आवश्यक छ भने, केवल समाप्त कोड सम्पादन गर्नुहोस्, र त्यसपछि बोट परीक्षण गर्न अगाडि बढ्नुहोस्।
यस लेखमा हामीले होस्टिंगमा बोटको डिस्चार्जलाई असर गर्दैनौं, अन्य प्रयोगकर्ताहरूमध्ये एक अवतार र खुला साइटहरूको प्रयोग सिर्जना गर्न सक्दछौं, जहाँबाट यो आधिकारिक हुन सक्छ। यी सबै अलग प्रक्रियाहरू हुन् जुन यदि तपाईंले आफ्नो बोटहरू सिर्जना गर्न तपाईंको सीपलाई सम्मान गर्नुहुन्छ र नेटवर्कमा प्रोजेक्टहरू वितरण गर्न तयार हुनुहुन्छ।