Telegram Bot API: はじめに

Telegram は、WhatsApp や Facebook Messenger に似たメッセージング アプリです。 これはロシアの起業家 Pavel Durov によって作成され、セキュリティとスピードに重点を置いていることで知られています。 Telegram を使用すると、ユーザーはメッセージ、写真、ビデオ、その他のファイルを他のユーザーに送信したり、最大 200,000 人のメンバーとのグループ チャットを作成したりできます。 iOS、Android、デスクトップ (Windows および OSX) など、さまざまなプラットフォームで利用できます。

詳しくはGiorgos Myrianthous誰でもわかるAPI

テレグラム API の種類

テレグラムは2種類の アピス 開発者向け。 お茶 ボット API インターフェイスに Telegram メッセージを使用するプログラムを簡単に作成できます。 お茶 テレグラム API と TDLib 独自のカスタマイズされた Telegram クライアントを構築できます。

この記事では、Bot API を使用します。 開発者 ボットをアプリケーションやシステムに接続します。 ボットは、電話番号を設定する必要のない特別なアカウントであり、1 つまたは複数のサーバーで実行されるコードのインターフェイスに対応します。

テレグラムとは?

Telegram は、WhatsApp や Facebook Messenger に似たメッセージング アプリです。 これはロシアの起業家 Pavel Durov によって作成され、セキュリティとスピードに重点を置いていることで知られています。 Telegram を使用すると、ユーザーはメッセージ、写真、ビデオ、その他のファイルを他のユーザーに送信したり、最大 200,000 人のメンバーとのグループ チャットを作成したりできます。 iOS、Android、デスクトップ (Windows および OSX) など、さまざまなプラットフォームで利用できます。

Bot API にはいくつかのラッパーが存在することに注意してください。 これらのラッパーはさまざまな言語で書かれており、プログラムで API. このチュートリアルでは、 パイソン お客様。

Telegram Bot API のユースケース

Telegram Bot API は、ビデオや画像の操作から、通知の管理を担当するシステムまで、さまざまな目的で使用できます。 Telegram Bot API のその他の潜在的な使用例には、インタラクティブなビルドが含まれます ゲーム またはパーソナライズされたニュースの更新を提供します。

さらに、Telegram Bot API を使用すると、他のサービスと簡単に統合して外部 API とやり取りできるボットを作成できます。 たとえば、Telegram Bot API を利用する通知システムを構築できます。この API は、GitHub Actions API を呼び出して、ビルドが失敗または成功したときに通知します。

Telegram ボット API の使用方法

  1. Python ライブラリをインストールします。
  2. Telegram ボット API トークンを取得します。
  3. Telegram ボットを構築します。

1. Python ライブラリをインストールする

Python-telegram-bot Telegram Bot API の非同期インターフェースです。 まず、このチュートリアルの一部として必要な依存関係をインストールするために使用する新しい仮想環境を作成しましょう。

python3 -m vevn ~/telegram-tutorial-venv

仮想環境を作成したので、先に進んでアクティブ化できます。

source ~/telegram-tutorial-venv/bin/activate

最後に、Telegram Bot API の Python ラッパーをインストールしましょう。 おしっこ:

pip install python-telegram-bot --pre --upgrade

2. Telegram Bot API トークンを取得する

Telegram Bot API を利用するには、最初に API エンドポイントへの後続のリクエストで使用されるトークンを生成する必要があります (これは Python クライアントによって処理されますが、このトークンを 1 回渡す必要があります)。 )。

Telegram アプリケーション (モバイルまたはデスクトップのいずれか) で、 ボットの父 アカウント (確認済みのものを使用してください):

Telegram Bot API のトークンを生成するために使用される BotFather アカウント。 写真: 作者によるスクリーンショット。

次に、次の手順に従います。

  • 画面下部の「開始」ボタンをクリックします。
  • 親切 /newbot をクリックし、Enter をクリックします
  • 次に、ボットの名前を選択します。
Telegram アプリのスクリーンショット
写真:作者によるスクリーンショット。
  • 最後に、ユーザー名を選択します (これは一意である必要があります)。
Telegram アプリのスクリーンショット
写真:作者によるスクリーンショット。

応答で、生成されたトークンにアクセスできるはずです。これを使用して、新しく作成したボットを制御できます。

3. Telegram ボットを構築する

新しく作成した Telegram ボットのトークンを生成したので、ロジックの構築を開始できます。 ユーザーがボットと対話できるようにするには、いくつかのコマンドを提供する必要があります。

まず、ユーザーが入力するたびに表示される適切なウェルカム メッセージを作成しましょう。 /start:

from telegram import Update
from telegram.ext import Application, ContextTypes, CommandHandler


token = ''

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await context.bot.send_message(
     chat_id=update.effective_chat.id, 
     text="Hello and welcome to the BuiltIn Telegram bot!"
    )

if __name__ == '__main__':
    application = Application.builder().token(token).build()
    
    start_handler = CommandHandler('start', start)
    application.add_handler(start_handler)
    application.run_polling()

それでは、この機能をテストしましょう。

Telegram アプリのスクリーンショット
写真:作者によるスクリーンショット。

では、ビルドしてみましょう /help 基本的に、ボットでサポートされているすべてのコマンドを一覧表示してユーザーに通知するコマンドです。

from telegram import Update
from telegram.ext import Application, ContextTypes, CommandHandler


token = ''

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await context.bot.send_message(
     chat_id=update.effective_chat.id, 
     text="Hello and welcome to the BuiltIn Telegram bot!"
    )

async def help(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await context.bot.send_message(
     chat_id=update.effective_chat.id, 
     text="""
     The BuiltIn Telegram bot supports the following commands:
      - /start: Welcoming users
      - /help: List of supported commands (you are here)
      - /first_name: Reports the user's first name
      - /last_name: Reports the user's last name
     """
    )

if __name__ == '__main__':
    application = Application.builder().token(token).build()
    
    start_handler = CommandHandler('start', start)
    application.add_handler(start_handler)

    help_handler = CommandHandler('help', help)
    application.add_handler(help_handler)

    application.run_polling()

ユーザーが呼び出したときの応答は次のとおりです。 /help 指図:

Telegram アプリのスクリーンショット
写真:作者によるスクリーンショット。

最後に、ユーザーが呼び出されるたびにユーザーの姓名を報告するために使用できる 2 つの追加のハンドラーを作成しましょう。

from telegram import Update
from telegram.ext import Application, ContextTypes, CommandHandler


token = ''

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await context.bot.send_message(
     chat_id=update.effective_chat.id, 
     text="Hello and welcome to the BuiltIn Telegram bot!"
    )

async def help(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await context.bot.send_message(
     chat_id=update.effective_chat.id, 
     text="""
     The BuiltIn Telegram bot supports the following commands:
      - /start: Welcoming users
      - /help: List of supported commands (you are here)
      - /first_name: Reports the user's first name
      - /last_name: Reports the user's last name
     """
    )

async def first_name(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int:
    await context.bot.send_message(
     chat_id=update.effective_chat.id, 
     text=f'Your first name is {update.message.from_user.first_name}'
    )


async def last_name(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int:
    await context.bot.send_message(
     chat_id=update.effective_chat.id, 
     text=f'Your last name is {update.message.from_user.last_name}'
    )



if __name__ == '__main__':
    application = Application.builder().token(token).build()
    
    start_handler = CommandHandler('start', start)
    application.add_handler(start_handler)

    help_handler = CommandHandler('help', help)
    application.add_handler(help_handler)

    first_name_handler = CommandHandler('first_name', first_name)
    application.add_handler(first_name_handler)

    last_name_handler = CommandHandler('last_name', last_name)
    application.add_handler(last_name_handler)

    application.run_polling()

それでは、完成したボットの動作を見てみましょう。

Telegram アプリのスクリーンショット
写真:作者によるスクリーンショット。

ソフトウェア開発の詳細Terraform 環境変数の概要

Telegram ボット API の使用を開始する

Telegram は常に勢いを増しており、現在では世界中で最も人気のあるメッセージング アプリケーションの 1 つになっています。 このチュートリアルでは、新しい Telegram ボットを作成する方法、API 呼び出しに使用するトークンを生成する方法、およびその周りに機能を構築する方法を示しました。

Telegram Bot API と Python クライアントのごく一部しか触れていません。 必ずお読みください ドキュメンテーション API とクライアント自体の全機能をより包括的に理解するために。

.

Leave a Comment

Your email address will not be published. Required fields are marked *