ڪيئن خارج ۾ موسيقي لاء bots ڪرڻ

Anonim

ڪيئن خارج ۾ موسيقي لاء bots ڪرڻ

هن مضمون ۾، اسان کي هٿرادو انبن ۾ موسيقي راند لاء هڪ باٽ ٺاهڻ جي باري ۾ ڳالهائي ويندي. اوھان کي چئجي ته پوري پيش ڪوڊ، ۽ پاڻ لاء ان تبديلي کي نقل جيڪڏھن اوھين JavaScript صلاحيتن کي پنهنجو ڪري سگهو ٿا. هن باٽ اسان جي طرفان پيدا ڪيو ويو، پر ڪجهه مرحلن ۾ استعمال ڪندڙ کي اڃا تائين مختلف پريشاني کي منهن ڪري سگهو ٿا، پوء اسان توهان کي صلاح ڌيان نه رڳو اسان جون هدايتون پڙهي، پر جيڪڏهن ڪو اهڙي آهي جو اسڪرين غلطي رموز تي ظاهر ٿيندو.

جيڪڏهن ان کي ٻاهر ڦرندو ته هي مواد به اوھان لاء پيچيدو يا ڪنھن ٻئي سبب جي لاء مناسب نه آهي، تيار-ڪيون آزاد bots استعمال موسيقي ادا ڪرڻ. توهان هيٺ ڏنل لنڪ تي اهو مضمون هن جي باري ۾ تفصيلي معلومات لھندين ۽ اوھان جي ڪم تي عمل ڪري سگهي ٿو.

وڌيڪ پڙهو:

انبن ۾ سرور کي هڪ سريلي باٽ گڏي

باٽ ذريعي موسيقي ادا انبن ۾

قدم 1: نئين ايپليڪيشن ٺاهڻ

جي خارج لاء هر باٽ ڊولپر تائين سرڪاري portal تي ڪيس داخل ٿيڻ گهرجي. توهان جي موڪليل ضروري آهي ته اجازتون ۽ باٽ جي عام رويي سان لاڳاپيل جوڙ تائين رسائي حاصل پوء، توهان جي ذاتي سرور ۾ ان جي اختيار ڪرڻ جي لنڪ ڪاپي ڪري ۽ منفرد ٽوڪن، جنهن جي حڪم جي وڌيڪ ترقي جي لاء ضروري آهي استعمال ڪري سگهو ٿا.

انبن ڊولپر Portal جي سرڪاري ويب سائيٽ تي وڃو

  1. ، ڊولپر تائين portal جي مکيه صفحو کولڻ جي انبن ذاتي اڪائونٽ تي لاگ ان ۽ هڪ نئين درخواست پيدا ڪرڻ جي "نئون ايپليڪيشن" تي ڪلڪ ڪرڻ لاء مٿي جو لنڪ استعمال ڪري.
  2. انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ لاء هڪ نئين درخواست کولڻ تي وڃو

  3. ، سندس نالو لکو جي انفراديت ڏنو، ڇو ته اتي به ساڳي نالي سان ڪيترن ئي bots آهي، ان کي ان جي پيدا ڪرڻ ممڪن نه ٿيندو - renaming جو نوٽيس اطلاع ڏنو آهي.
  4. جڏهن انبن ۾ هڪ سريلي باٽ ٺاهڻ لاء هڪ نئين درخواست رجسٽريشن جو نالو لکو

  5. مڪمل ڪرڻ تي، جي ويب سائيٽ تي نامو کوليو ۽ چونڊيو "باٽ" جو درجو.
  6. انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ لاء هڪ نئين درخواست جي حصن کي ملائڻ لاء وڃو

  7. سنڌ جي "باٽ شامل ڪريو" تي "اڏيو-هڪ-باٽ" جملو ڪلڪ سامهون.
  8. هڪ نئين درخواست انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ جي ملائڻ بٽڻ جزا

  9. سنڌ جي چونڊيل لڳائڻ لاء باٽ جي اضافي جي تصديق.
  10. هڪ نئين درخواست انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ لاء جزا جي تصديق

  11. هڪ واقف Menu جي ذريعي، «OAuth2» ڏانهن رخ.
  12. انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ جي ٺاھ جوڙ صفحو درخواست تي وڃو

  13. هن حصي جي باٽ ۽ ان جي اختيار جي عام اصولن جي لاء ذميوار آهي. سنڌ جي "Scopes" بلاڪ ۾، جي "باٽ" تڪ تي نشان.
  14. انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ جي درخواست جي درخواست جي قسم چونڊيو

  15. اجازتون جي فهرست ۾، آواز شاخون ڪرڻ جي سلسلي ۽ ڳالهائڻ جي صلاحيت ايڪٽيويٽ کي پڪ ٿي ته جيئن ان کي وڌيڪ براڊڪاسٽنگ موسيقي جي لاء ضروري آهي.
  16. آواز چينل اجازتون لاء ڳوليو جڏهن انبن ۾ هڪ سريلي باٽ ٺاهڻ لاء هڪ درخواست جي ٺاھ جوڙ

  17. هن باٽ پڙهڻ ۽ الحال ڪوبه پيغام موڪليو ڪرڻ جي قابل ٿي وڃي، پوء متن چيٽ اجازتون سان حصي ۾ انهن اختيارن کي فعال ڪرڻ نه وساريو. يقينا، اوھان کي فوري طور تي سڀني اجازتون مهيا ڪري سگهي ٿو، پر هن اچڻ بيٽسمين آهي، خاص طور تي ڪيس جتي توهان کي هڪ عام استعمال ڪندڙ جي لاء هڪ باٽ ٺاهڻ ۾.
  18. متن چينل اجازتون لاء ڳوليو جڏهن انبن ۾ هڪ سريلي باٽ ٺاهڻ لاء هڪ درخواست جي ٺاھ جوڙ

  19. جلد ئي موڪل لھڻ پورو ٿيو آهي،، سرور تي باٽ جي پهرين اختيار لاء لنڪ ڪاپي ڪري، ڇاڪاڻ ته ٻي صورت ۾ ان کي شامل جيستائين ان کي ٻاهر ڦرندو.
  20. انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ ڪاپي حوالي اوزار اختيار

  21. هن لنڪ جي تابعداري ڪريو ۽ امتحان سرور جتي توهان جي باٽ چيڪ ڪرڻ چاهيو ٿا.
  22. جي ڪڙي کان پوء پهريون اختيار انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ

  23. تصديق قبضو ڪرڻ ۽ ڪامياب اختيار جي باري ۾ معلومات لاء انتظار.
  24. هڪ ڪڙي کان پوء ڪامياب اختيار انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ

هاڻي تون هڪ منفرد ٽوڪن سان هڪ باٽ آهن، ۽ باٽ اڳ ۾ ئي آف لائن صورت ۾ جڏهن ته سرور کي شامل ڪيو ويو آهي، پر. ان کي شروع ڪرڻ لاء، ان جي مقامي ڪمپيوٽر تي ڪجھه وڌيڪ ڪارناما، تنهنڪري اسان کي unload نه ڪندا، جڏهن ته لائن آپريشن لاء boting boting انجام ڪرڻو پوندو.

قدم 2: تياري ڪارناما

تياري عملن جي ضرورت directories ۽ فائلن جي پيدائش، انھن لاء اوزار ۽ dependencies جي انسٽاليشن ۾ شامل آهي. هن ۾ پيچيدو ڪجھ به نه، تون رڳو ڌيان ڪنهن مرحلي ۾ غلطيون هيٺين رخ ۾ هر عمل ڪرڻ، جي ضرورت نه آهي.

  1. جي باٽ جي نالي سان هڪ فولڊر ٺاهي. توهان ڪنهن به جاء سگھو ٿا، پر ان جي استعمال ڪندڙ جي گهر فولڊر هن لاء چڱي جاء والارڻ لاء آهي.
  2. انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ لاء هڪ رواج فولڊر کي گڏي

  3. ان ۾ ٻه فائلون ٺاهي: "Config.json" ۽ "index.js". ان جي منڍ (پريفڪس) ۽ منفرد ٽوڪن، ۽ ٻئي ۾ - - ڪمانڊ ۽ هن اوزار جي عام ڪمن سان پوري پروگرام ڪوڊ پهرين جي باٽ جي مجموعي جي تشڪيل انسٽال ۾.
  4. انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ لاء هڪ رواج فولڊر ۾ فائلون گڏي

  5. جي باٽ جي ڪم لاء Node.js. جي ضرورت پوندي هن اوزار جي مقامي ڪمپيوٽر تي اسڪرپٽ کي شروع ڪرڻ لاء ٺهيل آهي. هيٺ ڏنل لنڪ جي تابعداري ڪريو ۽ ونڊوز لاء ان هڻڻ ڊائون لوڊ.

    ڊائون لوڊ جي سرڪاري ويب سائيٽ تان node.js

  6. انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ لاء هڪ اتحادي ڊائون لوڊ

  7. جي executable فائيل executable ڊائون لوڊ ڪرڻ لاء، ان کي هلائڻ ۽ سادي لڳائڻ جي طريقيڪار نڪري، هيٺ ڏنل هدايتن جي اسڪرين تي ڏيکاري اميد.
  8. ڊوڙندو ۽ انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ لاء هڪ اتحادي انسٽال

  9. ته پوء، کلي ته "حڪم لائين" توهان لاء آسان، مثال طور، سنڌ جي "هلائي" ڀلائي ۾ CMD داخل (ان جي ڪري ورتي + آر ڪنجيون ميلاپ ٿئي ٿو).
  10. انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ جو حڪم ليڪ ڊوڙندو

  11. سنڌ جي انبن API، جنهن کي "discord.js" سڏيو ويندو آهي سان ڪم ڪرڻ جي module کي انسٽال ڪريو. پوء اوھان کي فوري طور تي سڀني ضروري dependencies شامل - هن ڪندا، جو دلاسو دري نظريي ۾، جي NPM opsscript YTDL-بنيادي --Save انسٽال discord.js ffmpeg-binaries ۽ پريس ڪريو داخل.
  12. ايڊيشنل ماڊيول انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ جو حڪم جوڙ

  13. هڪ ڪامياب لڳائڻ تي اسڪرين تي اطلاع انتظار موجوده دلاسو دريون بند ڪرڻ کان سواء. جيڪڏهن غلطيون ويهڻ، سندن ڪوڊ سکڻ ۽ فورم تي هڪ ڪم فيصلو يا ان جي سرڪاري ويب سائيٽ سٽ جي ڳولا انجڻ جي استعمال.
  14. انبن ۾ هڪ سريلي باٽ ٺاهڻ لاء اضافي ماڊيول جي لڳائڻ جي عمل

نتيجي طور، استعمال ڪندڙ جي گهر فولڊر جي Node.js اتحاد سان لاڳاپيل فائلون ظاهر ۽ module کان پوء شامل ڪرڻ گهرجي. جي ڪمپيوٽر وري هلايو ته ان جي باٽ اوکائي startup نه ڪندو آھي، پوء ايندڙ قدم ڏانھن وڃڻ.

قدم 3: آڻيندي باٽ واري عڪس

تون اڳ ۾ ئي خبر آهي ته پيدا باٽ تشڪيل فائيل ۾ ڪو ڪوڊ آهي ته شده (پريفڪس) (سرور تي جو حڪم ڀرڻ کان اڳ جي علامت) ۽ هڪ منفرد ٽوڪن ته API ۾ درخواست defines لاء ذميوار آهي رديف جي موڪليل هڪ ڏنيون ٿي ويندي. سڀ وڌيڪ ڪارناما پوري ڪرڻ لاء، اسان کي JS نحو جي حمايت يا ڪنهن به ترقي يافته متن ايڊيٽر سان هڪ پروگرام ڊائون ته هن عربن نه ڪيو ويو آهي جي صلاح. توهان هيٺ ڏنل لنڪ تي اهو مضمون جي موجود مناسب حل سان پاڻ کي نڊ ڪرڻ جي قابل ٿي ويندو.

وڌيڪ پڙهڻ: پروگرامن لاء ترقي ماحول کي منتخب

جيترو جلد ان ڳالهه کي ڪمپيوٽر ۽ ڪم ڪرڻ لاء تيار تي نصب ڪيل آهي، اوھان کي بچائي جي تشڪيل فائيل تدوين ڪرڻ شروع ڪري سگهي ٿو، اتي استعمال ڪندڙ ڊيٽا داخل.

  1. هڪ ٽيڪسٽ ايڊيٽر يا ترقي ماحول ذريعي config.js فائيل هلائي، هيٺ ڏنل ڪوڊ داخل ڪريو.

    {

    "ترتيب": "!"

    "ٽوڪن": "توهان جي-toke"

    }

    جي منڍ (پريفڪس) بدلجندڙ هڪ تشڪيل فائيل ۾ تبديلي تڏهن انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ

    جو ارادو ڪيو يا هڪ عجب جي نشاني ڇڏي ڪنڀر جي حوالن ۾ (پريفڪس) تبديل ڪري. هڪ حڪم هي :! کيڏو وانگر هن نشاني ڏسڻ ۾ استعمال ڪرڻ جو هڪ مثال.

  2. ترقي portal تي پنهنجي باٽ ڏانھن وڃو، اتي هڪ منفرد ٽوڪن ڏسي ۽ ان کي نقل ڪري.
  3. منفرد پلٽ نقل ڪندي انبن ۾ هڪ سريلي باٽ پيدا ڪرڻ

  4. ڪنڀر جي حوالن کي حذف ڪرڻ کان سواء کانسواء اوھان-toke انسپيڪشن داخل.
  5. هڪ منفرد ٽوڪن کي ترتيب ڏيڻ واري فائل ۾ هڪ منفرد ٽوڪن کي تڪرار ۾ وجهڻ لاء

  6. تبديلين کي محفوظ ڪريو ۽ ھن فائل کي بند ڪريو. رستي ۾، توهان هڪ ئي عمل کي هڪ معياري "نوٽ بڪ" ذريعي انجام ڏئي سگهو ٿا.
  7. هڪ متن ايڊيٽر استعمال ڪندي جڏهن ترتيب واري فائل کي ترتيب ڏيڻ لاء هڪ ترتيب واري بوٽ کي ترتيب ڏيڻ لاء

انهي عمل تي ترتيب ڏنل فائل تي مڪمل آهن، هاڻي توهان کي هاڻي ڪوڊ جي هڪ لائن کي مقرر ڪرڻ جي ضرورت ناهي. ان کي بند ڪريو، تبديلين کي محفوظ ڪرڻ جي بغير وسارڻ، ۽ موسيقي کيڏڻ لاء بوٽ کي وڌيڪ لکڻ لاء اڳتي وڌيو.

قدم 4: آزمائشي شروعاتي بوٽ

پهرين، اسان کي اها پڪ ڪرڻ جي ضرورت آهي ته بوٽ سرور تي هلندي آهي ۽ آن لائن موڊ تي وڃي ٿو، ان جو بنيادي حصو شروع ڪرڻ لاء.

  1. ترقياتي ماحول ذريعي يا چونڊيل متن ايڊيٽر ذريعي، ايڊٽنگ لاء ڏنل فائل کوليو.
  2. ڪوڊ ۾ هڪ ميوزڪ بٽ ٺاهڻ لاء ڪوڊ داخل ڪرڻ واري فائل کي کولڻ

  3. ڪوڊ جو بلاڪ داخل ڪريو جيڪو انحصار جي انسٽاليشن جو ذميوار آهي ۽ ماڊلز استعمال ٿيل آهي:

    ڪانفورڊ = گهربل ('ڊسڪٽر .js')؛

    ڪيف {

    اڳيون،

    ٽاپاء

    } = گهربل ('./ confire.json')؛

    YTDL = گهربل ('YTDL-ڪور')؛

  4. ڊڪشنري ۾ ميوزڪ بوٽ ٺاهڻ لاء انحصار جو اعلان ڪوڊ

  5. اڳوڻي بيان ڪيل ٽوڪن جي مدد سان، هڪ گراهڪ ٺاهيو ۽ لاگ ان ڪريو، جيڪو صرف ٻه سادي ليڪن ۾ داخل ٿي چڪو آهي:

    ڪلينٽ ڪلائنٽ = نئون ڊسڪوڊ. ڪرڪيٽ ()؛

    گراهڪ. بلاگ (ٽوڪن)؛

  6. هڪ گراهڪ ۽ ٽوڪن شامل ڪرڻ لاء ميوزڪ بٽ ٺاهڻ لاء

  7. اهو صرف بوٽن کي ٻڌڻ لاء آخري بنيادي لائينن کي بيان ڪرڻ جي لاء رهي ٿو.

    گراهڪ. ('تيار'، () => {{

    ڪنسول. بلاگ ('تيار!')؛

    });

    ڪلائنٽ. يا وري ٻيهر ترتيب ڏيڻ '، () => {{{{

    ڪنسول. بلاگ ('ٻيهر ٻيهر ترتيب ڏيڻ!')؛

    });

    ڪلائنٽ.وس ('ڊسڪنيٽ'، () => {{

    ڪنسول .لاگ ('ڊسڪ ڪريو!')؛

    });

  8. حڪم ۾ ترتيب ڏيڻ وقت ڪوڊ ۾ ڳن connecting ڻ دوران ڪوڊنگ ۾ ڳن connecting ڻ

  9. "فائل" مينيو وڌايو ۽ ٺاهيل تبديلين کي بچايو.
  10. تبديلين ۾ تبديل ٿيندڙ ڪوڊ کي تبديل ڪرڻ بعد تبديلين کي ختم ڪرڻ بعد

  11. هڪ مناسب طريقي سان ٻيهر ڪنسول کي هلائيندا.
  12. ڊڪشنري ۾ ميوزڪ بوٽ ٺاهڻ لاء باٽ تي ڪمانڊ لائن کي هلائڻ لاء

  13. بوٽ اسڪرپٽ شروع ڪرڻ لاء نوڊ انڊيڪس.جز داخل ڪريو.
  14. باٽ انسپيڪشن ٽيم کي ڊسڪ ۾ ميوزڪ بوٽ ٺاهڻ لاء

  15. جيڪڏهن ان جون فائلون صارف جي گهر واري ڊاريڪٽري ۾ موجود نه آهن، نوڊ کي مڪمل ڪرڻ لاء انهن کي مڪمل ڪرڻ گهرجي.
  16. هڪ ٻئي بٽ سوئچ ڪمانڊ کي ڊسڪٽ ۾ ميوزڪ ٺاهڻ لاء داخل ڪيو

  17. بوٽ جو ڪامياب لانچ ظاهر ٿيل لکت جي نشاندهي ڪئي وئي آهي "تيار!
  18. هڪ ڪامياب لانچ جو نتيجو هڪ ميوزڪ بٽ ٺاهڻ ۾

  19. کليل تڪرار ۽ پڪ ڪريو ته بوٽ "آن لائن" جي حيثيت ۾ ويو.
  20. ڊسڪ ۾ ميوزڪ بوٽ ٺاهڻ لاء بوٽ آن لائن چيڪ ڪريو

قدم 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 ۽ آپشن ۽ کليل سهولتن جو استعمال ڪري سگھي ٿو. اهو سڀ ڪجهه جدا عمل آهي جيڪو صرف مونجهاري ۾ شامل ٿيڻ گهرجي جڏهن توهان بوٽن ٺاهڻ لاء توهان جي مهارت کي هلايو ۽ نيٽ ورڪ تي منصوبا ورهائڻ لاء تيار آهن.

وڌيڪ پڙهو