Bun, JavaScript ve TypeScript botlarını derleme adımı olmadan çalıştırır ve discord.js onun üzerinde çalışır. Bir tane çalıştırmak için:
- Türü değiştirin: Bot sayfasında, Kod bölümünde, Çalışma ortamı’nın yanındaki Çalışanı değiştir’e tıklayın ve Bun Bot’u seçin.
- Dosyalarınızı
package.jsonile birlikte Files içine yükleyin,node_modulesolmadan. - Bot sayfasında, Kod bölümünde Giriş dosyası’nı (varsayılan
index.ts) kontrol edin. - Token’ınızı Discord bölümüne yapıştırın ve Bağlan’a tıklayın.
- Başlat’a basın ve Console’u izleyin.
1. Türü Bun Bot olarak değiştirin
Bot sayfasında, Kod bölümünde, Çalışma ortamı’nın yanındaki Çalışanı değiştir’e tıklayın ve Bun Bot’u seçin. Bilgisayarda, sayfanın üstündeki tür etiketi (örneğin Node.js Bot) aynı pencereyi açar. Dosyalarınız kalsın diye Mevcut dosyalarımı sil ve temiz başla. işaretsiz kalsın. Aynı paket, aynı fiyat. Bkz. Botunuzu başka bir dile ya da hazır bota nasıl geçirirsiniz.
2. Kodunuzu ekleyin
.ts ya da .js dosyalarınızı ve package.json’ı Files içine yükleyin (bir klasörü zipleyin, yükleyin, işaretleyin, Sıkıştırmayı aç). node_modules’ı dışarıda bırakın. Ya da Kod bölümünde kaynak olarak Git deposu’nu seçin: Discord botunuzu GitHub’dan nasıl dağıtır ve güncellersiniz.
3. Nasıl çalışacağını ayarlayın
Bot sayfasında, Kod bölümünde, Nasıl çalışır kartında:
- Giriş dosyası: varsayılan
index.ts. Her.tsya da.jsdosyası olur, örneğinsrc/bot.ts. - Çalışma ortamı: Bun (latest), ya da henüz yayımlanmamış bir özelliğe ihtiyacınız varsa Bun canary (unstable).
- Paketler: siz değiştirdikten sonra bir sonraki başlangıçta
bun addile eklenen ek paketler, boşlukla ayrılmış.

4. Token’ı yapıştırın ve başlatın
Discord bölümünde token’ı yapıştırın ve Bağlan’a tıklayın. Başlat’a basın ve Console’u açın. Sunucu bun install çalıştırır (bir package.json varsa), [PlayNHost] Starting your bot yazar ve giriş dosyanızda bun run çalıştırır. Sonraki başlangıçlar paketleri yalnızca Paketler, package.json, kilit dosyası ya da Bun sürümü değiştiyse, node_modules eksikse ya da günde bir kez yeniden kurar; aksi halde console [PlayNHost] Packages are up to date der.
discord.js ile en küçük Bun botu
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 token’ı process.env.DISCORD_TOKEN ya da Bun.env.DISCORD_TOKEN ile okur. Logged in as yazdırmak, Genel bakış sayfasındaki rozeti Discord’da çevrimiçi durumuna çevirir.
Görebileceğiniz console satırları
| Satır | Ne yapmalı |
|---|---|
[PlayNHost] Your bot is not set up yet: the main file index.ts was not found. | Dosyalarınızı yükleyin ya da Giriş dosyası’nı gerçek ad ve klasöre ayarlayın. |
[PlayNHost] bot.py is a Python file, but this server runs Bun (JavaScript). | Kodunuz Python. Çalışanı değiştir’e tıklayın ve dosyalarınızı koruyarak Python Bot’u seçin. |
[PlayNHost] index.ts starts with ```, a Markdown code fence copied together with the code. | Dosyayı Files içinde açın, ilk ve son ``` satırını silin, kaydedin, yeniden başlatın. |
[PlayNHost] Bun could not install everything in package.json. Starting with the packages already installed. | package.json içindeki bir ad ya da sürüm yanlış. Hemen yukarıdaki Bun hatası onu söyler. |
[PlayNHost] Some packages in Bot page, Code, Packages could not be installed. | Paketler içindeki yazımı ve adların boşlukla ayrıldığını kontrol edin. |
| Kodunuzun ihtiyaç duyduğu bir paket eksik banner’ı | Kodunuz kurulu olmayan bir paketi içe aktarıyor. Onu package.json dosyasına ya da Paketler alanına ekleyin, sonra yeniden başlatın. |
Yanlış dil, kod bloğu işareti ve paket satırları, 28 Ekim 2026’dan beri kurulan ya da yeniden kurulan sunucuların başlangıç betiğinden gelir. Eski bir sunucuda Kod bölümünün altındaki Yeniden kur’a bir kez tıklayın: dosyalarınız kalır.
Bilmeniz gerekenler
- Bun çalışırken TypeScript türlerini denetlemez. Tür hatalarını görmek için bilgisayarınızda
bunx tsc --noEmitçalıştırın. - Bun, Node.js değildir. Çoğu npm paketi çalışır, ama biri çalışmazsa Node.js Bot türü
.tsdosyalarını da (tsxile) çalıştırır: TypeScript Discord botu nasıl çalıştırılır. - Anahtarlar ve şifreler Ortam altına girer: Discord botunuz için ortam değişkenleri ve gizli değerler nasıl ayarlanır.



