Tutorial Discord Bot JavaScript dan Node.js - Asia B Technology

Tutorial Discord Bot JavaScript dan Node.js

tutorial discord bot JavaScript

Tutorial ini akan menunjukkan kepada Anda cara membuat Discord bot JavaScript dan Node.js untuk anda sendiri sepenuhnya di cloud.

Anda tidak perlu menginstal apa pun di komputer Anda, dan Anda tidak perlu membayar apa pun untuk meng-host bot Anda.

Kami akan menggunakan sejumlah alat, termasuk Discord API, perpustakaan Node.js, dan platform komputasi awan yang disebut Repl.it.

Jika Anda lebih suka mengkode Discord bot JavaScript Anda menggunakan Python dari JavaScript, sebagai gantinya anda bisa melihat tutorial membuat Discord bot Phyton di artikel kami yang lain.

A. Cara Membuat Akun Discord Bot JavaScript

discord bot javascript

Untuk bekerja dengan library Node.js dan Discord API, pertama-tama kita harus membuat akun Discord Bot JavaScript.

Berikut adalah langkah-langkah untuk membuat akun Discord Bot.

  1. Pastikan Anda masuk ke situs Discord web.
  2. Arahkan ke halaman aplikasi.
  3. Klik tombol “Aplikasi Baru”.
  4. Beri nama aplikasi dan klik “Buat”.
  5. Buka tab “Bot” lalu klik “Add Bot”. Anda harus mengonfirmasi dengan mengklik “Ya, lakukan!”

Pertahankan pengaturan default untuk Bot Publik (dicentang) dan Require OAuth2 Code Grant (tidak dicentang).

Bot Anda telah dibuat. Langkah selanjutnya adalah menyalin token.

Token ini adalah kata sandi bot Anda, jadi jangan bagikan dengan siapa pun. Itu bisa memungkinkan seseorang untuk masuk ke bot Anda dan melakukan segala macam hal buruk.

Anda dapat membuat ulang token jika tidak sengaja dibagikan.

B. Cara Mengundang Bot Anda untuk Bergabung dengan Server

Sekarang Anda harus memasukkan Pengguna Bot Anda ke server. Untuk melakukan ini, Anda harus membuat URL undangan untuk itu.

Buka tab “OAuth2”. Kemudian pilih “bot” di bawah bagian “cakupan”.

Sekarang pilih izin yang Anda inginkan untuk bot. Bot kami sebagian besar akan menggunakan pesan teks sehingga kami tidak memerlukan banyak izin. Anda mungkin membutuhkan lebih banyak tergantung pada apa yang Anda ingin bot Anda lakukan. Hati-hati dengan izin “Administrator”.

Setelah memilih izin yang sesuai, klik tombol ‘salin’ di atas izin. Itu akan menyalin URL yang dapat digunakan untuk menambahkan bot ke server.

Rekatkan URL ke browser Anda, pilih server untuk mengundang bot, dan klik “Otorisasi”.

Untuk menambahkan bot, akun Anda memerlukan izin “Kelola Server”.

Sekarang setelah Anda membuat pengguna bot, kami akan mulai menulis kode Python untuk bot.

C. Cara Membuat Kode Discord Bot Dasar dengan Perpustakaan discord.js

Kami akan menggunakan discord.js Node library untuk menulis kode bot. discord.js adalah pembungkus API untuk Discord yang memudahkan pembuatan Discord bot JavaScript / Node.jst.

1. Cara Membuat Repl dan Instal discord.js

Anda dapat mengembangkan bot di komputer lokal Anda dengan editor kode apa pun. Namun, dalam tutorial ini, kita akan menggunakan Repl.it karena akan mempermudah siapa saja untuk mengikutinya. Repl.it adalah IDE online yang dapat Anda gunakan di browser web Anda.

Mulailah dengan membuka Repl.it. Buat Repl baru dan pilih “Node.js” sebagai bahasa. Ini berarti bahasa pemrogramannya adalah JavaScript.

Untuk menggunakan perpustakaan discord.js, cukup tambahkan const Discord = require(“discord.js”); di bagian atas main.js. Repl.it akan secara otomatis menginstal ketergantungan ini ketika Anda menekan tombol “jalankan”.

2. Cara Mengatur Acara Discord untuk Bot Anda

discord.js berkisar pada konsep peristiwa. Suatu peristiwa adalah sesuatu yang Anda dengarkan dan kemudian tanggapi. Misalnya, ketika sebuah pesan terjadi, Anda akan menerima peristiwa tentangnya yang dapat Anda tanggapi.

Mari kita membuat bot yang membalas pesan tertentu. Kode bot sederhana ini diambil langsung dari dokumentasi discord.js.. Kami akan menambahkan lebih banyak fitur ke bot nanti.

Tambahkan kode ini ke main.js. Saya akan segera menjelaskan apa yang dilakukan semua kode ini.

const Discord = require("discord.js")
const client = new Discord.Client()

client.on("ready", () => {
  console.log(`Logged in as ${client.user.tag}!`)
})

client.on("message", msg => {
  if (msg.content === "ping") {
    msg.reply("pong");
  }
})

client.login(process.env.TOKEN)

Saat Anda membuat pengguna bot Anda di Discord, Anda menyalin token. Sekarang kita akan membuat file .env untuk menyimpan token.

File .env digunakan untuk mendeklarasikan variabel lingkungan. Di Repl.it, sebagian besar file yang Anda buat dapat dilihat oleh siapa saja, tetapi file .env hanya dapat dilihat oleh Anda. Orang lain yang melihat perwakilan publik tidak akan dapat melihat konten file .env.

Jadi jika Anda mengembangkan di Repl.it, hanya sertakan informasi pribadi seperti token atau kunci dalam file .env.

Klik tombol “Tambah file” dan buat file bernama .env.

Di dalam file tambahkan baris berikut, termasuk token aktual yang Anda salin sebelumnya:

TOKEN=[paste token here]

Sekarang mari kita bahas apa yang dilakukan setiap baris kode dalam kode Discord Bot JavaScript Anda.

Baris pertama mengimpor perpustakaan discord.js. Selanjutnya, kami membuat instance dari Klien. Ini adalah koneksi ke Discord.

Client.on() digunakan untuk memeriksa event. Itu menerima nama acara, dan kemudian fungsi panggilan balik dipanggil saat acara berlangsung. Dalam kode ini, acara siap dipanggil ketika bot siap untuk mulai digunakan. Kemudian, ketika server Discord memiliki pesan baru, acara pesan dipanggil.

Kode memeriksa apakah msg.content sama dengan ‘ping’. Jika demikian, maka bot membalas dengan ‘pong’ ke saluran tersebut.

Sekarang bot sudah diatur, baris terakhir menjalankan bot dengan token login. Itu mendapat token dari file .env keluar.

Kami memiliki kode untuk bot jadi sekarang kami hanya perlu menjalankannya.

3. Cara Menjalankan Bot

Sekarang klik tombol run di atas untuk menjalankan bot Anda di repl.it.

Sekarang pergi ke ruang Discord Anda dan ketik “ping”. Bot Anda harus mengembalikan “pong”.

D. Cara Meningkatkan Bot

Sekarang kami memiliki bot dasar yang berfungsi, kami akan meningkatkannya. Ini disebut “Dorong Bot” karena suatu alasan.

Bot ini akan merespon dengan pesan penyemangat setiap kali seseorang mengirim pesan yang berisi kata sedih atau menyedihkan.

Siapa pun akan dapat menambahkan pesan yang mendorong untuk digunakan bot dan pesan yang dikirimkan pengguna akan disimpan di database Repl.it.

Bot juga akan mengembalikan kutipan inspirasional acak dari API ketika seseorang mengetik pesan “$inspire” ke dalam obrolan.

Kita akan mulai dengan menambahkan fitur “$inspire”.

Cara Menambahkan Kutipan Inspirasional ke Bot

Kami akan mendapatkan kutipan inspirasional dari API bernama zenquotes.io. Kita perlu mengimpor modul node-fetch, menambahkan fungsi getQuote(), dan memperbarui kode bot kita untuk memanggil fungsi tersebut.

Berikut adalah kode yang diperbarui. Setelah kode, saya akan menjelaskan bagian-bagian baru.

const Discord = require("discord.js")
const fetch = require("node-fetch")
const client = new Discord.Client()

function getQuote() {
  return fetch("https://zenquotes.io/api/random")
    .then(res => {
      return res.json()
      })
    .then(data => {
      return data[0]["q"] + " -" + data[0]["a"]
    })
}

client.on("ready", () => {
  console.log(`Logged in as ${client.user.tag}!`)
})

client.on("message", msg => {
  if (msg.author.bot) return
    
  if (msg.content === "$inspire") {
    getQuote().then(quote => msg.channel.send(quote))
  }
})

client.login(process.env.TOKEN)

Kita sekarang harus mengimpor modul node-fetch. Modul ini memungkinkan kode kita untuk membuat permintaan HTTP untuk mendapatkan data dari API.

Fungsi getQuote() cukup mudah. Pertama, ia menggunakan modul node-fetch untuk meminta data dari URL API. API mengembalikan kutipan inspirasional acak. Fungsi ini dapat dengan mudah ditulis ulang untuk mendapatkan kutipan dari API yang berbeda, jika yang sekarang berhenti bekerja.

Kemudian fungsi mengonversi respons dari API ke JSON dan membuat string untuk dikembalikan. Melalui coba-coba saya menemukan cara untuk mendapatkan kutipan dari JSON ke dalam format string yang saya inginkan. Kutipan dikembalikan dari fungsi sebagai string.

Bagian terakhir yang diperbarui dalam kode adalah menjelang akhir. Sebelumnya ia mencari pesan “ping”. Sekarang mencari “$inspire”. Alih-alih mengembalikan “pong”, ia mendapatkan kutipan dengan getQuote() dan mengembalikan kutipan. Kami menggunakan msg.channel.send() untuk mengirim pesan ke saluran. Juga, kode memeriksa apakah pesan itu berasal dari bot itu sendiri dan jika ya, ia meninggalkan fungsinya sehingga tidak melakukan apa-apa.

Pada titik ini Anda dapat menjalankan kode Anda dan mencobanya.

E. Cara Menambahkan Pesan yang Mendorong ke Bot

Sekarang kami akan menerapkan fitur di mana bot merespons dengan pesan yang menggembirakan ketika pengguna memposting pesan dengan kata sedih.

1. Cara Menambahkan Kata Sedih ke Bot

Pertama kita perlu membuat array yang berisi kata-kata sedih yang akan ditanggapi bot.

Tambahkan baris berikut setelah variabel klien dibuat:

sadWords = [“sedih”, “sedih”, “tidak bahagia”, “marah”, “sengsara”]

Jangan ragu untuk menambahkan lebih banyak kata ke dalam daftar.

2. Cara Menambahkan Pesan yang Mendorong ke Bot

Sekarang kita akan menambahkan serangkaian pesan yang mendorong yang akan ditanggapi oleh bot.

Tambahkan array berikut setelah daftar sadWords yang Anda buat:

encouragements = [
  "Cheer up!",
  "Hang in there.",
  "You are a great person / bot!"
]

Seperti sebelumnya, jangan ragu untuk menambahkan lebih banyak frasa pilihan Anda ke array . Saya hanya menggunakan tiga item untuk saat ini karena nanti kami akan menambahkan kemampuan bagi pengguna untuk menambahkan frasa yang lebih mendorong untuk digunakan bot.

3. Bagaimana Menanggapi Pesan

Sekarang kita perlu memperbarui bot kita untuk menggunakan dua daftar yang kita buat.

Sekarang kami akan memperbarui fungsi pesan untuk memeriksa semua pesan untuk melihat apakah mereka mengandung kata dari daftar kata-kata sedih. Jika kata sedih ditemukan, bot akan mengirimkan pesan dorongan secara acak.

Berikut adalah kode yang diperbarui:

client.on("message", msg => {
  if (msg.content === "$inspire") {
    getQuote().then(quote => msg.channel.send(quote))
  }

  if (sadWords.some(word => msg.content.includes(word))) {
    const encouragement = encouragements[Math.floor(Math.random() * encouragements.length)]
    msg.reply(encouragement)
  }

})

Ini saat yang tepat untuk menguji bot. Anda cukup tahu sekarang untuk membuat bot Anda sendiri. Tapi selanjutnya Anda akan belajar bagaimana menerapkan fitur yang lebih canggih dan menyimpan data menggunakan database Repl.it.

4. Cara Mengaktifkan Pesan yang Dikirim Pengguna

Bot sepenuhnya berfungsi, tetapi sekarang mari kita perbarui bot langsung dari Discord. Seorang pengguna harus dapat menambahkan lebih banyak pesan yang mendorong untuk digunakan bot ketika mendeteksi kata sedih.

Kita akan menggunakan database bawaan Repl.it untuk menyimpan pesan yang dikirimkan pengguna. Basis data ini adalah penyimpanan nilai kunci yang ada di setiap repl.

Di bagian atas kode, di bawah pernyataan impor lainnya, tambahkan:

const Database = require("@replit/database")
const db = new Database()

Ini akan memungkinkan kita untuk menggunakan database Repl.it. Saat Anda menjalankan kode, Repl.it akan menginstal modul database secara otomatis. Jika karena alasan tertentu tidak, Anda mungkin harus masuk ke tab Shell (bukan Konsol) dan ketik “npm install @replit/database”.

Setelah array dorongan dibuat, masukkan kode berikut untuk menambahkan dorongan ke database jika diperlukan:

db.get("encouragements").then(encouragements => {
if (!encouragements || encouragements.length < 1) {
db.set("encouragements", starterEncouragements)
}
})

Juga, ganti nama array dorongan ke atas menjadi starterEncouragements.

Pengguna akan dapat menambahkan pesan penyemangat khusus untuk bot untuk digunakan langsung dari obrolan Discord. Sebelum menambahkan perintah baru untuk bot, mari buat dua fungsi pembantu yang akan menambahkan pesan khusus ke database dan menghapusnya.

Tambahkan kode berikut setelah fungsi getQuote() :

function updateEncouragements(encouragingMessage) {
db.get("encouragements").then(encouragements => {
encouragements.push([encouragingMessage])
db.set("encouragements", encouragements)
})
}

function deleteEncouragment(index) {
db.get("encouragements").then(encouragements => {
if (encouragements.length > index) {
encouragements.splice(index, 1)
db.set("encouragements", encouragements)
}
})
}

Fungsi updateEncouragements() menerima pesan yang mendorong sebagai argumen.

Pertama ia mendapat “dorongan” dari database. Kemudian, ia menambahkan dorongan baru ke larik, dan menyimpan larik yang diperbarui kembali ke database di bawah kunci “dorongan”.

Fungsi deleteEncoragement() menerima indeks sebagai argumen.

Itu mendapat daftar dorongan dari database yang disimpan di bawah kunci “dorongan”. Jika panjangnya lebih dari indeks, maka item daftar pada indeks tersebut akan dihapus. Terakhir, daftar yang diperbarui disimpan kembali dalam database di bawah kunci “dorongan”.

Berikut adalah kode yang diperbarui untuk fungsi pesan. Setelah kode, saya akan menjelaskan bagian baru.

client.on("message", msg => {
if (msg.content === "$inspire") {
getQuote().then(quote => msg.channel.send(quote))
}

if (sadWords.some(word => msg.content.includes(word))) {
db.get("encouragements").then(encouragements => {
const encouragement = encouragements[Math.floor(Math.random() * encouragements.length)]
msg.reply(encouragement)
})
}

if (msg.content.startsWith("$new")) {
encouragingMessage = msg.content.split("$new ")[1]
updateEncouragements(encouragingMessage)
msg.channel.send("New encouraging message added.")
}

if (msg.content.startsWith("$del")) {
index = parseInt(msg.content.split("$del ")[1])
deleteEncouragment(index)
msg.channel.send("Encouraging message deleted.")
}
})

Bagian kata-kata sedih telah diperbarui untuk menggunakan pesan yang menggembirakan dari database sehingga pesan yang dikirimkan pengguna dapat digunakan.

Bagian kode baru berikutnya digunakan untuk menambahkan pesan baru yang dikirimkan pengguna ke database. Jika pesan Discord dimulai dengan “$new”, maka teks setelah “$new” akan digunakan sebagai pesan penyemangat baru.

Kode msg.content.split(‘$new ‘)[1] memisahkan pesan dari perintah “$new” dan menyimpan pesan dalam sebuah variabel. Pada baris kode tersebut, perhatikan spasi di ‘$new’. Kami menginginkan segalanya setelah spasi.

Kami memanggil fungsi pembantu updateEncouragements dengan pesan baru, dan kemudian bot mengirim pesan ke obrolan perselisihan yang mengonfirmasi bahwa pesan telah ditambahkan.

Bagian baru ketiga (di akhir kode di atas) memeriksa apakah pesan Discord baru dimulai dengan “$del”. Ini adalah perintah untuk menghapus item dari daftar “dorongan” di database.

Indeks dipisahkan dari pesan Discord yang dimulai dengan “$del”. Kemudian, fungsi deleteEncoragement() dipanggil meneruskan indeks untuk dihapus. Daftar dorongan yang diperbarui dimuat ke dalam variabel dorongan, dan kemudian bot mengirim pesan ke Discord dengan daftar saat ini.

F. Fitur Bot Terakhir

Bot harus bekerja jadi ini saat yang tepat untuk mengujinya. Kami sekarang akan menambahkan beberapa fitur akhir.

Kami akan menambahkan kemampuan untuk mendapatkan daftar pesan yang dikirimkan pengguna langsung dari Discord dan kami akan menambahkan kemampuan untuk mematikan dan apakah bot merespons kata-kata sedih.

Saya akan memberi Anda kode akhir lengkap dari program, dan kemudian saya akan membahas pembaruan di bawah kode.

const Discord = require("discord.js")
const fetch = require("node-fetch")
const Database = require("@replit/database")

const db = new Database()
const client = new Discord.Client()

const sadWords = ["sad", "depressed", "unhappy", "angry", "miserable"]

const starterEncouragements = [
  "Cheer up!",
  "Hang in there.",
  "You are a great person / bot!"
]

db.get("encouragements").then(encouragements => {
  console.log(encouragements)
  if (!encouragements || encouragements.length < 1) {
    db.set("encouragements", starterEncouragements)
  }  
})

db.get("responding").then(value => {
  if (value == null) {
    db.set("responding", true)
  }  
})

function getQuote() {
  return fetch("https://zenquotes.io/api/random")
    .then(res => {
      return res.json()
      })
    .then(data => {
      return data[0]["q"] + " -" + data[0]["a"]
    })
}

function updateEncouragements(encouragingMessage) {
  db.get("encouragements").then(encouragements => {
    encouragements.push([encouragingMessage])
    db.set("encouragements", encouragements)
  })
}

function deleteEncouragment(index) {
  db.get("encouragements").then(encouragements => {
    if (encouragements.length > index) {
      encouragements.splice(index, 1)
      db.set("encouragements", encouragements)
    }
  })
}

client.on("ready", () => {
  console.log(`Logged in as ${client.user.tag}!`)
})

client.on("message", msg => {
  if (msg.content === "$inspire") {
    getQuote().then(quote => msg.channel.send(quote))
  }

  db.get("responding").then(responding => {
    if (responding && sadWords.some(word => msg.content.includes(word))) {
      db.get("encouragements").then(encouragements => {
        const encouragement = encouragements[Math.floor(Math.random() * encouragements.length)]
        msg.reply(encouragement)
      })
    }
  })

  if (msg.content.startsWith("$new")) {
    encouragingMessage = msg.content.split("$new ")[1]
    updateEncouragements(encouragingMessage)
    msg.channel.send("New encouraging message added.")
  }

  if (msg.content.startsWith("$del")) {
    index = parseInt(msg.content.split("$del ")[1])
    deleteEncouragment(index)
    msg.channel.send("Encouraging message deleted.")
  }

  if (msg.content.startsWith("$list")) {
    db.get("encouragements").then(encouragements => {
      msg.channel.send(encouragements)
    })
  }
    
  if (msg.content.startsWith("$responding")) {
    value = msg.content.split("$responding ")[1]

    if (value.toLowerCase() == "true") {
      db.set("responding", true)
      msg.channel.send("Responding is on.")
    } else {
      db.set("responding", false)
      msg.channel.send("Responding is off.")
    }
  }
})

client.login(process.env.TOKEN)

Bagian pertama yang ditambahkan ke kode tepat di bawah daftar Dorongan pemula:

db.get("responding").then(value => {
if (value == null) {
db.set("responding", true)
}
})

Kami membuat kunci baru dalam database yang disebut “menanggapi” dan mengaturnya ke “benar”. Kami akan menggunakan ini untuk menentukan apakah bot harus merespons kata-kata sedih atau tidak. Karena database disimpan bahkan setelah program berhenti berjalan, kami hanya membuat kunci baru jika belum ada.

Bagian kode baru berikutnya ada di bagian yang merespon kata-kata sedih sekarang ada di dalam pernyataan if ini. Bot hanya akan merespon kata sedih jika db.get(“responding”) = true. Kemampuan untuk memperbarui nilai ini muncul setelah bagian berikut ini.

Selanjutnya, setelah kode untuk membuat bot merespon perintah “$del”, ada kode baru untuk merespons perintah “$list” saat dikirim sebagai pesan Discord.

Bot mengirimkan daftar dorongan sebagai pesan Perselisihan.

Bagian baru terakhir datang berikutnya. Kode ini membuat bot merespon perintah “$responding”. Perintah ini mengambil argumen baik “benar” atau “salah”. Berikut adalah contoh penggunaan: “$responding true”.

Kode pertama-tama mengeluarkan argumen dengan value = msg.content.split(“$responding “)[1] (seperti sebelumnya, perhatikan spasi di “$responding “). Lalu ada pernyataan if/else yang dengan tepat mengatur kunci “merespons” dalam database dan mengirim pesan notifikasi kembali ke Discord. Jika argumennya sama sekali tidak “benar”, kode tersebut mengasumsikan “salah”.

Kode untuk bot selesai! Anda sekarang dapat menjalankan bot dan mencobanya. Namun ada satu langkah penting lagi yang akan kita bahas selanjutnya.

G. Cara Mengatur Bot agar Berjalan Terus

Jika Anda menjalankan bot Anda di repl.it dan kemudian menutup tab yang menjalankannya, bot Anda akan berhenti berjalan.

Tetapi ada dua cara agar bot Anda terus berjalan, bahkan setelah Anda menutup web bowser.

Cara pertama dan paling sederhana adalah mendaftar untuk paket berbayar di Repl.it. Paket berbayar termurah mereka disebut Paket Peretas dan mencakup lima Perwakilan yang selalu aktif.

Anda bisa mendapatkan gratis tiga bulan menggunakan tautan ini (terbatas untuk 1000 orang pertama): https://repl.it/claim?code=tryalwayson2103

Setelah Anda mendaftar untuk paket itu, buka Repl Anda dan klik nama di bagian atas. Kemudian pilih opsi “Selalu Aktif”.

Ada cara lain untuk menjaga agar kode Anda tetap berjalan bahkan di tingkat gratis tetapi ini sedikit lebih rumit. Repl.it akan terus menjalankan server web bahkan setelah tab ditutup. Tetapi bahkan server web hanya akan berjalan hingga satu jam tanpa penggunaan apa pun.

Inilah yang dikatakan repl.it docs:

Setelah digunakan, server akan terus berjalan di latar belakang, bahkan setelah Anda menutup tab browser. Server akan tetap terjaga dan aktif hingga satu jam setelah permintaan terakhirnya, setelah itu akan memasuki tahap tidur. Orang yang sedang tidur akan dibangunkan segera setelah menerima permintaan lain; tidak perlu menjalankan ulang repl. Namun, jika Anda membuat perubahan pada server Anda, Anda harus memulai ulang repl untuk melihat perubahan tersebut tercermin dalam versi langsung.

Agar bot terus berjalan, kami akan menggunakan layanan gratis lainnya bernama Uptime Robot di https://uptimerobot.com/.

Robot Uptime dapat diatur untuk melakukan ping ke server web bot di repl.it setiap 5 menit. Dengan ping konstan, bot tidak akan pernah memasuki tahap tidur dan hanya akan terus berjalan.

Jadi kita harus melakukan dua hal lagi agar bot kita terus berjalan:

buat server web di repl.it dan
mengatur Uptime Robot untuk terus melakukan ping ke server web.

H. Cara Membuat Server Web di repl.it

Membuat server web lebih sederhana dari yang Anda kira.

Untuk melakukannya, buat file baru di proyek Anda bernama server.js.

Kemudian tambahkan kode berikut:

const express = require("express")

const server = express()

server.all("/", (req, res) => {
  res.send("Bot is running!")
})

function keepAlive() {
  server.listen(3000, () => {
    console.log("Server is ready.")
  })
}

module.exports = keepAlive

Dalam kode ini, kami menggunakan express untuk memulai server web. Server mengembalikan “Bot sedang berjalan!” kepada siapa saja yang mengunjunginya. Server akan berjalan pada utas terpisah dari bot kami. Kami tidak akan membahas semuanya di sini karena sisanya tidak terlalu relevan dengan bot kami.

Sekarang kita hanya perlu bot untuk menjalankan server web ini.

Tambahkan baris berikut ke bagian atas index.js untuk mengimpor server.

const keepAlive = membutuhkan(“./server”)
Untuk memulai server web saat index.js dijalankan, tambahkan baris berikut sebagai baris kedua hingga terakhir, tepat sebelum bot berjalan.

berusaha agar hidup()

Saat Anda menjalankan bot di repl.it setelah menambahkan kode ini, jendela server web baru akan terbuka. Ada URL yang ditampilkan untuk server web. Salin URL sehingga Anda dapat menggunakannya di bagian berikutnya.

I. Cara Mengatur Robot Waktu Aktif

Sekarang kita perlu mengatur Robot Uptime untuk melakukan ping ke server web setiap lima menit. Ini akan menyebabkan bot terus berjalan.

Buat akun gratis di https://uptimerobot.com/.

Setelah Anda masuk ke akun Anda, klik “Tambahkan Monitor Baru”.

Untuk monitor baru, pilih “HTTP(s)” sebagai Monitor Type dan beri nama apa pun yang Anda suka. Kemudian, rekatkan URL server web Anda dari repl.it. Terakhir, klik “Buat Monitor”.

Dilakukan! Sekarang bot akan terus berjalan sehingga orang dapat selalu berinteraksi dengannya di Repl.it.

J. Kesimpulan

Anda sekarang tahu cara membuat Discord Bot JavaScript, dan menjalankannya terus menerus di cloud.

Ada banyak hal lain yang dapat dilakukan oleh perpustakaan discord.js. Jadi jika Anda ingin memberi bot Discord lebih banyak fitur, langkah Anda selanjutnya adalah memeriksa dokumen untuk discord.js.

close
Asi B Technology

Silahkan Subscribe untuk Mendapatkan Update Terbaru Sekitar Technology

We don’t spam! Read our privacy policy for more info.