Laman » bagaimana untuk » Bagaimana Membuat Bot Perbahasan Sendiri

    Bagaimana Membuat Bot Perbahasan Sendiri

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

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

    Bermula

    Teruskan ke portal bot Discord, dan buat aplikasi baru.

    Anda akan ingin memberi nota ID Pelanggan dan rahsia (yang mesti disimpan rahsia). Walau bagaimanapun, ini bukan bot, hanya "Permohonan." Anda perlu menambah bot di bawah tab "Bot".

    Buat nota tanda ini juga, dan simpan rahsia itu. Jangan, dalam apa jua keadaan, komitkan kunci ini kepada Github. Bot anda akan digodam dengan serta-merta.

    Pasang Node.js dan Dapatkan Pengekodan

    Untuk menjalankan kod Javascript di luar halaman web, anda perlu Node. Muat turunnya, pasangnya, dan pastikan ia berfungsi dalam terminal (atau Prompt Perintah, kerana semua ini harus berfungsi pada sistem Windows). Perintah lalai adalah "nod."

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

    npm i -g nodemon

    Anda memerlukan editor teks. Anda hanya boleh menggunakan notepad, tetapi kami mencadangkan sama ada Atom atau VSC.

    Inilah "Hello World" kami:

    const Discord = memerlukan ('discord.js'); const client = new Discord.Client (); client.on ('siap', () => 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. Let's break it down.

    • Dua baris pertama adalah untuk mengkonfigurasi klien. Baris satu mengimport modul ke objek yang dipanggil "Discord," dan dua baris memulakan objek klien.
    • The client.on ('siap') blok akan menyala apabila bot dimulakan. Di sini, ia hanya dikonfigurasi untuk log namanya ke terminal.
    • The client.on ('message') blok akan menyala setiap kali mesej baru dihantar ke mana-mana saluran. Sudah tentu, anda perlu menyemak kandungan mesej, dan itulah yang jika blok tidak. Sekiranya mesej itu hanya berkata "ping," maka ia akan menjawab dengan "Pong!"
    • Talian terakhir log masuk dengan token dari portal bot. Jelas sekali, token dalam screenshot di sini palsu. Jangan pernah hantar token anda di internet.

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

    Cara Menjalankan Bot

    Kepala ke terminal anda, dan jalankan perintah berikut:

    nodemon - index.jsinspect

    Ini memulakan skrip, dan juga memadamkan debugger Chrome, yang boleh anda akses dengan menaip chrome: // inspect /  ke dalam Chrome Omnibar dan kemudian membuka "devtools khusus untuk Node."

    Kini, ia sepatutnya katakan "Log masuk sebagai," tetapi di sini saya telah menambah satu baris yang akan log 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 cadangkan kaedah penebangan ini kepada Chrome Node devtools, dan hanya melihat sekeliling untuk melihat apa yang menjadikannya berfungsi. Anda mungkin menemui sesuatu yang menarik. Di sini, sebagai contoh, bot log balasan kepada konsol, jadi balasan bot itu mencetuskan client.on ('message'). Oleh itu, saya telah membuat spambot:

    Catatan: Berhati-hati dengan ini, kerana anda tidak benar-benar mahu menangani rekursi.

    Bagaimana Menambah Bot ke Server Anda

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

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

    Dan gantikan CLIENTID dengan ID pelanggan bot anda, yang terdapat pada tab maklumat umum halaman aplikasi. Setelah ini dilakukan, anda boleh memberi pautan kepada rakan anda untuk memasukkan mereka ke pelayan mereka juga.

    Baiklah, Jadi Apa Lagi Boleh Saya Lakukan?

    Selain daripada persediaan asas, apa sahaja yang terserah kepada anda. Tetapi, ini tidak akan banyak tutorial jika kita berhenti di dunia halo, jadi mari kita pergi ke beberapa dokumentasi, jadi anda mempunyai idea yang lebih baik tentang apa yang mungkin. Saya cadangkan anda membaca seberapa banyak yang anda boleh, kerana ia didokumenkan dengan baik.

    Saya akan mengesyorkan untuk menambah console.log (pelanggan) untuk permulaan kod anda, dan melihat objek klien di konsol:

    Dari sini, anda boleh belajar banyak. Oleh kerana anda boleh menambah bot ke berbilang pelayan sekaligus, pelayan adalah sebahagian daripada Persatuan objek peta. Dalam objek itu adalah Persatuan individu (yang merupakan nama API untuk "pelayan") dan objek kesatuan itu mempunyai senarai saluran yang mengandungi semua maklumat dan senarai mesej. API sangat dalam, dan mungkin mengambil sedikit masa untuk belajar, tetapi sekurang-kurangnya ia mudah untuk didirikan dan mula belajar.