EQVPS

Cómo alojar un bot de Discord 24/7 en un VPS (systemd)

Mantén un bot de Discord en línea 24/7 en un VPS: instala el runtime, pon el token del bot en un archivo env y envuélvelo en un servicio systemd con Restart=always para que sobreviva a caídas y reinicios. Copia-pega para Node y Python.

Un alojamiento de bots gratis funciona hasta que el contenedor se duerme o el servicio se apaga a mitad de un evento. Un VPS de 3 $ con systemd mantiene el bot en línea de verdad. Esta es la guía; para el recorrido más completo y notas de bot de música, consulta alojar un bot de Discord en un VPS y el caso de uso VPS para bots de Discord. No hace falta IP dedicada — un bot de Discord solo hace conexiones salientes, así que un plan NAT (desde 3 $/mes) es ideal.

1. Instala el runtime y tu bot (ejemplo Node)

apt update && apt install -y curl git
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
git clone https://github.com/you/your-bot.git /opt/bot
cd /opt/bot && npm ci --omit=dev

2. Guarda el token en un archivo env

cat >/opt/bot/.env <<'EOF'
DISCORD_TOKEN=your_token_here
EOF
chmod 600 /opt/bot/.env

3. Servicio systemd con Restart=always

# /etc/systemd/system/discordbot.service
[Unit]
Description=Discord Bot
After=network.target

[Service]
WorkingDirectory=/opt/bot
ExecStart=/usr/bin/node index.js
EnvironmentFile=/opt/bot/.env
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
journalctl -u discordbot -f

Restart=always es lo que lo hace 24/7 — un rechazo no manejado a las 3 de la mañana reinicia en vez de dejar el bot muerto. (Más en crear un servicio systemd.)

¿Python en su lugar?

El mismo patrón — un venv y discord.py, con la unit apuntando al Python del venv:

ExecStart=/opt/bot/.venv/bin/python bot.py

Notas

Nano a 3 $/mes, root en un minuto aproximadamente, sin KYC, pago en cripto — lo bastante barato para ser desechable cuando un proyecto de bot termina. El mismo patrón para bots de Telegram.

Preguntas frecuentes

¿Cómo mantengo un bot de Discord en línea 24/7?

Ponlo en un VPS y envuélvelo en un servicio systemd con Restart=always, para que se reinicie al caer y arranque al iniciar. Ejecutarlo en una terminal o con nohup muere al desconectar o reiniciar; systemd lo mantiene vivo y registra en journalctl. Las units copia-pega para Node y Python están abajo.

¿Necesito una IP dedicada para un bot de Discord?

No. Un bot de Discord marca hacia la gateway de Discord por un websocket — nada se conecta a tu servidor de forma entrante. Un plan NAT (desde 3 $/mes) encaja perfecto y barato. Solo querrías una IP dedicada para un bot que también sirva peticiones web entrantes.

¿Cuál es el plan más barato que funciona?

Nano (3 $/mes — 2 vCPU, 1 GB) corre un bot típico de discord.js o discord.py, y varios a la vez. Los bots caben en decenas de megabytes de RAM. La excepción es un bot de música — el streaming de audio quiere algo más de CPU y ancho de banda, así que sube a Micro/Small.

¿Cómo guardo el token del bot con seguridad?

En un archivo de entorno que solo root pueda leer (chmod 600), cargado vía Environment o EnvironmentFile de la unit de systemd. Nunca escribas el token en el código ni lo subas a git — un token filtrado deja que cualquiera controle tu bot.

¿Piden documento de identidad o tarjeta?

No. Un correo para registrarte, pago en USDC o USDT — sin documentos, sin tarjeta. Root en un minuto aproximadamente.

Comentarios

Aún no hay comentarios. Sé el primero.

Deja un comentario

Los comentarios se moderan antes de aparecer.