جديد 📢 عرض الإطلاق لفترة محدودة: خصم حتى 70% على شهرك الأول في كل لعبة.عرض الباقات

كيف تستضيف بوت Discord على Bun

استضافة بوتات DiscordUpdated Oct 29, 20265 min read

يشغّل Bun بوتات JavaScript وTypeScript دون خطوة بناء، ويعمل discord.js عليه. لتشغيل بوت:

  1. بدّل النوع: في صفحة البوت، قسم الكود، اضغط تغيير ما يعمل بجوار بيئة التشغيل واختر Bun Bot.
  2. ارفع ملفاتك مع package.json في Files، دون node_modules.
  3. تحقق من ملف البدء (index.ts افتراضيًا) في صفحة البوت، قسم الكود.
  4. الصق رمزك في قسم Discord واضغط الاتصال.
  5. اضغط تشغيل وراقب 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 في التشغيل التالي بعد أن تغيّرها، مفصولة بمسافات.

بطاقة «طريقة التشغيل» لبوت Bun مع ملف البدء index.ts وبيئة التشغيل Bun (latest).

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. وفي سيرفر أقدم، اضغط إعادة التثبيت مرة واحدة في أسفل قسم الكود: تبقى ملفاتك.

من المفيد أن تعرف

بوتك مستضاف في مكان آخر بالفعل؟ انقله إلينا

أحدث مقالات المدونة