Bun esegue i bot JavaScript e TypeScript senza build, e discord.js funziona su Bun. Per eseguirne uno:
- Cambia il tipo: nella pagina Bot, sezione Codice, clicca su Cambia cosa viene eseguito accanto a Runtime e scegli Bun Bot.
- Carica i tuoi file con
package.jsonin Files, senzanode_modules. - Controlla il File di avvio (
index.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 Bun Bot
Nella pagina Bot, sezione Codice, clicca su Cambia cosa viene eseguito accanto a Runtime e scegli Bun 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. Stesso piano, stesso prezzo. Vedi Come passare il tuo bot a un altro linguaggio.
2. Aggiungi il tuo codice
Carica i tuoi file .ts o .js e package.json in Files (comprimi una cartella in uno zip, caricalo, selezionalo, Estrai). Lascia fuori node_modules. Oppure scegli Repository Git come origine nella sezione Codice: Come distribuire e aggiornare il tuo bot Discord da GitHub.
3. Imposta come viene eseguito
Nella pagina Bot, sezione Codice, riquadro Come viene eseguito:
- File di avvio:
index.tsin modo predefinito. Va bene qualsiasi file.tso.js, per esempiosrc/bot.ts. - Runtime: Bun (latest), oppure Bun canary (unstable) se ti serve una funzione non ancora rilasciata.
- Pacchetti: pacchetti aggiuntivi aggiunti con
bun addal successivo avvio dopo che li modifichi, separati da spazi.

4. Incolla il token e avvia
Nella sezione Discord, incolla il token e clicca su Collega. Premi Avvia e apri Console. Il server esegue bun install quando esiste un package.json, stampa [PlayNHost] Starting your bot ed esegue bun run sul tuo file di avvio. Gli avvii successivi installano di nuovo solo se sono cambiati Pacchetti, package.json, il lockfile o la versione di Bun, se manca node_modules, oppure una volta al giorno; altrimenti la console mostra [PlayNHost] Packages are up to date.
Un bot Bun minimo 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 legge il token con process.env.DISCORD_TOKEN o Bun.env.DISCORD_TOKEN. Stampare Logged in as porta il badge nella Panoramica su Online su Discord.
Righe della console che puoi vedere
| Riga | Cosa fare |
|---|---|
[PlayNHost] Your bot is not set up yet: the main file index.ts was not found. | Carica i tuoi file, oppure imposta File di avvio sul nome e sulla cartella reali. |
[PlayNHost] bot.py is a Python file, but this server runs Bun (JavaScript). | Il tuo codice è Python. Clicca su Cambia cosa viene eseguito e scegli Python Bot, mantenendo i tuoi file. |
[PlayNHost] index.ts starts with ```, a Markdown code fence copied together with the code. | Apri il file in Files, elimina la prima e l'ultima riga ```, salva e avvia di nuovo. |
[PlayNHost] Bun could not install everything in package.json. Starting with the packages already installed. | Un nome o una versione in package.json è sbagliato. L'errore di Bun subito sopra lo indica. |
[PlayNHost] Some packages in Bot page, Code, Packages could not be installed. | Controlla l'ortografia in Pacchetti e che i nomi siano separati da spazi. |
| Banner Manca un pacchetto di cui il tuo codice ha bisogno | Il tuo codice importa un pacchetto che non è installato. Aggiungilo a package.json o a Pacchetti, poi riavvia. |
Le righe sul linguaggio sbagliato, sul blocco ``` e sui pacchetti vengono dallo script di avvio dei server installati o reinstallati dal 28 ottobre 2026. Su un server più vecchio, clicca una volta su Reinstalla in fondo alla sezione Codice: i tuoi file restano.
Da sapere
- Bun non controlla i tipi di TypeScript quando esegue il codice. Esegui
bunx tsc --noEmitsul tuo computer per vedere gli errori di tipo. - Bun non è Node.js. La maggior parte dei pacchetti npm funziona, ma se uno non funziona, il tipo Node.js Bot esegue anche i file
.ts(contsx): Come eseguire un bot Discord in TypeScript. - Le chiavi e le password vanno sotto Ambiente: Come impostare variabili d'ambiente e segreti.



