Pourquoi GCP ?
Lors de l'écriture de bots Telegram, je me suis heurté à la question de savoir comment faire fonctionner un bot en continu rapidement et gratuitement. Les options avec Heroku et Pythonanywhere ont des limites trop petites si vous avez plus d'un bot. J'ai donc décidé d'utiliser GCP. La plateforme offre 300 $ gratuitement pour un an + d'énormes réductions lors de l'utilisation de ces fonds (jusqu'à 94 %).

Comment héberger votre bot ?
Étape 1. Inscription sur GCP
Allons sur le site et cliquez sur Commencez gratuitement.

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

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

Vous devez créer une nouvelle instance.

Si vous ne déployez pas de BD sur une machine virtuelle, vous pouvez prendre g1-small, sinon je recommande n1-standart.

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

Voilà, la VM est créée. Son déploiement prend entre 1 et 5 minutes.
Étape 3. Configuration de la machine virtuelle
Vous pouvez vous connecter par SSH depuis votre PC ou interagir via la plateforme.
Pour cela, cliquez sur SSH.
![]()
Vous ouvrirez un terminal Linux dans une nouvelle fenêtre.

Maintenant, passons à la configuration. Tout d'abord, entrez la commande :
sudo apt-get updatepour mettre à jour les informations sur les dernières versions des paquets.
Ensuite, entrez :
sudo apt-get install python3-setuptools
sudo apt-get install python3-pipVous n'avez pas besoin d'installer Python lui-même, il est déjà là.
Maintenant, vous devez installer toutes les bibliothèques nécessaires. Il y a un petit détail, toutes les bibliothèques doivent être installées deux fois :
pip3 install ‘name_of_package’pour l'utiliser 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 tombe.
Le moyen le plus simple de lancer le bot via python3, mais il s'éteindra si vous vous déconnectez. Vous pouvez utiliser screen, mais le bot ne redémarrera pas tout seul. 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. Déployer le bot sur le serveur
Il y a deux façons de déployer votre bot. Si vous ne maîtrisez pas 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 le dossier nommé d'après l'archive.
La deuxième méthode via Git. Je pense qu'il n'est pas nécessaire d'expliquer comment faire cela à ceux qui savent l'utiliser.
Après son installation avec la commande :
sudo apt install gitVous pouvez le cloner sur votre VM.
Après cela, passons à la configuration de systemd. Pour cela, accédez à son répertoire :
cd /etc/systemd/systemEt créons le fichier bot.service :
sudo nano bot.serviceEntrez le texte suivant dans la fenêtre qui s'ouvre :
[Unit]
Description=Bot Telegram 'Nom du bot'
After=syslog.target
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/home/votre_nom_d_utilisateur/nom_du_dossier_avec_le_bot
ExecStart=/usr/bin/python3 /home/votre_nom_d_utilisateur/nom_du_dossier_avec_le_bot/bot.py
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Fermez et sauvegardez le fichier. Vous pouvez le fermer en utilisant la commande Ctrl+X.
Après cela, entrez les commandes une par une :
sudo systemctl daemon-reload
sudo systemctl enable bot
sudo systemctl start bot
sudo systemctl status bot
Si tout va bien, vous verrez quelque chose comme ceci :

Voilà, maintenant votre bot fonctionne de manière autonome. J'espère que mon article vous aidera à héberger votre bot.
P.S.
1. Vérifiez votre bot pour des erreurs
Lancez votre bot et vérifiez son fonctionnement avant de le démarrer via systemd. Pour cela, allez dans le dossier du bot et lancez-le avec python.
cd
python3 bot.py2. Ajoutez l'encodage dans les fichiers .py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Ajoutez au début du fichier.
3. Erreurs dans systemd
Si vous avez vérifié le bot pour des erreurs et qu'il fonctionnait normalement, mais qu'il ne souhaite pas démarrer dans systemd, vous pouvez consulter les journaux pour identifier l'erreur en examinant le fichier :
sudo nano /var/log/syslogVous pouvez télécharger ce fichier et le visualiser sur votre ordinateur via Notepad++.
4. Mise à jour du bot
Si vous souhaitez apporter des modifications ou déployer une nouvelle version du bot, entrez la commande :
sudo systemctl stop botEffectuez toutes les manipulations nécessaires. Ensuite, entrez les commandes suivantes pour qu'il redémarre :
sudo systemctl daemon-reload
sudo systemctl start bot
sudo systemctl status botSource : habr.com
