目錄:
- 簡介
- 在 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 連接到樹莓派
- 開啟控制台(Windows 上的 cmd 或 PowerShell)
- 使用以下指令對您的 Raspberry Pi 進行 Ping:
ping raspberrypi.local
您將收到 ping 統計資料以及 Raspberry Pi 的 IP 位址。
- 使用此 IP 位址透過 SSH 連線:
SSH pi@<your_raspberry_pi_ip> (for example: SSH pi@192.168.0.10) </your_raspberry_pi_ip>
- 輸入密碼(預設是raspberry)。我強烈建議稍後更改此設定。
- 如果密碼正確,您將透過 SSH 連接到您的 Raspberry Pi。
準備衝突
- 更新您的樹莓派
sudo apt update sudo apt upgrade
- 安裝Python Raspberry Pi 作業系統通常預先安裝了 Python。檢查是否已安裝:
python3 --version
如果未安裝Python,您可以使用以下指令安裝:
sudo apt install python3 python3-pip
- 設定虛擬環境(可選但建議) 建立虛擬環境來隔離專案依賴項是一個很好的做法:
sudo apt install python3-venv python3 -m venv telegram-bot-env source telegram-bot-env/bin/activate
- 安裝 Python Telegram 機器人庫
pip install python-telegram-bot --upgrade
創建並運行機器人
- 使用 nano 文字編輯器建立一個新的 Python 文件
nano bot.py
- 在這個新檔案中寫入您的機器人程式碼_(您可以使用我上一篇文章中的程式碼)。按 CTRL + O,然後按 Enter 鍵儲存變更。若要退出,請按 CTRL + X。
- 運行機器人
python3 bot.py
您的機器人現在已經運行,您可以在 Telegram 上測試它。
但是,當您關閉終端時,此方法將終止機器人。
為了讓它在背景運行,我們可以使用 tmux
使用 tmux 讓機器人在背景運行
建立可執行的 Shell 腳本來啟動您的機器人
- 安裝 tmux
sudo apt update sudo apt install tmux
- 建立一個新的 shell 腳本來啟動您的機器人。您可以將其命名為start_bot.sh
nano start_bot.sh
- 將以下行加入腳本中,將 bot.py 替換為您的 Python 機器人檔案的名稱,將 telegram-bots-env 替換為您的環境名稱:
#!/bin/bash source telegram-bots-env/bin/activate python3 bot.py
- 儲存並退出(CTRL + O、Enter、CTRL + X)。
- 使腳本可執行:
chmod +x start_bot.sh
透過 tmux 運行 Bot:
- 啟動一個新的 tmux 會話:
tmux new -s my_bot_session
- 在 tmux 會話中,執行您的機器人腳本:
./start_bot.sh
- 按 CTRL + B,然後按 D 從 tmux 會話分離
- 重新附加到 tmux 會話(如果需要) 要稍後重新連接到機器人的 tmux 會話,請使用:
tmux attach -t my_bot_session
啟動時自動啟動機器人(可選)
如果您希望您的機器人在啟動時自動啟動,您可以使用 systemd 服務。方法如下:
- 建立一個新的服務文件:
sudo nano /etc/systemd/system/my_bot.service
- 新增以下配置,依需求修改路徑:
[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
- 儲存並退出檔案。
- 重新載入 systemd 守護程式:
sudo systemctl daemon-reload
- 啟用服務開機自啟動:
sudo systemctl enable my_bot.service
- 啟動服務:
sudo systemctl start my_bot.service
以上是在 Raspberry Pi 5 上託管 Telegram 機器人的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Tomergelistsinpython,YouCanusethe操作員,estextMethod,ListComprehension,Oritertools

在Python3中,可以通過多種方法連接兩個列表:1)使用 運算符,適用於小列表,但對大列表效率低;2)使用extend方法,適用於大列表,內存效率高,但會修改原列表;3)使用*運算符,適用於合併多個列表,不修改原列表;4)使用itertools.chain,適用於大數據集,內存效率高。

使用join()方法是Python中從列表連接字符串最有效的方法。 1)使用join()方法高效且易讀。 2)循環使用 運算符對大列表效率低。 3)列表推導式與join()結合適用於需要轉換的場景。 4)reduce()方法適用於其他類型歸約,但對字符串連接效率低。完整句子結束。

pythonexecutionistheprocessoftransformingpypythoncodeintoExecutablestructions.1)InternterPreterReadSthecode,ConvertingTingitIntObyTecode,whepythonvirtualmachine(pvm)theglobalinterpreterpreterpreterpreterlock(gil)the thepythonvirtualmachine(pvm)

Python的關鍵特性包括:1.語法簡潔易懂,適合初學者;2.動態類型系統,提高開發速度;3.豐富的標準庫,支持多種任務;4.強大的社區和生態系統,提供廣泛支持;5.解釋性,適合腳本和快速原型開發;6.多範式支持,適用於各種編程風格。

Python是解釋型語言,但也包含編譯過程。 1)Python代碼先編譯成字節碼。 2)字節碼由Python虛擬機解釋執行。 3)這種混合機制使Python既靈活又高效,但執行速度不如完全編譯型語言。

UseeAforloopWheniteratingOveraseQuenceOrforAspecificnumberoftimes; useAwhiLeLoopWhenconTinuingUntilAcIntiment.forloopsareIdealForkNownsences,而WhileLeleLeleLeleLeleLoopSituationSituationsItuationsItuationSuationSituationswithUndEtermentersitations。

pythonloopscanleadtoerrorslikeinfiniteloops,modifyingListsDuringteritation,逐個偏置,零indexingissues,andnestedloopineflinefficiencies


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版
中文版,非常好用

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境