Bot Discord terhubung ke gateway Discord dan tetap tersambung, sehingga memerlukan mesin yang selalu menyala. VPS kecil murah, tetap online, dan tidak bergantung pada internet rumah Anda. Panduan ini men-deploy bot Node.js dengan discord.js dan menjaganya tetap hidup dengan systemd.
Seberapa besar VPS?
1 vCPU dan RAM 1 hingga 2 GB sudah cukup untuk sebagian besar bot. Bot yang lebih besar yang men-cache banyak server atau memproses audio membutuhkan lebih banyak. Lihat hosting bot Discord untuk paketnya.
Langkah 1: buat bot di Discord
- Buka Discord Developer Portal dan buat aplikasi baru.
- Tambahkan Bot, salin token-nya, dan rahasiakan.
- Di bawah OAuth2, buat tautan undangan dengan scope
botdanapplications.commandslalu tambahkan bot ke server Anda.
Langkah 2: instal Node.js
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node -v
sudo adduser --disabled-password --gecos "" discord
Langkah 3: tulis bot
sudo -iu discord
mkdir ~/bot && cd ~/bot
npm init -y
npm install discord.js
// index.js
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once('ready', () => console.log('Logged in as ' + client.user.tag));
client.on('interactionCreate', async (i) => {
if (i.isChatInputCommand() && i.commandName === 'ping') await i.reply('Pong!');
});
client.login(process.env.DISCORD_TOKEN);
Daftarkan perintah slash /ping sekali dengan metode di panduan discord.js.
Langkah 4: jauhkan token dari kode
echo "DISCORD_TOKEN=your-token-here" > ~/bot/.env
chmod 600 ~/bot/.env
Langkah 5: jalankan dengan systemd
[Unit]
Description=Discord bot
After=network-online.target
[Service]
User=discord
WorkingDirectory=/home/discord/bot
EnvironmentFile=/home/discord/bot/.env
ExecStart=/usr/bin/node index.js
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
journalctl -u discordbot -f
Beri nama file /etc/systemd/system/discordbot.service.
Kebiasaan baik
- Gunakan hanya intent yang Anda perlukan. Privileged intent harus diaktifkan di portal.
- Jika token pernah bocor, segera reset di portal.
- Restart saat gagal sudah diatur di atas. Tambahkan pemantauan jika bot penting bagi sebuah komunitas.