Cómo alojar un bot de Discord (discord.js) 24/7
Aloja tu bot de discord.js las 24 horas: conecta tu repositorio, guarda el token cifrado, invita el bot y compruébalo desde el panel de SolumeCore.
Para alojar un bot de Discord hecho con discord.js las 24 horas en SolumeCore, sube tu código a un plan de apps de Node.js, guarda el token del bot como una variable cifrada, enciende la app e invita el bot a tu servidor de Discord. El panel trae un asistente de bot de Discord que comprueba el token con Discord y te da el enlace de invitación, así que lo dejas listo en pocos minutos y sin tener tu PC encendida.
Antes de empezar
- Un plan de apps de SolumeCore con Node.js. Puedes ver los planes disponibles en la página de programación.
- Un proyecto de bot con un archivo de entrada (por ejemplo
index.js) y unpackage.json. Si aún no lo tienes, sirve el ejemplo del paso 1. - Una cuenta de Discord para crear la aplicación del bot en el portal de desarrolladores.
Paso 1: Prepara el código del bot
Tu código debe leer el token desde una variable de entorno, nunca desde el archivo fuente. Así el token no acaba en Git ni en tus archivos. Este es un bot mínimo con discord.js:
// index.js
const { Client, Events, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once(Events.ClientReady, (c) => {
console.log(`Sesión iniciada como ${c.user.tag}`);
});
client.login(process.env.DISCORD_TOKEN);Y su package.json, con un script start:
{
"name": "mi-bot-de-discord",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"discord.js": "^14.16.0"
}
}discord.js 14 necesita una versión reciente de Node.js (18 o superior). La versión de Node.js de tu app se elige en Código > Paquetes > Versión del lenguaje y se aplica en el siguiente reinicio.
Paso 2: Lleva tu código a la app
La forma más fiable es un repositorio de Git: defines de forma explícita los comandos de build y de arranque, y cada actualización es un clic.
- Abre tu app en el panel y entra en la pestaña Código, sección Deploy.
- Pulsa Conectar repositorio. Elige Repositorio público (pega el enlace HTTPS) o Repositorio privado (pega el enlace SSH y añade al repositorio la llave de solo lectura que te muestra).
- En el último paso, escribe en Comando de build
npm instally en Comando de arranquenpm start(onode index.js). - Pulsa Guardar y desplegar.
El recorrido completo, con repositorios privados y deploys automáticos, está en Desplegar una app desde GitHub o GitLab.
Si prefieres no usar Git, abre Archivos y usa Subir > Subir archivos, o conéctate por SFTP, y deja tu proyecto en la carpeta principal. Sin repositorio, la app arranca con el comando por defecto de su entorno de Node.js, que puedes revisar en Ajustes > Arranque. Las dependencias de tu package.json se instalan cuando arranca la app.
El primer arranque puede fallar por falta del token. Es normal: lo añadirás en el siguiente paso.
Paso 3: Crea el bot y guarda el token
- En Código > Deploy, baja hasta la tarjeta Asistente de bot de Discord y pulsa Abrir asistente. También puedes abrirlo desde Código > Variables > Importar / exportar > Asistente de bot de Discord.
- En el primer paso, Crear el bot, sigue lo que indica el asistente: abre el portal de desarrolladores de Discord, pulsa New Application y ponle el nombre de tu bot. En la pestaña Bot pulsa Reset Token y copia el token.
- Si tu bot lee el contenido de los mensajes, activa Message Content Intent en esa misma pestaña Bot.
- Pega el token en Token del bot. SolumeCore lo guarda cifrado como la variable
DISCORD_TOKEN(el mismo nombre del código de ejemplo). Si prefieres otro nombre, pulsa Se guarda como DISCORD_TOKEN · cambiar y escríbelo.
El token es la contraseña de tu bot. No lo pegues en tu código, en un repositorio de Git, en una captura de pantalla ni en un chat. Si se filtra, pulsa Reset Token en el portal y guarda el nuevo.
Paso 4: Conecta y comprueba
El segundo paso, Conectar, muestra el nombre y el ID de tu bot en cuanto Discord acepta el token, y ejecuta tres comprobaciones:
| Comprobación | Qué significa | Si no está en verde |
|---|---|---|
| Discord aceptó el token | El token es válido | Restablece el token en el portal y pega el nuevo |
| Tu app ya tiene el token | La app se reinició después de guardar el token | Pulsa Reiniciar junto a la comprobación |
| Tu app está encendida | La app está en marcha | Pulsa Encender junto a la comprobación |
Pulsa Verificar de nuevo después de cada arreglo. Si la app está apagada y quieres ver por qué, pulsa Abrir la consola.
Paso 5: Invita el bot a tu servidor
- En el tercer paso, Invitar, elige qué podrá hacer el bot: Básico, Moderación, Música o Administrador. Básico basta para la mayoría de los bots.
- Pulsa Invitar a mi servidor, elige tu servidor de Discord y autoriza.
- Pulsa Listo.
Tu bot debería aparecer en línea en Discord. Abre Consola > Consola en vivo para ver tu propia línea de registro, como Sesión iniciada como ....
Actualiza tu bot
Con un repositorio conectado, sube tus cambios y pulsa Desplegar ahora en Código > Deploy. También puedes activar Desplegar solo con cada push para que cada push a tu rama publique la versión nueva por sí solo. Durante un deploy el bot se reinicia unos instantes mientras se reconecta a Discord.
Solución de problemas
- El bot aparece desconectado en Discord: repasa las tres comprobaciones de arriba y lee Por qué tu bot de Discord aparece desconectado.
Cannot find module 'discord.js': no se instalaron las dependencias. Escribenpm installen Comando de build y vuelve a desplegar, o comprueba que elpackage.jsonesté en la carpeta principal de la app.Used disallowed intents: activa el intent correspondiente (por ejemplo Message Content Intent) en la pestaña Bot del portal de desarrolladores y reinicia la app.- Cambiaste una variable y no pasó nada: las variables se leen al arrancar la app. Pulsa Reiniciar para aplicar en Código > Variables.
Preguntas frecuentes
¿Mi bot de Discord sigue conectado si cierro el navegador o apago el PC?
Sí. El bot funciona en los servidores de SolumeCore, no en tu computadora. Sigue en marcha hasta que lo apagues y puedes verlo cuando quieras desde la consola.
¿Dónde pongo el token de mi bot de Discord?
En el asistente de bot de Discord o en Código > Variables, con el nombre DISCORD_TOKEN. SolumeCore guarda las variables cifradas y tu código lee el valor con process.env.DISCORD_TOKEN.
¿Qué versión de Node.js debo usar con discord.js?
Una versión actual: 18 o superior para discord.js 14. Elígela en Código > Paquetes > Versión del lenguaje y reinicia la app.
¿Puedo alojar el bot sin GitHub?
Sí. Sube tus archivos desde Archivos o por SFTP. Git solo hace las actualizaciones más rápidas, porque el panel construye, arranca y guarda el historial de cada deploy por ti.
Artículos relacionados
- Cómo alojar un bot de Discord 24/7
- Desplegar un bot de Discord con Python (discord.py)
- Desplegar una app desde GitHub o GitLab
- Variables de entorno de tu app o bot
- Por qué tu bot de Discord aparece desconectado
¿Quieres poner tu bot en línea? Echa un vistazo a los planes de apps de Node.js y Python.