هذا الدليل يفترض أن البوت منشور أصلاً. تركيزه على الاستقرار بعد النشر: منع Crash Loops وفهم سبب Downtime والحفاظ على صحة التطبيق أثناء التشغيل الطويل.
تشغيل بوت Discord بشكل مستمر مو مجرد فتح Process وتركه. البوت المستقر يحتاج Runtime صحيح وأمر تشغيل مضبوط وDependencies كاملة وبيانات سرية محمية وLogs واضحة عند حدوث مشكلة.
إذا البوت ينهار كل دقيقة ويعيد التشغيل، هذا مو تشغيل مستقر فعلياً حتى لو النظام يعيد تشغيله تلقائياً.
اختيار Runtime الصحيح
بوتات Node.js تحتاج إصدار Node متوافق مع Discord.js وباقي Packages. بوتات Python تحتاج إصدار Python مناسب مع المكتبات الموجودة في requirements.txt.
راجع package.json أو requirements.txt وتأكد أن إصدار البيئة مناسب للمشروع.
ضبط Startup Command
- Node.js قد يستخدم node index.js أو node bot.js أو npm start.
- Python قد يستخدم python bot.py أو python3 main.py حسب البيئة.
- تأكد أن Entry File المكتوب بالأمر موجود فعلاً.
- لا تعيد تثبيت كل Dependencies مع كل تشغيل إلا إذا عندك سبب واضح.
حماية Bot Token
لا تكتب Token داخل ملفات عامة ولا ترفعه إلى GitHub عام. استخدم Environment Variables أو Secrets.
إذا انكشف Token في أي مكان عام، غيره فوراً من Discord Developer Portal ثم حدث القيمة في السيرفر.
استخدم Logs لمعرفة سبب Offline
Console هو أول مكان تراجعه عند توقف البوت. ابحث عن Invalid Token أو Missing Module أو Syntax Error أو مشكلة API أو Database.
Restart Loop لازم يتشخص. الهدف أن يبقى البرنامج شغال لأنه سليم، مو لأن السيرفر يعيد تشغيله كل عدة ثواني.
قواعد البيانات والخدمات الخارجية
إذا البوت يعتمد على MongoDB أو MySQL أو Redis أو APIs خارجية، تعطل أي واحد منها ممكن يوقف البوت حتى لو الاستضافة نفسها تعمل طبيعي.
التشغيل على Volyx
على Volyx نظم الملفات وأمر التشغيل والـSecrets بشكل واضح، واستخدم Console وActivity لمعرفة الأخطاء.
استضافة Volyx مجانية، والاستقرار يعتمد على صحة التطبيق وتوفر الموارد المطلوبة واتباع قواعد النشاط أو الموارد الخاصة بالخدمة المستخدمة.
Checklist للاستقرار بعد النشر
كون النظام يعيد تشغيل Process تلقائياً ما يعني أن التطبيق مستقر. لازم تعرف سبب كل Exit متكرر وتصلح المشكلة الأصلية.
الاستقرار يعتمد أيضاً على Database وAPIs والخدمات الخارجية اللي يستخدمها البوت.
- تأكد أن البوت يبدأ بدون Fatal Errors.
- تأكد من Environment Variables والخدمات الخارجية.
- راقب RAM وCPU أثناء الاستخدام الطبيعي.
- احفظ Error عند أي Exit غير متوقع.
- حدد إذا السبب Code أو Resources أو Network أو External Service.
- صلح السبب قبل الاعتماد على Restart المتكرر.
- اختبر البوت من جديد وتأكد أن التشغيل صار مستقر.
راقب Crash المتكرر بدل إخفائه
Failure مؤقت مرة واحدة غير عن Crash يتكرر كل عدة دقائق.
إذا Memory تزيد باستمرار أو نفس Exception يظهر قبل كل Restart، ركز على هذا Pattern بالتشخيص.
الأسئلة الشائعة
ليش بوت Discord يصير Offline؟
الأسباب الشائعة: Token غير صحيح، Crash، Dependency ناقصة، Startup Command خطأ، نقص الموارد أو فشل Database/API.
أحط Token داخل الكود؟
لا. استخدم Secret أو Environment Variable حتى ما ينكشف داخل الملفات أو المستودعات.
إعادة التشغيل تحل Crash؟
قد تحل مشكلة مؤقتة، لكن إذا الـCrash يتكرر لازم تصلح السبب الأساسي.