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
- Buka Discord Developer Portal dan login dengan akun Discordmu.
- Klik New Application, isi nama bot, centang persetujuan, lalu klik Create.
- 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.
- Di halaman Bot, klik Reset Token, lalu konfirmasi.
- 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
- Di menu kiri pilih OAuth2, lalu buka bagian URL Generator.
- Di Scopes, centang bot dan applications.commands.
- Di Bot Permissions yang muncul, centang Send Messages.
- 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):
{
"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):
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
- Login ke panel, buka servermu, lalu tab Files.
- Klik Upload, lalu pilih
package.jsondanindex.js. - Klik New File, beri nama
.env(diawali titik, tanpa nama di depannya), lalu buka file itu. - Isi dengan baris berikut, ganti bagian kanan dengan tokenmu tanpa spasi dan tanpa tanda kutip, lalu Save:
DISCORD_TOKEN=tempel_token_botmu_di_siniJangan 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
- Buka tab Console, lalu klik Start.
- Pertama kali jalan, panel memasang paket dari
package.json. Tunggu satu sampai dua menit. - Bot berhasil jalan kalau konsol menampilkan
Bot online sebagai NamaBotmu#0000dan 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 lihat | Penyebab | Solusi |
|---|---|---|
An invalid token was provided | Token salah, ada spasi atau tanda kutip, atau file .env kosong | Reset token di Developer Portal, tempel ulang di .env, lalu Restart |
Cannot find module 'discord.js' | Paket belum terpasang | Baca Mengatasi error "Cannot find module" |
Bot online tapi /ping tidak muncul | Saat mengundang bot, scope applications.commands belum dicentang | Undang ulang bot lewat URL Generator dengan scope itu |
| Bot offline padahal konsol normal | Bot belum diundang ke server, atau yang kamu lihat server yang berbeda | Ulangi langkah 3 dan cek server tujuannya |
| Server berhenti sendiri | Memori habis atau error di kode | Baca 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?
