NUEVO 📢 Oferta de lanzamiento limitada: ¡hasta un 70% de descuento en tu primer mes, en todos los juegos!Ver planes

Cómo alojar Bastion, un bot de Discord todo en uno

Hosting de bots de DiscordUpdated Oct 29, 20266 min read

Bastion es un bot de Discord todo en uno: moderación y automoderación, niveles, mensajes de bienvenida, starboard, sorteos, encuestas, música, juegos y más. Su base de datos MongoDB se ejecuta dentro de tu servidor, junto al bot, así que necesita un plan con al menos 2 GB de memoria. Solo te pide el token del bot y tres intents activados.

  1. En el Portal de desarrolladores de Discord, crea el bot, copia su token y en la página Bot activa Presence Intent, Server Members Intent y Message Content Intent.
  2. En el panel, haz que el servidor ejecute Bastion (Cambiar lo que se ejecuta).
  3. Pega el token en la tarjeta Configura tu bot de Resumen e invita al bot.
  4. Pulsa Iniciar bot. Bastion publica sus comandos de barra y se pone en línea.

Cada paso se explica más abajo.

Antes de empezar

  • Crea el bot y copia su token: Cómo crear un bot de Discord y obtener su token.
  • En la página Bot de la aplicación, activa los tres intents privilegiados y pulsa Save Changes: Bastion pide a Discord Server Members, Presence y Message Content cuando inicia sesión.
  • Tu plan necesita 2 GB de memoria o más. En un plan más pequeño Bastion no se ofrece: sube de plan en Mi plan, Cambiar de plan.

1. Haz que el servidor ejecute Bastion

  1. Abre tu servidor en el panel. En Resumen, en la tarjeta Configura tu bot, pulsa el paso Qué se ejecuta. Dice "Este bot ejecuta Bastion." cuando el tipo ya es el correcto.
  2. Si no, pulsa Cambiar lo que se ejecuta, elige Bastion, pulsa Siguiente paso, marca la confirmación y pulsa Cambiar el tipo de servidor. La instalación compila Bastion, así que tarda unos minutos.

2. Conéctalo a Discord

  1. Paso Conectar con Discord: pega el token en Pega el token de tu bot, pulsa Conectar y luego Sí, continuar si el nombre y la imagen son los de tu bot.
  2. Paso Permisos: la tabla Intents privilegiados marca Miembros del servidor, Contenido de los mensajes y Presencia como Lo necesita Bastion. Cada uno debe mostrar Activado. Después de cambiarlos en el Portal, pulsa Comprobar de nuevo.
  3. En Enlace de invitación, pulsa Añadir a un servidor de Discord. El enlace ya pide los permisos de texto habituales, Conectar, Hablar y Usar detección de voz para la música, y Expulsar miembros, Banear miembros, Aislar miembros temporalmente y Gestionar roles para la moderación. ¿Ya lo invitaste antes con menos permisos? Púlsalo otra vez y elige el mismo servidor: Discord actualiza los permisos del bot.

La tarjeta de configuración en Resumen, en el paso Permisos de Bastion, con Miembros del servidor, Contenido de los mensajes y Presencia marcados como Lo necesita Bastion.

3. Inícialo

  1. Pulsa Iniciar bot en la tarjeta de configuración, o Iniciar en Console. Tras las líneas de inicio de MongoDB, la consola muestra:
[PlayNHost] Publishing Bastion's slash commands to Discord
[PlayNHost] Slash commands published
[PlayNHost] Starting your bot
  1. En tu servidor de Discord, escribe / para ver los comandos de Bastion, como /poll y /giveaway.

No necesitas rellenar nada en Código, Ajustes para iniciarlo: Bot Client ID (optional) se lee del token.

Ajustes

En la pestaña Bot, Código, la tarjeta Ajustes tiene estos. Pulsa Guardar después de un cambio y reinicia el bot.

AjustePor defectoQué hace
Bot Client ID (optional)vacíoEl Client ID de tu aplicación. Vacío lo lee del token.
Your Discord user ID (optional)vacíoTe hace propietario del bot.
MongoDB addressmongodb://127.0.0.1:27017/bastionDéjalo como está para usar la base de datos de dentro de tu servidor.
Publicar comandos al iniciartrueRegistra los comandos de barra de Bastion en Discord en cada inicio.
Music activitytrueMuestra la canción que suena como actividad del bot.
Relay direct messagesfalseReenvía a su propietario los mensajes directos que recibe el bot.
Unsafe modefalsePermite los comandos exec y eval, que ejecutan código en tu servidor. Déjalo desactivado salvo que seas el único propietario del bot.

La pestaña Bot, sección Código, con la tarjeta Ajustes de Bastion que lista sus siete opciones con los valores por defecto.

Todo lo demás, como las claves de API de los comandos de búsqueda y de IA de Bastion, está en settings.yaml, en Files. Edítalo con el bot detenido y luego inícialo.

Líneas de la consola que puedes ver

[PlayNHost] Bastion is not set up yet: it needs your Discord bot token.

Pega el token en la pestaña Bot, en Discord, y pulsa Iniciar.

[PlayNHost] The commands could not be published (...). Bastion starts anyway; the full log is .pnh/publish-commands.log.

Discord rechazó la lista de comandos, casi siempre porque el token es incorrecto. Abre .pnh/publish-commands.log en Files para ver el motivo completo. Si es un problema del token: pulsa Reset Token en el Portal y pega el nuevo con Reemplazar token.

[PlayNHost] Bastion is not installed. Reinstall it on the Bot page, Code, then press Start.

Faltan los archivos del bot. Pulsa Reinstalar en la tarjeta Reinstalar de Código, confirma y pulsa Iniciar cuando termine.

Conviene saber

  • Memoria: MongoDB y Bastion comparten el plan, así que la memoria de JavaScript de Bastion está limitada a la mitad de tu plan, para dejar sitio a la base de datos. Mira la tarjeta Uso en Resumen: ¿Cuánta RAM necesita un bot de Discord?
  • La base de datos está en la carpeta mongodb de Files, así que un backup del servidor la incluye: Cómo crear, descargar y restaurar backups.
  • La versión está fijada en Bastion v10.16.0, la más reciente que funciona con el Node.js 20 del servidor. Reinstalar en Código la vuelve a compilar y conserva settings.yaml y la base de datos.
  • Lo que puede reproducir la música de Bastion depende de lo que permita cada sitio: El bot de música de Discord no suena: soluciones.

Todas las opciones de todos los bots listos para usar: Cómo cambiar los ajustes de un bot listo para usar.

¿Ya tienes tu bot en otro proveedor? Tráelo con nosotros

NUESTROS ÚLTIMOS BLOGS