نحوه ساخت ربات در دیسکورد
دیسکورد یک API عالی برای نوشتن ربات های سفارشی و یک جامعه ربات بسیار فعال دارد . امروز نگاهی خواهیم داشت به اینکه چگونه می توان در دیسکورد ربات ساخت.
برای کدنویسی یک ربات به مقداری دانش برنامه نویسی نیاز دارید، بنابراین برای همه مناسب نیست، اما خوشبختانه ماژول هایی برای زبان های محبوب وجود دارد که انجام آن را بسیار آسان می کند. ما از محبوبترین، discord.js استفاده خواهیم کرد.
مرتبط: نحوه راه اندازی و ایجاد سرور گفتگو در دیسکورد
نحوه ساخت ربات در دیسکورد
به پورتال ربات Discord بروید و یک Application جدید ایجاد کنید.
شما باید Client ID را یادداشت کنید (البته باید یک راز نگه دارید). با این حال، این ربات نیست، فقط “Application” است. شما باید ربات را در زیر تب “Bot” اضافه کنید.
این token را نیز یادداشت کنید و آن را مخفی نگه دارید. تحت هیچ شرایطی این کلید را به Github ندهید. ربات شما تقریباً بلافاصله هک می شود.
Node.js را نصب کنید و کدگذاری را دریافت کنید
برای اجرای کد جاوا اسکریپت در خارج از یک صفحه وب، به Node نیاز دارید . آن را دانلود کنید، نصب کنید و مطمئن شوید که در ترمینال (یا Command Prompt، زیرا همه اینها باید در سیستم های ویندوز کار کند) کار می کند. دستور پیش فرض “node” است.
ما همچنین نصب ابزار nodemon را توصیه می کنیم. این یک برنامه خط فرمان است که کد ربات شما را کنترل می کند و با تغییرات به طور خودکار راه اندازی مجدد می شود. با اجرای دستور زیر می توانید آن را نصب کنید:
npm i -g nodemon
شما به یک ویرایشگر متن نیاز دارید. شما فقط می توانید از دفترچه یادداشت استفاده کنید، اما ما Atom یا VSC را توصیه می کنیم .
در اینجا “Hello World” ما است:
const Discord = require('discord.js'); const client = new Discord.Client(); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); }); client.on('message', msg => { if (msg.content === 'ping') { msg.reply('pong'); } }); client.login('token');
این کد از مثال discord.js گرفته شده است. بیایید آن را تجزیه کنیم.
- دو خط اول برای پیکربندی client هستند. خط یک ماژول را به یک شی به نام “Discord” وارد می کند، و خط دو شی client را مقداردهی اولیه می کند.
- وقتی ربات
client.on('ready')
راه اندازی شد، بلوک فعال می شود. در اینجا، پیکربندی شده است تا نام خود را در ترمینال ثبت کند. - هر زمان
client.on('message')
که پیام جدیدی به هر کانالی پست شود، بلوک فعال می شود. البته، شما باید محتوای پیام را بررسی کنید، و این کاری است کهif
بلوک انجام می دهد. اگر پیام فقط «ping» را میگوید، با «Pong» پاسخ میدهد. - آخرین خط با توکن از پورتال ربات وارد می شود. بدیهی است که توکن موجود در اسکرین شات در اینجا جعلی است. هرگز توکن خود را در اینترنت پست نکنید.
این کد را کپی کنید، توکن خود را در پایین قرار دهید و آن را مانند index.js
یک پوشه اختصاصی ذخیره کنید.
نحوه اجرای ربات در دیسکورد
به ترمینال خود بروید و دستور زیر را اجرا کنید:
nodemon --inspect index.js
این کار اسکریپت را راه اندازی می کند و همچنین دیباگر کروم را فعال می کند، که می توانید با تایپ کردن chrome://inspect/
در Omnibar کروم و سپس باز کردن «dedicated devtools for Node» به آن دسترسی پیدا کنید.
اکنون فقط باید بگوید “Logged as <bot-name>”، اما در اینجا من خطی را اضافه کرده ام که همه پیام دریافتی را به کنسول ثبت می کند:
بنابراین چه چیزی این پیام را تشکیل می دهد؟ خیلی چیزها، در واقع:
مهمتر از همه، شما اطلاعات نویسنده و اطلاعات کانال را دارید که می توانید با msg.author و msg.channel به آنها دسترسی داشته باشید. من این روش ثبت پیام را در ابزارهای توسعهدهنده Chrome Node توصیه میکنم و فقط به اطراف نگاه کنید تا ببینید چه چیزی باعث کارکرد آن میشود. ممکن است چیز جالبی پیدا کنید. برای مثال، در اینجا، ربات پاسخهای خود را در کنسول ثبت میکند، بنابراین پاسخهای ربات فعال میشوند client.on('message')
. بنابراین، من یک اسپمبات ساختم:
توجه : در این مورد مراقب باشید، زیرا واقعاً نمی خواهید با بازگشت مواجه شوید.
چگونه ربات دیسکورد را به سرور خود اضافه کنیم
این بخش سخت تر از آن چیزی است که باید باشد. شما باید این URL را بگیرید:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
و CLIENTID را با client ID ربات خود که در برگه اطلاعات عمومی صفحه برنامه موجود است جایگزین کنید . پس از انجام این کار، می توانید پیوند را به دوستان خود بدهید تا آنها نیز ربات را به سرورهای خود اضافه کنند.
خب، پس چه کار دیگری می توانم انجام دهم؟
فراتر از تنظیمات اولیه، هر چیز دیگری کاملاً به شما بستگی دارد. اما، اگر در hello world توقف کنیم، این یک آموزش چندان آموزشی نخواهد بود، بنابراین اجازه دهید برخی از مستندات را مرور کنیم تا ایده بهتری در مورد آنچه ممکن است داشته باشید. پیشنهاد می کنم تا جایی که می توانید مطالعه کنید، زیرا بسیار مستند است.
مرتبط: نحوه استفاده از دیسکورد برای تماشای فیلم با دوستان
توصیه می کنم console.log(client)
به شروع کد خود اضافه کنید و به client در کنسول نگاهی بیندازید:
از اینجا می توانید چیزهای زیادی یاد بگیرید. از آنجایی که می توانید یک ربات را همزمان به چندین سرور اضافه کنید، سرورها بخشی از Guilds
نقشه هستند. در آن شی، Guilds فردی هستند (که نام API برای “سرور” است) و آن انجمن دارای لیست کانال هایی هستند که حاوی تمام اطلاعات و لیست پیام ها هستند. API بسیار عمیق است و یادگیری آن ممکن است کمی طول بکشد، اما حداقل راه اندازی و شروع یادگیری آسان است.
موفق باشید.