كيف تصنع خصومك بوت
يحتوي Discord على واجهة برمجة تطبيقات ممتازة لكتابة برامج التتبع المخصصة ومجتمع روبوت نشط جدًا. اليوم سنلقي نظرة على كيفية البدء في صنع وجهتك الخاصة.
ستحتاج إلى القليل من المعرفة البرمجية لترميز برنامج روبوت ، لذا فهو ليس للجميع ، لكن لحسن الحظ هناك بعض الوحدات للغات الشعبية التي تجعل من السهل جدًا القيام بها. سنستخدم الأكثر شعبية ، discord.js.
ابدء
توجه إلى بوابة بوت ديسكورد ، وأنشئ تطبيقًا جديدًا.
ستحتاج إلى تدوين معرف العميل والسرية (التي يجب عليك الاحتفاظ بها سرًا بالطبع). ومع ذلك ، هذا ليس البرنامج ، فقط "التطبيق". سيكون عليك إضافة البوت تحت علامة التبويب "بوت".
قم بتدوين هذا الرمز أيضًا ، واحتفظ به سراً. لا ، تحت أي ظرف من الظروف ، ارتكبت هذا المفتاح لجيثب. سيتم اختراق برنامج الروبوت الخاص بك على الفور تقريبًا.
قم بتثبيت Node.js واحصل على الترميز
لتشغيل شفرة جافا سكريبت خارج صفحة الويب ، تحتاج إلى "عقدة". قم بتنزيله وتثبيته وتأكد من أنه يعمل في جهاز طرفي (أو موجه الأوامر ، حيث يجب أن يعمل كل ذلك على أنظمة Windows). الأمر الافتراضي هو "عقدة".
كما نوصي بتثبيت أداة nodemon. إنه تطبيق سطر أوامر يراقب رمز برنامج الروبوت الخاص بك ويعيد تشغيله تلقائيًا على التغييرات. يمكنك تثبيته عن طريق تشغيل الأمر التالي:
npm i -g nodemon
ستحتاج إلى محرر نصوص. يمكنك فقط استخدام المفكرة ، لكننا نوصي إما Atom أو VSC.
هنا لدينا "مرحبا العالم":
const Discord = تتطلب ('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 ( 'رمز')؛
يتم أخذ هذا الرمز من مثال discord.js. دعونا كسرها.
- أول سطرين هما تكوين العميل. يستورد الخط الأول الوحدة النمطية في كائن يسمى "Discord" ، ويقوم السطر الثاني بتهيئة كائن العميل.
- ال
client.on ( 'جاهز')
كتلة النار عندما يبدأ بوت. هنا ، تم تكوينه فقط لتسجيل اسمه إلى المحطة. - ال
client.on ( 'رسالة')
كتلة النار في كل مرة يتم نشر رسالة جديدة إلى أي قناة. بالطبع ، ستحتاج إلى التحقق من محتوى الرسالة ، وهذا هو ماإذا
كتلة يفعل. إذا كانت الرسالة تقول "ping" ، فستجيب بـ "Pong!" - آخر سطر يسجل الدخول باستخدام الرمز المميز من بوابة bot. من الواضح أن الرمز في لقطة الشاشة هنا مزيف. لا تنشر رمزك المميز على الإنترنت.
انسخ هذا الرمز ، والصقه في الرمز المميز في الأسفل ، ثم احفظه باسم index.js
في مجلد مخصص.
كيفية تشغيل بوت
توجه إلى الطرفية الخاصة بك ، وقم بتشغيل الأمر التالي:
nodemon --inspect index.js
يؤدي هذا إلى تشغيل النص البرمجي ، كما يعمل أيضًا على تنشيط Chrome debugger ، والذي يمكنك الوصول إليه عن طريق الكتابة الكروم: // تفتيش /
إلى Omnibar Chrome ثم فتح "devtools مخصصة للعقدة."
الآن ، يجب أن يقول فقط "تسجيل الدخول باسم ،" ولكن هنا لقد قمت بإضافة سطر يقوم بتسجيل جميع كائنات الرسائل التي تم استلامها إلى وحدة التحكم:
ما الذي يجعل هذه الرسالة موضوعًا؟ الكثير من الأشياء ، في الواقع:
أبرزها ، أن يكون لديك معلومات المؤلف ومعلومات القناة ، التي يمكنك الوصول إليها باستخدام msg.author و msg.channel. أوصي باستخدام هذه الطريقة لتسجيل كائنات إلى Devtools عقدة الكروم ، وننظر حولك لمعرفة ما يجعله يعمل. قد تجد شيئًا مثيرًا للاهتمام. هنا ، على سبيل المثال ، يسجِّل برنامج الروبوت ردوده على وحدة التحكم ، بحيث يتم تشغيل الردود على برنامج bot client.on ( 'رسالة')
. لذا ، قمت بعمل سبامبو:
ملحوظة: كن حذرا مع هذا ، لأنك لا تريد حقا التعامل مع العودية.
كيف تضيف بوت الى خادمك
هذا الجزء هو أصعب مما ينبغي. يجب أن تأخذ عنوان URL هذا:
https://discordapp.com/oauth2/authorize؟client_id=CLIENTID&scope=bot
واستبدل CLIENTID بمعرّف عميل bot الخاص بك ، الموجود في علامة التبويب معلومات عامة في صفحة التطبيق. وبمجرد الانتهاء من ذلك ، يمكنك إعطاء الرابط لأصدقائك ليقوموا بإضافة البوت إلى خوادمهم أيضًا.
حسنا ، ما الذي يمكنني فعله?
أبعد من الإعداد الأساسي ، أي شيء آخر يعود لك بالكامل. ولكن ، هذا لن يكون درسًا كبيرًا إذا توقفنا في عالم الترحيب ، لذا دعنا نتناول بعض الوثائق ، لذا لديك فكرة أفضل عن ما هو ممكن. أقترح عليك قراءة قدر ما تستطيع ، كما هو موثق جيدًا.
أود أن أوصي مضيفا console.log (العميل)
إلى بداية التعليمة البرمجية وإلقاء نظرة على كائن العميل في وحدة التحكم:
من هنا ، يمكنك أن تتعلم الكثير. نظرًا لأنه يمكنك إضافة برنامج روبوت إلى خوادم متعددة في وقت واحد ، تكون الخوادم جزءًا من النقابات
كائن الخريطة. في هذا الكائن توجد النقابات الفردية (وهي اسم واجهة برمجة التطبيقات لـ "الخادم") وتحتوي تلك الكائنات على قوائم القنوات التي تحتوي على جميع المعلومات وقوائم الرسائل. واجهة برمجة التطبيقات شديدة العمق ، وقد تستغرق بعض الوقت للتعلم ، ولكن على الأقل من السهل الإعداد والتعلم.