O Bun roda bots em JavaScript e TypeScript sem etapa de build, e o discord.js funciona nele. Para rodar um:
- Mude o tipo: na página Bot, seção Código, clique em Mudar o que roda ao lado de Runtime e escolha Bun Bot.
- Envie seus arquivos com o
package.jsonem Files, sem onode_modules. - Confira o Arquivo de entrada (
index.tspor padrão) na página Bot, seção Código. - Cole o seu token na seção Discord e clique em Conectar.
- Clique em Iniciar e acompanhe o Console.
1. Mude o tipo para Bun Bot
Na página Bot, seção Código, clique em Mudar o que roda ao lado de Runtime e escolha Bun Bot. Em um computador, o rótulo do tipo no topo da página (por exemplo Node.js Bot) abre a mesma janela. Deixe Excluir meus arquivos atuais e começar do zero. desmarcado para manter seus arquivos. Mesmo plano, mesmo preço. Veja Como mudar seu bot para outra linguagem ou para um bot pronto.
2. Adicione o seu código
Envie seus arquivos .ts ou .js e o package.json em Files (compacte uma pasta em zip, envie, marque o arquivo e clique em Extrair). Deixe o node_modules de fora. Ou escolha Repositório Git como origem na seção Código: Como fazer deploy e atualizar seu bot do Discord pelo GitHub.
3. Defina como ele roda
Na página Bot, seção Código, card Como ele roda:
- Arquivo de entrada:
index.tspor padrão. Qualquer arquivo.tsou.jsserve, por exemplosrc/bot.ts. - Runtime: Bun (latest), ou Bun canary (unstable) se você precisa de um recurso que ainda não foi lançado.
- Pacotes: pacotes extras adicionados com
bun addno próximo início depois que você os muda, separados por espaços.

4. Cole o token e inicie
Na seção Discord, cole o token e clique em Conectar. Clique em Iniciar e abra o Console. O servidor roda bun install quando existe um package.json, imprime [PlayNHost] Starting your bot e roda bun run no seu arquivo de entrada. Os inícios seguintes instalam de novo só quando Pacotes, o package.json, o lockfile ou a versão do Bun mudaram, quando a node_modules não existe, ou uma vez por dia; caso contrário, o console diz [PlayNHost] Packages are up to date.
Um bot Bun mínimo com 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);
O Bun lê o token com process.env.DISCORD_TOKEN ou Bun.env.DISCORD_TOKEN. Imprimir Logged in as muda o chip em Visão geral para Online no Discord.
Linhas de console que você pode ver
| Linha | O que fazer |
|---|---|
[PlayNHost] Your bot is not set up yet: the main file index.ts was not found. | Envie seus arquivos ou coloque em Arquivo de entrada o nome e a pasta reais. |
[PlayNHost] bot.py is a Python file, but this server runs Bun (JavaScript). | Seu código é Python. Clique em Mudar o que roda e escolha Python Bot, mantendo seus arquivos. |
[PlayNHost] index.ts starts with ```, a Markdown code fence copied together with the code. | Abra o arquivo em Files, apague a primeira e a última linha ```, salve e inicie de novo. |
[PlayNHost] Bun could not install everything in package.json. Starting with the packages already installed. | Um nome ou uma versão no package.json está errado. O erro do Bun logo acima o indica. |
[PlayNHost] Some packages in Bot page, Code, Packages could not be installed. | Confira a grafia em Pacotes e se os nomes estão separados por espaços. |
| Banner Falta um pacote de que o seu código precisa | Seu código importa um pacote que não está instalado. Adicione-o ao package.json ou a Pacotes e reinicie. |
As linhas de linguagem errada, de cerca de código e de pacotes vêm do script de início dos servidores instalados ou reinstalados desde 28 de outubro de 2026. Em um servidor mais antigo, clique uma vez em Reinstalar no fim da seção Código: seus arquivos continuam.
Bom saber
- O Bun não confere os tipos do TypeScript quando roda. Rode
bunx tsc --noEmitno seu computador para ver os erros de tipo. - O Bun não é o Node.js. A maioria dos pacotes npm funciona, mas se algum não funcionar, o tipo Node.js Bot também roda arquivos
.ts(comtsx): Como rodar um bot do Discord em TypeScript. - Chaves e senhas vão em Ambiente: Como definir variáveis de ambiente e segredos para o seu bot do Discord.



