В моей предыдущей статье я продемонстрировал, как создать и запустить бота Telegram с использованием Python. Вы можете найти его здесь
В этом руководстве я расскажу вам, как разместить бота Telegram на вашем собственном сервере Raspberry Pi.
Следуйте этому руководству, чтобы создать образ с помощью Raspberry Pi Imager.
Я рекомендую выбрать ОС Raspberry Pi OS Lite, потому что это лучший вариант с точки зрения легкости и простоты.
В настройках имидж-сканера установите флажок Включить SSH и выберите использовать аутентификацию по паролю. Это позволит вам подключиться к Raspberry Pi через SSH.
После создания образа на USB-накопителе вставьте флэш-карту в Raspberry Pi и включите его.
ping raspberrypi.local
Вы получите статистику пинга вместе с IP-адресом вашего Raspberry Pi.
SSH pi@(for example: SSH [email protected])
sudo apt update sudo apt upgrade
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
pip install python-telegram-bot --upgrade
nano bot.py
python3 bot.py
Ваш бот теперь запущен, и вы можете протестировать его в Telegram.
Однако этот метод завершит работу бота при закрытии терминала.
Чтобы он работал в фоновом режиме, мы можем использовать tmux
sudo apt update sudo apt install tmux
nano start_bot.sh
#!/bin/bash source telegram-bots-env/bin/activate python3 bot.py
chmod x start_bot.sh
tmux new -s my_bot_session
./start_bot.sh
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
sudo systemctl daemon-reload
sudo systemctl enable my_bot.service
sudo systemctl start my_bot.service
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3