ホームページ  >  記事  >  バックエンド開発  >  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 に OS をインストールする
  • SSH 経由で Raspberry Pi に接続します
  • 環境を準備します
  • ボットを作成して実行する
  • tmux を使用してボットをバックグラウンドで実行し続ける
  • 起動時にボットを自動的に開始する (オプション)

はじめに

前回の記事では、Python を使用して Telegram Bot を作成して実行する方法を説明しました。ここで見つけることができます

このガイドでは、Telegram ボットを独自の Raspberry Pi サーバーでホストする方法を説明します。

Raspberry Pi 5にOSをインストールする

このガイドに従って、Raspberry Pi Imager を使用してイメージを作成します。

Raspberry Pi OS Lite OS を選択することをお勧めします。これは、軽量でシンプルな点で最良の選択肢であるためです。

イメージャー設定で、SSH を有効にする の横のボックスにチェックを入れ、パスワード認証を使用する を選択します。これにより、SSH 経由で Raspberry Pi に接続できるようになります。

USB フラッシュ ドライブにイメージを作成した後、フラッシュ カードを Raspberry Pi に挿入し、電源を入れます。

SSH経由でRaspberry Piに接続する

  1. コンソールを開きます (Windows では cmd または PowerShell)
  2. 次のコマンドを Raspberry Pi に ping します。
ping raspberrypi.local

Raspberry Pi の IP アドレスとともに ping 統計を受け取ります。

  1. SSH 経由で接続するには、この IP アドレスを使用します。
SSH pi@<your_raspberry_pi_ip> (for example: SSH pi@192.168.0.10)
  1. パスワードを入力します (デフォルトはラズベリー)。これを後で変更することを強くお勧めします。
  2. パスワードが正しければ、SSH 経由で Raspberry Pi に接続されます。

環境の準備

  1. Raspberry Pi をアップデートする
sudo apt update
sudo apt upgrade
  1. Python をインストールする Raspberry Pi OS には通常、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 を使用してボットをバックグラウンドで実行し続ける

ボットを起動するための実行可能シェル スクリプトを作成する

  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. 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。