يشغّل Bun بوتات JavaScript وTypeScript دون خطوة بناء، ويعمل discord.js عليه. لتشغيل بوت:
- بدّل النوع: في صفحة البوت، قسم الكود، اضغط تغيير ما يعمل بجوار بيئة التشغيل واختر Bun Bot.
- ارفع ملفاتك مع
package.jsonفي Files، دونnode_modules. - تحقق من ملف البدء (
index.tsافتراضيًا) في صفحة البوت، قسم الكود. - الصق رمزك في قسم Discord واضغط الاتصال.
- اضغط تشغيل وراقب Console.
1. بدّل النوع إلى Bun Bot
في صفحة البوت، قسم الكود، اضغط تغيير ما يعمل بجوار بيئة التشغيل واختر Bun Bot. وعلى الحاسوب، تفتح تسمية النوع في أعلى الصفحة (مثل Node.js Bot) النافذة نفسها. اترك حذف ملفاتي الحالية والبدء من جديد. غير محدد لتبقى ملفاتك. الباقة نفسها والسعر نفسه. راجع كيف تنقل بوتك إلى لغة أخرى.
2. أضف كودك
ارفع ملفات .ts أو .js وpackage.json في Files (اضغط مجلدًا في ملف zip، وارفعه، وحدّده، ثم استخراج). واترك node_modules خارجها. أو اختر مستودع Git مصدرًا في قسم الكود: كيف تنشر بوت Discord وتحدّثه من GitHub.
3. اضبط طريقة التشغيل
في صفحة البوت، قسم الكود، بطاقة طريقة التشغيل:
- ملف البدء:
index.tsافتراضيًا. يصلح أي ملف.tsأو.js، مثلsrc/bot.ts. - بيئة التشغيل: Bun (latest)، أو Bun canary (unstable) إن احتجت ميزة لم تُصدَر بعد.
- الحزم: حزم إضافية تُضاف بـ
bun addفي التشغيل التالي بعد أن تغيّرها، مفصولة بمسافات.

4. الصق الرمز وشغّل
في قسم Discord، الصق الرمز واضغط الاتصال. اضغط تشغيل وافتح Console. ينفّذ السيرفر bun install إن وُجد package.json، ويطبع [PlayNHost] Starting your bot، وينفّذ bun run على ملف البدء. وتثبّت التشغيلات اللاحقة من جديد فقط إذا تغيّرت الحزم أو package.json أو ملف القفل أو إصدار Bun، أو إذا غاب node_modules، أو مرة كل يوم؛ وإلا يكتب Console [PlayNHost] Packages are up to date.
بوت Bun بسيط بـ 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 الرمز بـ process.env.DISCORD_TOKEN أو Bun.env.DISCORD_TOKEN. وطباعة Logged in as تحوّل الشارة في نظرة عامة إلى متصل في Discord.
أسطر Console التي قد تراها
| السطر | ما يجب فعله |
|---|---|
[PlayNHost] Your bot is not set up yet: the main file index.ts was not found. | ارفع ملفاتك، أو اضبط ملف البدء على الاسم والمجلد الحقيقيين. |
[PlayNHost] bot.py is a Python file, but this server runs Bun (JavaScript). | كودك بلغة Python. اضغط تغيير ما يعمل واختر Python Bot مع إبقاء ملفاتك. |
[PlayNHost] index.ts starts with ```, a Markdown code fence copied together with the code. | افتح الملف في Files، واحذف أول سطر ``` وآخره، واحفظ، ثم شغّل من جديد. |
[PlayNHost] Bun could not install everything in package.json. Starting with the packages already installed. | اسم أو إصدار في package.json خاطئ. يسمّيه خطأ Bun فوق هذا السطر مباشرة. |
[PlayNHost] Some packages in Bot page, Code, Packages could not be installed. | تحقق من الإملاء في الحزم ومن أن الأسماء مفصولة بمسافات. |
| الشريط تنقص حزمة يحتاجها كودك | يستورد كودك حزمة غير مثبّتة. أضفها إلى package.json أو الحزم، ثم أعد التشغيل. |
أسطر اللغة الخاطئة والسياج والحزم تأتي من سكربت التشغيل في السيرفرات التي ثُبّتت أو أُعيد تثبيتها منذ 28 أكتوبر 2026. وفي سيرفر أقدم، اضغط إعادة التثبيت مرة واحدة في أسفل قسم الكود: تبقى ملفاتك.
من المفيد أن تعرف
- لا يتحقق Bun من أنواع TypeScript عند التشغيل. نفّذ
bunx tsc --noEmitعلى حاسوبك لترى أخطاء الأنواع. - Bun ليس Node.js. تعمل معظم حزم npm، لكن إن لم تعمل واحدة منها، فنوع Node.js Bot يشغّل ملفات
.tsأيضًا (معtsx): كيف تشغّل بوت Discord بلغة TypeScript. - المفاتيح وكلمات المرور تُوضع تحت البيئة: كيف تضبط متغيرات البيئة والأسرار.



