نشر بوت Python
دليل خطوة بخطوة لنشر بوت Discord بلغة Python (discord.py أو py-cord) على Daki Hosting.
يرشدك هذا الدليل إلى نشر بوت Discord بلغة Python على Daki Hosting — من إنشاء خادمك، مرورًا بقراءة توكن بوتك بأمان، وحتى تشغيله.
ما ستتعلمه
- كيفية إنشاء خادم Python لبوتك
- كيفية رفع كودك
- كيفية إعداد أمر التثبيت وأمر التشغيل وإصدار Python
- كيفية ضبط توكن بوتك بأمان باستخدام ملف
.env - كيفية تشغيل بوتك والتحقق من أنه يعمل
المتطلبات الأساسية
- حساب Daki (Free Tier أو مدفوع) — انظر أنشئ حسابًا
- بوت Discord لديه توكن بوت (bot token)، يُنشأ في بوابة المطورين في Discord
- كود بوتك، ويتضمن ملف
requirements.txtيسرد كل الاعتماديات (مثلdiscord.pyأوpy-cord، وpython-dotenv)
بوتات Discord تتصل صادرًا بخوادم Discord ولا تحتاج إلى منفذ وارد، لذا تعمل على Free Tier والخطط المدفوعة معًا. إذا كان بوتك يشغّل خادم HTTP أيضًا (مثلًا لـ webhooks أو لوحة ويب)، فستحتاج إلى خطة مدفوعة، إذ إن المنافذ المتاحة للعامة متوفرة فقط في الخطط المدفوعة. انظر تخصيصات الشبكة.
النشر
أنشئ خادم Python
- سجّل الدخول إلى Free Tier Dashboard على free.daki.cc أو إلى Billing Panel على billing.daki.cc.
- أنشئ خادمًا جديدًا واختر قالب Python egg.
- أعطِ خادمك اسمًا (مثل
MyPythonBot).
انظر أنشئ أول خادم لك للشرح الكامل.
افتح Portal
سجّل الدخول إلى Portal عبر SSO أو مباشرة على portal.daki.cc. انظر نظرة عامة على Portal.
ارفع كود بوتك
الخيار A — الرفع كملف ZIP (الأبسط):
- اضغط مجلد مشروعك في ملف
.zip. - في Portal، انتقل إلى تبويب Files وانقر على Upload.
- انقر بالزر الأيمن على ملف
.zipثم انقر على Extract.
الخيار B — استخدم SFTP (دون حد للحجم): استخدم بيانات اعتماد SFTP من تبويب Settings لرفع المجلد مباشرة. انظر مدير الملفات.
ضمّن ملف
requirements.txtفي جذر مشروعك. يستخدمه أمر التثبيت لتثبيت اعتماديات مشروعك.- اضغط مجلد مشروعك في ملف
اضبط تبويب Startup
افتح تبويب Startup واضبط الحقول الثلاثة:
1. Docker Image — اختر إصدار Python الذي يحتاجه بوتك (مثلًا Python 3.13). Python 3.13 خيار آمن افتراضيًا إذا لم تكن متأكدًا؛ والإصدارات الأحدث تعمل إذا كانت كل مكتباتك تدعمها. تجنب الإصدارات المعلَّمة EOL، فهي لم تعد تتلقى تحديثات أمنية.
2. Install Command — اضبطه لتثبيت اعتمادياتك تلقائيًا:
Shellpip install -r requirements.txt3. Startup Command — اضبطه على الأمر الذي يشغّل بوتك:
python main.py— إذا كان ملف الدخول لديكmain.pypython bot.py— إذا كان ملف الدخول لديكbot.pypython -m mypackage— إذا كان مشروعك منظمًا كحزمة (package)
يمكنك تعديل هذه الأوامر لتتناسب مع بنية مشروعك ومتطلباته.
انظر إعدادات التشغيل للشرح الكامل.
أضف توكن بوتك عبر ملف .env
خزّن توكن بوت Discord في ملف
.envعلى الخادم حتى لا يظهر أبدًا في كود مصدرك.- في تبويب Files، انقر على New File وسمِّه
.env. - أضف التوكن:
.env
BOT_TOKEN=your_discord_bot_token_here - انقر على Save.
تأكد من أن
python-dotenvموجود فيrequirements.txt، ثم حمّل الملف في كودك:Pythonfrom dotenv import load_dotenv import os import discord load_dotenv() TOKEN = os.environ.get("BOT_TOKEN") intents = discord.Intents.default() client = discord.Client(intents=intents) @client.event async def on_ready(): print(f"Logged in as {client.user}") client.run(TOKEN)انظر متغيرات البيئة لمزيد من التفاصيل حول استخدام ملفات
.env.- في تبويب Files، انقر على New File وسمِّه
شغّل بوتك
انقر على Start في تبويب Console. عند نجاح التشغيل ستظهر الرسالة التالية:
TextLogged in as MyBot#1234إذا ظهرت أخطاء، فاطّلع على دليل استكشاف الأخطاء وإصلاحها.
المشكلات الشائعة
ModuleNotFoundError: No module named 'discord'
لم تُثبَّت الاعتماديات. تأكد من أن discord.py أو py-cord مدرج في requirements.txt، ومن أن أمر التثبيت مضبوط على pip install -r requirements.txt في تبويب Startup. أعد تشغيل الخادم لتشغيل التثبيت.
ModuleNotFoundError: No module named 'dotenv'
أضف python-dotenv إلى requirements.txt وأعد تشغيل الخادم.
discord.errors.LoginFailure: Improper token has been passed
التوكن في ملف .env غير صحيح أو مفقود. افتح ملف .env في تبويب Files وتحقق من القيمة بعناية. أزل أي مسافات أو علامات اقتباس زائدة.
خطأ PrivilegedIntentsRequired
بوتك يطلب Intents غير مفعّلة في بوابة المطورين في Discord. فعّل الـ Intents المميزة المطلوبة (مثل Message Content Intent) في إعدادات تطبيق البوت، وتأكد من أن كودك يطلب الـ Intents نفسها.
الخادم يتعطل فور بدئه
اقرأ مخرجات تبويب Console لمعرفة الخطأ. الأسباب الشائعة: أمر تشغيل خاطئ (خطأ إملائي في اسم الملف أو في المسار)، أو غياب requirements.txt، أو حزمة مفقودة. انظر استكشاف الأخطاء وإصلاحها.
الخطوات التالية
- متغيرات البيئة — دليل كامل عن ملفات
.envوقراءة المتغيرات في الكود. - تجديد خادمك المجاني — شاهد إعلانات بانتظام للحفاظ على تشغيل خادم Free Tier الخاص بك.
- مدير الملفات — حدّث الكود بعد إجراء تغييرات.