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

كيف تستضيف الروبوت الخاص بك؟
الخطوة 1: التسجيل في برنامج "شركاء Google المعتمدون"
دعنا نذهب إلى الموقع ودفع ابدأ مجانًا.

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

الخطوة 2. إنشاء آلة افتراضية
بعد التسجيل ستجد نفسك في الصفحة الرئيسية للخدمة. تحتاج إلى تحديد علامة التبويب Compute Engine في قسم الموارد.

تحتاج إلى إنشاء مثيل جديد.

إذا لم تكن تنوي نشر قاعدة البيانات على آلة افتراضيةإذاً يمكنك اختيار g1-small، وإلا فأنا أوصي بـ n1-standart.

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

هذا كل شيء ، تم إنشاء VM. يستغرق نشره المعتاد من 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
إذا سارت الأمور على ما يرام ، فسترى شيئًا كهذا:

كل شيء ، الآن روبوتك يعمل بشكل مستقل. آمل أن تساعدك مقالتي في استضافة برنامج الروبوت الخاص بك.
PS
1- تحقق من وجود أخطاء في الروبوت الخاص بك
ابدأ تشغيل الروبوت واختبره قبل تشغيله عبر systemd. للقيام بذلك ، انتقل إلى المجلد الذي يحتوي على الروبوت وقم بتشغيل بيثون.
cd <папка вашего бота>
python3 bot.py2. إضافة ترميز للملفات مع البرامج النصية py
#!/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المصدر: www.habr.com
