Maison  >  Article  >  développement back-end  >  Héberger Telegram Bot sur Raspberry Pi 5

Héberger Telegram Bot sur Raspberry Pi 5

Patricia Arquette
Patricia Arquetteoriginal
2024-09-25 06:28:37772parcourir

Host Telegram Bot on Raspberry Pi 5

Table des matières:

  • Intrusion
  • Installer le système d'exploitation sur Raspberry Pi 5
  • Connectez-vous au Raspberry Pi via SSH
  • Préparer l'envariement
  • Créer et exécuter le bot
  • Gardez le bot exécuté en arrière-plan en utilisant tmux
  • Démarrer automatiquement le bot au démarrage (facultatif)

Intrusion

Dans mon article précédent, j'ai montré comment créer et exécuter un Telegram Bot à l'aide de Python. Vous pouvez le trouver ici

Dans ce guide, je vais vous expliquer comment héberger votre bot Telegram sur votre propre serveur Raspberry Pi.

Installer le système d'exploitation sur Raspberry Pi 5

Suivez ce guide pour créer une image avec Raspberry Pi Imager.

Je recommande de choisir le système d'exploitation Raspberry Pi OS Lite car c'est la meilleure option en termes de simplicité et de légèreté.

Dans les paramètres de l'imageur, cochez la case à côté de Activer SSH et sélectionnez utiliser l'authentification par mot de passe. Cela vous permettra de vous connecter à votre Raspberry Pi via SSH.

Après avoir créé l'image sur une clé USB, insérez la carte flash dans votre Raspberry Pi et allumez-le.

Connectez-vous au Raspberry Pi via SSH

  1. Ouvrez la console (cmd ou PowerShell sous Windows)
  2. Pingez à votre Raspberry Pi la commande suivante :
ping raspberrypi.local

Vous recevrez des statistiques de ping ainsi que l'adresse IP de votre Raspberry Pi.

  1. Utilisez cette adresse IP pour vous connecter via SSH :
SSH pi@<your_raspberry_pi_ip> (for example: SSH pi@192.168.0.10)
  1. Entrez le mot de passe (la valeur par défaut est framboise). Je recommande fortement de changer cela plus tard.
  2. Si le mot de passe est correct, vous serez connecté à votre Raspberry Pi via SSH.

Préparer l'envariement

  1. Mettez à jour votre Raspberry Pi
sudo apt update
sudo apt upgrade
  1. Installer Python Raspberry Pi OS est généralement livré avec Python préinstallé. Vérifiez s'il est installé :
python3 --version

Si Python n'est pas installé, vous pouvez l'installer en utilisant :

sudo apt install python3 python3-pip
  1. Configurer un environnement virtuel (facultatif mais recommandé) C'est une bonne pratique de créer un environnement virtuel pour garder les dépendances de votre projet isolées :
sudo apt install python3-venv
python3 -m venv telegram-bot-env
source telegram-bot-env/bin/activate
  1. Installez la bibliothèque de robots Python Telegram
pip install python-telegram-bot --upgrade

Créer et exécuter le bot

  1. Créez un nouveau fichier Python à l'aide de l'éditeur de texte nano
nano bot.py
  1. Écrivez votre code de bot dans ce nouveau fichier _(vous pouvez utiliser le code de mon article précédent). Appuyez sur CTRL + O puis appuyez sur Entrée pour enregistrer les modifications. Pour quitter, appuyez sur CTRL + X.
  2. Exécutez le bot
python3 bot.py

Votre bot est désormais opérationnel et vous pouvez le tester sur Telegram.

Cependant, cette méthode mettra fin au bot lorsque vous fermerez le terminal.

Pour le faire fonctionner en arrière-plan, nous pouvons utiliser tmux

Gardez le bot exécuté en arrière-plan à l'aide de tmux

Créez un script Shell exécutable pour démarrer votre bot

  1. Installer tmux
sudo apt update
sudo apt install tmux
  1. Créez un nouveau script shell pour démarrer votre bot. Vous pouvez le nommer start_bot.sh
nano start_bot.sh
  1. Ajoutez les lignes suivantes au script, en remplaçant bot.py par le nom de votre fichier bot Python et telegram-bots-env par votre nom d'environnement :
#!/bin/bash
source telegram-bots-env/bin/activate
python3 bot.py
  1. Enregistrez et quittez (CTRL + O, Entrée, CTRL + X).
  2. Rendre le script exécutable :
chmod +x start_bot.sh

Exécutez le Bot via tmux :

  1. Démarrez une nouvelle session tmux :
tmux new -s my_bot_session
  1. Dans la session tmux, exécutez votre script de bot :
./start_bot.sh
  1. Détachez-vous de la session tmux en appuyant sur CTRL + B, puis D
  2. Rattachez-vous à la session tmux (si nécessaire) Pour vous reconnecter ultérieurement à la session tmux de votre bot, utilisez :
tmux attach -t my_bot_session

Démarrer automatiquement le bot au démarrage (facultatif)

Si vous souhaitez que votre bot démarre automatiquement au démarrage, vous pouvez utiliser un service systemd. Voici comment :

  1. Créez un nouveau fichier de service :
sudo nano /etc/systemd/system/my_bot.service
  1. Ajoutez la configuration suivante, en modifiant les chemins si nécessaire :
[Unit]
Description=My Bot Service

[Service]
ExecStart=/usr/bin/tmux new-session -d -s my_bot_session '/path/to/start_bot.sh'
WorkingDirectory=/path/to/my_bot
User=pi

[Install]
WantedBy=multi-user.target
  1. Enregistrez et quittez le fichier.
  2. Rechargez le démon systemd :
sudo systemctl daemon-reload
  1. Activer le service pour démarrer au démarrage :
sudo systemctl enable my_bot.service
  1. Démarrez le service :
sudo systemctl start my_bot.service

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn