Um bot de Discord gasta muito pouco: com o plano mais pequeno e Linux tens de sobra. O que precisa é de estar sempre ligado, e para isso existe o PM2.
1. Instala o Node.js
A versão LTS atual a partir do repositório oficial da NodeSource:
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
node -v
2. Envia o teu bot
Com git clone se estiver no GitHub, ou enviando a pasta por SFTP (como). Depois, na pasta dele:
cd /root/omeubot
npm install
Põe o token do bot no ficheiro .env dele (ou onde o teu código o ler). Nunca o envies para o GitHub nem o coles num ticket.
3. Arranca-o com o PM2
npm install -g pm2
pm2 start index.js --name omeubot
Muda o index.js para o ficheiro de entrada do teu bot (o que aparece em "main" no package.json).
4. Que arranque sozinho com o VPS
pm2 save
pm2 startup systemd
O pm2 save guarda a lista de processos e o pm2 startup recupera-a em cada arranque.
O dia a dia
pm2 status # está online?
pm2 logs omeubot # ver o que escreve (Ctrl + C para sair)
pm2 restart omeubot # reiniciá-lo depois de mudares o código
pm2 monit # consumo de CPU e memória em direto
O teu bot é em Python?
O PM2 também trata disso:
apt install -y python3-venv
cd /root/omeubot
python3 -m venv venv
venv/bin/pip install -r requirements.txt
pm2 start bot.py --name omeubot --interpreter venv/bin/python3
E depois o mesmo pm2 save do passo 4.