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 Deno

Hosting de bots de DiscordUpdated Oct 29, 20265 min read

Deno ejecuta TypeScript tal cual y carga paquetes de npm directamente desde tus imports. Para ejecutar un bot de Deno:

  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 Deno Bot.
  2. Sube tus archivos en Files.
  3. Comprueba el Archivo de entrada (main.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 Deno Bot

En la página Bot, sección Código, pulsa Cambiar lo que se ejecuta junto a Entorno de ejecución y elige Deno 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. Mira Cómo cambiar tu bot a otro lenguaje o a un bot listo para usar. La instalación descarga Deno en tu servidor.

2. Añade tu código

Sube tus archivos .ts (y deno.json si usas uno) en Files: comprime una carpeta en un zip, súbelo, márcalo y pulsa Extraer. 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

  • Archivo de entrada (tarjeta Cómo se ejecuta): main.ts por defecto, por ejemplo src/bot.ts.
  • Versión de Deno (tarjeta Ajustes): latest, o un número de versión como 2.5.4.

No hay campo Paquetes: Deno descarga lo que nombran tus imports (npm:, jsr: o una URL) la primera vez que los carga, y los conserva para los inicios siguientes.

La sección Código de un bot de Deno con Archivo de entrada main.ts y la tarjeta Ajustes que muestra Versión de Deno.

4. Pega el token e inicia

En la sección Discord, pega el token y pulsa Conectar. Pulsa Iniciar y abre Console. Ves la versión de Deno, por ejemplo [PlayNHost] Deno 2.5.4, y luego [PlayNHost] Starting your bot. Tu bot se ejecuta con deno run -A: todos los permisos, dentro de tu propio servidor, así que no necesitas ninguna opción --allow. Su memoria está limitada al 80 por ciento de la de tu plan.

Un bot mínimo de Deno con discord.js

main.ts

import { Client, Events, GatewayIntentBits } from "npm:discord.js@14";

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

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

client.login(Deno.env.get("DISCORD_TOKEN"));

El primer inicio descarga discord.js, así que tarda un poco más. Imprimir Logged in as cambia la etiqueta del Resumen a En línea en Discord. También puedes usar discordeno, una librería hecha para Deno.

Cambiar la versión de Deno

Deno se descarga cuando se instala el servidor. Para ejecutar otra versión:

  1. En la sección Código, tarjeta Ajustes, pon Versión de Deno con un número de versión, por ejemplo 2.5.4, y pulsa Guardar.
  2. Reinicia el bot. La consola muestra [PlayNHost] The Deno version changed to v2.5.4. y [PlayNHost] Downloading Deno v2.5.4, y luego inicia tu bot con ella.

latest conserva la versión que ya está descargada; no se actualiza sola. Para pasar a la última versión, escribe su número, o deja latest y pulsa Reinstalar al final de la sección Código: la instalación descarga Deno otra vez y tus archivos se quedan.

¿No pasa nada al reiniciar? Tu servidor todavía tiene un script de inicio antiguo que solo lee la versión al instalar. Pulsa Reinstalar una vez: instala la versión que pusiste y el script de inicio más reciente.

Si la consola dice que no se pudo descargar Deno, comprueba que la versión que escribiste es una versión real de Deno, en la sección Código, bajo Ajustes, Versión de Deno, y pulsa Iniciar de nuevo.

Otras líneas de la consola

LíneaQué hacer
[PlayNHost] Your bot is not set up yet: the main file main.ts was not found.Sube tus archivos, o pon en Archivo de entrada el nombre y la carpeta reales.
Un error de import de un paquete npm: o jsr:Revisa el nombre y la versión del paquete en el import.

Las claves y contraseñas van en Entorno, y se leen con Deno.env.get: Cómo definir variables de entorno y secretos para tu bot de Discord. TypeScript en otros tipos: Cómo ejecutar un bot de Discord en TypeScript.

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

NUESTROS ÚLTIMOS BLOGS