איך לעשות Bot משלך
Discord יש API מעולה לכתיבת בוטים מותאמים אישית, קהילה בוט מאוד פעיל. היום נסתכל איך להתחיל לעבוד בעצמך.
אתה צריך קצת ידע בתכנות קוד בוט, אז זה לא עבור כולם, אבל למרבה המזל יש כמה מודולים עבור שפות פופולריות זה עושה את זה מאוד קל לעשות. אנו נשתמש באחד הפופולריים ביותר, discord.js.
מתחילים
ראש אל פורטל הבוט של דיסקור, וליצור יישום חדש.
אתה רוצה לרשום את מזהה הלקוח ואת סוד (שבו אתה צריך לשמור סוד, כמובן). עם זאת, זה לא בוט, רק "יישום". תצטרך להוסיף את הבוט תחת הכרטיסייה "Bot".
רשום גם את האסימון הזה, ושמור אותו בסוד. אל תעשה, בשום פנים ואופן, את המפתח הזה לגיתוב. בוט שלך יהיה פרוצים כמעט מיד.
התקן Node.js וקבל קידוד
כדי להפעיל קוד Javascript מחוץ לדף אינטרנט, אתה צריך הצומת. להוריד אותו, להתקין אותו, ולוודא שזה עובד במסוף (או שורת הפקודה, כמו כל זה צריך לעבוד על מערכות Windows). פקודת ברירת המחדל היא "צומת".
אנו ממליצים גם להתקין את כלי הניימון. זהו יישום שורת פקודה המנטרת את קוד הבוט שלך ומופעל מחדש באופן אוטומטי על שינויים. ניתן להתקין אותו על-ידי הפעלת הפקודה הבאה:
npm אני -g nodton
יהיה עליך עורך טקסט. אתה יכול פשוט להשתמש פנקס, אבל אנחנו ממליצים גם Atom או VSC.
הנה "שלום העולם" שלנו:
const Discord = דרוש ('discord.js'); const Client = חדש Discord.Client (); client.on ('ready', () => console.log ('מחובר כ $ client.user.tag!');); client.on ('message', msg => if (msg.content === 'ping') msg.reply ('pong');; client.login ('אסימון');
קוד זה נלקח מתוך דוגמה discord.js. בואו נשבור אותו.
- שתי השורות הראשונות הן להגדיר את הלקוח. שורה אחת מייבאת את המודול לאובייקט הנקרא "Discord", והשורה 2 מאתחלת את אובייקט הלקוח.
- ה
client.on ('מוכן')
גוש יורה כאשר הבוט מתחיל. כאן, זה רק מוגדר להיכנס שם למסוף. - ה
client.on ('message')
הבלוק יופעל בכל פעם שמודעה חדשה תפורסם בכל ערוץ. כמובן, תצטרך לבדוק את תוכן ההודעה, וזה מהאם
גוש עושה. אם ההודעה רק אומר "פינג", אז זה יהיה לענות עם "פונג!" - השורה האחרונה נכנסת עם האסימון מפורטל הבוט. ברור שהאסימון בצילום המסך הוא מזויף. לעולם אל תפרסם את האסימון שלך באינטרנט.
העתק קוד זה, הדבק את האסימון שלך בתחתית, ושמור אותו בתור index.js
בתיקייה ייעודית.
כיצד להפעיל את הבוט
עבור אל המסוף שלך והפעל את הפקודה הבאה:
- index
פעולה זו מפעילה את הסקריפט, וגם מפעילה את מאתר הבאגים של Chrome, שאליו תוכל לגשת על ידי הקלדה chrome: // inspect /
לתוך Omnibar של Chrome ולאחר מכן פתיחת "devtools ייעודי עבור הצומת."
עכשיו, זה צריך רק להגיד "מחובר כ", אבל כאן הוספתי שורה כי יהיה לרשום את כל אובייקטים הודעה שהתקבלו המסוף:
אז מה עושה את זה אובייקט הודעה? הרבה דברים, למעשה:
הכי חשוב, יש לך את פרטי המחבר ואת מידע הערוץ, שבו אתה יכול לגשת עם msg.author ו msg.channel. אני ממליץ על שיטה זו של אובייקטים רישום אל devtools הצומת Chrome, רק להסתכל מסביב כדי לראות מה עושה את זה עובד. אתה עלול למצוא משהו מעניין. הנה, למשל, בוט רושם את התשובות שלו על המסוף, כך תשובות הבוט להפעיל client.on ('message')
. אז עשיתי תרסיס:
הערה: תיזהר עם זה, כפי שאתה לא באמת רוצה להתמודד עם רקורסיה.
כיצד להוסיף את בוט לשרת שלך
חלק זה קשה יותר ממה שהוא צריך להיות. עליך לקחת את כתובת האתר הזו:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
והחלף את CLIENTID עם מזהה הלקוח של הבוט שלך, שנמצא בכרטיסייה מידע כללי של דף היישום. ברגע שזה נעשה אף, אתה יכול לתת את הקישור לחברים שלך יש להם להוסיף את בוט לשרתים שלהם גם כן.
בסדר, אז מה עוד אני יכול לעשות?
מעבר להתקנה בסיסית, כל דבר אחר תלוי אך ורק בך. אבל, זה לא יהיה הרבה הדרכה אם נעצר על שלום עולם, אז בואו נלך על כמה תיעוד, אז יש לך מושג טוב יותר על מה אפשרי. אני מציע לך לקרוא את כל מה שאתה יכול, כפי שהוא מתועד היטב.
אני ממליץ להוסיף console.log (לקוח)
כדי להתחיל את הקוד שלך, ולהסתכל על אובייקט הלקוח במסוף:
מכאן, אתה יכול ללמוד הרבה. מאז אתה יכול להוסיף בוט לשרתים מרובים בבת אחת, השרתים הם חלק גילדות
אובייקט המפה. באותו אובייקט הם הגילדות הפרט (שהוא שם ה- API של "שרת") ואלה אובייקטים הגילדה יש רשימות ערוצים המכילים את כל המידע ורשימות של הודעות. ה- API הוא מאוד עמוק, והוא עשוי לקחת קצת זמן ללמוד, אבל לפחות זה קל להגדיר ולהתחיל ללמוד.