Kostenloses Telegramm-Bot-Hosting auf der Google Cloud Platform

Warum GCP?


Beim Schreiben von Telegrammen an Bots stieß ich auf die Frage, wie der Bot schnell und kostenlos ständig funktionieren kann. Optionen mit Heroku und Pythonanywhere haben zu kleine Grenzen, wenn Sie mehr als einen Bot haben. Also habe ich mich für GCP entschieden. Die Plattform bietet kostenlose 300 USD pro Jahr + enorme Rabatte auf die Verwendung dieser Mittel (bis zu 94%).


Wie hoste ich meinen Bot?


Schritt 1. Registrieren Sie sich für GCP


Gehen Sie zur GCP- Website und klicken Sie auf Kostenlos starten .

Geben Sie Ihre Daten und Ihre Karte ein. Geld von der Karte wird nicht belastet, wenn Sie selbst kein kostenpflichtiges Abonnement aktivieren.


Schritt 2. Erstellen Sie eine virtuelle Maschine


Nach der Registrierung befinden Sie sich auf der Hauptseite des Dienstes. Sie müssen die Registerkarte Compute Engine im Abschnitt Ressourcen auswählen.

Sie müssen eine neue Instanz erstellen.


Wenn Sie die Datenbank nicht in einer virtuellen Maschine bereitstellen, können Sie g1-small verwenden, andernfalls empfehle ich n1-standart.


Sie müssen auch ein Betriebssystem auswählen. Ich habe Debian GNU / Linux 9 (Stretch) gewählt.


Alle VM erstellt. Die herkömmliche Bereitstellung dauert 1 bis 5 Minuten.

Schritt 3. Konfigurieren Sie die virtuelle Maschine


Sie können von Ihrem PC aus eine Verbindung über SSH herstellen oder über die Plattform interagieren.
Klicken Sie dazu auf SSH.


Ihr Linux-Terminal wird in einem neuen Fenster geöffnet.


Fahren wir nun mit der Einrichtung fort. Geben Sie zunächst den folgenden Befehl ein:

sudo apt-get update

um Informationen zu den neuesten Paketversionen zu aktualisieren.

Nachdem wir eingetreten sind:

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

Python selbst muss nicht installiert werden, es existiert bereits.

Jetzt müssen Sie alle erforderlichen Bibliotheken installieren. Es gibt eine kleine Nuance, alle Bibliotheken müssen zweimal installiert werden:

pip3 install ‘name_of_package’

zur Verwendung über den Befehl python3 und

sudo pip3 install ‘name_of_package’

für systemd. Dieses Dienstprogramm hilft Ihnen, den Bot zu starten und neu zu starten, wenn er abstürzt.
Der einfachste Weg, den Bot über Python3 auszuführen, wird jedoch ausgeschaltet, wenn Sie die Verbindung trennen. Sie können den Bildschirm verwenden, aber der Bot startet sich nicht neu. Sie können crontab auch für die Portprüfung verwenden, aber diese Option scheint mir komplizierter zu sein als systemd.

Schritt 4. Füllen Sie den Bot auf den Server


Es gibt zwei Möglichkeiten, Ihren Bot zu füllen. Wenn Sie mit Git nicht befreundet sind, können Sie den Bot einfach in .tar archivieren und auf den Server hochladen:


Entpacken Sie es anschließend mit dem folgenden Befehl:

tar -xvf yourfile.tar

Jetzt wird Ihr Bot in einem Ordner mit dem Namen des Archivs gespeichert.

Der zweite Weg führt über Git. Ich denke, es lohnt sich nicht, Leuten zu erklären, wie man das macht.

Nach der Installation mit dem Befehl:

sudo apt install git

Sie können es auf Ihrer VM klonen.

Danach fahren wir mit der Einrichtung von systemd fort. Gehen Sie dazu in sein Verzeichnis:

cd /etc/systemd/system

Und erstellen Sie die Datei bot.service:

sudo nano bot.service

Geben Sie im folgenden Fenster Folgendes ein:


[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

Schließen und speichern Sie die Datei. Schließt mit dem Befehl Strg + X.

Geben Sie danach die folgenden Befehle ein:

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

Wenn alles gut geht, sehen Sie ungefähr Folgendes:


Das war's, jetzt arbeitet Ihr Bot unabhängig. Ich hoffe, mein Artikel hilft Ihnen, Ihren Bot zu hosten.

PS


1.Überprüfen Sie Ihren Bot auf Fehler


Starten Sie Ihren Bot und testen Sie seine Funktion, bevor Sie ihn über systemd starten. Gehen Sie dazu in den Ordner mit dem Bot und führen Sie Python durch.

cd <  >
python3 bot.py

2. Fügen Sie den Dateien mit Py-Skripten eine Codierung hinzu


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

Am Anfang der Datei einfügen.

3. Spiegel in systemd


Wenn Sie den Bot auf Fehler überprüft haben und er einwandfrei funktioniert hat, aber nicht in systemd gestartet werden soll, können Sie sich die Protokolle ansehen und anhand der Datei verstehen, was der Fehler ist:

sudo nano /var/log/syslog

Sie können diese Datei herunterladen und über Notepad ++ auf Ihrem Computer anzeigen.

4.Bot Update


Wenn Sie eine neue Version des Bots hinzufügen oder hochladen möchten, geben Sie den folgenden Befehl ein:

sudo systemctl stop bot

Stellen Sie alle erforderlichen Manipulationen bereit. Geben Sie dann die folgenden Befehle ein, damit es wieder funktioniert:

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

All Articles