Bun uruchamia boty w JavaScript i TypeScript bez kroku budowania, a discord.js na nim działa. Żeby uruchomić takiego bota:
- Zmień typ: na stronie Bot, w sekcji Kod, kliknij Zmień to, co działa obok Runtime i wybierz Bun Bot.
- Prześlij swoje pliki razem z
package.jsonw Files, beznode_modules. - Sprawdź Plik startowy (domyślnie
index.ts) na stronie Bot, w sekcji Kod. - Wklej swój token w sekcji Discord i kliknij Połącz.
- Naciśnij Uruchom i obserwuj Console.
1. Zmień typ na Bun Bot
Na stronie Bot, w sekcji Kod, kliknij Zmień to, co działa obok Runtime i wybierz Bun Bot. Na komputerze to samo okno otwiera etykieta typu u góry strony (na przykład Node.js Bot). Zostaw niezaznaczone Usuń moje pliki i zacznij od czystego serwera., żeby twoje pliki zostały. Ten sam plan, ta sama cena. Zobacz Jak przełączyć bota na inny język.
2. Dodaj swój kod
Prześlij pliki .ts lub .js i package.json w Files (spakuj folder do zip, prześlij, zaznacz go, Rozpakuj). Pomiń node_modules. Albo wybierz Repozytorium Git jako źródło w sekcji Kod: Jak wdrożyć i aktualizować bota Discord z GitHub.
3. Ustaw, jak działa
Na stronie Bot, w sekcji Kod, na karcie Jak działa:
- Plik startowy: domyślnie
index.ts. Działa każdy plik.tslub.js, na przykładsrc/bot.ts. - Runtime: Bun (latest) albo Bun canary (unstable), jeśli potrzebujesz funkcji, która nie została jeszcze wydana.
- Pakiety: dodatkowe pakiety dodawane przez
bun addprzy następnym starcie po zmianie, oddzielone spacjami.

4. Wklej token i uruchom
W sekcji Discord wklej token i kliknij Połącz. Naciśnij Uruchom i otwórz Console. Serwer uruchamia bun install, gdy istnieje package.json, wypisuje [PlayNHost] Starting your bot i uruchamia bun run na twoim pliku startowym. Kolejne starty instalują pakiety ponownie tylko wtedy, gdy zmieniły się Pakiety, package.json, plik lock lub wersja Bun, gdy brakuje node_modules albo raz na dobę; w przeciwnym razie konsola pokazuje [PlayNHost] Packages are up to date.
Minimalny bot Bun z 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 czyta token przez process.env.DISCORD_TOKEN albo Bun.env.DISCORD_TOKEN. Wypisanie Logged in as zmienia znacznik na stronie Przegląd na Online na Discordzie.
Linie konsoli, które możesz zobaczyć
| Linia | Co zrobić |
|---|---|
[PlayNHost] Your bot is not set up yet: the main file index.ts was not found. | Prześlij swoje pliki albo ustaw Plik startowy na prawdziwą nazwę i folder. |
[PlayNHost] bot.py is a Python file, but this server runs Bun (JavaScript). | Twój kod jest w Pythonie. Kliknij Zmień to, co działa i wybierz Python Bot, zachowując swoje pliki. |
[PlayNHost] index.ts starts with ```, a Markdown code fence copied together with the code. | Otwórz plik w Files, usuń pierwszą i ostatnią linię ```, zapisz i uruchom ponownie. |
[PlayNHost] Bun could not install everything in package.json. Starting with the packages already installed. | Nazwa albo wersja w package.json jest błędna. Nazywa ją błąd Bun tuż powyżej. |
[PlayNHost] Some packages in Bot page, Code, Packages could not be installed. | Sprawdź pisownię w Pakiety i to, czy nazwy są oddzielone spacjami. |
| Baner Brakuje pakietu, którego potrzebuje twój kod | Twój kod importuje pakiet, który nie jest zainstalowany. Dodaj go do package.json albo do Pakiety, a potem zrestartuj. |
Linie o złym języku, o bloku ``` i o pakietach pochodzą ze skryptu startowego serwerów zainstalowanych lub zainstalowanych ponownie od 28 października 2026. Na starszym serwerze kliknij raz Zainstaluj ponownie na dole sekcji Kod: twoje pliki zostają.
Warto wiedzieć
- Bun nie sprawdza typów TypeScript podczas uruchamiania. Uruchom
bunx tsc --noEmitna swoim komputerze, żeby zobaczyć błędy typów. - Bun to nie Node.js. Większość pakietów npm działa, ale jeśli któryś nie działa, typ Node.js Bot też uruchamia pliki
.ts(przeztsx): Jak uruchomić bota Discord w TypeScript. - Klucze i hasła trafiają do Środowisko: Jak ustawić zmienne środowiskowe i sekrety.



