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

كيف تثبّت الحزم لبوت Discord

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

لا تثبّت الحزم بيدك. اذكرها في ملف الحزم (package.json أو requirements.txt)، أو اكتب أسماءها في الحزم في صفحة البوت، قسم الكود، ثم أعد التشغيل: يثبّتها السيرفر في التشغيل التالي. وبعد ذلك يثبّت من جديد فقط إذا تغيّرت القائمة أو ملف الحزم أو إصدار بيئة التشغيل، أو مرة كل يوم.

ما الذي يثبّته كل نوع عند التشغيل

النوعمن ملفاتكحقل الحزم
Node.js Botnpm install عندما يوجد package.jsonنعم، تُثبَّت بـ npm
Python Botpip install -U -r requirements.txt (الملف المذكور في ملف المتطلبات)نعم، تُثبَّت بـ pip
Bun Botbun 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 داخل ملفاتك، فاتركه هناك.

استخدم حقل الحزم

  1. افتح سيرفر بوتك في لوحة التحكم، ثم صفحة البوت، قسم الكود.
  2. تحت طريقة التشغيل، اكتب الأسماء في الحزم مفصولة بمسافات، مثل yt-dlp aiohttp. لا بفواصل، ولا سطر pip install كاملًا.
  3. اضغط حفظ، ثم أعد تشغيل البوت.

بطاقة «طريقة التشغيل» مع حقل «الحزم» مملوءًا باسمي حزمتين وزر «حفظ» الخاص به.

يتسع الحقل لـ 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 discorddiscord.py
from dotenv import load_dotenvpython-dotenv
import yamlPyYAML
from PIL import ImagePillow

للمزيد: لماذا يتوقف بوت Discord باستمرار، Node.js، Python، Bun.

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

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