by Zass Desuta

Bantuan

Cara Hosting Bot Discord 24 Jam di Panel Pterodactyl

Panduan pemula membuat bot Discord dengan discord.js, mengundangnya ke server, lalu menjalankannya 24 jam di panel Pterodactyl, lengkap dengan kode siap pakai.

Tim PterokuDesu4 menit baca

Bagikan
Daftar isi

Bot Discord bisa dipakai untuk moderasi, musik, game kecil, atau melayani member komunitasmu. Masalahnya, bot cuma hidup selama programnya berjalan. Kalau dijalankan dari laptop, bot ikut mati saat laptop dimatikan. Di panel Pterodactyl, bot berjalan di server sehingga tetap online 24 jam.

Di panduan ini kamu akan membuat bot sederhana dengan perintah /ping, lalu menjalankannya di panel dari nol. Kodenya bisa langsung dipakai, nanti tinggal kamu ganti sesuai kebutuhan.

Yang perlu disiapkan

  • Akun Discord dan sebuah server Discord milikmu (atau yang kamu punya izin mengelolanya).
  • Panel aktif dengan egg Node.js yang dipilih saat memesan. Belum yakin? Lihat Memilih egg.
  • Aplikasi editor teks di komputer, misalnya Notepad atau VS Code.

1. Buat aplikasi bot di Discord

  1. Buka Discord Developer Portal dan login dengan akun Discordmu.
  2. Klik New Application, isi nama bot, centang persetujuan, lalu klik Create.
  3. Di menu kiri, pilih Bot. Di sini kamu bisa mengganti nama dan foto bot.

2. Ambil token bot

Token adalah password bot. Siapa pun yang memegang token bisa mengendalikan botmu.

  1. Di halaman Bot, klik Reset Token, lalu konfirmasi.
  2. Klik Copy dan simpan sementara di Notepad. Token hanya tampil sekali. Kalau hilang, kamu harus reset lagi.

Penting: jangan kirim token ke siapa pun, jangan upload ke GitHub, dan jangan screenshot tanpa disensor. Kalau token sempat bocor, segera klik Reset Token untuk menggantinya.

3. Undang bot ke server

  1. Di menu kiri pilih OAuth2, lalu buka bagian URL Generator.
  2. Di Scopes, centang bot dan applications.commands.
  3. Di Bot Permissions yang muncul, centang Send Messages.
  4. Salin URL yang muncul di bagian bawah, buka di browser, pilih servermu, lalu klik Authorize.

Bot sekarang ada di daftar member servermu dengan status offline. Itu normal karena programnya belum jalan.

4. Siapkan file bot

Buat folder bernama bot-discord di komputermu, lalu isi dengan dua file ini.

File package.json (daftar paket yang dibutuhkan bot):

JSON
{
  "name": "bot-discord",
  "version": "1.0.0",
  "main": "index.js",
  "dependencies": {
    "discord.js": "^14.16.0",
    "dotenv": "^16.4.5"
  }
}

File index.js (kode bot):

JavaScript
require('dotenv').config()
const { Client, GatewayIntentBits, Events } = require('discord.js')

const client = new Client({ intents: [GatewayIntentBits.Guilds] })

client.once(Events.ClientReady, async (c) => {
  await c.application.commands.set([
    { name: 'ping', description: 'Cek apakah bot hidup' },
  ])
  console.log(`Bot online sebagai ${c.user.tag}`)
})

client.on(Events.InteractionCreate, async (interaction) => {
  if (!interaction.isChatInputCommand()) return

  if (interaction.commandName === 'ping') {
    await interaction.reply('Pong! Bot jalan 24 jam di panel.')
  }
})

client.login(process.env.DISCORD_TOKEN)

File ketiga, .env, kita buat langsung di panel pada langkah berikutnya supaya token tidak tersimpan di komputermu.

5. Upload ke panel

  1. Login ke panel, buka servermu, lalu tab Files.
  2. Klik Upload, lalu pilih package.json dan index.js.
  3. Klik New File, beri nama .env (diawali titik, tanpa nama di depannya), lalu buka file itu.
  4. Isi dengan baris berikut, ganti bagian kanan dengan tokenmu tanpa spasi dan tanpa tanda kutip, lalu Save:
Teks
DISCORD_TOKEN=tempel_token_botmu_di_sini

Jangan upload folder node_modules. Paketnya dipasang otomatis di panel. Detail upload ada di Mengunggah file dengan File Manager dan SFTP.

6. Atur file utama

Buka tab Startup, lalu isi variabel file utama dengan index.js. Nama kolomnya bisa berbeda tergantung egg. Detailnya di Startup dan variabel.

7. Jalankan bot

  1. Buka tab Console, lalu klik Start.
  2. Pertama kali jalan, panel memasang paket dari package.json. Tunggu satu sampai dua menit.
  3. Bot berhasil jalan kalau konsol menampilkan Bot online sebagai NamaBotmu#0000 dan status bot di Discord berubah jadi online.

8. Coba perintahnya

Di server Discord, ketik / lalu pilih ping. Bot akan membalas "Pong!". Kalau perintahnya belum muncul, tunggu satu menit dan muat ulang Discord dengan Ctrl + R (atau tutup lalu buka lagi di HP).

Kalau tidak berhasil

Yang kamu lihatPenyebabSolusi
An invalid token was providedToken salah, ada spasi atau tanda kutip, atau file .env kosongReset token di Developer Portal, tempel ulang di .env, lalu Restart
Cannot find module 'discord.js'Paket belum terpasangBaca Mengatasi error "Cannot find module"
Bot online tapi /ping tidak munculSaat mengundang bot, scope applications.commands belum dicentangUndang ulang bot lewat URL Generator dengan scope itu
Bot offline padahal konsol normalBot belum diundang ke server, atau yang kamu lihat server yang berbedaUlangi langkah 3 dan cek server tujuannya
Server berhenti sendiriMemori habis atau error di kodeBaca log konsol, lihat Menjalankan, menghentikan, dan merestart server

Langkah berikutnya

Untuk menambah perintah, tambahkan satu objek di daftar commands.set dan satu blok if di bagian InteractionCreate. Kalau nanti kamu membuat bot yang membaca isi pesan biasa, aktifkan Message Content Intent di halaman Bot pada Developer Portal dan tambahkan intent-nya di kode.

Bot yang ramai, bot musik, dan bot dengan banyak fitur butuh RAM lebih besar. Pilih paket yang sesuai di halaman Paket. Kalau kamu masih bingung kenapa panel dipilih dibanding VPS, baca Panel Hosting vs VPS.

Apakah artikel ini membantu?

Artikel Terkait

Hubungi kami