首頁  >  文章  >  後端開發  >  在 Raspberry Pi 5 上託管 Telegram 機器人

在 Raspberry Pi 5 上託管 Telegram 機器人

Patricia Arquette
Patricia Arquette原創
2024-09-25 06:28:37774瀏覽

Host Telegram Bot on Raspberry Pi 5

目錄:

  • 簡介
  • 在 Raspberry Pi 5 上安裝作業系統
  • 透過 SSH 連接到 Raspberry Pi
  • 準備好歡樂
  • 創建並運行機器人
  • 使用 tmux 讓機器人在背景運作
  • 啟動時自動啟動機器人(選購)

簡介

在上一篇文章中,我示範如何使用 Python 建立和運行 Telegram 機器人。你可以在這裡找到它

在本指南中,我將引導您在自己的 Raspberry Pi 伺服器上託管 Telegram 機器人。

在樹莓派 5 上安裝作業系統

依照本指南使用 Raspberry Pi Imager 建立映像。

我建議選擇 Raspberry Pi OS Lite 作業系統,因為它是輕量級簡單性的最佳選擇。

在成像儀設定中,選取啟用 SSH 旁的複選框,然後選擇使用密碼驗證。這將允許您透過 SSH 連接到您的 Raspberry Pi。

在 USB 隨身碟上建立鏡像後,將快閃記憶體卡插入樹莓派並開啟。

透過 SSH 連接到樹莓派

  1. 開啟控制台(Windows 上的 cmd 或 PowerShell)
  2. 使用以下指令對您的 Raspberry Pi 進行 Ping:
ping raspberrypi.local

您將收到 ping 統計資料以及 Raspberry Pi 的 IP 位址。

  1. 使用此 IP 位址透過 SSH 連線:
SSH pi@<your_raspberry_pi_ip> (for example: SSH pi@192.168.0.10)
  1. 輸入密碼(預設是raspberry)。我強烈建議稍後更改此設定。
  2. 如果密碼正確,您將透過 SSH 連接到您的 Raspberry Pi。

準備衝突

  1. 更新您的樹莓派
sudo apt update
sudo apt upgrade
  1. 安裝Python Raspberry Pi 作業系統通常預先安裝了 Python。檢查是否已安裝:
python3 --version

如果未安裝Python,您可以使用以下指令安裝:

sudo apt install python3 python3-pip
  1. 設定虛擬環境(可選但建議) 建立虛擬環境來隔離專案依賴項是一個很好的做法:
sudo apt install python3-venv
python3 -m venv telegram-bot-env
source telegram-bot-env/bin/activate
  1. 安裝 Python Telegram 機器人庫
pip install python-telegram-bot --upgrade

創建並運行機器人

  1. 使用 nano 文字編輯器建立一個新的 Python 文件
nano bot.py
  1. 在這個新檔案中寫入您的機器人程式碼_(您可以使用我上一篇文章中的程式碼)。按 CTRL + O,然後按 Enter 鍵儲存變更。若要退出,請按 CTRL + X。
  2. 運行機器人
python3 bot.py

您的機器人現在已經運行,您可以在 Telegram 上測試它。

但是,當您關閉終端時,此方法將終止機器人。

為了讓它在背景運行,我們可以使用 tmux

使用 tmux 讓機器人在背景運行

建立可執行的 Shell 腳本來啟動您的機器人

  1. 安裝 tmux
sudo apt update
sudo apt install tmux
  1. 建立一個新的 shell 腳本來啟動您的機器人。您可以將其命名為start_bot.sh
nano start_bot.sh
  1. 將以下行加入腳本中,將 bot.py 替換為您的 Python 機器人檔案的名稱,將 telegram-bots-env 替換為您的環境名稱:
#!/bin/bash
source telegram-bots-env/bin/activate
python3 bot.py
  1. 儲存並退出(CTRL + O、Enter、CTRL + X)。
  2. 使腳本可執行:
chmod +x start_bot.sh

透過 tmux 運行 Bot:

  1. 啟動一個新的 tmux 會話:
tmux new -s my_bot_session
  1. 在 tmux 會話中,執行您的機器人腳本:
./start_bot.sh
  1. 按 CTRL + B,然後按 D 從 tmux 會話分離
  2. 重新附加到 tmux 會話(如果需要) 要稍後重新連接到機器人的 tmux 會話,請使用:
tmux attach -t my_bot_session

啟動時自動啟動機器人(可選)

如果您希望您的機器人在啟動時自動啟動,您可以使用 systemd 服務。方法如下:

  1. 建立一個新的服務文件:
sudo nano /etc/systemd/system/my_bot.service
  1. 新增以下配置,依需求修改路徑:
[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. 儲存並退出檔案。
  2. 重新載入 systemd 守護程式:
sudo systemctl daemon-reload
  1. 啟用服務開機自啟動:
sudo systemctl enable my_bot.service
  1. 啟動服務:
sudo systemctl start my_bot.service

以上是在 Raspberry Pi 5 上託管 Telegram 機器人的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn