لا تثبّت الحزم بيدك. اذكرها في ملف الحزم (package.json أو requirements.txt)، أو اكتب أسماءها في الحزم في صفحة البوت، قسم الكود، ثم أعد التشغيل: يثبّتها السيرفر في التشغيل التالي. وبعد ذلك يثبّت من جديد فقط إذا تغيّرت القائمة أو ملف الحزم أو إصدار بيئة التشغيل، أو مرة كل يوم.
ما الذي يثبّته كل نوع عند التشغيل
| النوع | من ملفاتك | حقل الحزم |
|---|---|---|
| Node.js Bot | npm install عندما يوجد package.json | نعم، تُثبَّت بـ npm |
| Python Bot | pip install -U -r requirements.txt (الملف المذكور في ملف المتطلبات) | نعم، تُثبَّت بـ pip |
| Bun Bot | bun install عندما يوجد package.json | نعم، تُضاف بـ bun add |
| Deno Bot | عبارات الاستيراد npm: وjsr: عندك، وتُنزَّل عندما يحمّلها البوت أول مرة | لا |
| .NET Bot | حزم NuGet في ملف .csproj، وتُستعاد عند بناء المشروع | لا |
| Java Bot وGo Bot وRust Bot | لا شيء: المكتبات مضمّنة في ملف jar أو في البرنامج | لا |
لا ترفع node_modules أو venv أو .venv: يبنيها السيرفر لنظام Linux الذي يعمل عليه، وهو ليس دائمًا مثل نظام حاسوبك.
استخدم ملف الحزم (موصى به)
Node.js وBun
على حاسوبك، نفّذ npm install discord.js mysql2 (أو bun add ...). يكتبها ذلك في package.json. ارفع package.json الجديد وأعد التشغيل.
Python
ضع حزمة واحدة في كل سطر في requirements.txt. وثبّت إصدارًا بـ == إن احتجت إلى ذلك:
discord.py
aiohttp
python-dotenv==1.0.1ملفك باسم آخر أو داخل مجلد؟ اضبطه في ملف المتطلبات، في بطاقة الإعدادات ضمن قسم الكود. تُوضع الحزم في مجلد .local داخل ملفاتك، فاتركه هناك.
استخدم حقل الحزم
- افتح سيرفر بوتك في لوحة التحكم، ثم صفحة البوت، قسم الكود.
- تحت طريقة التشغيل، اكتب الأسماء في الحزم مفصولة بمسافات، مثل
yt-dlp aiohttp. لا بفواصل، ولا سطرpip installكاملًا. - اضغط حفظ، ثم أعد تشغيل البوت.

يتسع الحقل لـ 200 حرف. وللمزيد، استخدم ملف الحزم. تُثبَّت الحزم من جديد عند أول تشغيل بعد أن تغيّر الحقل أو الملف، لذلك يستغرق ذلك التشغيل وقتًا أطول. وإن لم يتغيّر شيء يكتب Console [PlayNHost] Packages are up to date. They install again when you change them, or after a day. والسيرفر الأقدم الذي ما زال يثبّت عند كل تشغيل يحصل على هذا بزر إعادة التثبيت في أسفل قسم الكود: تبقى ملفاتك.
عندما يحدث خطأ
| ما تراه | معناه |
|---|---|
الشريط تعذّر تثبيت إحدى الحزم، مع [PlayNHost] Some packages in Bot page, Code, Packages could not be installed. | اسم في الحزم فيه خطأ إملائي أو غير موجود. يبدأ البوت مع ذلك بما هو مثبّت. صحّح الاسم عبر فتح الحزم. |
[PlayNHost] npm could not install everything in package.json. أو [PlayNHost] pip could not install everything in requirements.txt. (في Bun: [PlayNHost] Bun could not install everything in package.json.) | سطر في ملف الحزم خاطئ. يسمّيه npm أو pip أو Bun فوق هذا السطر مباشرة (E404، No matching distribution found for ...). |
الشريط تنقص حزمة يحتاجها كودك، مع Cannot find module 'x' أو ModuleNotFoundError: No module named 'x' | يستورد كودك حزمة لم يثبّتها أحد. أضفها إلى ملف الحزم أو إلى الحزم. |
في Python، الاسم الذي تثبّته ليس دائمًا الاسم الذي تستورده:
| ما تستورده | ما تثبّته |
|---|---|
import discord | discord.py |
from dotenv import load_dotenv | python-dotenv |
import yaml | PyYAML |
from PIL import Image | Pillow |
للمزيد: لماذا يتوقف بوت Discord باستمرار، Node.js، Python، Bun.



