ACLClouds
ACLClouds

Alojar un bot de Discord 24/7 sin caídas

·

Gestor de procesos, variables de entorno, registros y supervisión: la arquitectura mínima para un bot que nunca duerme.

Un bot que se apaga cuando cierra el PC no es un bot, es una demo. Así se aloja correctamente para una disponibilidad real, las 24 horas del día.

  • Guarde el token en una variable de entorno, nunca en el código.
  • Confíe el reinicio a un gestor de procesos con un retardo creciente.
  • Supervise la latencia de la gateway y la tasa de error de los comandos.
  • Guarde los datos en un volumen persistente y haga una copia de la base de datos cada día.

Un entorno de ejecución fijo y los secretos fuera del código

El primer incidente clásico: el token del bot subido a GitHub y revocado por Discord en plena noche. Guárdelo en una variable de entorno, fije la versión de Node.js o Python y versione un archivo de ejemplo (.env.example) sin los valores.

  • Nunca suba el token al repositorio: solo variables de entorno.
  • Fijar la versión del entorno de ejecución (p. ej. Node 22 LTS) para despliegues reproducibles.
  • Documentar cada variable requerida en un README.
  • Para elegir el proveedor, comparar las ofertas de alojamiento gratis de bots de Discord.

Un gestor de procesos que reinicia de forma inteligente

PM2, systemd o Docker con política de reinicio: la herramienta importa menos que la política. Reinicie automáticamente en caso de fallo, pero con un retardo creciente (backoff) para no entrar en bucle ante un error de configuración, y conserve los logs persistidos para entender lo ocurrido.

  • Configurar un reinicio automático con backoff exponencial.
  • Conservar los registros fuera del contenedor para diagnosticar las caídas.
  • Añadir una comprobación de estado: ¿el bot sigue respondiendo a los comandos?

Vigilar lo que realmente importa

Estar en línea no basta: un bot conectado que ya no responde a las interacciones es un bot averiado. Supervise la latencia de la gateway de Discord, la tasa de errores de los comandos y la memoria. Una alerta sencilla (webhook, correo) vale más que un panel que nadie mira.

  • Supervisar la latencia de la gateway de Discord y la tasa de errores de los comandos.
  • Alertar ante desconexiones repetidas y fugas de memoria.
  • Conservar 7 días de registros para el análisis posterior a incidentes.

Separar datos y código

En cuanto el bot almacena algo (niveles, economía, moderación), esos datos deben sobrevivir a un redespliegue. Una base SQLite en un volumen persistente basta para empezar; PostgreSQL toma el relevo cuando el bot crece, con copias de seguridad periódicas en ambos casos. Para un bot en línea de forma permanente sin tener su PC encendido, descubra el alojamiento de bots de Discord.

  • Almacenar los datos en un volumen persistente, nunca en la imagen.
  • Hacer una copia diaria de la base de datos en un almacenamiento externo.
  • Probar la restauración antes de necesitarla.
  • Aplicar la regla 3-2-1 a las copias de seguridad de la base.

Preguntas frecuentes

¿Debo dejar mi ordenador encendido?

No. El bot se ejecuta en la infraestructura de ACLClouds y sigue en línea independientemente de su ordenador o de su conexión.

¿Qué lenguajes son compatibles?

Están disponibles Node.js, Bun, Python, C#, Go, Java, Rust y Lua, además de MariaDB para proyectos que necesitan una base de datos.

¿Dónde guardar el token de mi bot?

En las variables de inicio del panel. Modifique la configuración sin publicar el token en su código fuente.

¿Mi bot se reinicia solo después de un fallo?

Sí. El proceso se reinicia automáticamente ante una parada inesperada, y los registros siguen consultables en tiempo real desde el panel.