Deno esegue TypeScript così com'è e carica i pacchetti npm direttamente dai tuoi import. Per eseguire un bot Deno:
- Cambia il tipo: nella pagina Bot, sezione Codice, clicca su Cambia cosa viene eseguito accanto a Runtime e scegli Deno Bot.
- Carica i tuoi file in Files.
- Controlla il File di avvio (
main.tsin modo predefinito) nella pagina Bot, sezione Codice. - Incolla il tuo token nella sezione Discord e clicca su Collega.
- Premi Avvia e guarda Console.
1. Passa il tipo a Deno Bot
Nella pagina Bot, sezione Codice, clicca su Cambia cosa viene eseguito accanto a Runtime e scegli Deno Bot. Da computer, l'etichetta del tipo in cima alla pagina (per esempio Node.js Bot) apre la stessa finestra. Lascia deselezionato Elimina i miei file esistenti e riparti da zero. per tenere i tuoi file. Vedi Come passare il tuo bot a un altro linguaggio. L'installazione scarica Deno nel tuo server.
2. Aggiungi il tuo codice
Carica i tuoi file .ts (e deno.json se ne usi uno) in Files: comprimi una cartella in uno zip, caricalo, selezionalo, Estrai. Oppure scegli Repository Git come origine nella sezione Codice: Come distribuire e aggiornare il tuo bot Discord da GitHub.
3. Imposta come viene eseguito
- File di avvio (riquadro Come viene eseguito):
main.tsin modo predefinito, per esempiosrc/bot.ts. - Versione di Deno (riquadro Impostazioni):
latest, oppure un numero di release come2.5.4.
Non c'è un campo Pacchetti: Deno scarica ciò che nominano i tuoi import (npm:, jsr: o un URL) la prima volta che li carica, e li tiene per gli avvii successivi.

4. Incolla il token e avvia
Nella sezione Discord, incolla il token e clicca su Collega. Premi Avvia e apri Console. Vedi la versione di Deno, per esempio [PlayNHost] Deno 2.5.4, poi [PlayNHost] Starting your bot. Il tuo bot gira con deno run -A: tutti i permessi, dentro il tuo server, quindi non servono flag --allow. La sua memoria è limitata all'80 percento di quella del tuo piano.
Un bot Deno minimo 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"));
Il primo avvio scarica discord.js, quindi ci mette un po' di più. Stampare Logged in as porta il badge nella Panoramica su Online su Discord. Puoi usare anche discordeno, una libreria fatta per Deno.
Cambiare la versione di Deno
Deno viene scaricato quando il server viene installato. Per eseguire un'altra release:
- Nella sezione Codice, riquadro Impostazioni, imposta Versione di Deno su un numero di release, per esempio
2.5.4, e clicca su Salva. - Riavvia il bot. La console mostra
[PlayNHost] The Deno version changed to v2.5.4.e[PlayNHost] Downloading Deno v2.5.4, poi avvia il tuo bot con quella versione.
latest mantiene la release già scaricata: non si aggiorna da solo. Per passare alla release più recente, scrivi il suo numero, oppure lascia latest e clicca su Reinstalla in fondo alla sezione Codice: l'installazione scarica di nuovo Deno e i tuoi file restano.
Al riavvio non succede nulla? Il tuo server ha ancora uno script di avvio più vecchio che legge la versione solo durante l'installazione. Clicca una volta su Reinstalla: installa la versione che hai impostato e lo script di avvio più recente.
Se la console dice che non è stato possibile scaricare Deno, controlla che la versione che hai scritto sia una vera release di Deno, nella sezione Codice sotto Impostazioni, Versione di Deno, poi premi di nuovo Avvia.
Altre righe della console
| Riga | Cosa fare |
|---|---|
[PlayNHost] Your bot is not set up yet: the main file main.ts was not found. | Carica i tuoi file, oppure imposta File di avvio sul nome e sulla cartella reali. |
Un errore di import per un pacchetto npm: o jsr: | Controlla il nome e la versione del pacchetto nell'import. |
Le chiavi e le password vanno sotto Ambiente, lette con Deno.env.get: Come impostare variabili d'ambiente e segreti. TypeScript sugli altri tipi: Come eseguire un bot Discord in TypeScript.



