رجوع
مركز المعرفة

اقرأ الكونسول وافهم ما حدث

معنى سطور serverk، وكيف تجد سبب الخطأ عندما يفشل النشر أو يتعطّل بوتك.

آخر تحديث 2026-11-01
حل المشاكل

يوضح كل سطر في الكونسول متى طُبع، ومن طبعه، وما يقوله. ابحث عن سطرك هنا، ثم اعرف ما يلزم فعله.

أين تجد السجل

يعرض تبويب الكونسول كل سطر لحظة طباعته، من بوتك ومنّا. وتعرض بطاقة آخر السجل في نظرة عامة آخر الأسطر التي طبعها بوتك، ويحفظ تبويب النشرات سجل كل نشر: افتح القائمة في آخر صفه واضغط افتح السجل.

اقرأ السطر

  1. الوقت الذي طُبع فيه السطر.
  2. من طبعه: BOT لما يطبعه بوتك، ومعه سطور serverk: التي نطبعها، و BRIDGE للبرنامج الذي يشغّل بوتك ويراقبه، و API لمنصة سيرفرك نفسها، مثل بدء نشر جديد.
  3. السطر نفسه، ويظهر باللون الأحمر إذا كان خطأ.

سطور serverk

كل سطر يبدأ بـ serverk: صادر منا وليس من بوتك، ويوضح ما نفّذناه قبل أن يبدأ:

  • deploying ...: بدأ نشر جديد.
  • fetching ... at ... أو unpacking snapshot ...: نسحب الـ commit من الريبو، أو نفك الكود الذي رفعته.
  • creating .venv ...: ننشئ بيئة بايثون خاصة ببوتك.
  • installing dependencies ...: نثبّت المكتبات.
  • dependencies are up to date: لم يتغيّر شيء، فلم نعد التثبيت.
  • deployment ... ready at ...: نجح النشر.
  • web address ... on port ...: عنوان الويب لبوتك، والمنفذ الذي يلزم أن يستمع عليه، ما دام عنوان الويب مفعّلًا.
  • port 1 ... و port 2 ...: رقم كل منفذ مفعّل، ومعه العنوان الذي يتصل به الآخرون إذا كان عنوان الويب مفعّلًا.
  • start command: ...: الأمر الذي نشغّل به بوتك.
  • bot process starting: بدأ بوتك، وكل سطر بعده يطبعه بوتك نفسه.

عندما يتعطّل بوتك

تظهر الأخطاء باللون الأحمر. في بايثون اقرأ آخر سطر من الخطأ:

Traceback (most recent call last):
  File "/home/container/main.py", line 12, in <module>
    bot.run(os.environ["DISCORD_TOKEN"])
KeyError: 'DISCORD_TOKEN'

يوضح آخر سطر نوع الخطأ، ويوضح File ... line 12 مكانه: الملف main.py، السطر 12. ومعنى هذا المثال أن المتغير DISCORD_TOKEN غير موجود في متغيرات بوتك.

أشهر الأخطاء

عندما يتوقف بوتك على سبب نعرفه، تذكر صفحة النشر السبب، ويفتح اقرأ الشرح قسمه في شرح «أخطاء بوتك وحلولها».

  • deployment ... failed: sync: ...: تعذّر سحب الـ commit. تأكد من وجود الريبو والفرع، ومن أن تطبيق Serverk على GitHub يصل إلى الريبو.
  • deployment ... failed: sync: repository tracks .serverk: في الريبو مجلد .serverk، وهذا الاسم محجوز لمنصة سيرفرك. احذف المجلد من الريبو وانشر من جديد.
  • deployment ... failed: install: ...: فشل تثبيت المكتبات، والسطر يوضح السبب. غالبًا يكون اسم مكتبة غير صحيح أو إصدار غير موجود في requirements.txt.
  • deployment ... failed: pre-deploy: ...: فشل أمر ما قبل النشر. اقرأ الأسطر التي طبعها الأمر فوق هذا السطر، ثم انشر من جديد.
  • deployment ... failed: start: nothing to start: لم نجد ملفًا لتشغيله. سمِّ ملفك الرئيسي main.py، أو اضبط أمر التشغيل من إعدادات بوتك.
  • KeyError مع اسم متغير: المتغير غير موجود. أضفه إلى المتغيرات بالاسم نفسه، ثم انشر من جديد.
  • LoginFailure: Improper token has been passed أو InvalidToken: التوكن غير صحيح أو تغيّر. تأكد من اسم المتغير وقيمته، ثم انشر من جديد.
  • PrivilegedIntentsRequired: فعّل الـ intent الذي يطلبه بوتك من صفحة Bot في Developer Portal.
  • ModuleNotFoundError: المكتبة غير موجودة في requirements.txt. أضفها، ثم انشر من جديد.
  • MemoryError: استهلك بوتك الرام كاملة. انتقل إلى باقة أكبر، أو قلّل ما يحتفظ به بوتك في الذاكرة.

هل ساعدك هذا الشرح؟

ساهم في تحسين هذا الشرح

الشروحات مفتوحة المصدر، فإذا كان لديك تصحيح أو إضافة، افتح Pull Request على github.com/serverkgg/bot-python