Saltar al contenido principal

Modo Bot

El modo bot reemplaza el webhook con un bot real de Discord. Añade comandos de barra, un botón interactivo Toggle Ping y un control más granular — a costa de una configuración un poco más larga.

1. Crea la aplicación de Discord

  1. Ve al Portal de desarrolladores de Discord.
  2. Haz clic en New Application, ponle un nombre y copia el Application ID.
  3. Abre la pestaña Bot:
    • Haz clic en Reset Token y copia el nuevo token (este es el token del bot).
    • Activa SERVER MEMBERS INTENT — necesario para el botón de alternancia y las comprobaciones de rol.

Trata el token del bot como una contraseña. Si se filtra, restablécelo inmediatamente.

2. Invita el bot a tu servidor

Abre la pestaña OAuth2 → URL Generator:

  1. Selecciona los alcances bot y applications.commands.
  2. En Bot Permissions, selecciona:
    • View Channels
    • Send Messages
    • Embed Links
    • Manage Roles (requerido para asignar/quitar el rol de ping con el botón de alternancia)
  3. Copia la URL generada y ábrela en un navegador para invitar el bot a tu servidor.

3. Obtén los IDs del servidor y del canal

Activa el modo desarrollador en Discord (Configuración de usuario → Avanzado).

  • Guild ID: clic derecho en el nombre de tu servidor → Copy Server ID.
  • Channel ID: clic derecho en el canal de notificaciones → Copy Channel ID.
  • Role ID: Configuración del servidor → clic derecho en un rol → Copy Role ID.

4. Configura el bot en el juego

/worldeater settings setBotToken <token>
/worldeater settings setGuildId <id-del-servidor>
/worldeater settings setChannelId <id-del-canal>
/worldeater settings setPingRoleId <id-de-rol>
/worldeater settings setNotificationMode bot

Configurar el token del bot reinicia el bot automáticamente. Cambiar a modo bot arranca el bot y registra sus comandos de barra (esto ocurre cuando el bot se conecta — dale unos segundos).

Protección de inicio: las máquinas no arrancarán hasta que botToken, guildId y channelId estén configurados.

5. Comandos de barra en Discord

Los comandos se registran en tu servidor en cuanto el bot se conecta.

Gestionar máquinas

ComandoDescripción
/worldeater start <nombre>Inicia una máquina (el nombre tiene autocompletado).
/worldeater stop <nombre>Detiene una máquina (el nombre tiene autocompletado).
/worldeater listLista los world eaters con estado activo/inactivo.

Lo mismo aplica para /trencher y /bedrockbreaker. Iniciar/detener desde Discord también transmite el evento al chat del juego.

Configurar el bot (/config)

ComandoDescripción
/config ping-role <rol>Configura el rol usado para los pings.
/config channel <canal>Configura el canal de notificaciones.
/config subscription-button <true|false>Muestra/oculta el botón "Toggle Ping" en los mensajes de inicio.
/config member-discord-role <rol>Rol que puede usar los comandos de barra start/stop/list.
/config pingsEditor interactivo de los ajustes de ping (ver abajo).

Flujo interactivo de /config pings

  1. Ejecutar /config pings muestra un desplegable con World Eater, Trencher, Bedrock Breaker.
  2. Elige un tipo → un embed muestra los ajustes de ping actuales y un desplegable de qué cambiar (enabled, onStart, onStop, onStuck, onResumed, onShutdown).
  3. Elige un ajuste → aparecen botones True / False.
  4. Hacer clic en uno guarda el cambio y te devuelve al desplegable de ajustes, así puedes seguir ajustando sin volver a ejecutar el comando.

6. El botón "Toggle Ping"

En cada mensaje de inicio, el bot añade un botón 🔔 Toggle Ping:

  • Al hacer clic, añade o quita el rol de ping para ti.
  • La respuesta es efímera (solo tú la ves).
  • Si el bot no puede gestionar el rol, verás un error — el rol del bot debe estar por encima del rol de ping en Configuración del servidor → Roles.

Oculta el botón por completo con /config subscription-button false o /worldeater settings showSubscriptionButton false.

7. Matriz de permisos en Discord

AcciónQuién puede hacerla
/config (todos los subcomandos)Solo Administradores
/worldeater /trencher /bedrockbreaker (start/stop/list)Miembro de member-discord-role o Administrador
Botón Toggle PingCualquiera (afecta solo a quien hace clic)

Los comandos de Discord no se ven afectados por la whitelist del juego — el acceso en Discord se basa únicamente en los roles de Discord.

Notas

  • Las notificaciones se encolan internamente hasta que el WebSocket del bot se conecta; si el bot está brevemente desconectado, se almacenan hasta 50 mensajes y se vacían al reconectarse.
  • Los cambios en el canal, roles y mensajes se aplican inmediatamente — sin necesidad de reiniciar el bot.
  • Al apagar el servidor, el bot se detiene y se envía una notificación de apagado por cada máquina activa.