استضافة مجانية لبرنامج Telegram على Google Cloud Platform

لماذا برنامج شركاء Google المعتمدون؟


عند كتابة البرقيات إلى برامج التتبُّع ، جئت عبر سؤال حول كيفية جعل البوت يعمل بسرعة وحرية باستمرار. الخيارات مع Heroku و Pythonanywhere لها حدود صغيرة جدًا إذا كان لديك أكثر من روبوت واحد. لذلك قررت استخدام برنامج "شركاء Google المعتمدون". توفر المنصة مجانًا 300 دولارًا سنويًا + خصومات هائلة على استخدام هذه الأموال (حتى 94٪).


كيف تستضيف بوتك؟


الخطوة 1. التسجيل للحصول على برنامج شركاء Google المعتمدون


انتقل إلى موقع برنامج شركاء Google المعتمدون وانقر على "البدء" مجانًا .

أدخل بياناتك وبطاقتك. لن يتم خصم الأموال من البطاقة إذا لم تقم بنفسك بتفعيل اشتراك مدفوع.


الخطوة 2. إنشاء جهاز ظاهري


بعد التسجيل ، ستكون في الصفحة الرئيسية للخدمة. تحتاج إلى تحديد علامة التبويب Compute Engine في قسم الموارد.

يجب عليك إنشاء مثيل جديد.


إذا لم تقم بنشر قاعدة البيانات في جهاز افتراضي ، فيمكنك أخذ g1-small ، وإلا فإنني أنصح n1-standart.


ستحتاج أيضًا إلى اختيار نظام تشغيل. اخترت Debian GNU / Linux 9 (امتداد).


تم إنشاء جميع الأجهزة الافتراضية. يستغرق النشر التقليدي من 1 إلى 5 دقائق.

الخطوة 3. تكوين الجهاز الظاهري


يمكنك الاتصال عبر SSH من جهاز الكمبيوتر الخاص بك أو التفاعل من خلال النظام الأساسي.
للقيام بذلك ، انقر فوق SSH.


سيتم فتح جهاز Linux الخاص بك في نافذة جديدة.


الآن دعنا ننتقل إلى الإعداد. أولاً ، أدخل الأمر:

sudo apt-get update

لتحديث المعلومات حول أحدث إصدارات الحزمة.

بعد دخولنا:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip

لا تحتاج بايثون نفسها إلى تثبيت ، فهي موجودة بالفعل.

تحتاج الآن إلى تثبيت جميع المكتبات الضرورية. هناك فارق بسيط صغير ، يجب تثبيت جميع المكتبات مرتين:

pip3 install ‘name_of_package’

للاستخدام عن طريق الأمر python3 ، و

sudo pip3 install ‘name_of_package’

ل systemd. ستساعدك هذه الأداة المساعدة في تشغيل الروبوت وإعادة تشغيله إذا تعطل.
أسهل طريقة لتشغيل البوت من خلال python3 ، ولكن سيتم إيقافها إذا قطعت الاتصال. يمكنك استخدام الشاشة ، لكن البوت لن يعيد نفسه. يمكنك أيضًا استخدام crontab مع فحص المنفذ ، ولكن يبدو لي أن هذا الخيار أكثر تعقيدًا من systemd.

الخطوة 4. املأ البوت إلى الخادم


هناك طريقتان لملء الروبوت الخاص بك. إذا لم تكن صديقًا لـ Git ، يمكنك ببساطة أرشفة البوت في .tar وتحميله على الخادم:


بعد ذلك ، قم بفك ضغطه باستخدام الأمر:

tar -xvf yourfile.tar

الآن يتم تخزين برنامج الروبوت الخاص بك في مجلد باسم الأرشيف.

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

بعد تثبيته بالأمر:

sudo apt install git

يمكنك استنساخه على جهاز VM الخاص بك.

بعد ذلك ، دعنا ننتقل إلى إعداد systemd. للقيام بذلك ، انتقل إلى دليله:

cd /etc/systemd/system

وأنشئ ملف bot.service:

sudo nano bot.service

أدخل ما يلي في النافذة التي تفتح:


[Unit]
Description=Telegram bot ' '
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/  /     
ExecStart=/usr/bin/python3 /home/  /     /bot.py

RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

أغلق الملف واحفظه. يتم الإغلاق باستخدام الأمر Ctrl + X.

بعد ذلك ، أدخل الأوامر بدورها:

sudo systemctl daemon-reload
sudo systemctl enable bot
sudo systemctl start bot
sudo systemctl status bot

إذا سارت الأمور على ما يرام ، سترى شيئًا مثل ما يلي:


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

ملاحظة


1. تحقق من برنامج التتبع الخاص بك عن الأخطاء


قم بتشغيل برنامج الروبوت الخاص بك واختبر تشغيله قبل إطلاقه من خلال systemd. للقيام بذلك ، انتقل إلى المجلد الذي يحتوي على برنامج التتبُّع وقم بتشغيله عبر python.

cd <  >
python3 bot.py

2. إضافة ترميز الملفات مع البرامج النصية الحمر


#!/usr/bin/env python
# -*- coding: utf-8 -*-

إدراج في بداية الملف.

3. أخطاء في systemd


إذا راجعت البوت بحثًا عن أخطاء وعملت بشكل جيد ، لكنها لا تريد البدء في systemd ، فيمكنك حينئذٍ الاطلاع على السجلات وفهم الخطأ من خلال النظر إلى الملف:

sudo nano /var/log/syslog

يمكنك تنزيل هذا الملف وعرضه على جهاز الكمبيوتر الخاص بك من خلال برنامج Notepad ++.

4.تحديث بوت


إذا كنت ترغب في إضافة أو تحميل نسخة جديدة من البوت ، فأدخل الأمر:

sudo systemctl stop bot

توفير جميع التلاعبات اللازمة. ثم أدخل الأوامر التالية حتى تعمل مرة أخرى:

sudo systemctl daemon-reload
sudo systemctl start bot
sudo systemctl status bot

All Articles