Avisa en un canal de Discord:
- 🟢 Cuando el servidor se enciende
- 🔴 Cuando se apaga (o crashea)
- 🟢 Cuando un jugador entra (con la carita de su skin)
- 🔴 Cuando un jugador sale (con la carita de su skin)
⚠️ Cuando un jugador lleva 10+ minutos (configurable) solo en el servidor, mencionando a un rol de Discord
Usa las librerías oficiales de exaroton y discord.js, conectadas por websocket, así que los avisos son en tiempo real (no hay que estar revisando cada tantos segundos).
- Node.js versión 22 o más nueva.
- Un servidor de Discord donde tengas permisos para agregar bots.
- Una cuenta de exaroton con al menos un servidor.
- Ve a https://discord.com/developers/applications y da clic en New Application. Ponle un nombre (ej. "Exaroton Notifier").
- En el menú izquierdo, ve a Bot. Da clic en Reset Token y copia el token — lo vas a necesitar en el paso 5. No lo compartas con nadie.
- No necesitas activar ningún "Privileged Gateway Intent" — este bot solo manda mensajes, no lee nada.
- Ve a OAuth2 > URL Generator. En "Scopes" marca
bot. En "Bot Permissions" marcaSend MessagesyEmbed Links. - Copia la URL que se genera abajo, ábrela en el navegador, y agrega el bot a tu servidor de Discord.
- En Discord, ve a Configuración de usuario > Avanzado y activa Modo desarrollador.
- Clic derecho sobre el canal donde quieres los avisos (el de Minecraft) > Copiar ID del canal.
Si quieres que el bot mencione un rol cuando alguien lleva rato jugando solo:
- Con el Modo desarrollador ya activado, ve a Configuración del servidor > Roles, clic derecho sobre el rol (ej.
@Minecraft) > Copiar ID del rol. - Importante: entra a ese mismo rol en Configuración del servidor > Roles, y asegúrate de que la opción "Permitir que cualquiera mencione este rol" esté activada. Si está desactivada, el bot puede escribir el
@Minecraften el mensaje pero Discord no le va a mandar notificación a nadie — el mensaje se ve igual pero no "suena". - Si prefieres no tocar esa opción del rol, la alternativa es darle al bot el permiso "Mention @everyone, @here, and All Roles" al invitarlo (paso 2.4) — con eso puede mencionar el rol sin importar su configuración.
Si no configuras esto, el bot funciona exactamente igual, solo que sin el aviso de jugador solo.
- Ve a https://exaroton.com/account/ y genera un API Token.
- Para encontrar el ID de tu servidor, lo más fácil es usar el script incluido — sigue el paso 5 primero, pon tu
EXAROTON_TOKENen el.env, y corre:Esto te imprime todos tus servidores con su ID correspondiente.npm run list-servers
- Copia
.env.examplea un archivo nuevo llamado.env. - Rellena las 4 variables obligatorias:
Y si quieres el aviso de jugador solo, también:
DISCORD_TOKEN=el_token_de_tu_bot DISCORD_CHANNEL_ID=el_id_del_canal EXAROTON_TOKEN=tu_api_token_de_exaroton EXAROTON_SERVER_ID=el_id_de_tu_servidorDISCORD_MINECRAFT_ROLE_ID=el_id_del_rol SOLO_ALERT_MINUTES=10 - Instala las dependencias:
npm install
npm start
Si todo está bien configurado, en la consola vas a ver algo como:
Conectado a Discord como TuBot#1234
Escuchando el servidor "MiServidor" (estado actual: 0)
Deja la ventana abierta — mientras el proceso esté corriendo, el bot está escuchando.
Para que avise incluso cuando tu compu esté apagada, necesitas correr esto en algo que esté siempre prendido: un servidorcito VPS barato, un Raspberry Pi en casa, o un servicio gratuito/económico de hosting para Node.js (Railway, Render, etc.). Si solo lo corres en tu laptop, va a funcionar, pero solo mientras la laptop esté prendida y con internet.
- Lista de jugadores: la API de exaroton marca que la lista de jugadores conectados "no siempre está disponible". En la enorme mayoría de los casos sí llega bien, pero si alguna vez ves que un aviso de entrada/salida no llegó, es de este lado.