Un bot de Discord gasta muy poco: con el plan más pequeño y Linux te sobra. Lo que sí necesita es estar encendido siempre, y para eso está PM2.
1. Instala Node.js
La versión LTS actual desde el repositorio oficial de NodeSource:
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
node -v
2. Sube tu bot
Con git clone si está en GitHub, o subiendo la carpeta por SFTP (cómo). Después, en su carpeta:
cd /root/mibot
npm install
Pon el token del bot en su archivo .env (o donde lo lea tu código). Nunca lo subas a GitHub ni lo pegues en un ticket.
3. Arráncalo con PM2
npm install -g pm2
pm2 start index.js --name mibot
Cambia index.js por el archivo de entrada de tu bot (el que pone en "main" de su package.json).
4. Que arranque solo con el VPS
pm2 save
pm2 startup systemd
pm2 save guarda la lista de procesos y pm2 startup la recupera en cada arranque.
El día a día
pm2 status # ¿está online?
pm2 logs mibot # ver lo que escribe (Ctrl + C para salir)
pm2 restart mibot # reiniciarlo tras cambiar el código
pm2 monit # consumo de CPU y memoria en directo
¿Tu bot es de Python?
PM2 también lo lleva:
apt install -y python3-venv
cd /root/mibot
python3 -m venv venv
venv/bin/pip install -r requirements.txt
pm2 start bot.py --name mibot --interpreter venv/bin/python3
Y luego el mismo pm2 save del paso 4.