Bir Discord botu Discord'un ağ geçidine bağlanır ve bağlı kalır, bu yüzden her zaman açık bir makineye ihtiyaç duyar. Küçük bir VPS ucuzdur, çevrimiçi kalır ve ev internetinize bağlı değildir. Bu rehber, discord.js ile bir Node.js botu dağıtır ve systemd ile ayakta tutar.
Hangi boyutta VPS?
1 vCPU ve 1 ila 2 GB RAM çoğu bot için yeterlidir. Çok sayıda sunucuyu önbelleğe alan veya ses işleyen daha büyük botlar daha fazlasına ihtiyaç duyar. Planlar için Discord bot barındırma sayfasına bakın.
Adım 1: Botu Discord'da oluşturun
- Discord Developer Portal'ı açın ve yeni bir uygulama oluşturun.
- Bir Bot ekleyin, token'ını kopyalayın ve gizli tutun.
- OAuth2 altında,
botveapplications.commandskapsamlarıyla bir davet bağlantısı oluşturun ve botu sunucunuza ekleyin.
Adım 2: Node.js'i kurun
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
Adım 3: Botu yazın
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);
/ping slash komutunu, discord.js rehberindeki yöntemle bir kez kaydedin.
Adım 4: Token'ı koddan uzak tutun
echo "DISCORD_TOKEN=your-token-here" > ~/bot/.env
chmod 600 ~/bot/.env
Adım 5: systemd ile çalıştırın
[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
Dosyayı /etc/systemd/system/discordbot.service olarak adlandırın.
İyi alışkanlıklar
- Yalnızca ihtiyacınız olan intent'leri kullanın. Ayrıcalıklı intent'ler portalda açılmalıdır.
- Bir token sızarsa portalda hemen sıfırlayın.
- Hata durumunda yeniden başlatma yukarıda ayarlandı. Bot bir topluluk için önemliyse izleme ekleyin.