Guides · 4 分で読めます

ChatGPT Telegramボット構築ガイド:BotFatherから最初の返信まで完全網羅

ChatGPTを使ったTelegramボットの構築方法をステップバイステップで解説。BotFatherでの作成からOpenAI APIの接続、コードまたはノーコードでのデプロイ、制限回避のコツまで、開発者向けに詳しく紹介します。

Mathias Gilson

著者

Mathias Gilson

CEO, Qualtir

ChatGPT Telegramボット構築ガイド:BotFatherから最初の返信まで完全網羅
このページの内容

ChatGPT Telegramボット構築とは、TelegramのBot APIとOpenAIのチャットモデルを接続し、Telegram上でAIと対話できるようにする仕組みです。OpenAIはTelegram公式のChatGPTボットを提供していないため、自身で@BotFatherを通じてボットを作成し、OpenAI APIキーを設定し、両サービスを仲介するブリッジプログラムを動かす必要があります。

本ガイドでは、認証情報の取得からデプロイ、テスト、コスト管理、トラブルシューティングまでを網羅します。コードを書かずにグループへChatGPTを導入したい場合は、まずTelegramグループにChatGPTを追加する5つの方法の比較記事をご覧ください。

重要なポイント:

  • BotFatherのトークンとOpenAI APIキー:すべての構築に必要な2つの認証情報です。
  • Telegram Bot APIは無料:継続的なコストはホスティング費用とOpenAIのトークン使用料のみです。
  • 3つの構築手法:自前でコードをホストする、ノーコードツール(Zapier/Make)を使う、あるいは既存のAIボットサービスを利用する。
  • レート制限への配慮:グループ利用時は注意が必要です。python-telegram-botのFlood Limitガイダンスによると、1グループあたり1分間に約20メッセージが目安です。
  • プライバシーの確認:顧客やチームのメッセージを扱う場合、AI Telegramボットが保存するデータについてを必ず確認してください。

始める前に必要なもの

どのような手法(Pythonコードまたはノーコード)をとる場合でも、以下の基盤が必要です。

項目取得場所備考
Telegramアカウントtelegram.orgBotFatherとの対話に必要
ボットトークン@BotFather (/newbot)機密情報。流出厳禁
OpenAI APIキーplatform.openai.com本番利用には課金設定が必要
ホスティング/自動化VPS, Railway, Replit, Zapier, Make必須(既存ボット製品を除く)
HTTPSエンドポイント自社サーバー等Webhook利用時に必要。Long pollingなら不要

Telegramの公式ボットチュートリアルにある通り、ボットの登録とトークン発行はBotFather経由のみがサポートされています。OpenAIはChat Completions APIを通じてChatGPTの応答機能を提供しており、Telegram専用の製品ではありません。

Telegram BotFather conversation creating a new bot with API token

ステップ1:BotFatherでTelegramボットを作成する

BotFatherはTelegramの公式ボット管理インターフェースです。作業は2分ほどで完了します。

  1. Telegramで @BotFather を検索します。
  2. /start を送信し、続いて /newbot を送信します。
  3. 表示名(ユーザーに見える名前、例:「Acmeサポートアシスタント」)を入力します。
  4. bot で終わるユーザー名(例:acme_support_bot)を入力します。これは世界で一意である必要があります。
  5. BotFatherから返されるHTTP APIトークンをコピーします。公開リポジトリではなく、パスワードマネージャー等で安全に保管してください。

公開前に設定しておくと便利なBotFatherコマンド:

  • /setdescription:ボットとのチャット開始時に表示される説明文
  • /setabouttext:プロフィール欄の短い紹介文
  • /setcommands:start - 開始 や reset - 履歴をクリア などのメニュー項目
  • /setuserpic:ロゴやアイコン画像の設定
BotFatherとの対話例
あなた: /newbot
BotFather: 新しいボットですね。名前は何にしますか?
あなた: Acmeサポートアシスタント
BotFather: いいですね。次にボットのユーザー名を決めてください。
あなた: acme_support_bot
BotFather: 完了です!このトークンを使ってHTTP APIにアクセスしてください: 7123456789:AAH...

ステップ2:OpenAI APIキーを取得する

次に、ボットで使用するモデルのAPIアクセスを有効にします。

  1. platform.openai.com にログインします。
  2. API keys を開き、新しいシークレットキーを作成します。
  3. キーは一度しか表示されないため、必ずコピーして保存してください。
  4. テスト以上のトラフィックを見込む場合は、Billingから支払い方法を設定してください。

OpenAIダッシュボードで利用制限を設定し、予期せぬループやスパム攻撃でアカウントの残高が枯渇しないようにしましょう。小規模なボットであれば、gpt-4o-mini がコストと品質のバランスに優れています。デフォルトモデルを決める前に、OpenAIの価格ページで最新のトークン単価を確認してください。

Telegram chat with AI bot replying to a user message

ステップ3:構築手法を選択する

「公式」のスタックは存在しません。スキルと必要な制御レベルに合わせて選んでください。

手法A:自前でコードをホストする(開発者向け)

独自のロジックが必要な場合や、社内APIへのアクセス、データフローを完全に制御したい場合に最適です。

典型的なスタック:

  • 言語: Python (python-telegram-bot, aiogram) または Node.js (telegraf, grammY)
  • フロー: Telegramの更新を受信 → OpenAIのChat Completionsを呼び出し → sendMessage で返信
  • デプロイ: VPS上のDocker, Railway, Render, Fly.ioなど
  • 更新取得: 開発時はLong polling、本番環境ではWebhook

Pythonの最小構成例:

from openai import OpenAI
from telegram import Update
from telegram.ext import Application, MessageHandler, filters

client = OpenAI()
TOKEN = "YOUR_TELEGRAM_BOT_TOKEN"

async def handle_message(update: Update, context):
 user_text = update.message.text
 response = client.chat.completions.create(
 model="gpt-4o-mini",
 messages=[{"role": "user", "content": user_text}],
 )
 await update.message.reply_text(response.choices[0].message.content)

app = Application.builder().token(TOKEN).build()
app.add_handler(MessageHandler(filters. TEXT & ~filters. COMMAND, handle_message))
app.run_polling()

ChatGPT-Telegram-Botのようなオープンソースのスターターキットを使えば、管理者制限やモデル切り替え、クラウドへのワンクリックデプロイが可能です。基本的なプライベートボットなら半日、本番環境向け(エラー処理、レート制限、ログ記録など)なら1〜3週間を見込んでください。TeleClawと自作ボットのコスト比較については、詳細なタイムラインを別途解説しています。

手法B:ノーコード自動化(ZapierまたはMake)

サーバー管理をせずに、個人用や低頻度のボットを作りたい場合に最適です。

ワークフローの例:

  1. トリガー: Telegram Bot(新しいメッセージを監視)
  2. アクション: OpenAI(ユーザーのテキストでチャット完了を作成)
  3. アクション: Telegram Bot(モデルの出力を同じチャットIDに返信)

MakeのChatGPT Telegramガイドはこの3ステップに従っています。Zapierも同様の連携を提供しています。メリットは構築の容易さですが、会話メモリの制御が難しく、無料プランではタスク数の制限がある点がデメリットです。

手法C:既存のAIボットを追加する(グループ向け)

ボットのインフラを所有するのではなく、今すぐTelegramグループにAIアシスタントを導入したい場合に最適です。

Telegram内で既存のAIボットを検索するか、グループ専用に設計された製品を利用しましょう。2026年のTelegram向けベストAIボットでは、APIキー不要でメンションに反応するTeleClawなど、グループでの利用に適したオプションを比較しています。

ステップ4:デプロイと更新設定

自前でホストする場合、プロセスを24時間365日稼働させ、Telegramからのメッセージ取得方法を選択する必要があります。

Long polling (getUpdates): スクリプトがループでTelegramに新しいメッセージを問い合わせます。開発には簡単で、パブリックURLも不要です。

Webhooks: 誰かがボットにメッセージを送ると、TelegramがHTTPS URLにJSONをPOSTします。低遅延で本番環境に適しています。Bot API仕様に基づき、ポート443, 80, 88, 8443でのTLS通信が必要です。

Webhookの登録コマンド例(プレースホルダーを置き換えてください):

curl "https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://your-domain.com/webhook"

ホスト環境で設定する環境変数:

  • TELEGRAM_BOT_TOKEN(BotFatherより)
  • OPENAI_API_KEY(OpenAIより)
  • オプション: ALLOWED_USER_IDS(カンマ区切りのTelegramユーザーID。知らない人からの利用を制限する場合)

再起動ポリシー:Dockerの restart: always などを使用し、クラッシュ時にボットが停止したままにならないようにします。

ステップ5:テスト、アクセス制限、公開

ボットのリンクを共有する前に、以下のチェックリストを実行してください。

  1. DMテスト: ボットに直接メッセージを送り、数秒以内に適切な返信が来るか確認します。
  2. グループテスト: テスト用グループに追加し、意図した通りに反応するか(コマンド、メンション、返信など)確認します。
  3. エラー処理: 空のメッセージや未対応のファイル形式を送信し、プロセスがクラッシュせずに適切に処理されるか確認します。
  4. 許可リスト: ベータ期間中は特定のTelegramユーザーIDのみ利用可能に制限します。
  5. システムプロンプト: OpenAIへのリクエストに system メッセージを含め、ボットの口調や範囲、NG事項を定義します。
  6. プライバシー: ログの記録内容と保持期間を文書化します。Telegramボットのプライバシー慣行を確認し、プロバイダーに尋ねるべき質問を把握しましょう。
成功例:最初のやり取り
あなた: /start
ボット: こんにちは。ChatGPTに接続されました。Acmeのドキュメントについて何でも聞いてください。リセットするには /reset と入力してください。
あなた: 返金ポリシーを教えて。
ボット: API呼び出しが100回を超えていない場合、購入から14日以内であれば返金可能です。人間によるサポートが必要な場合はこちらに返信してください。

コスト、制限、よくある間違い

Telegram: Bot APIにメッセージごとの料金はありません。複数のボットを無料で作成可能です。

OpenAI: トークン単位(入力+出力)での課金です。小規模な個人用ボットなら月額数ドル程度ですが、大規模グループで活発に利用されると、モデルや利用量に応じて数十〜数百ドルかかる場合があります。

ホスティング: 最低限のVPSで月額5〜15ドル程度。実験用であればRailwayやReplitの無料枠も利用可能です(スリープや制限に注意)。

レート制限: Telegramは送信頻度が高すぎるボットを制限します。コミュニティで推奨される安全圏は、全チャット合計で毎秒30メッセージ、単一グループでは毎分20メッセージ程度です。制限を超えるとHTTP 429エラーが返されるため、バックオフ処理やキューイングを実装してください。

よくある間違い:

  • ボットトークンの流出: GitHubやスクリーンショットにトークンが含まれたら、直ちにBotFatherで /revoke してください。
  • OpenAIの利用上限設定なし: 許可リストのない公開ボットは、短時間で悪用される可能性があります。
  • 会話履歴の無制限送信: 全履歴を毎回送信するとコストが倍増します。古い履歴はトリミングや要約をしてください。
  • グループでのマナー無視: すべてのメッセージに反応すると迷惑です。メンション、コマンド、または返信フィルターを活用しましょう。

よくある質問(FAQ)

OpenAIは公式のChatGPT Telegramボットを提供していますか?

いいえ。OpenAIはTelegram用のネイティブなChatGPTボットを公開していません。BotFather、OpenAI API、ホスティング環境を使って自身で接続するか、サードパーティ製のボットを利用する必要があります。

ChatGPT Telegramボットを無料で構築できますか?

Telegram側は無料ですが、OpenAI APIは少額の試用クレジットを超えると有料です。また、多くの本番環境では有料のホスティングが必要です。低トラフィックのテストであれば安価に実験できますが、運用を続ける場合はAPIとサーバーのコストを考慮してください。

ボット構築にプログラミング知識は必要ですか?

必須ではありません。ZapierやMakeなどのノーコードツールを使えば、PythonやNode.jsなしでもTelegramとOpenAIを橋渡しできます。ただし、独自の挙動や社内データベース連携、厳格なデータ管理が必要な場合は、コードを書くか、専用の管理プラットフォームを利用するのが一般的です。

WebhookとLong pollingのどちらを使うべきですか?

ローカル開発時はLong pollingを使い、本番環境ではWebhookに切り替えてください。Webhookを使えば、ボットが常に問い合わせるのではなく、Telegram側からHTTPSエンドポイントへ更新をプッシュしてくれます。なお、1つのボットで両方を同時に使用することはできません。

既存のTelegramグループにChatGPTを追加するには?

グループ情報画面からボットをメンバーとして追加し、すべてのメッセージに反応させるか、コマンドやメンションのみに反応させるかを設定します。グループ用ボットは個人チャットよりも送信制限が厳しいため注意が必要です。ノーコードオプションを含む比較は、TelegramグループにChatGPTを追加する方法をご覧ください。

まとめ

ChatGPT Telegramボット構築は、BotFatherトークン、OpenAI APIキー、そして両者を仲介する常時稼働のブリッジという3つの要素で成り立っています。開発者は自前のスクリプトとWebhookで最大限の柔軟性を得られます。非エンジニアの方は、個人利用であればZapierやMakeが便利です。インフラを維持せずにグループでAIを活用したいチームは、Telegram向けベストAIボットガイドで既存の選択肢を比較検討することをお勧めします。

まずはBotFatherとプライベートなテストチャットから始めてみてください。返信が適切であることを確認したら、許可リストの制限、OpenAIの利用上限設定、プライバシー確認を行い、ユーザーを招待しましょう。構築やメンテナンスが難しい場合は、メンションに反応するノーコードの代替手段としてTeleClawも検討してみてください。

関連記事