اس مضمون میں، ہم ڈس آرڈر میں موسیقی کھیلنے کے لئے دستی طور پر ایک بوٹ بنانے کے بارے میں بات کریں گے. آپ آسانی سے پورے جمع شدہ کوڈ کاپی کرسکتے ہیں، اور اگر آپ جاوا اسکرپٹ کی مہارت کے مالک ہیں تو اپنے آپ کو اس میں ترمیم کرسکتے ہیں. بوٹ ہمارے ذریعہ پیدا کیا گیا تھا، لیکن کچھ مراحل میں صارف اب بھی مختلف مسائل کا سامنا کر سکتا ہے، لہذا ہم آپ کو مشورہ دیتے ہیں کہ آپ کو صرف ہماری ہدایات کو احتیاط سے پڑھنے کے لئے مشورہ دیں، لیکن اس طرح کی سکرین کی غلطی کوڈ پر بھی ظاہر ہوتا ہے.
اگر یہ پتہ چلتا ہے کہ یہ مواد آپ کے لئے بہت پیچیدہ ہے یا دیگر وجوہات کے لئے مناسب نہیں ہے، موسیقی کو کھیلنے کے لئے تیار کردہ مفت بوٹ استعمال کریں. ذیل میں لنک پر مضمون آپ کو اس بارے میں تفصیلی معلومات مل جائے گی اور آپ کام کو لاگو کرسکتے ہیں.
مزید پڑھ:
ڈسکور میں سرور پر ایک موسیقی بوٹ شامل کرنا
ڈسکور میں بوٹ کے ذریعے موسیقی کھیلیں
مرحلہ 1: ایک نئی درخواست تشکیل دے رہا ہے
ڈویلپرز کے لئے سرکاری پورٹل پر رکاوٹ کے لئے ہر بوٹ کو رجسٹرڈ ہونا ضروری ہے. لہذا آپ کو اجازتوں اور بوٹ کے عام رویے سے منسلک تمام ضروری ترتیبات تک رسائی حاصل ہوتی ہے، آپ ذاتی سرور میں اس کی اجازت پر لنک کاپی کرسکتے ہیں اور منفرد ٹوکن کا استعمال کرسکتے ہیں، جو حکموں کی مزید ترقی کے لئے ضروری ہے.
ڈویلپر ڈویلپر پورٹل کی سرکاری ویب سائٹ پر جائیں
- ڈویلپرز کے لئے پورٹل کے مرکزی صفحے کو کھولنے کے لئے مندرجہ ذیل لنک کا استعمال کریں، ڈسکور ذاتی اکاؤنٹ میں لاگ ان کریں اور نئی درخواست تخلیق کرنے کیلئے "نئی درخواست" پر کلک کریں.
- اس کا نام درج کریں، انفرادیت کو دیئے گئے، کیونکہ اگر ایک ہی نام کے ساتھ بہت سے بٹس موجود ہیں، تو اسے تخلیق کرنے کے لئے ممکن نہیں ہوگا - ناممکن نوٹس مطلع کیا جاتا ہے.
- تکمیل پر، سائٹ پر مینو کھولیں اور "بوٹ" کی قسم کو منتخب کریں.
- "تعمیر A-BOT" سٹرنگ کے برعکس "بوٹ شامل کریں" پر کلک کریں.
- منتخب کردہ درخواست کے لئے بوٹ کے اضافے کی تصدیق کریں.
- ایک واقف مینو کے ذریعہ، «oauth2» پر جائیں.
- یہ سیکشن بوٹ اور اس کی اجازت کے عام پیرامیٹرز کے لئے ذمہ دار ہے. "سکوپ" بلاک میں، "بوٹ" پیراگراف کو نشان زد کریں.
- اجازتوں کی فہرست میں، صوتی چینلز اور بات کرنے کی صلاحیت سے کنکشن کو چالو کرنے کے لئے اس بات کا یقین کریں، کیونکہ یہ مزید براڈکاسٹنگ موسیقی کے لئے ضروری ہے.
- بوٹ کو پڑھنے اور بھیجنے کے قابل ہونا چاہئے، لہذا متن چیٹ کی اجازتوں کے ساتھ سیکشن میں ان اختیارات کو فعال کرنے کے لئے مت بھولنا. یقینا، آپ ایک بار میں تمام اجازت فراہم کرسکتے ہیں، لیکن یہ نقطہ نظر ناقابل یقین ہے، خاص طور پر ایسے معاملات میں جہاں آپ بڑے پیمانے پر صارف کے لئے ایک بوٹ بناتے ہیں.
- جیسے ہی اجازت کی ترتیب مکمل ہو گئی ہے، سرور پر بوٹ کی پہلی اجازت کے لئے لنک کاپی کریں، کیونکہ دوسری صورت میں اسے شامل نہیں ہوتا.
- اس لنک پر عمل کریں اور ٹیسٹ سرور کو منتخب کریں جہاں آپ بوٹ چیک کرنا چاہتے ہیں.
- گرفتاری کی توثیق کریں اور کامیاب اجازت کے بارے میں معلومات کا انتظار کریں.
اب آپ کو ایک منفرد ٹوکن کے ساتھ ایک بوٹ ہے، اور بوٹ پہلے سے ہی سرور میں شامل کیا گیا ہے، لیکن آف لائن موڈ میں. اسے شروع کرنے کے لئے، اسے مقامی کمپیوٹر پر کچھ اور کام کرنا پڑے گا، کیونکہ جب ہم آف لائن آپریشن کے لئے بوٹنگ بوٹنگ کو اڑانے نہیں دیتے ہیں.
مرحلہ 2: تیاری کا کام
تیاری کے اقدامات میں ضروری ڈائریکٹریز اور فائلوں کی تخلیق، ان کے لئے اوزار اور انحصار کی تنصیب شامل ہیں. اس میں کچھ پیچیدہ نہیں ہے، آپ کو صرف کسی بھی مرحلے میں غلطیوں کی پیروی کرنے کے بعد، آپ کو ہر عمل کو تبدیل کرنے کی ضرورت ہے.
- بوٹ کے نام کے ساتھ ایک فولڈر بنائیں. آپ کسی بھی جگہ کا انتخاب کرسکتے ہیں، لیکن صارف کا ہوم فولڈر اس کے لئے بہترین مناسب ہے.
- اس میں دو فائلیں بنائیں: "config.json" اور "index.js". سب سے پہلے بوٹ کی مجموعی ترتیب کو انسٹال کریں - اس کے سابقہ اور منفرد ٹوکن، اور دوسرا - اس آلے کے حکموں اور عام کاموں کے ساتھ پورے پروگرام کوڈ.
- بوٹ کے کام کے لئے NODE.JS. کی ضرورت ہوگی. یہ آلہ مقامی کمپیوٹر پر سکرپٹ شروع کرنے کے لئے ڈیزائن کیا گیا ہے. مندرجہ ذیل لنک پر عمل کریں اور ونڈوز کے لئے اس کے انسٹالر ڈاؤن لوڈ کریں.
سرکاری سائٹ سے NODE.JS ڈاؤن لوڈ کریں
- اسکرین پر ظاہر کردہ ہدایات پر عمل کرنے کے بعد، اس پر عمل درآمد فائل کو چلانے اور سادہ تنصیب کے طریقہ کار کو منتقل کرنے کی توقع ہے.
- اس کے بعد، "کمانڈ لائن" آپ کے لئے آسان، مثال کے طور پر، "چلائیں" افادیت میں سی ایم ڈی میں داخل (یہ جیت + R چابیاں مجموعہ شروع ہوتا ہے).
- ڈسکور API کے ساتھ کام کرنے کے لئے ماڈیول انسٹال کریں، جس کو "discord.js" کہا جاتا ہے. ایسا کرنے کے لئے، کنسول ونڈو میں کھولتا ہے، این پی ایم انسٹال کریں Discord.js ffmpeg-binaries opsscript YTDL-Core --Save اور ENTER دبائیں - لہذا آپ کو فوری طور پر تمام ضروری انحصار شامل کریں.
- موجودہ کنسول ونڈو کو بند کرنے کے بغیر، ایک کامیاب تنصیب پر سکرین پر اطلاعات کا انتظار کریں. اگر غلطیاں ظاہر ہوتی ہیں تو، ان کے کوڈ سیکھیں اور فورم یا سرکاری ویب سائٹ پر کام کے فیصلے کو تلاش کرنے کے لئے تلاش کے انجن کا استعمال کریں.
اس کے نتیجے میں، صارف کے گھر کے فولڈر کو NODE.JS اجزاء کے ساتھ منسلک فائلوں کو ظاہر کرنا چاہئے اور ماڈیول کے بعد شامل کیا گیا ہے. کمپیوٹر کو دوبارہ شروع کریں تاکہ بوٹ کو ابتدائی طور پر مشکلات کا سامنا کرنا پڑا تو پھر اگلے مرحلے پر جائیں.
مرحلہ 3: بوٹ ترتیب ترتیب فائل میں ترمیم کریں
آپ پہلے سے ہی جانتے ہیں کہ BOT BOT ترتیب کی فائل میں کوڈ کی قطاروں کی قطاروں کی قطاریں موجود ہیں جو استعمال شدہ پریفکس کے لئے ذمہ دار ہے (سرور پر کمانڈ میں ترمیم کرنے سے پہلے علامت) اور ایک منفرد ٹوکن جو API میں درخواست کی وضاحت کرتا ہے. تمام مزید اعمال کو پورا کرنے کے لئے، ہم جے ایس مطابقت کی حمایت یا کسی بھی اعلی درجے کی ٹیکسٹ ایڈیٹر کے ساتھ ایک پروگرام ڈاؤن لوڈ کرنے کی سفارش کرتے ہیں اگر یہ پہلے نہیں کیا گیا ہے. ذیل میں لنک پر مضمون آپ کو دستیاب مناسب حل کے ساتھ اپنے آپ کو واقف کرنے کے قابل ہو جائے گا.
مزید پڑھیں: پروگرامنگ کے لئے ترقیاتی ماحول کا انتخاب کریں
جیسے ہی کمپیوٹر پر انسٹال کیا جاتا ہے اور کام کرنے کے لئے تیار ہے، آپ محفوظ طریقے سے ترتیب ترتیب فائل میں ترمیم کرنے کے لئے شروع کر سکتے ہیں، صارف کے اعداد و شمار میں داخل ہونے کے لۓ.
- ایک ٹیکسٹ ایڈیٹر یا ترقیاتی ماحول کے ذریعہ config.js فائل کو چلائیں، ذیل میں کوڈ داخل کریں.
{
"پریفکس": "!"
"ٹوکن": "آپ کے ٹاک"
}
مطلوبہ طور پر ڈبل حوالہ جات میں پیش نظارہ کو تبدیل کریں یا ایک افتتاحی نشان چھوڑ دیں. اس نشان کا استعمال کرتے ہوئے ایک کمانڈ کا ایک مثال ایسا لگتا ہے:!
- ترقیاتی پورٹل پر اپنے بوٹ پر جائیں، وہاں ایک منفرد ٹوکن تلاش کریں اور اسے کاپی کریں.
- ڈبل حوالہ جات کو حذف کرنے کے بجائے اپنے ٹاک معائنہ داخل کریں.
- تبدیلیاں محفوظ کریں اور اس فائل کو بند کردیں. ویسے، آپ معیاری "نوٹ بک" کے ذریعہ ایک ہی عمل انجام دے سکتے ہیں.
ترتیب فائل کے ساتھ اس اعمال پر مکمل ہو گیا ہے، اب آپ کو کوڈ کی ایک ہی لائن کا تعین کرنے کی ضرورت نہیں ہے. اسے بند کرو، بغیر ترمیم کو بچانے کے لۓ بھول جاؤ، اور موسیقی کو کھیلنے کے لئے بوٹ کو مزید لکھنے کے لۓ آگے بڑھیں.
مرحلہ 4: مقدمے کی سماعت شروع ہو رہی ہے
سب سے پہلے، ہمیں اس بات کا یقین کرنے کی ضرورت ہے کہ بوٹ عام طور پر سرور پر چل رہا ہے اور آن لائن موڈ پر جاتا ہے، تو یہ کوڈ کے اپنے اہم حصہ کو index.js میں لکھنے کے لئے ضروری ہو گا، اور پھر نوڈ. js شروع کرنے کے لئے استعمال کرنا ہوگا.
- ترقیاتی ماحول یا منتخب ٹیکسٹ ایڈیٹر کے ذریعہ، ترمیم کے لئے ذکر کردہ فائل کو کھولیں.
- کوڈ کا بلاک داخل کریں جو انحصار کی تنصیب کے ذمہ دار ہے اور اس کا استعمال کیا جاتا ہے.
Const Discord = کی ضرورت ہے ('discord.js')؛
const {
سابقہ،
ٹوکن
} = کی ضرورت ہے ('./ config.json')؛
Const YTDL = کی ضرورت ہے ('YTDL-CORE')؛
- پہلے مخصوص ٹوکن کی مدد سے، ایک کلائنٹ اور لاگ ان بنائیں، جو صرف دو سادہ لائنوں میں داخل ہونے سے کئے جاتے ہیں:
Const کلائنٹ = نیا Discord.Client ()؛
کلائنٹ. Login (ٹوکن)؛
- یہ صرف بوٹ سننے کے لئے آخری بنیادی لائنوں کی وضاحت کرنے کے لئے صرف رہتا ہے.
Client.ONCE ('تیار'، () => {
کنسول .log ('تیار!')؛
});
Client.ONCE ('دوبارہ رابطہ کرنا'، () => {
کنسول .log ('دوبارہ منسلک!')؛
});
Client.ONCE ('منقطع'، () => {
کنسول .log ('منقطع!')؛
});
- "فائل" مینو کو بڑھانے اور تبدیلیاں محفوظ کریں.
- ایک آسان طریقہ میں دوبارہ کنسول چلائیں.
- بوٹ سکرپٹ شروع کرنے کے لئے نوڈ index.js کمانڈ درج کریں.
- اگر اس کی فائلیں صارف کے ہوم ڈائرکٹری میں واقع نہیں ہیں تو، نوڈ کے بعد انہیں مکمل کرنے کی وضاحت کرنا پڑے گی.
- بوٹ کا کامیاب آغاز شائع کردہ لکھاوٹ "تیار!" کی طرف سے اشارہ کیا جاتا ہے.
- کھولیں ڈس آرڈر کریں اور اس بات کو یقینی بنائیں کہ بوٹ "آن لائن" کی حیثیت میں چلا گیا.
مرحلہ 5: موسیقی بوٹ کے اہم کوڈر لکھنا
سب سے زیادہ پیچیدہ عمل جاری رہے - موسیقی بوٹ کے لئے بنیادی کوڈ لکھ رہا ہے. کاموں کی ایک فہرست ہے جو اسے انجام دینا ضروری ہے: پیغامات اور پروسیسنگ حکموں کو پڑھنا، ایک گانا نام یا اس کے ایڈریس کی تعریف، صوتی چینل اور پلے بیک سے منسلک. اس سب بٹ پر اجازت ہے، لہذا آپ کو صرف جاوا اسکرپٹ افعال کا استعمال کرتے ہوئے اقدامات کی وضاحت کرنے کی ضرورت ہے، جو اسی "index.js" فائل میں انجام دیا جاتا ہے.
پیغامات پڑھنے کے لئے ایک سادہ خصوصیت شامل کریں:
کلائنٹ. ('پیغام'، async پیغام => {
}
یہ صرف دو لائنوں پر مشتمل ہے، لیکن بوٹ کو اپنی مرضی کے مطابق سوال لینے اور صحیح طریقے سے عملدرآمد کرنے کی اجازت دے گی. یہ کہا جا سکتا ہے کہ یہ کسی بھی قسم کے بٹس کے لئے سب سے اہم ٹیموں میں سے ایک ہے. داخل ہونے سے دوسرے بٹس سے پیغامات کو نظر انداز کرنے کا یقین رکھو
اگر (پیغام. outhor.bot) واپسی؛
اس کے ساتھ ساتھ سرور پر متعدد بٹس کا استعمال کرتے ہوئے یہ تنازعہ سے بچتا ہے. اگلا، یہ پریفکس کو چیک کرنے کے لئے ضروری ہو گا تاکہ بوٹ نے ٹیم کو قبول کیا یا اسے واپس کردیا.
اگر (! پیغام. content.startswith (Prefix)) واپسی؛
آپریٹرز، اور ہمارے کیس میں ڈیزائن اس طرح لگتا ہے کہ شروع کردہ حکموں کی جانچ پڑتال کی جاتی ہے.
Cost Serberqueue = leaque.get (message.guild.id)؛
اگر (پیغام. content.startswith (`$ {prefix} play`)) {
عملدرآمد (پیغام، Serberqueue)؛
واپسی
} اور اگر (پیغام. content.startswith (`$ {prefix} چھوڑ دیں))) {
چھوڑ دو (پیغام، serberqueue)؛
واپسی
} اور اگر (پیغام. content.startswith (`$ {prefix} سٹاپ`)) {
بند کرو (پیغام، serberqueue)؛
واپسی
} اور
پیغام .channel.send ('آپ کو موجودہ کمانڈ کا استعمال کرنا ضروری ہے!')
}
براہ کرم نوٹ کریں کہ بھیجیں ('') تقریب صارف کو پیغام بھیجتا ہے اگر یہ اچانک غیر کام کرنے والے کمانڈر میں داخل ہوجاتا ہے. یہ پیغام آپ کو ترمیم کر سکتے ہیں، حوالہ جات میں لکھاوٹ تبدیل کر سکتے ہیں.
اب بوٹ نے حکموں کو لینے کے لئے سیکھا، لیکن جب تک کہ وہ ان کے ساتھ بات چیت کرسکتے ہیں، کیونکہ اعمال کی وضاحت نہیں کی جاتی ہے. سب سے پہلے کھیل کمانڈ شامل کریں، جو پلے بیک کے لئے ذمہ دار ہے. اس کے لئے، مندرجہ ذیل شکل کے ساتھ ایک صف کی ضرورت ہے:
قسط = نیا نقشہ ()؛
وہ قطار میں تمام حکموں کو بھیجتا ہے اور گانا بناتا ہے جب پچھلے ایک ختم ہوجاتا ہے. اگلا، یہ ایک فنکشن بنانا ضروری ہے جو چیک کریں گے کہ صارف صوتی چینل سے منسلک ہوتا ہے اور کیا بوٹ متعلقہ اجازت ہے.
ASYNC فنکشن پر عملدرآمد (پیغام، serberqueue) {
Const Args = پیغام. content.split ('')؛
Const Voicechannel = پیغام. [email protected]؛
اگر (! VoiceChannel) واپس remine.channel.send ('موسیقی سننے کے لئے، آپ کو صوتی چینل میں رہنے کی ضرورت ہے!')؛
کی اجازت = voicechannel.permissionfor کے لئے (پیغام. client.user)؛
اگر (اجازت نامہ ('مربوط') || اجازت نامہ ('بولیں') {
Message.Channel.Send ('مجھے اپنے صوتی چینل میں شامل ہونے اور بات کرنے کی اجازت ہے!')؛
}
}
اگلا کارروائی - YTDL لائبریری سے منسلک، چونکہ یہ بوٹ YouTube سے لنک پر گانا کا نام پڑھا جائے گا، جس کے بعد یہ سرور پر کھیلا جاتا ہے. یہ کوڈ داخل کرنے کا ایک چھوٹا سا ٹکڑا داخل کرنے کے لۓ لے جائے گا.
Const Songinfo = ytdl.getinfo انتظار کر رہے ہیں (args [1])؛
const song = {{
عنوان: songinfo.title،
یو آر ایل: songinfo.video_url،
};
کوڈ کے اگلے بلاک کو آپ کو یہ سمجھنے کی اجازت دے گی کہ قطار میں گانا موجود ہیں یا آپ فوری طور پر صوتی چینل سے منسلک ہوسکتے ہیں اور پلے بیک شروع کرسکتے ہیں.
اگر (! serverqueue) {
} اور
serverweue.songs.push (گانا)؛
کنسول. log (serverweue.songs)؛
واپسی پیغام. channel.send (`$ {song.title} قطار میں شامل کیا گیا ہے!`)؛
}
اگلا نوشی پروگرامرز کے لئے ایک چھوٹا سا پیچیدہ ایک معاہدے کی منصوبہ بندی ہے جو ایک صف میں ایک صف میں اضافہ کرتا ہے اور ہر بار جب آپ داخل ہوجاتا ہے. کھیلیں، قطار کی جانچ پڑتال اور صحیح کارروائی کا انتخاب کریں. پیش کردہ تبصرے پر توجہ دینا، جو آپ کو تمام مضامین سے نمٹنے کی اجازت دیتا ہے.
// قطار کے لئے ایک معاہدہ پیدا
const queueacontroct = {
TextChannel: Message.Channel،
Voicechannel: Voicechannel،
کنکشن: نپل،
گانے، نغمے: []
حجم: 5،
چل رہا ہے: سچ،
};
// ہمارے معاہدے کے ساتھ قطار مقرر کریں
قطار. سیٹ (پیغام. guild.id، quowecontruct)؛
// ہماری صف کے گانے میں ساخت ڈالیں
quowecontruct.songs.push (گانا)؛
کوشش کریں {
// یہاں ہم صوتی چیٹ میں شامل ہونے اور اعتراض میں کنکشن کو بچانے کی کوشش کر رہے ہیں
Var کنکشن = انتظار voicechannel.join ()؛
quowecontruct.connection = کنکشن؛
// گانا شروع کرنے کے لئے پلے بیک تقریب کو بلا رہا ہے
کھیلیں (پیغام. guild، queueControct.songs [0])؛
} پکڑو (غلط) {
// ایک غلطی کا پیغام دکھائیں اگر بوٹ صوتی چیٹ میں شامل نہیں ہوسکتا ہے
کنسول .log (غلط)؛
قطار. ڈیلیٹ (پیغام. guild.id)؛
واپسی پیغام .چینیل.سنڈ (غلط)؛
}
قطار کے ساتھ، سب کچھ واضح ہے، لیکن اب بھی گیت نہیں کھیلنا، کیونکہ کھیل کی تقریب کے لئے کوئی تفویض نہیں ہے. اس کوڈ میں ایسا کرنے کے لئے یہ ساخت شامل کرنے کے لئے ضروری ہے
فنکشن کھیل (Guild، گانا) {
Const Serberqueue = leaque.get (guild.id)؛
اگر (گیت) {
serverweue.voicechannel.leave ()؛
قطار. ڈیلیٹ (guild.id)؛
واپسی
}
}
کھیل کا سٹریم () فنکشن اور ٹریک کے مخصوص لنک کا استعمال کرتے ہوئے شروع ہوتا ہے.
CONT DISPACHER = Serviceweue.connection.playstream (YTDL (song.url))
.on ('اختتام'، () => {
کنسول .log ('موسیقی ختم ہو گیا ہے!')؛
// قطار سے ختم گانا کو ہٹا دیتا ہے
serverweue.songs.shift ()؛
// پھر مندرجہ ذیل گانا کے ساتھ پلے بیک کی تقریب کا سبب بنتا ہے
کھیلیں (Guild، Serberqueue.Songs [0])؛
})
.on ('غلطی'، غلطی => {
کنسول. کورس (غلطی)؛
});
ڈسپلےر. ایسوسی ایشنولوگجرمک (serverweue.volume / 5)؛
اگر آپ گانا چھوڑنے کی تقریب کو شامل کرنا چاہتے ہیں، مثال کے طور پر، جب آپ ایک پلے لسٹ کو کھیلنے کا فیصلہ کرتے ہیں تو، سب سے پہلے مناسب کمانڈ کا خیال رکھنا، اور پھر اس طرح کے ٹکڑے شامل کریں:
فنکشن پر جائیں (پیغام، serberqueue) {
اگر (! پیغامات
اگر (! serverqueue) remete.channel.send ('کوئی گانا نہیں ہے کہ میں چھوڑ سکتا ہوں!')؛
serverweue.connection.dispatcher.end ()؛
}
تقریبا ایک ہی اسکیم بھی سٹاپ کی تقریب کام کرتا ہے، لیکن کوڈ کے ساتھ بلاک تھوڑا سا مختلف نظر حاصل کرتا ہے:
فنکشن سٹاپ (پیغام، serberqueue) {
اگر (! پیغام. embermember.voicechannel) واپسی پیغام. channel.send ('
موسیقی کو روکنے کے لئے آپ کو صوتی چینل میں ہونا ضروری ہے! ')؛
serverweue.songs = []؛
serverweue.connection.dispatcher.end ()؛
}
اس بات پر غور کریں کہ اوپر پیش کردہ معلومات ان صارفین کے لئے خاص طور پر مناسب ہے جو پہلے سے ہی جاوا اسکرپٹ زبان سے واقف ہیں یا صرف مطالعہ میں مصروف ہیں اور ایک موسیقی بوٹ بنانے کا فیصلہ کیا ہے. اگر آپ عام طور پر مہارت حاصل کرتے ہیں اور کوڈ کے ساتھ مخصوص بلاکس آپ کو کچھ بھی نہیں کہتے ہیں، تو صرف پورے ذریعہ کوڈ کو فائل میں داخل کریں، بوٹ سے پیغامات کو روسی میں تبدیل کریں (وہ حوالہ جات میں ہیں) اور محفوظ کریں تبدیلیاں تمام ذریعہ کوڈ اس قسم کی ہے:
Const Discord = کی ضرورت ہے ('discord.js')؛
const {
سابقہ،
ٹوکن
} = کی ضرورت ہے ('./ config.json')؛
Const YTDL = کی ضرورت ہے ('YTDL-CORE')؛
Const کلائنٹ = نیا Discord.Client ()؛
قسط = نیا نقشہ ()؛
Client.ONCE ('تیار'، () => {
کنسول .log ('تیار!')؛
});
Client.ONCE ('دوبارہ رابطہ کرنا'، () => {
کنسول .log ('دوبارہ منسلک!')؛
});
Client.ONCE ('منقطع'، () => {
کنسول .log ('منقطع!')؛
});
کلائنٹ. ('پیغام'، async پیغام => {
اگر (پیغام. outhor.bot) واپسی؛
اگر (! پیغام. content.startswith (Prefix)) واپسی؛
Cost Serberqueue = leaque.get (message.guild.id)؛
اگر (پیغام. content.startswith (`$ {prefix} play`)) {
عملدرآمد (پیغام، Serberqueue)؛
واپسی
} اور اگر (پیغام. content.startswith (`$ {prefix} چھوڑ دیں))) {
چھوڑ دو (پیغام، serberqueue)؛
واپسی
} اور اگر (پیغام. content.startswith (`$ {prefix} سٹاپ`)) {
بند کرو (پیغام، serberqueue)؛
واپسی
} اور
پیغام. Channel.send ('آپ کو ایک درست کمانڈ درج کرنے کی ضرورت ہے!')
}
});
ASYNC فنکشن پر عملدرآمد (پیغام، serberqueue) {
Const Args = پیغام. content.split ('')؛
Const Voicechannel = پیغام. [email protected]؛
اگر (! VoiceChannel) واپس remine.channel.send ('آپ کو موسیقی کھیلنے کے لئے ایک صوتی چینل میں ہونا ضروری ہے!')؛
کی اجازت = voicechannel.permissionfor کے لئے (پیغام. client.user)؛
اگر (اجازت نامہ ('مربوط') || اجازت نامہ ('بولیں') {
Message.Channel.send ('مجھے اپنی صوتی چینل میں شامل ہونے اور بات کرنے کی اجازتوں کی ضرورت ہے!')؛
}
Const Songinfo = ytdl.getinfo انتظار کر رہے ہیں (args [1])؛
const song = {{
عنوان: songinfo.title،
یو آر ایل: songinfo.video_url،
};
اگر (! serverqueue) {
const queueacontroct = {
TextChannel: Message.Channel،
Voicechannel: Voicechannel،
کنکشن: نپل،
گانے، نغمے: []
حجم: 5،
چل رہا ہے: سچ،
};
قطار. سیٹ (پیغام. guild.id، quowecontruct)؛
quowecontruct.songs.push (گانا)؛
کوشش کریں {
Var کنکشن = انتظار voicechannel.join ()؛
quowecontruct.connection = کنکشن؛
کھیلیں (پیغام. guild، queueControct.songs [0])؛
} پکڑو (غلط) {
کنسول .log (غلط)؛
قطار. ڈیلیٹ (پیغام. guild.id)؛
واپسی پیغام .چینیل.سنڈ (غلط)؛
}
} اور
serverweue.songs.push (گانا)؛
کنسول. log (serverweue.songs)؛
واپسی پیغام. channel.send (`$ {song.title} قطار میں شامل کیا گیا ہے!`)؛
}
}
فنکشن پر جائیں (پیغام، serberqueue) {
اگر!
اگر (! serverqueue) remete.channel.send ('کوئی گانا نہیں ہے کہ میں چھوڑ سکتا ہوں!')؛
serverweue.connection.dispatcher.end ()؛
}
فنکشن سٹاپ (پیغام، serberqueue) {
اگر!
serverweue.songs = []؛
serverweue.connection.dispatcher.end ()؛
}
فنکشن کھیل (Guild، گانا) {
Const Serberqueue = leaque.get (guild.id)؛
اگر (گیت) {
serverweue.voicechannel.leave ()؛
قطار. ڈیلیٹ (guild.id)؛
واپسی
}
CONT DISPACHER = Serviceweue.connection.playstream (YTDL (song.url))
.on ('اختتام'، () => {
کنسول .log ('موسیقی ختم ہو گئی!')؛
serverweue.songs.shift ()؛
کھیلیں (Guild، Serberqueue.Songs [0])؛
})
.on ('غلطی'، غلطی => {
کنسول. کورس (غلطی)؛
});
ڈسپلےر. ایسوسی ایشنولوگجرمک (serverweue.volume / 5)؛
}
کلائنٹ. Login (ٹوکن)؛
مکمل کرنے کے بعد، یہ بوٹ کو دوبارہ شروع کرنے کے لئے بہتر ہے، جس کے بعد آپ اپنے سرور پر جا سکتے ہیں، صوتی چینل سے منسلک کریں اور بات چیت کے کسی بھی کمانڈر میں داخل ہونے کے بعد، بوٹ پر رد عمل کیسے کریں.
اگر بوٹ کے اوپر مختلف قسم آپ کے لئے مناسب نہیں ہے تو، آپ ذریعہ کوڈ اسی گیتب پر تلاش کرسکتے ہیں اور انہیں اپنے کمپیوٹر پر کاپی کرسکتے ہیں. رجسٹریشن اور لانچ کا اصول ایک ہی رہتا ہے، لہذا اگر ضروری ہو تو، صرف مکمل کوڈ میں ترمیم کریں، اور پھر بوٹ کی جانچ پڑتال کریں.
اس آرٹیکل میں، ہم نے میزبان پر ایک بوٹ کے مادہ کو متاثر نہیں کیا، دوسرے صارفین کے درمیان تقسیم، ایک اوتار اور کھلی سائٹس کا استعمال، جہاں سے یہ اختیار کیا جا سکتا ہے. یہ سب الگ الگ عمل ہے جو صرف اس وقت مصروف ہونا چاہئے جب آپ نے اپنے مہارت کو بٹس پیدا کرنے کے لئے اپنے مہارت کا اعزاز دیا ہے اور نیٹ ورک پر منصوبوں کو تقسیم کرنے کے لئے تیار ہیں.