Perselisihan memiliki API yang sangat baik untuk menulis bot khusus, dan sangat aktif komunitas bot . Hari ini kita akan melihat cara mulai membuatnya sendiri.
Anda akan membutuhkan sedikit pengetahuan pemrograman untuk membuat kode bot, jadi ini tidak untuk semua orang, tetapi untungnya ada beberapa modul untuk bahasa populer yang membuatnya sangat mudah dilakukan. Kami akan menggunakan yang paling populer, discord.js .
TERKAIT: Cara Membuat, Mengatur, dan Mengelola Server Perselisihan Anda
Mulai
Pergilah ke Discord's portal bot , dan buat aplikasi baru.
Anda akan ingin mencatat ID Klien dan rahasia (yang harus Anda rahasiakan, tentunya). Namun, ini bukan bot, hanya "Aplikasi". Anda harus menambahkan bot di bawah tab "Bot".
Catat token ini juga, dan rahasiakan. Jangan, dalam keadaan apa pun, memasukkan kunci ini ke Github. Bot Anda akan segera diretas.
Instal Node.js dan Dapatkan Coding
Untuk menjalankan kode Javascript di luar halaman web, Anda membutuhkan Node . Unduh, instal, dan pastikan itu berfungsi di terminal (atau Command Prompt, karena semua ini harus berfungsi pada sistem Windows). Perintah defaultnya adalah "node".
Kami juga merekomendasikan menginstal alat nodemon. Ini adalah aplikasi baris perintah yang memantau kode bot Anda dan dimulai ulang secara otomatis jika ada perubahan. Anda dapat menginstalnya dengan menjalankan perintah berikut:
npm dan -g nodemon
Anda membutuhkan editor teks. Anda bisa saja menggunakan notepad, tetapi kami merekomendasikan keduanya Atom atau VSC .
Inilah “Hello World” kami:
const Discord = membutuhkan ('discord.js');
const client = new Discord.Client ();
client.on ('siap', () => {
console.log(`Logged in as ${client.user.tag}! `);
});
client.on ('message', msg => {
if (msg.content === 'ping') {
msg.reply('pong');
}
});
client.login ('token');
Kode ini diambil dari discord.js contoh. Mari kita hancurkan.
- Dua baris pertama untuk mengkonfigurasi klien. Baris satu mengimpor modul ke dalam objek yang disebut "Discord," dan baris kedua menginisialisasi objek klien.
-
Itu
client.on ('ready')blokir akan aktif saat bot dijalankan. Di sini, ini hanya dikonfigurasi untuk mencatat namanya ke terminal. -
Itu
client.on ('message')blokir akan aktif setiap kali pesan baru diposting ke saluran mana pun. Tentu saja, Anda perlu memeriksa konten pesan, dan itulahjikablok tidak. Jika pesan hanya mengatakan "ping", maka akan dibalas dengan "Pong!" - Baris terakhir masuk dengan token dari portal bot. Jelas sekali, token di tangkapan layar ini palsu. Jangan pernah memposting token Anda di internet.
Salin kode ini, tempel token Anda di bagian bawah, dan simpan sebagai
index.js
di folder khusus.
Cara Menjalankan Bot
Kepala ke terminal Anda, dan jalankan perintah berikut:
nodemon --inspect index.js
Ini memulai skrip, dan juga menjalankan debugger Chrome, yang dapat Anda akses dengan mengetik
chrome: // inspeksi /
ke Omnibar Chrome, lalu membuka "alat pengembang khusus untuk Node".
Sekarang, seharusnya hanya tertulis "Masuk sebagai <bot-name>", tetapi di sini saya telah menambahkan baris yang akan mencatat semua objek pesan yang diterima ke konsol:
Jadi apa yang membuat objek pesan ini? Banyak hal, sebenarnya:
Terutama, Anda memiliki info penulis dan info saluran, yang dapat Anda akses dengan msg.author dan msg.channel. Saya merekomendasikan metode logging objek ini ke devtools Chrome Node, dan hanya melihat-lihat untuk melihat apa yang membuatnya bekerja. Anda mungkin menemukan sesuatu yang menarik. Di sini, misalnya, bot mencatat balasannya ke konsol, sehingga balasan bot tersebut memicu
client.on ('message')
. Jadi, saya membuat robot spam:
Catatan : Hati-hati dengan ini, karena Anda tidak benar-benar ingin berurusan dengan rekursi.
Cara Menambahkan Bot ke Server Anda
Bagian ini lebih sulit dari yang seharusnya. Anda harus mengambil URL ini:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Dan ganti CLIENTID dengan ID klien bot Anda, yang ada di tab informasi umum dari halaman aplikasi . Setelah ini selesai, Anda dapat memberikan tautan ke teman Anda agar mereka menambahkan bot ke server mereka juga.
Baiklah, Jadi Apa Lagi yang Dapat Saya Lakukan?
Di luar pengaturan dasar, hal lain sepenuhnya terserah Anda. Tapi, ini tidak akan menjadi tutorial yang bagus jika kita berhenti di hello world, jadi mari kita bahas beberapa dokumentasi , jadi Anda memiliki gagasan yang lebih baik tentang apa yang mungkin. Saya sarankan Anda membaca sebanyak yang Anda bisa, karena didokumentasikan dengan sangat baik.
Saya akan merekomendasikan menambahkan
console.log (klien)
ke awal kode Anda, dan lihat objek klien di konsol:
Dari sini, Anda bisa belajar banyak. Karena Anda dapat menambahkan bot ke beberapa server sekaligus, server adalah bagian dari
Serikat
objek peta. Di dalam objek itu ada individu
Serikat
(yang merupakan nama API untuk "server") dan objek serikat tersebut memiliki daftar saluran yang berisi semua info dan daftar pesan. API-nya sangat dalam, dan mungkin perlu beberapa saat untuk mempelajarinya, tapi setidaknya mudah untuk disiapkan dan mulai belajar.