ホームページ  >  記事  >  バックエンド開発  >  Python で Telegram ボットを作成する

Python で Telegram ボットを作成する

Barbara Streisand
Barbara Streisandオリジナル
2024-09-19 20:16:031109ブラウズ

Create a Telegram Bot on Python

目次:

  1. Telegram ボットとは何ですか?
  2. 前提条件
  3. Telegram でボットを作成する
  4. Python 環境のセットアップ
  5. ボット コードの作成
  6. ボットの導入
  7. 結論

1. Telegram ボットとは何ですか?

ボットは、完全に Telegram アプリ内で実行される小さなアプリケーションです。ユーザーは、あらゆる種類のタスクやサービスをサポートできる柔軟なインターフェイスを通じてボットと対話します。

ボットについて詳しくは、公式ドキュメントをご覧ください:
ボット
Telegram ボット API


2. 前提条件

ボットの作成に入る前に、次のものが必要です:

  • Telegram アカウント: 携帯電話に Telegram アプリをダウンロードすると、簡単に作成できます。
  • Python がインストールされています: Python 3 を使用するので、Python 3 がコンピューターにインストールされていることを確認してください。 ダウンロードリンク
  • Python の基本知識: Python の構文とパッケージを理解すると、コードをナビゲートするのに役立ちます。この本をお勧めします Python で退屈なことを自動化する
  • BotFather アクセス: BotFather は、新しいボットの管理と作成に役立つ組み込みの Telegram ボットです。
  • VS Code(オプション): ボットの作成に使用します。ただし、他のエディタを自由に選択してください。しかし、私はこれを使用することをお勧めします。 ここでは、VS Code の最新バージョンをダウンロードできます。また、Python 用にそれを設定する方法についても説明します。

3. Telegram でボットを作成する

独自のボットを作成するには、Telegram でボットを登録および管理するための公式ツールである BotFather を使用する必要があります。

手順:

  1. Telegram を開き、BotFather ボットを検索します。 (検索メニューに @botfather と入力します)
  2. 「/start」と入力して BotFather とのチャットを開始します。
  3. 「/newbot」と入力して新しいボットを作成します。
  4. ボットの名前を指定するように求められます。一意の名前を入力します (例: Hello World)。
  5. BotFather はボットのユーザー名を要求します。ユーザー名は「bot」で終わる必要があります (例: HelloWorldBot)。
  6. これらの手順を完了すると、BotFather から トークン が与えられます。このトークンはボットを認証し、Telegram の API と対話できるようにするため、非常に重要です。

重要: トークンを非公開にし、公に共有しないでください。


4. Python環境のセットアップ

次に、Telegram API と対話できるように Python 環境をセットアップする必要があります。 Telegram ボットを開発するためのシンプルで使いやすいインターフェイスを提供する python-telegram-bot ライブラリを使用します。

手順:

python-telegram-bot ライブラリをインストールします:
次のコマンドを実行して、必要なライブラリをインストールします:

 pip install python-telegram-bot 

新しい Python ファイルを作成します。 ボットのコードを保持するには、my_bot.py のような名前を付けます。


5. ボットコードの作成

環境の準備ができたので、ボット コードを作成しましょう。

サンプルコード

これは、/start および /help コマンドに応答する基本的なボットです:

import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

# Enable logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)
logger = logging.getLogger(__name__)

# Define a start function to respond to the /start command
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text('Hello! I am your bot. How can I help you today?')

# Define a help function to respond to the /help command
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text('You can use the following commands:\n/start - Start the bot\n/help - Get help')

def main():
    # Create the application and pass the bot token
    application = ApplicationBuilder().token('YOUR_BOT_TOKEN_HERE').build()

    # Add command handlers for /start and /help
    application.add_handler(CommandHandler("start", start))
    application.add_handler(CommandHandler("help", help_command))

    # Start the bot and run it until manually stopped
    application.run_polling(allowed_updates=Update.ALL_TYPES)

if __name__ == '__main__':
    main()

説明:

  • インポート: ボットを構築するために telegram および telegram.ext モジュールをインポートします。これらは、Telegram API と対話するために必要なクラスと関数を提供します。
  • ログ: イベントとエラーを追跡するためにログが有効になります。
  • Start および Help コマンド: ユーザーが対応するコマンドをトリガーしたときにメッセージを送信する 2 つの関数 (start と help_command) を定義します。
  • トークン: 「YOUR_BOT_TOKEN_HERE」を BotFather から受け取ったトークンに置き換えます。
  • ポーリング: ボットはポーリングを使用して新しいメッセージを常にチェックし、受信したメッセージに応答します。

ボットの実行:

  1. コード内のプレースホルダー トークンをボットのトークンに置き換えます。
  2. Python スクリプトを実行します。
 python my_bot.py

ボットが起動して実行されています。 Telegram を開き、/start または /help コマンドをボットに送信すると、応答します。


6. ボットの導入

ローカル マシンでボットを実行するのはテストには最適ですが、24 時間年中無休で利用できるようにしたい場合はどうすればよいでしょうか?これを実現するには、ボットをサーバーまたはクラウド サービスにデプロイします。

一般的な展開オプション:

  • Heraku: ボットをホストできる無料のクラウド プラットフォーム。
  • AWS (アマゾン ウェブ サービス): よりスケーラブルですが、初心者向けにいくつかの設定が必要な場合があります。
  • VPS (仮想プライベート サーバー): サーバーを完全に制御できます。
  • PythonAnywhere: 無料枠のある初心者向けのオプション。 各プラットフォームは、Python アプリケーションをデプロイするための独自の方法を提供します。選択したサービスに固有の導入チュートリアルに従うことができます。

7. 結論

おめでとうございます! Python を使用して基本的な Telegram ボットを作成できました。次の方法を学びました:

  • BotFather を使用して Telegram ボットをセットアップします。
  • コマンドを処理するための Python コードを作成します。
  • ローカルでボットを実行し、Telegram で対話します。

次に、python-telegram-bot からボットの例を学ぶことをお勧めします


これは一連の記事です。次の記事では、PythonAnywhere でボットをホストする方法、独自の Raspberry PI サーバーでボットをホストする方法、およびより複雑なボットを作成する方法について説明します。

以上がPython で Telegram ボットを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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