Cara Membuat Bot Discord Anda Sendiri

Discord mempunyai API yang sangat baik untuk menulis bot tersuai, dan komuniti bot yang sangat aktif. Hari ini kita akan melihat bagaimana untuk mula membuat sendiri.

Anda memerlukan sedikit pengetahuan pengaturcaraan untuk membuat kod bot, jadi bukan untuk semua orang, tetapi untungnya ada beberapa modul untuk bahasa popular yang membuatnya sangat mudah dilakukan. Kami akan menggunakan yang paling popular, discord.js.

BERKAITAN: Cara Membuat, Menyiapkan, dan Menguruskan Pelayan Discord Anda

Bermula

Pergi ke portal bot Discord, dan buat aplikasi baru.

Anda pasti ingin membuat catatan tentang ID dan rahsia Pelanggan (yang semestinya anda rahsia). Namun, ini bukan bot, hanya "Aplikasi". Anda harus menambahkan bot di bawah tab "Bot".

Buat nota token ini juga, dan rahsiakannya. Jangan, dalam keadaan apa pun, memberikan kunci ini kepada Github. Bot anda akan diretas dengan segera.

Pasang Node.js dan Dapatkan Pengekodan

Untuk menjalankan kod Javascript di luar halaman web, anda memerlukan Node. Muat turun, pasang dan pastikan ia berfungsi di terminal (atau Prompt Perintah, kerana semua ini mesti berfungsi pada sistem Windows). Perintah lalai adalah "node."

Kami juga mengesyorkan memasang alat nodemon. Ini adalah aplikasi baris perintah yang memantau kod bot anda dan memulakan semula secara automatik pada perubahan. Anda boleh memasangnya dengan menjalankan perintah berikut:

npm i -g nodemon

Anda memerlukan penyunting teks. Anda hanya boleh menggunakan notepad, tetapi kami mengesyorkan Atom atau VSC.

Inilah "Hello World" kami:

const Discord = memerlukan ('discord.js'); pelanggan tetap = Discord.Client baru (); client.on ('ready', () => {console.log (`Log masuk sebagai $ {client.user.tag}!`);}); client.on ('message', msg => {if (msg.content === 'ping') {msg.reply ('pong');}}); client.login ('token');

Kod ini diambil dari contoh discord.js. Mari memecahkannya.

  • Dua baris pertama adalah untuk mengkonfigurasi pelanggan. Baris satu mengimport modul ke dalam objek yang disebut "Discord", dan baris kedua menginisialisasi objek klien.
  • The client.on('ready')blok akan api apabila bot yang dimulakan. Di sini, ia hanya dikonfigurasikan untuk mencatat namanya ke terminal.
  • The client.on('message')blok akan api setiap kali mesej baru dihantar ke mana-mana saluran. Sudah tentu, anda perlu memeriksa kandungan mesej, dan itulah yang dilakukan oleh ifblok itu. Sekiranya mesej itu hanya mengatakan "ping", maka akan dibalas dengan "Pong!"
  • Baris terakhir log masuk dengan token dari portal bot. Jelas, token di tangkapan skrin di sini adalah palsu. Jangan sekali-kali menghantar token anda di internet.

Salin kod ini, tampal token anda di bahagian bawah, dan simpan seperti index.js dalam folder khusus.

Cara Menjalankan Bot

Pergi ke terminal anda, dan jalankan arahan berikut:

nodemon --inspect index.js

Ini memulakan skrip, dan juga menghidupkan debugger Chrome, yang dapat Anda akses dengan menaip chrome://inspect/  Omnibar Chrome dan kemudian membuka "devtools khusus untuk Node."

Sekarang, ia harus menyebutkan "Log in as," tetapi di sini saya telah menambahkan baris yang akan mencatat semua objek mesej yang diterima ke konsol:

Jadi apa yang membentuk objek mesej ini? Banyak barang, sebenarnya:

Terutama, anda mempunyai maklumat pengarang dan maklumat saluran, yang boleh anda akses dengan msg.author dan msg.channel. Saya mengesyorkan kaedah log objek ini ke devtools Chrome Node, dan hanya melihat-lihat apa yang membuatnya berfungsi. Anda mungkin dapati sesuatu yang menarik. Di sini, sebagai contoh, bot mencatat balasannya ke konsol, sehingga balasan bot itu dicetuskan client.on('message'). Oleh itu, saya membuat spambot:

Nota : Berhati-hatilah dengan perkara ini, kerana anda tidak benar-benar ingin menangani pengulangan.

Cara Menambah Bot ke Pelayan Anda

Bahagian ini lebih sukar daripada yang sepatutnya. Anda mesti mengambil URL ini:

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

Dan ganti CLIENTID dengan ID klien bot anda, yang terdapat di tab maklumat umum halaman aplikasi. Setelah ini selesai, anda boleh memberikan pautan kepada rakan anda untuk meminta mereka menambahkan bot ke pelayan mereka juga.

Baiklah, Jadi Apa Yang Boleh Saya Lakukan?

Di luar persediaan asas, semua yang lain bergantung kepada anda. Tetapi, ini tidak akan menjadi banyak tutorial jika kita berhenti di hello world, jadi mari kita baca beberapa dokumentasi, jadi anda mempunyai idea yang lebih baik tentang apa yang mungkin. Saya cadangkan anda membaca seberapa banyak yang anda boleh, kerana ia didokumentasikan dengan baik.

Saya akan mengesyorkan menambahkan console.log(client)pada permulaan kod anda, dan melihat objek klien di konsol:

From here, you can learn a lot. Since you can add a bot to multiple servers at once, servers are part of the Guilds map object. In that object are the individual Guilds (which is the API’s name for “server”) and those guild objects have channel lists that contain all the info and lists of messages. The API is very deep, and may take a while to learn, but at least it’s easy to set up and get started learning.