Heim >Backend-Entwicklung >Python-Tutorial >Hosten Sie Telegram Bot auf Raspberry Pi 5

Hosten Sie Telegram Bot auf Raspberry Pi 5

Patricia Arquette
Patricia ArquetteOriginal
2024-09-25 06:28:37945Durchsuche

Host Telegram Bot on Raspberry Pi 5

Inhaltsverzeichnis:

  • Einführung
  • Betriebssystem auf Raspberry Pi 5 installieren
  • Über SSH eine Verbindung zum Raspberry Pi herstellen
  • Envariement vorbereiten
  • Erstellen Sie den Bot und führen Sie ihn aus
  • Lassen Sie den Bot mit tmux im Hintergrund laufen
  • Bot beim Booten automatisch starten (optional)

Einführung

In meinem vorherigen Artikel habe ich gezeigt, wie man mit Python einen Telegram-Bot erstellt und ausführt. Du findest es hier

In dieser Anleitung führe ich Sie durch das Hosten Ihres Telegram-Bots auf Ihrem eigenen Raspberry Pi-Server.

Installieren Sie das Betriebssystem auf Raspberry Pi 5

Folgen Sie dieser Anleitung, um ein Image mit Raspberry Pi Imager zu erstellen.

Ich empfehle die Wahl des Raspberry Pi OS Lite OS, da es im Hinblick auf die leichte Einfachheit die beste Option ist.

Aktivieren Sie in den Imager-Einstellungen das Kontrollkästchen neben SSH aktivieren und wählen Sie Passwortauthentifizierung verwenden. Dadurch können Sie über SSH eine Verbindung zu Ihrem Raspberry Pi herstellen.

Nachdem Sie das Image auf einem USB-Stick erstellt haben, stecken Sie die Flash-Karte in Ihren Raspberry Pi und schalten Sie ihn ein.

Stellen Sie über SSH eine Verbindung zum Raspberry Pi her

  1. Öffnen Sie die Konsole (cmd oder PowerShell unter Windows)
  2. Pingen Sie Ihren Raspberry Pi mit dem folgenden Befehl:
ping raspberrypi.local

Sie erhalten Ping-Statistiken zusammen mit der IP-Adresse Ihres Raspberry Pi.

  1. Verwenden Sie diese IP-Adresse, um eine Verbindung über SSH herzustellen:
SSH pi@<your_raspberry_pi_ip> (for example: SSH pi@192.168.0.10)
  1. Geben Sie das Passwort ein (Standard ist Raspberry). Ich empfehle dringend, dies später zu ändern.
  2. Wenn das Passwort korrekt ist, werden Sie über SSH mit Ihrem Raspberry Pi verbunden.

Bereiten Sie die Umgebung vor

  1. Aktualisieren Sie Ihren Raspberry Pi
sudo apt update
sudo apt upgrade
  1. Installieren Sie Python Raspberry Pi OS wird normalerweise mit vorinstalliertem Python geliefert. Überprüfen Sie, ob es installiert ist:
python3 --version

Wenn Python nicht installiert ist, können Sie es installieren mit:

sudo apt install python3 python3-pip
  1. Richten Sie eine virtuelle Umgebung ein (optional, aber empfohlen) Es empfiehlt sich, eine virtuelle Umgebung zu erstellen, um Ihre Projektabhängigkeiten isoliert zu halten:
sudo apt install python3-venv
python3 -m venv telegram-bot-env
source telegram-bot-env/bin/activate
  1. Installieren Sie die Python Telegram Bot-Bibliothek
pip install python-telegram-bot --upgrade

Erstellen Sie den Bot und führen Sie ihn aus

  1. Erstellen Sie eine neue Python-Datei mit dem Nano-Texteditor
nano bot.py
  1. Schreiben Sie Ihren Bot-Code in diese neue Datei _ (Sie können Code aus meinem vorherigen Artikel verwenden). Drücken Sie STRG + O und drücken Sie dann die Eingabetaste, um die Änderungen zu speichern. Zum Beenden drücken Sie STRG + X.
  2. Führen Sie den Bot aus
python3 bot.py

Ihr Bot läuft jetzt und Sie können ihn auf Telegram testen.

Diese Methode beendet jedoch den Bot, wenn Sie das Terminal schließen.

Damit es im Hintergrund läuft, können wir tmux verwenden

Lassen Sie den Bot mit tmux im Hintergrund laufen

Erstellen Sie ein ausführbares Shell-Skript, um Ihren Bot zu starten

  1. Installieren Sie tmux
sudo apt update
sudo apt install tmux
  1. Erstellen Sie ein neues Shell-Skript, um Ihren Bot zu starten. Sie können es start_bot.sh nennen
nano start_bot.sh
  1. Fügen Sie dem Skript die folgenden Zeilen hinzu und ersetzen Sie bot.py durch den Namen Ihrer Python-Bot-Datei und telegram-bots-env durch Ihren Env-Namen:
#!/bin/bash
source telegram-bots-env/bin/activate
python3 bot.py
  1. Speichern und beenden (STRG + O, Eingabetaste, STRG + X).
  2. Machen Sie das Skript ausführbar:
chmod +x start_bot.sh

Bot über tmux ausführen:

  1. Starten Sie eine neue tmux-Sitzung:
tmux new -s my_bot_session
  1. Führen Sie innerhalb der tmux-Sitzung Ihr Bot-Skript aus:
./start_bot.sh
  1. Trennen Sie die tmux-Sitzung, indem Sie STRG + B und dann D drücken
  2. Erneut an die tmux-Sitzung anhängen (falls erforderlich) Um später wieder eine Verbindung zur tmux-Sitzung Ihres Bots herzustellen, verwenden Sie:
tmux attach -t my_bot_session

Den Bot beim Booten automatisch starten (optional)

Wenn Sie möchten, dass Ihr Bot beim Booten automatisch startet, können Sie einen systemd-Dienst verwenden. So geht's:

  1. Erstellen Sie eine neue Servicedatei:
sudo nano /etc/systemd/system/my_bot.service
  1. Fügen Sie die folgende Konfiguration hinzu und ändern Sie die Pfade nach Bedarf:
[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. Speichern und beenden Sie die Datei.
  2. Laden Sie den systemd-Daemon neu:
sudo systemctl daemon-reload
  1. Aktivieren Sie, dass der Dienst beim Booten startet:
sudo systemctl enable my_bot.service
  1. Starten Sie den Dienst:
sudo systemctl start my_bot.service

Das obige ist der detaillierte Inhalt vonHosten Sie Telegram Bot auf Raspberry Pi 5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn