برمجةتقنية

طريقة تشغيل بوت تيليجرام 24/7 على DigitalOcean بخطوات سهلة

بايثون تيليجرام بوت

بعد أن قمت بإنشاء بوت على التيليجرام باستخدام بايثون، قد تواجه صعوبة في العثور على المعلومات اللازمة لتشغيل البوت على مدار الساعة وهذا ما سيجعل الكثير في حيرة من أمرهم. لا تقلق ففي هذا المقال سوف نشرح لك خطوة بخطوة وبكامل التفاصيل طريقة تشغيل بوت تيليجرام على استضافة طوال الوقت وبدون توقف.

تجيهز بيئة العمل لتشغيل بوت تيليجرام

قبل بدأ الخوض في التفاصيل وبدأ الشرح نحن بحاجة الى توضيح جميع الأدوات والتقنيات التي سوف يتم استخدامها لإتمام المهمة بنجاح.

  • ملف requirements.txt يحتوي على جميع المكتبات الخارجية التي يعتمد عليها البوت.
  • حساب على GitHub، وذلك لتسهيل عملية نقل الكود من مكان الى آخر.
  • فهم أساسيات Docker.
  • حساب على DigitalOcean.

DigitalOcean Referral Badge

تحضير كود البوت

بعد أن انتهيت من مشروعك يجب ان تقوم بتصدير جميع المكتبات التي يعتمد عليها البوت ليعمل بالشكل المطلوب، تصدير هذه المكتبات في ملف نصي الهدف منه تنزيل الملفات دفعة واحدة في البيئة الافتراضية التي سوف نقوم بإنشاءها على Docker فيما بعد.

من أجل تصدير المكتبات الى ملف نصي قم بفتح نافذة الأوامر (Terminal) في نفس المسار الذي يوجد به كود المشروع او يمكنك استخدام نافذة الأوامر من VS Code اذا كنت تستخدمه.

في نافذة الأوامر قم بكتابة

pip freeze > requirements.txt

سوف يتم انشاء ملف نصي في نفس مسار المشروع واضافة جميع اسماء المكتبات المُستخدمة الى هذا الملف.

بعد أن قمنا بتصدير المكتبات علينا الآن إنشاء ملف Dockerfile في نفس المسار الذي يتواجد به كود المشروع أيضاً.

تجيهز ملفات تشغيل بوت تيليجرام

لاحظ ان ملف Dockerfile يجب ان لا يحتوي على اي امتدادات.

قم بفتح ملف Dockerfile في أي محرر نصوص لديك وقم بتخصيص صورة الحاوية حسب متطلباتك، على سبيل المثال في البوت الذي نعمل عليه الآن سوف نضيف التخصيصات التالية:

# استخدام صورة بايثون الرسمية
FROM python:3.10

# تعيين مجلد العمل
WORKDIR /app

# نسخ الملفات إلى داخل الحاوية
COPY . /app

# تنزيل مكتبات المشروع في الحاوية
RUN pip install -r requirements.txt

# تشغيل الكود
CMD ["python", "bot.py"]

رفع ملفات المشروع الى GitHub

من الجيد دوماً رفع الكود الى منصة GitHub، لأن ذلك يمنحك العديد من المزايا التي سوف تحتاج اليها بين الحين والآخر. من بين أهم تلك المزايا:

  • استيراد الكود في أي مكان ومن أي مكان.
  • حفظ الكود في مكان آمن بحيث لو تم حذف المشروع من جهازك الشخصي لن تفقده.
  • القدرة على التعاون مع أفراد آخرين في تطوير المشروع وتتبع التغييرات.

لرفع ملفات المشروع على GitHub نحتاج في البداية الى إنشاء حساب على GitHub. بعد انشاء الحساب سوف نقوم بإنشاء مستودع (repository).

من الصفحة الرئيسية في لوحة تحكم GitHub اضغط على زر (New).

رفع مشروع تشغيل بوت تيليجرام على GitHub

قم بعد ذلك بملء معلومات المستودع واضغط على زر الإنشاء (Create Repository).

انشاء مستودع على GitHub

اذا لم تكن تجيد استخدام GitHub من خلال نافذة الأوامر (GitHub CLI) فمن الأفضل لك استخدام تطبيق سطح المكتب عوضاً عن ذلك، سوف تتمكن من خلال GiHtub Desktop من التحكم في المستودعات الخاصة بك ورفع واستيراد المشاريع بكل سهولة من خلال واجهة مستخدم سهلة ومرنة.

عند تنزيل برنامج سطح المكتب قم بتسجيل الدخول من خلال حسابك على GitHub. توجه الى ملف المشروع وافتح التيرمينال، اكتب السطر التالي من اجل تهيئة المجلد ورفعه:

git init .
تهيئة مشروع تشغيل بوت تيليجرام

سيتم انشاء مجلد باسم .git في مجلد المشروع الخاص بالبوت، توجه الآن الى برنامج GitHub على الـ Desktop وقم بتحديد مجلد المشروع وإضافته الى المستودع الذي قمت بإنشائه.

اذا لم يعمل أمر git في سطر الأوامر فأنت بالتأكيد لم تقم بتنصيبه على جهازك. من اجل تنصيب Git على جهاز الكمبيوتر انت بحاجة الي تنزيله من الموقع الرسمي: https://git-scm.com

قم بفتح GitHub Desktop وابدء بتحديد مجلد المشروع الخاص بك وارفعه على المستودع الذي قمت بإنشائه.

حدد file من القائمة العلوية ثم اضغط على Add Local Repository بعد ذلك حدد مجلد المشروع.

رفع بوت التيليجرام

إنشاء Droplet على DigitalOcean

كي نتمكن من تشغيل بوت تيليجرام بشكل دائم على الاستضافة السحابية سوف نقوم بإنشاء Droplet على السحابة، لكن ما هي الـ Droplet وما فائدتها؟

الـ Droplets يشير إلى الوحدات الافتراضية التي تمثل سيرفرات (خوادم) سحابية تعمل بشكل مستقل. بمعنى آخر، الـ Droplet هو سيرفر افتراضي يمكنك استئجاره واستخدامه لتشغيل تطبيقات، مواقع ويب، قواعد بيانات، أو أي مشروع تقني.

اذا لم تقم بالتسجيل في DigitalOcean وانشاء حساب بعد يمكنك الاستفادة بـ 200$ رصيد على المنصة بشكل مجاني، تشمل النسخة المجانية العديد من المزايا داخل المنصة وسيبقى الرصيد المجاني في حسابك لمدة 60 يوم لتقوم بتجريب الخدمة واختبار جميع المزايا التي تحتاجها. يمكنك اتباع الرابط التالي للتسجيل في المنصة: https://cloud.digitalocean.com

بعد التسجيل مباشرة سوف يتم تحويلك الى لوحة التحكم الرئيسية. من القائمة العلوية اضغط على Create وقم باختيار Droplets.

سوف تظهر لك صفحة لتخصيص الـ Droplet وتحديد المزايا التي تحتاجها، سوف تحتاج الى تحديد:

  • نظام التشغيل
  • المساحة
  • نوع المعالج وسرعته
  • مفتاح SSH (اختياري)

بعد الانتهاء من تخصيص الـ Droplet اضغط على Create Droplet.

ادخل على الـ Droplet التي قمت بإنشائها واضغط على Console للدخول اليها.

ستنبثق لك نافذة سطر أوامر (Terminal) في المتصفح، التي من خلالها سوف تستطيع التحكم في النظام الخاص بالـ Droplet.

اول شيء يُفضّل فعله هو تحديث وترقية نظام التشغيل الافتراضي الذي تعمل عليه، يمكنك فعل ذلك من خلال:

apt update && apt upgrade -y

الآن نحن بحاجة الى 3 امور لتشغيل بوت تيليجرام على الاستضافة:

  • ملفات المشروع
  • بايثون (Python)
  • دوكر (Docker)

بشكل افتراضي سوف تجد ان بايثون تم تثبيتها على السيرفر، لكن لو لم تكن موجودة فقط قم بكتابة:

apt install python3

ثم بعد ذلك تحقق من الإصدار من خلال:

python3 --version

اذا ظهر لك الإصدار فهذا يعني انه تم تثبيت بايثون بنجاح.

ننتقل الى Docker والتي علينا تنزيلها بشكل يدوي وليست متواجدة على السيرفر بشكل افتراضي. كي نقوم بتثبيت Docker علينا كتابة السطر التالي:

snap install docker

انتظر بعض الوقت وسوف يتم الانتهاء من تنزيل Dockere.

جلب ملفات المشروع

الآن بعد تجهيز بيئة العمل والتأكد من تواجد بايثون ودوكر سوف نقوم بجلب الملفات عبر Git.

قم بفتح المستودع الذي رفعت عليه المشروع وانسخ الرابط الخاص به.

توجه الى سطر الأوامر الخاص بالـ Droplet واكتب التالي:

git clone your_repository_link

قم بوضع رابط المستودع الخاص بك في مكان your_repository_link حتى يتم جلب جميع ملفات مشروع البوت.

إعداد Docker وتشغيل بوت تيليجرام

قم بالدخول الى مجلد المشروع بعد ان قمت بجلبه الى السيرفر، استخدام الامر:

cd your_project_folder

في مكان your_project_folder اكتب اسم مجلد المشروع الخاص بك.

بعد الدخول الى مجلد المشروع عليك بناء حاوية Docker لتغليف الكود، لفعل هذا اكتب في سطر الأوامر:

docker build -t my_bot_name .

في مكان my_bot_name ضع الاسم الذي ترغب به. هذا السطر سوف يقوم بانشاء صورة الحاوية وتنفيذ الأوامر التي قمنا بكتابتها في ملف Dockerfile الذي قمنا بتخصيصه في البداية.

سوف نحتاج بعد ذلك الى تشغيل الصورة:

docker run -d --name image_name my_bot_name

مكان image_name اكتب اسم صورة الحاوية الذي ترغب به، في مكان my_bot_name اكتب اسم الحاوية الذي قمت بإختياره في الأمر الذي قبل هذا.

اخيرأ وليس آخراً سوف نقوم بكتابة السطر التالي:

docker start image_name

في هذه المرحلة تم تشغيل بوت تيليجرام على الاستضافة وسوف يستمر في العمل على الدوام.

اذا اردت التأكد من اذا كانت الحاوية تعمل في الخلفية اكتب السطر التالي في نافذة الأوامر الخاصة بالـ Droplet:

docker ps -a

سترى قائمة تحتوي على أسماء الحاويات التي قمت بإنشائها باستخدام Docker وبجانب كل حاوية ستلاحظ الحالة الخاصة بها، اذا كانت الحالة Up فهذا يعني ان البوت قيد التشغيل.

ملخص

تلخيصاً للخطوات التي قمنا من خلالها بتشغيل بوت تيليجرام طوال الوقت.

رفعنا كود المشروع الى GitHub وبعدها قمنا بإنشاء Droplet على منصة DigitalOcean وباستخدام Python و Docker تم تغليف الكود بحاوية وتنزيل المكتبات المطلوبة وتشغيل البوت داخل الحاوية (Container).

كان هذا كل شيء بخصوص استضافة وتشغيل بوت تيليجرام على الاستضافة السحابية DigitalOcean، اذا كان هناك اسئلة او استفسارات فلا تتردد بكتابتها في التعليقات او مراسلتنا من خلال نموذج التواصل او مواقعنا على التواصل الاجتماعي.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى