python-telegram-bot AIツール

python-telegram-botは、TelegramボットをPythonで作るための完全無料・オープンソースのライブラリ(v22.8)。Telegram Bot API 10.0を完全サポートし、非同期処理・会話管理・スケジュール実行など高水準な機能を標準搭載する。

last-updated: 2026-07-15 · source: database

github_stars29.3k
pricing完全無料・オープンソース(LGPL-3.0)/ 有料プランなし
licenseGPL-3.0
japanese不明

概要

python-telegram-bot(略称:PTB)は、メッセージアプリ「Telegram」上で動くボット(自動応答プログラム)をPythonで開発するための、完全無料・オープンソースのライブラリです。2026年7月時点の最新版はv22.8で、Telegram Bot API 10.0のすべての型・メソッドをネイティブサポートしています。Python 3.10以上に対応しており、pip install python-telegram-bot の一行で導入できます。

なぜ注目されるのか――それは「難しいAPI通信の部分を全部ライブラリが肩代わりしてくれる」からです。たとえるなら、Telegramと会話するための「通訳兼秘書」を雇うようなもの。送受信の低レベルな処理はすべてライブラリが担い、開発者は「ユーザーが『こう言ったら、こう返す』」というルールを書くだけでボットを動かせます。会話の流れを管理する仕組みや、決まった時間にメッセージを自動送信する機能なども標準で揃っており、個人開発者がAIと連携したボットを作るうえでも広く採用されています。

主な機能

Telegram Bot API 10.0のすべての型とメソッドをネイティブサポート。公式APIが更新されると、PTBもほぼ同時に対応バージョンをリリースするため、最新機能をいち早く使えます。

ライブラリ全体が非同期(asyncio)で設計されており、複数ユーザーからのメッセージを同時にさばくことができます。「列に並ばせる」のではなく、複数の窓口を同時に開けるイメージです。

「名前を聞く→年齢を聞く→確認する」のように、複数ステップにわたる対話の流れを管理できるクラスです。ユーザーがどのステップにいるかをライブラリが自動で追跡するため、登録フォームやアンケートボットをシンプルに作れます。

指定した時刻・間隔・曜日・月次などで、自動的にメッセージを送信したりタスクを実行したりできる仕組みです。「毎朝9時に天気を送る」「30秒後にリマインドする」といった定期処理を数行のコードで実現できます。

開発中はPolling(ライブラリ側からTelegramに定期的に確認を取る方式)、本番環境ではWebhook(TelegramからサーバーへリアルタイムにPUSHしてもらう方式)を選べます。オプション依存 [webhooks] を追加するだけで切り替え可能です。

PicklePersistence などの仕組みを使うと、ボットを再起動してもユーザーとの会話の途中状態やデータを保持し続けることができます。ファイルに書き出してデータを維持するイメージです。

公式のexamplesディレクトリにはエコーボット・会話ボット・タイマーボットなど多数のサンプルが含まれており、コードはパブリックドメインとして公開されています。そのままコピーして改造からスタートできます。また、公式のTelegramグループとチャンネルで活発なサポートが行われています。

料金プラン

プラン費用内容
オープンソース版(唯一のプラン)完全無料全機能利用可・ライセンスはLGPL-3.0

> python-telegram-botそのものに料金プランは存在しません。開発チームはメンテナンスをホビー活動として行っており、寄付の受付も行っていません。ボット動作に必要なTelegram Bot APIも無料で利用できます。ただし、AIと連携する場合(例:OpenAI APIなど)は、各サービスの利用料が別途発生します。

導入方法

Step 1: Telegram でボットトークンを取得する Telegramアプリで公式ボット「@BotFather」にメッセージを送り、/newbot コマンドを実行するとAPIトークン(認証キー)が発行されます。

Step 2: ライブラリをインストールする

pip install python-telegram-bot

スケジュール送信(JobQueue)も使う場合は:

pip install "python-telegram-bot[job-queue]"

Webhookを使う場合は:

pip install "python-telegram-bot[webhooks]"

Step 3: 最小構成のボットを書いてみる

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

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text('こんにちは!')

app = ApplicationBuilder().token("あなたのBOT_TOKEN").build()
app.add_handler(CommandHandler("start", start))
app.run_polling()

Step 4: 実行する

python your_bot.py

Telegramで /start と送るとボットが「こんにちは!」と返します。あとはこのコードを土台にして、AIのAPIを呼び出す処理などを追加していくことができます。

こんな人におすすめ

コマンド送信・ボタン操作・画像送受信など、チャットボットに必要な機能が一通り揃っています。Pythonの基礎さえあればすぐ始められます。

OpenAIやGeminiなどのAPIと組み合わせることで、Telegramから直接AIに質問できる個人用チャットボットを構築できます。実際にそうした活用事例が多数あります。

JobQueueを使えば、天気情報・株価・リマインダーなどを決まった時間に自動でTelegramに届けるボットを作れます。毎朝のニュース配信ボットなどに最適です。

サーバー上のPythonスクリプトをTelegramのコマンドで起動・確認できるようにする、という使い方にも向いています。

よくある質問

Q. プログラミングの経験がほとんどありませんが使えますか? A. Pythonの基本的な書き方(変数・関数・if文)を理解していれば始めることができます。公式のサンプルコードがパブリックドメインで公開されており、コピーして改造するだけでも動くものが作れます。ただし、コードを自分で読み書きする必要はあります。完全にノーコードでは動きません。

Q. 料金はかかりますか? A. python-telegram-bot自体は完全無料・オープンソース(LGPL-3.0ライセンス)です。Telegram Bot APIも無料で使えます。ただし、AIと連携する場合はOpenAIなど各社のAPI利用料が別途必要です。また、ボットを24時間動かすにはサーバー(VPSやクラウド)の費用が必要になる場合があります。

Q. ChatGPTなどのAIと組み合わせることはできますか? A. はい、できます。python-telegram-botはメッセージの送受信部分を担当するライブラリなので、ユーザーからのメッセージを受け取ったあとにOpenAIなどのAPIを呼び出し、その結果をTelegramに返す、という構成を作ることができます。Pythonのコードで自由に組み合わせられます。

Q. 最新のTelegram機能(スタンプ・支払いなど)には対応していますか? A. はい、2026年7月時点でTelegram Bot API 10.0のすべての型とメソッドをネイティブサポートしています。ライブラリは頻繁にアップデートされており、TelegramのAPI更新に追随しています。

APIオープンソース(OSS)クラウド認証(ログイン機能)トークンノーコード / ローコード