Hosting bot Telegram gratis di Google Cloud Platform

Mengapa GCP?


Saat menulis telegram ke bot, saya menemukan pertanyaan tentang cara cepat dan gratis membuat bot bekerja terus-menerus. Opsi dengan Heroku dan Pythonanywhere memiliki batas terlalu kecil jika Anda memiliki lebih dari satu bot. Jadi saya memutuskan untuk menggunakan GCP. Platform ini memberikan $ 300 gratis per tahun + diskon besar untuk penggunaan dana ini (hingga 94%).


Bagaimana cara meng-host bot Anda?


Langkah 1. Mendaftar untuk GCP


Buka situs web GCP dan klik Mulai secara gratis .

Masukkan data dan kartu Anda. Uang dari kartu tidak akan didebit jika Anda sendiri tidak mengaktifkan langganan berbayar.


Langkah 2. Buat mesin virtual


Setelah mendaftar, Anda akan berada di halaman utama layanan. Anda harus memilih tab Compute Engine di bagian Resources.

Anda harus membuat contoh baru.


Jika Anda tidak akan menggunakan database di mesin virtual, maka Anda dapat mengambil g1-small, jika tidak saya menyarankan n1-standart.


Anda juga perlu memilih OS. Saya memilih Debian GNU / Linux 9 (stretch).


Semua VM dibuat. Penempatan konvensional memerlukan waktu 1 hingga 5 menit.

Langkah 3. Konfigurasikan mesin virtual


Anda dapat terhubung melalui SSH dari PC Anda atau berinteraksi melalui platform.
Untuk melakukan ini, klik SSH.


Terminal Linux Anda akan terbuka di jendela baru.


Sekarang mari kita beralih ke pengaturan. Pertama, masukkan perintah:

sudo apt-get update

untuk memperbarui informasi pada versi paket terbaru.

Setelah kita masuk:

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

Python itu sendiri tidak perlu diinstal, itu sudah ada.

Sekarang Anda perlu menginstal semua perpustakaan yang diperlukan. Ada sedikit nuansa, semua perpustakaan harus diinstal dua kali:

pip3 install ‘name_of_package’

untuk digunakan melalui perintah python3, dan

sudo pip3 install ‘name_of_package’

untuk systemd. Utilitas ini akan membantu Anda meluncurkan bot dan memulai kembali jika crash.
Cara termudah untuk menjalankan bot melalui python3, tetapi itu akan mati jika Anda memutuskan koneksi. Anda dapat menggunakan layar, tetapi bot tidak akan memulai ulang sendiri. Anda juga dapat menggunakan crontab dengan pemeriksaan port, tetapi bagi saya sepertinya opsi ini lebih rumit daripada systemd.

Langkah 4. Isi bot ke server


Ada dua cara untuk mengisi bot Anda. Jika Anda bukan teman Git, Anda bisa mengarsipkan bot di .tar dan mengunggahnya ke server:


Setelah itu, unzip dengan perintah:

tar -xvf yourfile.tar

Sekarang bot Anda disimpan dalam folder dengan nama arsip.

Cara kedua adalah melalui Git. Saya pikir tidak ada gunanya menjelaskan bagaimana melakukan ini kepada orang-orang yang tahu bagaimana menggunakannya.

Setelah menginstalnya dengan perintah:

sudo apt install git

Anda dapat mengkloningnya di VM Anda.

Setelah itu, mari kita lanjutkan ke pengaturan systemd. Untuk melakukan ini, buka direktori-nya:

cd /etc/systemd/system

Dan buat file bot.service:

sudo nano bot.service

Masukkan yang berikut di jendela yang terbuka:


[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

Tutup dan simpan file. Ditutup dengan perintah Ctrl + X.

Setelah itu, masukkan perintah pada gilirannya:

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

Jika semuanya berjalan dengan baik, Anda akan melihat sesuatu seperti berikut:


Itu saja, sekarang bot Anda bekerja secara independen. Saya harap artikel saya akan membantu Anda meng-host bot Anda.

PS


1. Periksa bot Anda untuk kesalahan


Luncurkan bot Anda dan uji operasinya sebelum meluncurkannya melalui systemd. Untuk melakukan ini, buka folder dengan bot dan jalankan melalui python.

cd <  >
python3 bot.py

2. Tambahkan encoding ke file dengan skrip py


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

Masukkan di awal file.

3. Kesalahan dalam sistemd


Jika Anda memeriksa bot untuk kesalahan dan berfungsi dengan baik, tetapi tidak ingin memulai di systemd, maka Anda dapat melihat log dan memahami apa kesalahannya dengan melihat file:

sudo nano /var/log/syslog

Anda dapat mengunduh file ini dan melihatnya di komputer Anda melalui Notepad ++.

4.Bot pembaruan


Jika Anda ingin menambah atau mengunggah bot versi baru, masukkan perintah:

sudo systemctl stop bot

Berikan semua manipulasi yang diperlukan. Dan kemudian masukkan perintah berikut ini agar berfungsi lagi:

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

All Articles