โฮมเพจ » ทำอย่างไร » วิธีการสร้าง Bot Discord ของคุณเอง

    วิธีการสร้าง Bot Discord ของคุณเอง

    Discord มี API ที่ยอดเยี่ยมสำหรับการเขียนบอทแบบกำหนดเองและชุมชนบอทที่ใช้งานมาก วันนี้เราจะมาดูวิธีการเริ่มต้นสร้างของคุณเอง.

    คุณจะต้องมีความรู้เกี่ยวกับการเขียนโปรแกรมเล็กน้อยเพื่อเขียนรหัสบอทดังนั้นจึงไม่ใช่สำหรับทุกคน แต่โชคดีที่มีโมดูลสำหรับภาษายอดนิยมที่ทำให้ง่ายต่อการทำ เราจะใช้ที่นิยมมากที่สุด discord.js.

    เริ่มต้นใช้งาน

    ตรงไปที่บอทพอร์ทัลของ Discord และสร้างแอปพลิเคชันใหม่.

    คุณจะต้องจดบันทึกรหัสลูกค้าและความลับ (ซึ่งคุณควรเก็บเป็นความลับ) อย่างไรก็ตามนี่ไม่ใช่บอทเพียงแค่ "แอปพลิเคชัน" คุณจะต้องเพิ่มบอทภายใต้แท็บ "บอท".

    ทำเครื่องหมายของโทเค็นนี้ด้วยและเก็บเป็นความลับ ไม่ว่าในกรณีใด ๆ ให้มอบคีย์นี้ให้กับ Github บอทของคุณจะถูกแฮ็กเกือบจะในทันที.

    ติดตั้ง Node.js และรับการเข้ารหัส

    ในการเรียกใช้โค้ด Javascript นอกเว็บเพจคุณจำเป็นต้องมีโหนด ดาวน์โหลดติดตั้งและตรวจสอบให้แน่ใจว่าใช้งานได้ในเทอร์มินัล (หรือพรอมต์คำสั่งเนื่องจากทั้งหมดนี้จะทำงานบนระบบ Windows) คำสั่งเริ่มต้นคือ "โหนด"

    เรายังแนะนำให้ติดตั้งเครื่องมือ nodemon มันเป็นแอพบรรทัดคำสั่งที่ตรวจสอบรหัสของบอทและรีสตาร์ทโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลง คุณสามารถติดตั้งโดยใช้คำสั่งต่อไปนี้:

    npm i -g nodemon

    คุณจะต้องมีโปรแกรมแก้ไขข้อความ คุณสามารถใช้ notepad ได้ แต่เราขอแนะนำ Atom หรือ VSC.

    นี่คือ“ Hello World” ของเรา:

    const Discord = ต้องการ ('discord.js'); const client = new Discord.Client (); client.on ('พร้อม', () => console.log ('ลงชื่อเข้าใช้ด้วยชื่อ $ client.user.tag!');); client.on ('ข้อความ', msg => ถ้า (msg.content === 'ping') msg.reply ('pong');); client.login ( 'โทเค็น');

    รหัสนี้นำมาจากตัวอย่าง discord.js มาทำลายมันกันเถอะ.

    • สองบรรทัดแรกคือการกำหนดค่าไคลเอนต์ บรรทัดที่หนึ่งนำเข้าโมดูลไปยังวัตถุที่เรียกว่า "Discord" และบรรทัดที่สองจะเริ่มต้นวัตถุไคลเอ็นต์.
    • client.on ( 'พร้อม') บล็อกจะเริ่มทำงานเมื่อบอทเริ่มทำงาน ที่นี่มีการกำหนดค่าให้บันทึกชื่อของเทอร์มินัล.
    • client.on ( 'ข้อความ') บล็อกจะเริ่มทำงานทุกครั้งที่มีข้อความใหม่ถูกโพสต์ไปยังช่องใด ๆ แน่นอนคุณจะต้องตรวจสอบเนื้อหาข้อความและนั่นคือสิ่งที่ ถ้า บล็อกทำ หากข้อความแจ้งว่า“ ping” ข้อความนั้นจะตอบกลับด้วย“ Pong!”
    • บรรทัดสุดท้ายล็อกอินด้วยโทเค็นจากพอร์ทัลบ็อต เห็นได้ชัดว่าโทเค็นในภาพหน้าจอที่นี่เป็นของปลอม อย่าโพสต์โทเค็นของคุณบนอินเทอร์เน็ต.

    คัดลอกรหัสนี้วางโทเค็นของคุณที่ด้านล่างและบันทึกเป็น index.js ในโฟลเดอร์เฉพาะ.

    วิธีการเรียกใช้ Bot

    ตรงไปที่เทอร์มินัลของคุณและเรียกใช้คำสั่งต่อไปนี้:

    nodemon --inspect index.js

    สิ่งนี้จะเริ่มต้นสคริปต์และเปิดใช้งานดีบักเกอร์ Chrome ซึ่งคุณสามารถเข้าถึงได้ด้วยการพิมพ์ chrome: // ตรวจสอบ /  ลงใน Omnibar ของ Chrome แล้วเปิด“ อุทิศ devtools for Node”

    ตอนนี้ก็ควรจะพูดว่า“ เข้าสู่ระบบในฐานะ” แต่ที่นี่ฉันได้เพิ่มบรรทัดที่จะบันทึกวัตถุข้อความทั้งหมดที่ได้รับไปยังคอนโซล:

    ดังนั้นสิ่งที่ทำให้วัตถุข้อความนี้ หลายสิ่งหลายอย่างจริงๆแล้ว:

    ที่สะดุดตาที่สุดคือคุณมีข้อมูลผู้แต่งและข้อมูลช่องซึ่งคุณสามารถเข้าถึงด้วย msg.author และ msg.channel ฉันแนะนำวิธีการนี้ในการบันทึกวัตถุไปยัง Chrome Node devtools และเพียงแค่มองไปรอบ ๆ เพื่อดูว่ามันทำงานอย่างไร คุณอาจพบสิ่งที่น่าสนใจ ตัวอย่างเช่นที่นี่บอทบันทึกการตอบกลับไปยังคอนโซลดังนั้นทริกเกอร์ตอบกลับของบอท client.on ( 'ข้อความ'). ดังนั้นฉันทำสแปมบอท:

    บันทึก: ระวังให้ดีเพราะคุณไม่ต้องการรับมือกับการเรียกซ้ำ.

    วิธีเพิ่ม Bot ไปยังเซิร์ฟเวอร์ของคุณ

    ส่วนนี้ยากกว่าที่ควรจะเป็น คุณต้องใช้ URL นี้:

    https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot

    และแทนที่ CLIENTID ด้วยรหัสลูกค้าของ bot ของคุณพบได้ในแท็บข้อมูลทั่วไปของหน้าแอปพลิเคชัน เมื่อทำสิ่งนี้เสร็จแล้วคุณสามารถให้ลิงก์แก่เพื่อนของคุณเพื่อให้พวกเขาเพิ่มบอทไปยังเซิร์ฟเวอร์ของพวกเขาเช่นกัน.

    เอาล่ะฉันจะทำอะไรได้อีก?

    นอกเหนือจากการตั้งค่าพื้นฐานสิ่งอื่น ๆ ขึ้นอยู่กับคุณ แต่นี่คงไม่ใช่บทช่วยสอนถ้าเราหยุดที่สวัสดีโลกดังนั้นเรามาดูเอกสารบางอย่างเพื่อให้คุณมีความคิดที่ดีขึ้นว่าอะไรเป็นไปได้ ฉันขอแนะนำให้คุณอ่านให้มากที่สุดเท่าที่จะทำได้.

    ฉันอยากจะแนะนำให้เพิ่ม console.log (ลูกค้า) ไปที่จุดเริ่มต้นของรหัสของคุณและดูที่วัตถุลูกค้าในคอนโซล:

    จากที่นี่คุณสามารถเรียนรู้ได้มากมาย เนื่องจากคุณสามารถเพิ่ม bot ไปยังเซิร์ฟเวอร์หลายเครื่องพร้อมกันเซิร์ฟเวอร์จึงเป็นส่วนหนึ่งของ กิลด์ วัตถุแผนที่ ในวัตถุนั้นเป็นกิลด์แต่ละอัน (ซึ่งเป็นชื่อ API สำหรับ "เซิร์ฟเวอร์") และวัตถุกิลด์เหล่านั้นมีรายการช่องที่มีข้อมูลและรายการข้อความทั้งหมด API นั้นลึกมากและอาจใช้เวลาในการเรียนรู้ แต่อย่างน้อยก็ง่ายที่จะติดตั้งและเริ่มต้นเรียนรู้.