Pourquoi GCP ?
Lors de la rédaction de télégrammes pour les bots, je me suis posé la question de savoir comment faire fonctionner rapidement et gratuitement le bot tout le temps. Les options Heroku et Pythonanywhere sont bien trop basses si vous avez plus d'un bot. J'ai donc décidé d'utiliser GCP. La plate-forme offre 300 $ pendant un an gratuitement + d'énormes réductions lors de l'utilisation de ces fonds (jusqu'à 94 %).

Comment héberger votre bot ?
Étape 1 : Inscrivez-vous à GCP
Aller sur le site et appuyez sur Commencez gratuitement.

Entrez vos coordonnées et votre carte. L'argent de la carte ne sera pas débité si vous n'activez pas vous-même l'abonnement payant.

Étape 2. Créer une machine virtuelle
Après l'inscription, vous vous retrouverez sur la page principale du service. Vous devez sélectionner l'onglet Compute Engine dans la section Ressources.

Vous devez créer une nouvelle instance.

Si vous ne comptez pas déployer la base de données sur machine virtuelle, alors vous pouvez prendre g1-small, sinon je recommande n1-standard.

Vous devrez également sélectionner un système d'exploitation. J'ai choisi Debian GNU/Linux 9 (stretch).

Ça y est, la VM est créée. Son déploiement habituel prend de 1 à 5 minutes.
Étape 3 : Configurer la machine virtuelle
Vous pouvez vous connecter via SSH depuis votre PC ou interagir via la plateforme.
Pour cela, cliquez sur SSH.
![]()
Cela ouvrira un terminal Linux dans une nouvelle fenêtre.

Passons maintenant à la configuration. Entrez d'abord la commande :
sudo apt-get updatepour mettre à jour les informations sur les dernières versions de package.
Après nous entrons :
sudo apt-get install python3-setuptools
sudo apt-get install python3-pipPython lui-même n'a pas besoin d'être installé, il est déjà là.
Vous devez maintenant installer toutes les bibliothèques nécessaires. Il y a une petite nuance, toutes les bibliothèques doivent être installées deux fois :
pip3 install ‘name_of_package’pour une utilisation via la commande python3, et
sudo pip3 install ‘name_of_package’ pour systemd. Cet utilitaire vous aidera à démarrer le bot et à le redémarrer s'il plante.
Le moyen le plus simple d'exécuter le bot est via python3, mais il s'arrêtera si vous vous déconnectez. Vous pouvez utiliser screen, mais le bot ne redémarrera pas de lui-même. Vous pouvez également utiliser crontab avec un contrôle de port, mais je pense que cette option est plus compliquée que systemd.
Étape 4. Téléchargez le bot sur le serveur
Il existe deux façons de télécharger votre bot. Si vous n'êtes pas compatible avec Git, vous pouvez simplement compresser le bot en .tar et le télécharger sur le serveur :

Après cela, décompressez-le avec la commande :
tar -xvf yourfile.tarMaintenant, votre bot est stocké dans un dossier portant le nom de l'archive.
La deuxième façon est via Git. Je pense que ce n'est pas la peine d'expliquer comment faire à des gens qui savent s'en servir.
Après l'avoir installé avec la commande :
sudo apt install gitVous pouvez le cloner sur votre VM.
Après cela, nous passons à la configuration de systemd. Pour cela, rendez-vous dans son répertoire :
cd /etc/systemd/systemEt créez un fichier bot.service :
sudo nano bot.serviceEntrez ce qui suit dans la fenêtre qui s'ouvre :
[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
Fermez et enregistrez le fichier. Fermé avec Ctrl+X.
Après cela, entrez les commandes à tour de rôle :
sudo systemctl daemon-reload
sudo systemctl enable bot
sudo systemctl start bot
sudo systemctl status bot
Si tout se passe bien, vous verrez quelque chose comme ceci :

Tout, maintenant votre bot fonctionne indépendamment. J'espère que mon article vous aidera à héberger votre bot.
PS
1.Vérifiez les erreurs de votre bot
Démarrez votre bot et testez-le avant de l'exécuter via systemd. Pour ce faire, accédez au dossier contenant le bot et parcourez python.
cd <папка вашего бота>
python3 bot.py2. Ajouter un encodage aux fichiers avec des scripts py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Insérer au début du fichier.
3. Bogues dans systemd
Si vous avez vérifié les erreurs du bot et qu'il a bien fonctionné, mais qu'il ne veut pas s'exécuter dans systemd, vous pouvez consulter les journaux et comprendre quelle est l'erreur en affichant le fichier :
sudo nano /var/log/syslogVous pouvez télécharger ce fichier et le visualiser sur votre ordinateur avec Notepad++.
4. Mise à jour du robot
Si vous souhaitez ajouter ou télécharger une nouvelle version du bot, saisissez la commande :
sudo systemctl stop botVoir toutes les manipulations nécessaires. Et puis entrez les commandes suivantes pour le faire fonctionner à nouveau :
sudo systemctl daemon-reload
sudo systemctl start bot
sudo systemctl status botSource: habr.com
