هن مضمون ۾، اسان کي هٿرادو انبن ۾ موسيقي راند لاء هڪ باٽ ٺاهڻ جي باري ۾ ڳالهائي ويندي. اوھان کي چئجي ته پوري پيش ڪوڊ، ۽ پاڻ لاء ان تبديلي کي نقل جيڪڏھن اوھين JavaScript صلاحيتن کي پنهنجو ڪري سگهو ٿا. هن باٽ اسان جي طرفان پيدا ڪيو ويو، پر ڪجهه مرحلن ۾ استعمال ڪندڙ کي اڃا تائين مختلف پريشاني کي منهن ڪري سگهو ٿا، پوء اسان توهان کي صلاح ڌيان نه رڳو اسان جون هدايتون پڙهي، پر جيڪڏهن ڪو اهڙي آهي جو اسڪرين غلطي رموز تي ظاهر ٿيندو.
جيڪڏهن ان کي ٻاهر ڦرندو ته هي مواد به اوھان لاء پيچيدو يا ڪنھن ٻئي سبب جي لاء مناسب نه آهي، تيار-ڪيون آزاد bots استعمال موسيقي ادا ڪرڻ. توهان هيٺ ڏنل لنڪ تي اهو مضمون هن جي باري ۾ تفصيلي معلومات لھندين ۽ اوھان جي ڪم تي عمل ڪري سگهي ٿو.
وڌيڪ پڙهو:
انبن ۾ سرور کي هڪ سريلي باٽ گڏي
باٽ ذريعي موسيقي ادا انبن ۾
قدم 1: نئين ايپليڪيشن ٺاهڻ
جي خارج لاء هر باٽ ڊولپر تائين سرڪاري portal تي ڪيس داخل ٿيڻ گهرجي. توهان جي موڪليل ضروري آهي ته اجازتون ۽ باٽ جي عام رويي سان لاڳاپيل جوڙ تائين رسائي حاصل پوء، توهان جي ذاتي سرور ۾ ان جي اختيار ڪرڻ جي لنڪ ڪاپي ڪري ۽ منفرد ٽوڪن، جنهن جي حڪم جي وڌيڪ ترقي جي لاء ضروري آهي استعمال ڪري سگهو ٿا.
انبن ڊولپر Portal جي سرڪاري ويب سائيٽ تي وڃو
- ، ڊولپر تائين portal جي مکيه صفحو کولڻ جي انبن ذاتي اڪائونٽ تي لاگ ان ۽ هڪ نئين درخواست پيدا ڪرڻ جي "نئون ايپليڪيشن" تي ڪلڪ ڪرڻ لاء مٿي جو لنڪ استعمال ڪري.
- ، سندس نالو لکو جي انفراديت ڏنو، ڇو ته اتي به ساڳي نالي سان ڪيترن ئي bots آهي، ان کي ان جي پيدا ڪرڻ ممڪن نه ٿيندو - renaming جو نوٽيس اطلاع ڏنو آهي.
- مڪمل ڪرڻ تي، جي ويب سائيٽ تي نامو کوليو ۽ چونڊيو "باٽ" جو درجو.
- سنڌ جي "باٽ شامل ڪريو" تي "اڏيو-هڪ-باٽ" جملو ڪلڪ سامهون.
- سنڌ جي چونڊيل لڳائڻ لاء باٽ جي اضافي جي تصديق.
- هڪ واقف Menu جي ذريعي، «OAuth2» ڏانهن رخ.
- هن حصي جي باٽ ۽ ان جي اختيار جي عام اصولن جي لاء ذميوار آهي. سنڌ جي "Scopes" بلاڪ ۾، جي "باٽ" تڪ تي نشان.
- اجازتون جي فهرست ۾، آواز شاخون ڪرڻ جي سلسلي ۽ ڳالهائڻ جي صلاحيت ايڪٽيويٽ کي پڪ ٿي ته جيئن ان کي وڌيڪ براڊڪاسٽنگ موسيقي جي لاء ضروري آهي.
- هن باٽ پڙهڻ ۽ الحال ڪوبه پيغام موڪليو ڪرڻ جي قابل ٿي وڃي، پوء متن چيٽ اجازتون سان حصي ۾ انهن اختيارن کي فعال ڪرڻ نه وساريو. يقينا، اوھان کي فوري طور تي سڀني اجازتون مهيا ڪري سگهي ٿو، پر هن اچڻ بيٽسمين آهي، خاص طور تي ڪيس جتي توهان کي هڪ عام استعمال ڪندڙ جي لاء هڪ باٽ ٺاهڻ ۾.
- جلد ئي موڪل لھڻ پورو ٿيو آهي،، سرور تي باٽ جي پهرين اختيار لاء لنڪ ڪاپي ڪري، ڇاڪاڻ ته ٻي صورت ۾ ان کي شامل جيستائين ان کي ٻاهر ڦرندو.
- هن لنڪ جي تابعداري ڪريو ۽ امتحان سرور جتي توهان جي باٽ چيڪ ڪرڻ چاهيو ٿا.
- تصديق قبضو ڪرڻ ۽ ڪامياب اختيار جي باري ۾ معلومات لاء انتظار.
هاڻي تون هڪ منفرد ٽوڪن سان هڪ باٽ آهن، ۽ باٽ اڳ ۾ ئي آف لائن صورت ۾ جڏهن ته سرور کي شامل ڪيو ويو آهي، پر. ان کي شروع ڪرڻ لاء، ان جي مقامي ڪمپيوٽر تي ڪجھه وڌيڪ ڪارناما، تنهنڪري اسان کي unload نه ڪندا، جڏهن ته لائن آپريشن لاء boting boting انجام ڪرڻو پوندو.
قدم 2: تياري ڪارناما
تياري عملن جي ضرورت directories ۽ فائلن جي پيدائش، انھن لاء اوزار ۽ dependencies جي انسٽاليشن ۾ شامل آهي. هن ۾ پيچيدو ڪجھ به نه، تون رڳو ڌيان ڪنهن مرحلي ۾ غلطيون هيٺين رخ ۾ هر عمل ڪرڻ، جي ضرورت نه آهي.
- جي باٽ جي نالي سان هڪ فولڊر ٺاهي. توهان ڪنهن به جاء سگھو ٿا، پر ان جي استعمال ڪندڙ جي گهر فولڊر هن لاء چڱي جاء والارڻ لاء آهي.
- ان ۾ ٻه فائلون ٺاهي: "Config.json" ۽ "index.js". ان جي منڍ (پريفڪس) ۽ منفرد ٽوڪن، ۽ ٻئي ۾ - - ڪمانڊ ۽ هن اوزار جي عام ڪمن سان پوري پروگرام ڪوڊ پهرين جي باٽ جي مجموعي جي تشڪيل انسٽال ۾.
- جي باٽ جي ڪم لاء Node.js. جي ضرورت پوندي هن اوزار جي مقامي ڪمپيوٽر تي اسڪرپٽ کي شروع ڪرڻ لاء ٺهيل آهي. هيٺ ڏنل لنڪ جي تابعداري ڪريو ۽ ونڊوز لاء ان هڻڻ ڊائون لوڊ.
ڊائون لوڊ جي سرڪاري ويب سائيٽ تان node.js
- جي executable فائيل executable ڊائون لوڊ ڪرڻ لاء، ان کي هلائڻ ۽ سادي لڳائڻ جي طريقيڪار نڪري، هيٺ ڏنل هدايتن جي اسڪرين تي ڏيکاري اميد.
- ته پوء، کلي ته "حڪم لائين" توهان لاء آسان، مثال طور، سنڌ جي "هلائي" ڀلائي ۾ CMD داخل (ان جي ڪري ورتي + آر ڪنجيون ميلاپ ٿئي ٿو).
- سنڌ جي انبن API، جنهن کي "discord.js" سڏيو ويندو آهي سان ڪم ڪرڻ جي module کي انسٽال ڪريو. پوء اوھان کي فوري طور تي سڀني ضروري dependencies شامل - هن ڪندا، جو دلاسو دري نظريي ۾، جي NPM opsscript YTDL-بنيادي --Save انسٽال discord.js ffmpeg-binaries ۽ پريس ڪريو داخل.
- هڪ ڪامياب لڳائڻ تي اسڪرين تي اطلاع انتظار موجوده دلاسو دريون بند ڪرڻ کان سواء. جيڪڏهن غلطيون ويهڻ، سندن ڪوڊ سکڻ ۽ فورم تي هڪ ڪم فيصلو يا ان جي سرڪاري ويب سائيٽ سٽ جي ڳولا انجڻ جي استعمال.
نتيجي طور، استعمال ڪندڙ جي گهر فولڊر جي Node.js اتحاد سان لاڳاپيل فائلون ظاهر ۽ module کان پوء شامل ڪرڻ گهرجي. جي ڪمپيوٽر وري هلايو ته ان جي باٽ اوکائي startup نه ڪندو آھي، پوء ايندڙ قدم ڏانھن وڃڻ.
قدم 3: آڻيندي باٽ واري عڪس
تون اڳ ۾ ئي خبر آهي ته پيدا باٽ تشڪيل فائيل ۾ ڪو ڪوڊ آهي ته شده (پريفڪس) (سرور تي جو حڪم ڀرڻ کان اڳ جي علامت) ۽ هڪ منفرد ٽوڪن ته API ۾ درخواست defines لاء ذميوار آهي رديف جي موڪليل هڪ ڏنيون ٿي ويندي. سڀ وڌيڪ ڪارناما پوري ڪرڻ لاء، اسان کي JS نحو جي حمايت يا ڪنهن به ترقي يافته متن ايڊيٽر سان هڪ پروگرام ڊائون ته هن عربن نه ڪيو ويو آهي جي صلاح. توهان هيٺ ڏنل لنڪ تي اهو مضمون جي موجود مناسب حل سان پاڻ کي نڊ ڪرڻ جي قابل ٿي ويندو.
وڌيڪ پڙهڻ: پروگرامن لاء ترقي ماحول کي منتخب
جيترو جلد ان ڳالهه کي ڪمپيوٽر ۽ ڪم ڪرڻ لاء تيار تي نصب ڪيل آهي، اوھان کي بچائي جي تشڪيل فائيل تدوين ڪرڻ شروع ڪري سگهي ٿو، اتي استعمال ڪندڙ ڊيٽا داخل.
- هڪ ٽيڪسٽ ايڊيٽر يا ترقي ماحول ذريعي config.js فائيل هلائي، هيٺ ڏنل ڪوڊ داخل ڪريو.
{
"ترتيب": "!"
"ٽوڪن": "توهان جي-toke"
}
جو ارادو ڪيو يا هڪ عجب جي نشاني ڇڏي ڪنڀر جي حوالن ۾ (پريفڪس) تبديل ڪري. هڪ حڪم هي :! کيڏو وانگر هن نشاني ڏسڻ ۾ استعمال ڪرڻ جو هڪ مثال.
- ترقي portal تي پنهنجي باٽ ڏانھن وڃو، اتي هڪ منفرد ٽوڪن ڏسي ۽ ان کي نقل ڪري.
- ڪنڀر جي حوالن کي حذف ڪرڻ کان سواء کانسواء اوھان-toke انسپيڪشن داخل.
- تبديلين کي محفوظ ڪريو ۽ ھن فائل کي بند ڪريو. رستي ۾، توهان هڪ ئي عمل کي هڪ معياري "نوٽ بڪ" ذريعي انجام ڏئي سگهو ٿا.
انهي عمل تي ترتيب ڏنل فائل تي مڪمل آهن، هاڻي توهان کي هاڻي ڪوڊ جي هڪ لائن کي مقرر ڪرڻ جي ضرورت ناهي. ان کي بند ڪريو، تبديلين کي محفوظ ڪرڻ جي بغير وسارڻ، ۽ موسيقي کيڏڻ لاء بوٽ کي وڌيڪ لکڻ لاء اڳتي وڌيو.
قدم 4: آزمائشي شروعاتي بوٽ
پهرين، اسان کي اها پڪ ڪرڻ جي ضرورت آهي ته بوٽ سرور تي هلندي آهي ۽ آن لائن موڊ تي وڃي ٿو، ان جو بنيادي حصو شروع ڪرڻ لاء.
- ترقياتي ماحول ذريعي يا چونڊيل متن ايڊيٽر ذريعي، ايڊٽنگ لاء ڏنل فائل کوليو.
- ڪوڊ جو بلاڪ داخل ڪريو جيڪو انحصار جي انسٽاليشن جو ذميوار آهي ۽ ماڊلز استعمال ٿيل آهي:
ڪانفورڊ = گهربل ('ڊسڪٽر .js')؛
ڪيف {
اڳيون،
ٽاپاء
} = گهربل ('./ confire.json')؛
YTDL = گهربل ('YTDL-ڪور')؛
- اڳوڻي بيان ڪيل ٽوڪن جي مدد سان، هڪ گراهڪ ٺاهيو ۽ لاگ ان ڪريو، جيڪو صرف ٻه سادي ليڪن ۾ داخل ٿي چڪو آهي:
ڪلينٽ ڪلائنٽ = نئون ڊسڪوڊ. ڪرڪيٽ ()؛
گراهڪ. بلاگ (ٽوڪن)؛
- اهو صرف بوٽن کي ٻڌڻ لاء آخري بنيادي لائينن کي بيان ڪرڻ جي لاء رهي ٿو.
گراهڪ. ('تيار'، () => {{
ڪنسول. بلاگ ('تيار!')؛
});
ڪلائنٽ. يا وري ٻيهر ترتيب ڏيڻ '، () => {{{{
ڪنسول. بلاگ ('ٻيهر ٻيهر ترتيب ڏيڻ!')؛
});
ڪلائنٽ.وس ('ڊسڪنيٽ'، () => {{
ڪنسول .لاگ ('ڊسڪ ڪريو!')؛
});
- "فائل" مينيو وڌايو ۽ ٺاهيل تبديلين کي بچايو.
- هڪ مناسب طريقي سان ٻيهر ڪنسول کي هلائيندا.
- بوٽ اسڪرپٽ شروع ڪرڻ لاء نوڊ انڊيڪس.جز داخل ڪريو.
- جيڪڏهن ان جون فائلون صارف جي گهر واري ڊاريڪٽري ۾ موجود نه آهن، نوڊ کي مڪمل ڪرڻ لاء انهن کي مڪمل ڪرڻ گهرجي.
- بوٽ جو ڪامياب لانچ ظاهر ٿيل لکت جي نشاندهي ڪئي وئي آهي "تيار!
- کليل تڪرار ۽ پڪ ڪريو ته بوٽ "آن لائن" جي حيثيت ۾ ويو.
قدم 5: ميوزڪ باٽ جو بنيادي ڪوڊر لکڻ
سڀ کان وڌيڪ پيچيده عمل رهي ٿو - ميوزڪ باٽ لاء بنيادي ڪوڊ لکڻ. اتي ڪم جي هڪ فهرست آهي جنهن کي اهو انجام ڏيڻ گهرجي: پيغامن ۽ پروسيسنگ جا حڪم، هڪ گيت جي نالي يا ان جي ايڊريس جي تعريف، آواز جي چينل ۽ پلے بیک سان ڳن connecting ڻ. هي بيب تي اجازتون، تنهنڪري توهان کي صرف انهن کي صرف ڪارناما جي ڪمن کي بيان ڪرڻ جي ضرورت آهي، جيڪو ساڳيو "انڊيڪس" فائل ۾ ڪيو ويو آهي.
پيغام پڙهڻ لاء هڪ سادي فيچر شامل ڪريو:
گراهڪ ('پيغام'، ايس اين اين سي پيغام => {
}
اهو صرف ٻن لائنن تي مشتمل آهي، پر بوٽ کي ڪسٽم سوال ۽ صحيح طريقي سان پروسيس ڪرڻ جي اجازت ڏيندو. اهو چئي سگهجي ٿو ته اهو ڪنهن به قسم جي بوٽن لاء سڀني کان اهم ٽيمن مان هڪ آهي. داخل ٿيڻ سان ٻين بوٽن مان نظرانداز ٿيندڙ پيغام شامل ڪرڻ جي پڪ ڪريو
جيڪڏهن (پيغام .authour.bot) واپسي؛
اهو سرور تي ڪيترن ئي بوٽن تي ڪيترن ئي بوٽن کي استعمال ڪرڻ کان پاسو ڪري ٿو. اڳيون، اهو اڳيون چيڪ ڪرڻ لاء ضروري هوندو ته جيئن هيٺ ڏنل ٽيم کي قبول ڪيو يا ان کي واپس موٽايو.
جيڪڏهن (! پيغام. اسٽريٽٽسٿسٿس (اڳيا)) واپسي؛
چڪاس ٿيل حڪم ناما استعمال ڪيو ويندو آهي جيڪڏهن آپريٽرز استعمال ڪيو وڃي، ۽ اسان جي ڪيس ۾ ڊزائن کي ڏسڻ ۾ اچي ٿو:
Coverstice = Queue.gege (پيغام. ڳائڻ)؛
جيڪڏهن (پيغام .contst.startswith ($ {Presfix} راند ") {
عمل ڪيو (پيغام، سرور)؛
موٽ
} ٻي صورت ۾ (پيغام. اسٽريٽسٿسس ($ {Presfix} ڇڏي) {
ڇڏي ڏيو (پيغام، سرور)؛
موٽ
ٻي صورت ۾ (پيغام. اسٽيڪسٽرسٿس ("$ {Presfix} اسٽاپ)) {
روڪيو (پيغام، سرور)؛
موٽ
} ٻيو {
پيغام. KACENANED ('توهان کي لازمي طور تي موجوده حڪم استعمال ڪرڻ گهرجي!')
}
مهرباني ڪري نوٽ ڪريو ته موڪل (') فنڪشن صارف کي پيغام موڪلي ٿو جيڪڏهن اهو اوچتو غير ڪم ڪندڙ ڪمانڊ ۾ داخل ٿئي ٿو. هي پيغام توهان ايڊٽ ڪري سگهو ٿا، اقتباس ۾ لکت کي تبديل ڪري سگهو ٿا.
هاڻي باٽ حڪم وٺڻ سکيو، پر جيستائين اهو انهن سان رابطو نه ڪري سگهي، جتان عمل بيان نه ڪيو ويو آهي. پهرين راند جو حڪم شامل ڪريو، جيڪو پلے بیک جو ذميوار آهي. ان لاء، هڪ صف هيٺ ڏنل فارم سان گهربل آهي:
ڪيچين قطار = نئون نقشو ()؛
هو قطار ۾ سڀني حڪمن کي موڪلي ٿو ۽ گانا کي راند ڪري ٿو جڏهن گذريل هڪ ختم ٿئي ٿو. اڳيون، اهو فنڪشن ٺاهڻ ضروري هوندو ته اهو چيڪ ڪري ٿو ته صارف وائس چينل سان ڳن connected يل هوندو ۽ ڇا اهو ساڳيو اجازت نامو آهي.
اسنڪ فنڪشن عمل ڪيو (پيغام، Strequeque) {
rags args = پيغام
وائسچاريل = پيغام .membe.viceschane؛
جيڪڏهن (! وائس اسڪينل) واپسي جو پيغام .chane.cone (موسيقي ٻڌڻ لاء، توهان کي ٻڌائڻ جي ضرورت آهي! ')؛
انفارميشنس اجازتون = وائسچينل. جواب ڏيڻ (پيغام .client.user)؛
جيڪڏهن (! اجازت نامو. "||) ||! اجازت نامو ('ڳالهائيندڙ') {
واپسي جو پيغام. KACANE.SEND ('مون کي توهان جي آواز چينل کي شامل ٿيڻ جي اجازت آهي ۽ توهان جي آواز واري چينل!
}
}
اڳيون ايڪشن يو ٽي ڊي ايل لائبريري کي يوٽيوب جو نالو ڳن out ڻ، جنهن کان پوء ان کان پوء جيڪو سرور تي کيڏندو آهي. اهو ڪوڊ داخل ڪرڻ جو هڪ نن piece ڙو ٽڪرو داخل ڪرڻ وٺندو.
Conguninfo = YTDL.getinfo (Awgs] جو انتظار ڪريو (1])؛
ڪانگ گانا = {
عنوان: گيتنفو.ٽيل،
URL: گيتينفو.Video_url،
};
ڪوڊ جو ايندڙ بلاڪ توهان کي سمجهڻ جي اجازت ڏيندو ته جيڪڏهن توهان قطار ۾ گانا آهن يا توهان فوري طور تي آواز واري چينل سان ڳن connect ي سگهو ٿا.
جيڪڏهن (! سرفرڪ) {
} ٻيو {
Sterquele.songs.phus (گيت)؛
ڪنسول. بلاگ (Sterquele.songs)؛
واپسي جو پيغام .Chane.cone.snd & "$ {گگو.itle.title} کي قطار ۾ شامل ڪيو ويو آهي!")؛
}
اڳيون هڪ نن one و پيچيده هڪ معتبر اسڪيم لاء هڪ ٺيڪي اسڪيم جيڪو توهان هڪ گيت ۾ هڪ گيت شامل ڪري ٿو ۽ توهان جي صحيح عمل کي چونڊيندا آهن. پيش ڪيل تبصرن تي ڌيان ڏيو، جيڪو توهان کي سڀني سبقن سان معاملو ڪرڻ جي اجازت ڏئي ٿو.
// قطار لاء هڪ معاهدو ٺاهڻ
Queuecontrnization = {
ٽيڪسٽچيل: پيغام. پيچين،
وائسچيل: وائس انچو،
ڪنيڪشن: نيل،
گيت: []،
حجم: 5،
کيڏڻ: سچ،
};
// اسان جي معاهدي سان قطار ڪريو
قطار. سيٽ (پيغام. گوليڊ. Queuconnectization)؛
// گانن جي اسان جي صف ۾ ترتيب داخل ڪريو
Queuecontrntricrrsrsrs.sngs.phus (گيت)؛
ڪوشش ڪر {
// هتي اسان وائس چيٽ ۾ شامل ٿيڻ جي ڪوشش ڪري رهيا آهيون ۽ اعتراض ۾ ڪنيڪشن کي محفوظ ڪيو
ويز ڪنيڪشن = وائسچينيل جو انتظار ڪريو. جي باري ۾ ()؛
Queuecontrntricr.connection = ڪنيڪشن؛
// گيت شروع ڪرڻ لاء پلے بیک جي فنڪشن کي ڪال ڪندي
کيڏيو (پيغام. گولي، QueueContcontranks.sngs [0])؛
} پڪڙيو (ايرر) {
// غلطي جو پيغام ڏيکاريو جيڪڏهن بوٽ وائس چيٽ ۾ شامل نه ٿي سگهي
ڪنسول. بلاگ (ايرر)؛
قطار.دوليٽ (پيغام. ڳائڻو)؛
واپسي جو پيغام .chane.sendend (err)؛
}
قطار سان، سڀ ڪجهه واضح آهي، پر اڃا به گيت نه کيڏندو آهي، ڇاڪاڻ ته راند جي فنڪشن لاء ڪا به تفويض ناهي. انهي کي ڪرڻ لاء اهو ڪرڻ ضروري آهي ته ان جوڙجڪ شامل ڪرڻ ضروري آهي
فنڪشن راند (گلڊ، گيت) {
Coverstice = قطار ڪريو. (گلڊ ڊيڊ)؛
جيڪڏهن (! گيت) {
Serqueque.vicechanel.leve ()؛
قطار. ڊي ايل اي (گلڊ)؛
موٽ
}
}
راند کيڏڻ شروع ٿئي ٿو () فنڪشن ۽ مخصوص لنڪ ٽريڪ تي مخصوص لنڪ.
اسپرپر = اسپريڪيو. ڪنيڪشن. پلے اسٽريم (YTDL (گيت))
.ن ('آخري'، () => {
ڪنسول. بلاگ ('ميوزڪ ختم ٿي چڪو آهي!')؛
// قطار مان ختم ٿيل گانو ختم ڪري ٿو
Sterqueque.sgsgs.shift ()؛
// ٻيهر هيٺين گيت سان پلے بیک فنڪشن جو سبب بڻجن ٿا
کيڏيو (گلڊ، sildequele.songs [0])؛
})
.ن ('غلطي'، غلطي => {
ڪنسوليو غلطي (غلطي)؛
});
موڪليندڙ .etervolumolumemithic (Strequeue.volume / 5)؛
جيڪڏهن توهان هڪ گانو اسڪيپ فنڪشن شامل ڪرڻ چاهيو ٿا، مثال طور، جڏهن توهان راند جي فهرست کيڏڻ جو فيصلو ڪيو، پهريون حڪم جو خيال رکو، ۽ پوء هڪ ٽڪڙو شامل ڪريو:
فنڪشن اسڪپ (پيغام، SPORACE) {
جيڪڏهن (! پيغام .member.vicechanel) واپسي پيغام. Recone.cone ('توهان کي موسيقي جي چينل ۾ رهڻ گهرجي!')؛
جيڪڏهن (! Sterckeue) واپسي جو پيغام .chane.cone ('اتي ڪو گانو ناهي جيڪو آئون ڇڏي سگهان ٿو!')؛
Sterquele.connection.dispatcher.de ()؛
}
تقريبن ساڳي اسڪيم پڻ اسٽاپ فنڪشن کي به ڪم ڪري ٿي، پر ڪوڊ سان بلاڪ کي ٿورو مختلف نظر حاصل ڪري ٿو:
فنڪشن اسٽاپ (پيغام، اسڪرپٽ) {
جيڪڏهن (! Seeme.member.vicechane) واپسي جو پيغام .cane.cone ('
توهان کي لازمي طور تي وائس چينل ۾ هجڻ گهرجي موسيقي کي روڪڻ لاء! ')؛
Sterqueue.songs = []؛
Sterquele.connection.dispatcher.de ()؛
}
ويچار آهي ته معلومات کي مٿي پيش ڪيو تن کي اهي صارف جيڪي اڳ ۾ ئي JavaScript زبان سان واقف آهن يا رڳو زير تعليم ۾ مصروف ۽ هڪ سريلي باٽ پيدا ڪرڻ جو فيصلو ڪيو آهي لاء خلاصيون مناسب آهي. اوھان کي عام طور نه پنهنجي صلاحيتن ۽ ان جي ڪوڊ سان مخصوص پور ڪندا ته توهان سڀني تي ڪجھ به نه چئو، چئجي ته فائيل ۾ پوري سورس ڪوڊ داخل ڪريو، ۾ روسي جي باٽ کان الحال ڪوبه پيغام مٽائي (اھي حوالن ۾ آهي) ۽ محفوظ تبديليون. سڀ سورس ڪوڊ کي هن قسم جي ڪئي آهي:
Const انبن = ضرورت ( 'discord.js')؛
const {
(پريفڪس)،
ٽوڪن
} = ضرورت ( './ config.json')؛
const YTDL = ضرورت ( 'YTDL-بنيادي')؛
Const ڪلائنٽ = نئون discord.client ()؛
Const ترتيب = نئون نقشو ()؛
Client.ONCE ( 'تيار'، () => {
Console.log ( 'تيار!')؛
});
Client.Once ( 'ReconNecting'، () => {
Console.log ( 'ReconNecting!')؛
});
Client.ONCE ( 'ڌار'، () => {
Console.log ( 'رعايت!')؛
});
Client.on ( 'پيغام'، Async پيغام => {
جيڪڏھن (message.author.bot) موٽڻ؛
جيڪڏھن (! Message.content.startSwith (ترتيب)) موٽڻ؛
Const ServerQueue = Queue.Get (Message.Guild.ID)؛
جيڪڏھن (Message.Content.startSwith ( `$ {(پريفڪس)} play`)) {
EXECUTE (پيغام، ServerQueue)؛
موٽڻ؛
} ٻئي جيڪڏھن (message.content.startswith ( `$ {(پريفڪس)} Skip`)) {
ڇڏي ڏيو (پيغام، ServerQueue)؛
موٽڻ؛
} ٻيو ته (message.content.startSwith ( `$ {(پريفڪس)} stop`)) {
اسٽاپ (پيغام، Serverqueue)؛
موٽڻ؛
} ٻئي {
Message.Channel.send ( 'تون صحيح حڪم ۾ داخل ٿيڻ جي ضرورت!')
}
});
ASYNC فعل EXECUTE (پيغام، SERVERQUEUE) {
const args = message.content.split ( '')؛
Const VoiceChannel = Message.Member.VoiceChannel؛
جيڪڏهن واپسي Message.Channel.send ( 'تون آواز چينل ۾ ٿي موسيقي راند ڪرڻ جي ضرورت!') (VoiceChannel!)؛
const اجازتون = VoiceChannel.permissionSFOR (Message.Client.user)؛
جيڪڏھن (! permissions.has ( 'Connect') ||! Permissions.has ( 'ڳالهائڻ')) {
موٽڻ Message.Channel.send ( 'مون کي اجازت شامل ٿيڻ جي ۽ توهان جي آواز چينل ۾ ڳالهائڻ جي ضرورت!')؛
}
Const Songinfo = انتظار ytdl.getinfo (args [1])؛
Const سانگي = {
عنوان: Songinfo.title،
URL جو: Songinfo.Video_URL،
};
جيڪڏھن (! Serverqueue) {
Const QueueContruct = {
TextChannel: Message.Channel،
VoiceChannel: VoiceChannel،
سلسلو: اجايو،
گيت: []،
جلد: 5،
راند: سچ پچ،
};
queue.set (Message.Guild.ID، QueueContruct)؛
queuecontruct.songs.push (گيت)؛
ڪوشش ڪر {
var سلسلي = انتظار voicechannel.join ()؛
queuecontruct.connection = ڪنيڪشن؛
ادا (Message.Guild، Queuecontruct.songs [0])؛
} پڪڙي (گمراھ) {
Console.log (گمراھ)؛
queue.delete (Message.Guild.ID)؛
موٽڻ Message.Channel.send (گمراھ)؛
}
} ٻئي {
ServerQueue.Songs.push (سانگي)؛
Console.log (Serverqueue.songs)؛
موٽڻ Message.Channel.send ( `$ {Song.title} جي قطار ۾ شامل ٿي ويو آهي`!)؛
}
}
فعل ڇڏي ڏيو (پيغام، Serverqueue) {
جيڪڏهن واپسي Message.Channel.send ( 'تون اسٽاپ موسيقي کي ھڪ آواز چينل ۾ ٿي آهي!') (message.member.voiceChannel!)؛
جيڪڏهن واپسي Message.Channel.send ( 'ڪو سانگي مون کي ڇڏي ڏيو سگهي ٿي!') (ServerQueue!)؛
ServerQueue.connection.dispatcher.end ()؛
}
فعل بند (پيغام، Serverqueue) {
جيڪڏهن واپسي Message.Channel.send ( 'تون اسٽاپ موسيقي کي ھڪ آواز چينل ۾ ٿي آهي!') (message.member.voiceChannel!)؛
ServerQueue.Songs = []؛
ServerQueue.connection.dispatcher.end ()؛
}
فعل کيڏو (GUILD، گيت) {
Const ServerQueue = queue.get (guild.id)؛
جيڪڏھن (! سانگي) {
ServerQueue.VoiceChannel.Leave ()؛
queue.delete (guild.id)؛
موٽڻ؛
}
Const Dispatcher = ServerQueue.Connection.PlayStream (YTDL (Song.url))
.on ( 'پڇاڙيء'، () => {
Console.log ( 'موسيقي ختم!')؛
serverqueue.songs.shift ()؛
ادا (Guild، Serverqueue.songs [0])؛
})
.on ( 'غلطي'، غلطي => {
Console.error (غلطي)؛
});
dispatcher.setvolumelogarithmic (serverqueue.volume / 5)؛
}
Client.login (ٽوڪن)؛
مڪمل ڪرڻ تي، ان کي ڪيئن باٽ کي پڇن.ذاتي چيڪ ڪرڻ جي باٽ وري هلايو لاء ڀلو آھي، جنهن کان پوء توهان کي، توهان جي سرور کي وڃڻ جي آواز چينل کي ڳنڍڻ ۽ لهه وچڙ جي ڪنهن به حڪم ۾ داخل ڪري سگهو ٿا،.
جيڪڏهن بوٽ جو مٿيون وينٽي توهان لاء مناسب ناهي، توهان ساڳئي گٽب تي سورس ڪوڊ ڳولي سگهو ٿا ۽ انهن کي پنهنجي ڪمپيوٽر تي نقل ڪري سگهو ٿا. رجسٽريشن ۽ لانچ جو اصول ساڳيو آهي، تنهنڪري جيڪڏهن ضروري هجي، بس مڪمل ڪيل ڪوڊ کي ايڊٽ ڪريو، ۽ پوء بوٽ کي جانچڻ لاء اڳتي وڌو.
هن اجي جي ھلي جي ميزبان جي ڳجھتي نه ھو، ان کي معاشري ۾ شامل نه ٿيو، ان کان ڪو avater avings ۽ آپشن ۽ کليل سهولتن جو استعمال ڪري سگھي ٿو. اهو سڀ ڪجهه جدا عمل آهي جيڪو صرف مونجهاري ۾ شامل ٿيڻ گهرجي جڏهن توهان بوٽن ٺاهڻ لاء توهان جي مهارت کي هلايو ۽ نيٽ ورڪ تي منصوبا ورهائڻ لاء تيار آهن.