«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Размещение бота Telegram на Raspberry Pi 5

Размещение бота Telegram на Raspberry Pi 5

Опубликовано 4 ноября 2024 г.
Просматривать:301

Host Telegram Bot on Raspberry Pi 5

Оглавление:

  • Введение
  • Установить ОС на Raspberry Pi 5
  • Подключиться к Raspberry Pi через SSH
  • Подготовьте вариант
  • Создание и запуск бота
  • Держите бот работающим в фоновом режиме с помощью tmux
  • Автоматический запуск бота при загрузке (необязательно)

Введение

В моей предыдущей статье я продемонстрировал, как создать и запустить бота Telegram с использованием Python. Вы можете найти его здесь

В этом руководстве я расскажу вам, как разместить бота Telegram на вашем собственном сервере Raspberry Pi.

Установить ОС на Raspberry Pi 5

Следуйте этому руководству, чтобы создать образ с помощью Raspberry Pi Imager.

Я рекомендую выбрать ОС Raspberry Pi OS Lite, потому что это лучший вариант с точки зрения легкости и простоты.

В настройках имидж-сканера установите флажок Включить SSH и выберите использовать аутентификацию по паролю. Это позволит вам подключиться к Raspberry Pi через SSH.

После создания образа на USB-накопителе вставьте флэш-карту в Raspberry Pi и включите его.

Подключитесь к Raspberry Pi через SSH.

  1. Откройте консоль (cmd или PowerShell в Windows)
  2. Отправьте на Raspberry Pi следующую команду:
ping raspberrypi.local

Вы получите статистику пинга вместе с IP-адресом вашего Raspberry Pi.

  1. Используйте этот IP-адрес для подключения через SSH:
SSH pi@ (for example: SSH [email protected])
  1. Введите пароль (по умолчанию — малиновый). Я настоятельно рекомендую изменить это позже.
  2. Если пароль верен, вы будете подключены к Raspberry Pi через SSH.

Подготовить вариант

  1. Обновите Raspberry Pi
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. Создайте новый файл Python с помощью текстового редактора nano.
nano bot.py
  1. Запишите код своего бота в этот новый файл _ (вы можете использовать код из моей предыдущей статьи). Нажмите CTRL O, затем нажмите Enter, чтобы сохранить изменения. Для выхода нажмите CTRL X.
  2. Запустить бота
python3 bot.py

Ваш бот теперь запущен, и вы можете протестировать его в Telegram.

Однако этот метод завершит работу бота при закрытии терминала.

Чтобы он работал в фоновом режиме, мы можем использовать tmux

Поддерживайте работу бота в фоновом режиме с помощью tmux

Создайте исполняемый сценарий оболочки для запуска вашего бота

  1. Установить tmux
sudo apt update
sudo apt install tmux
  1. Создайте новый сценарий оболочки для запуска бота. Вы можете назвать его 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:

  1. Начать новый сеанс tmux:
tmux new -s my_bot_session
  1. Внутри сеанса tmux запустите скрипт бота:
./start_bot.sh
  1. Отключитесь от сеанса tmux, нажав CTRL B, затем D
  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
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/dmitry-koleev/host-telegram-bot-on-raspberry-pi-5-16ld?1 Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3