首页  >  文章  >  后端开发  >  在 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