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

Cómo alojar un bot de Discord con Bun

Hosting de bots de DiscordUpdated Oct 29, 20265 min read

Bun ejecuta bots de JavaScript y TypeScript sin compilar, y discord.js funciona en él. Para ejecutar uno:

  1. Cambia el tipo: en la página Bot, sección Código, pulsa Cambiar lo que se ejecuta junto a Entorno de ejecución y elige Bun Bot.
  2. Sube tus archivos con package.json en Files, sin node_modules.
  3. Comprueba el Archivo de entrada (index.ts por defecto) en la página Bot, sección Código.
  4. Pega tu token en la sección Discord y pulsa Conectar.
  5. Pulsa Iniciar y mira Console.

1. Cambia el tipo a Bun Bot

En la página Bot, sección Código, pulsa Cambiar lo que se ejecuta junto a Entorno de ejecución y elige Bun Bot. En un ordenador, la etiqueta del tipo en la parte superior de la página (por ejemplo Node.js Bot) abre el mismo diálogo. Deja sin marcar Eliminar mis archivos actuales y empezar de cero. para conservar tus archivos. Mismo plan, mismo precio. Mira Cómo cambiar tu bot a otro lenguaje o a un bot listo para usar.

2. Añade tu código

Sube tus archivos .ts o .js y package.json en Files (comprime una carpeta en un zip, súbelo, márcalo y pulsa Extraer). Deja fuera node_modules. O elige Repositorio Git como origen en la sección Código: Cómo desplegar y actualizar tu bot de Discord desde GitHub.

3. Define cómo se ejecuta

En la página Bot, sección Código, tarjeta Cómo se ejecuta:

  • Archivo de entrada: index.ts por defecto. Vale cualquier archivo .ts o .js, por ejemplo src/bot.ts.
  • Entorno de ejecución: Bun (latest), o Bun canary (unstable) si necesitas una función que todavía no se ha publicado.
  • Paquetes: paquetes adicionales que se añaden con bun add en el siguiente inicio después de que los cambies, separados por espacios.

La tarjeta Cómo se ejecuta de un bot de Bun con Archivo de entrada index.ts y Entorno de ejecución Bun (latest).

4. Pega el token e inicia

En la sección Discord, pega el token y pulsa Conectar. Pulsa Iniciar y abre Console. El servidor ejecuta bun install cuando existe un package.json, imprime [PlayNHost] Starting your bot y ejecuta bun run sobre tu archivo de entrada. Los inicios siguientes vuelven a instalar solo cuando cambian Paquetes, package.json, el lockfile o la versión de Bun, cuando falta node_modules, o una vez al día; si no, la consola dice [PlayNHost] Packages are up to date.

Un bot mínimo de Bun con discord.js

package.json

{
  "name": "my-bun-bot",
  "private": true,
  "dependencies": {
    "discord.js": "^14"
  }
}

index.ts

import { Client, Events, GatewayIntentBits } from 'discord.js';

const client = new Client({ intents: [GatewayIntentBits.Guilds] });

client.once(Events.ClientReady, (c) => {
  console.log(`Logged in as ${c.user.tag}`);
});

client.login(process.env.DISCORD_TOKEN);

Bun lee el token con process.env.DISCORD_TOKEN o Bun.env.DISCORD_TOKEN. Imprimir Logged in as cambia la etiqueta del Resumen a En línea en Discord.

Líneas de la consola que puedes ver

LíneaQué hacer
[PlayNHost] Your bot is not set up yet: the main file index.ts was not found.Sube tus archivos, o pon en Archivo de entrada el nombre y la carpeta reales.
[PlayNHost] bot.py is a Python file, but this server runs Bun (JavaScript).Tu código es Python. Pulsa Cambiar lo que se ejecuta y elige Python Bot, conservando tus archivos.
[PlayNHost] index.ts starts with ```, a Markdown code fence copied together with the code.Abre el archivo en Files, borra la primera y la última línea ```, guarda e inicia de nuevo.
[PlayNHost] Bun could not install everything in package.json. Starting with the packages already installed.Un nombre o una versión de package.json es incorrecto. El error de Bun justo encima lo nombra.
[PlayNHost] Some packages in Bot page, Code, Packages could not be installed.Revisa la ortografía en Paquetes y que los nombres estén separados por espacios.
Aviso Falta un paquete que necesita tu códigoTu código importa un paquete que no está instalado. Añádelo a package.json o a Paquetes y reinicia.

Las líneas de lenguaje equivocado, de bloque ``` y de paquetes vienen del script de inicio de los servidores instalados o reinstalados desde el 28 de octubre de 2026. En un servidor más antiguo, pulsa una vez Reinstalar al final de la sección Código: tus archivos se quedan.

Conviene saber

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

NUESTROS ÚLTIMOS BLOGS