„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Hosten Sie Telegram Bot auf Raspberry Pi 5

Hosten Sie Telegram Bot auf Raspberry Pi 5

Veröffentlicht am 04.11.2024
Durchsuche:534

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 und Ausführen des Bots
  • 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 diesem Leitfaden begleite 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-Flash-Laufwerk 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@ (for example: SSH [email protected])
  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. Python installieren 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. Eine virtuelle Umgebung einrichten (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.

Um es im Hintergrund laufen zu lassen, 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 die folgenden Zeilen zum Skript hinzu und ersetzen Sie bot.py durch den Namen Ihrer Python-Bot-Datei und telegram-bots-env durch Ihren Umgebungsnamen:
#!/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
Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/dmitry-koleev/host-telegram-bot-on-raspberry-pi-5-16ld?1 Bei Verstößen wenden Sie sich zum Löschen bitte an [email protected] Es
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3