言語を切り替える
テーマを切り替える

OpenClaw Telegram連携ガイド:Bot作成から設定完了まで30分で構築する

午前2時、コードデバッグ中にふとAIに聞きたいことが浮かびました。ブラウザを開き、ChatGPTにログインし、ロードを待つ——この数分のプロセスがひどく煩わしく感じました。「Telegramで友達と話す感覚でAIに聞けたらいいのに」と。

実は、この願いはOpenClawとTelegram Botを使えば簡単に叶います。複雑なバックエンド開発もサーバー設定も不要。このチュートリアル通りに進めれば、30分後には24時間待機するAIプライベートアシスタントが手に入ります。

初めてTelegramでBotから返信が来た時の感動は忘れられません。今日はその全プロセスを、私が踏んだ落とし穴やトラブルシューティングも含めて手取り足取り教えます。準備はいいですか?

準備:知っておくべき基本概念

作業を始める前に、いくつかの重要な概念を整理しておきましょう。

Telegram Botとは?
普通のユーザーアカウントとは異なり、自動応答プログラムのためのインターフェースです。メッセージを受け取り、返信を返すことはできますが、Botから自発的に会話を始めることはできません(ユーザー開始が必須)。

BotFatherとは?
Telegram公式の「Bot工場」です。全てのBotはこのBotFatherを通じて作成・管理します。Botを使ってBotを作る——初めて聞いた時は面白い概念だと思いました。

OpenClawの役割
TelegramとAIモデル(Claude/GPTなど)を繋ぐ「橋渡し役」です。Telegramからメッセージを受け取り、AIに投げ、AIの回答をTelegramに戻します。この連携処理をOpenClawが担うため、あなたはコードを書く必要がありません。

4
必要な準備アイテム

準備するもの

  • Telegramアカウント
  • インストール済みのOpenClaw(未導入ならインストールガイド参照)
  • AIモデルのAPI Key(Claude, GPT, Gemini等)

OpenClawはマルチプラットフォーム(Telegram, WhatsApp等)かつマルチモデル対応なので、一度環境を作れば拡張も簡単です。

ステップ1:BotFatherでBotを作成する

では始めましょう。Telegramを開き、検索バーに @BotFather と入力します。青い認証マークがついた公式アカウントを選んでください(偽物に注意)。

Bot作成フロー:

  1. BotFatherに /newbot コマンドを送信
  2. Botの表示名を聞かれるので入力(例:“My AI Assistant”)
  3. Botのユーザー名を決定します。要件:必ず bot で終わり、全Telegram内で一意であること。(例:MyAwesomeAI2026Bot
    AIAssistantBot のような一般的な名前はまず取れません。数字やイニシャルを足して工夫してください。

Tokenの取得(最重要):
作成に成功すると、BotFatherが以下のようなTokenを表示します:

123456789:ABCdefGHIjklMNOpqrsTUVwxyz1234567890

これは家の鍵と同じです。このTokenがあれば誰でもあなたのBotを操作できてしまいます。パスワード管理ソフト等に保存し、絶対にチャットや公開リポジトリに貼り付けないでください。

推奨設定(オプション):

  • /setdescription:Botの紹介文設定
  • /setabouttext:プロフィール画面の「About」設定
  • /setuserpic:アイコン画像の設定

自分のユーザーIDを取得:
後のホワイトリスト設定で必要になります。Telegramで @userinfobot を検索し、/start を送信すると、あなたの数字ID(例:123456789)が返ってきます。これもメモしておいてください。

ステップ2:OpenClawのTelegram Channel設定

Bot Tokenを手に入れたら、OpenClaw側の設定です。実体は JSON の編集です。

設定ファイルの場所
2026 年時点では、状態ディレクトリは多くの場合 ~/.openclaw/、メイン設定は openclaw.json です。Telegram のキー階層と既定値は 公式 Telegram チャンネル文書 を正としてください。旧資料の ~/.clawdbot/config/channels.json は改名前のパスです。まだ旧ディレクトリだけ残している場合は、シリーズの改名記事に沿って移行してください。Docker では OPENCLAW_HOME / ~/.openclaw にマウントが合っているか必ず確認してください。

理解を助ける示意(単独利用で自分のユーザー ID を明示許可する例。既定の DM ポリシーは環境によって pairing になることがあるので、実キー名・既定値は公式と onboard が生成したファイルを優先):

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "YOUR_BOT_TOKEN_HERE",
      "dmPolicy": "allowlist",
      "allowFrom": [123456789]
    }
  }
}

押さえるポイント

  • botToken:BotFather の Token。前後にスペースや余計な引用符を入れない
  • dmPolicy / allowFrom:誰が Bot に DM できるか。単独利用なら allowlist + 自分の数値 ID が分かりやすい
  • 公式既定が pairing の場合、初回 DM はゲートウェイ側で openclaw pairing approve telegram <CODE> が必要になることがあります(公式手順参照)
  • enabled:チャンネルのオンオフ

編集方法(例)

nano ~/.openclaw/openclaw.json

Docker の場合は、マウント先の同じファイル名をコンテナ内外のどちらから編集するかを決めてください。

注意点

  • JSON は厳密(末尾カンマ禁止など)
  • allowFrom は配列。1 人でも [123456789] の形
  • Token の貼り付けミスが最多原因

JSONLint 等で検証してから保存すると安全です。

ステップ3:アクセス制御(DM ポリシー)で Bot を守る

公開 Bot として誰でも使わせる運用でない限り、誰が Bot に DM できるかを絞るのが最重要です。設定が緩いと、Token が流出したときに第三者があなたの AI 課金枠を消費できます。

なぜ必須か

  • API 課金の暴走を防ぐ
  • 会話に含まれる業務情報の漏えいを抑える

設定の考え方
公式では channels.telegram 配下の dmPolicy と allowFrom などで DM を制御します(詳細は上記公式ドキュメント)。

単独ユーザー(自分だけ許可)の例:

"dmPolicy": "allowlist",
"allowFrom": [123456789]

チーム(複数ユーザー):

"dmPolicy": "allowlist",
"allowFrom": [123456789, 987654321, 555555555]

他人の ID を得るには

  1. 相手に @userinfobot で ID を確認してもらう
  2. より推奨される流れとして、一度 Bot に DM してもらい、openclaw logs --follow などで from.id を拾う(公式のガイダンス参照)

退職・権限変更時は allowFrom から速やかに外す運用を推奨します。

pairing について
既定が pairing の場合、初回 DM ではゲートウェイで openclaw pairing approve telegram <CODE> が必要になることがあります。ID だけで完結させたい場合は allowlist + allowFrom を検討してください(いずれも公式の説明に従うこと)。

ステップ4:起動と接続テスト

設定が終わったら、いよいよ起動です。

Gateway の起動:

# ローカル(フォアグラウンド)
openclaw gateway
# または systemd / launchd 等に入れている場合
openclaw gateway start

# Docker
docker compose up -d

ログ確認:
ちゃんと接続できたかログを見ます。

docker compose logs openclaw -f

成功していれば以下のようなログが出ます:

[INFO] Loading Telegram channel: telegram-main
[INFO] Telegram bot connected successfully
[INFO] Listening for messages...

初会話テスト:

  1. Telegramで自分のBotを検索
  2. Start ボタンを押す
  3. 「こんにちは」と送ってみる
  4. 数秒でAIから返信が来れば成功!

自分のBotが初めて喋った瞬間は、なんとも言えない嬉しさがあります。もし無反応なら、次のトラブルシューティングへ。

よくあるトラブルと解決策

Botが動かない? 9割は以下のどれかです。

Q1: Botが全く反応しない

  • Gateway(openclaw gateway / サービス)は動いていますか?
  • Tokenは正しいですか?(スペースが入っていないか)
  • あなたのユーザー ID が dmPolicy / allowFrom(または pairing 承認)の条件を満たしていますか?
  • JSONの構文エラーで起動に失敗していませんか?
  • AIのAPI Key残高はありますか?

Q2: “Unauthorized” や “Forbidden” エラーが出る

  • allowFrom に自分の ID が入っていない、または pairing 未承認の可能性が高いです。
  • IDは数字です。["123456789"] ではなく [123456789] と書いてください。
  • 設定変更後、Gateway を再起動しましたか?

Q3: レスポンスが遅い

  • 高機能モデル(OpusやGPT-4)は遅めです。HaikuやGPT-3.5で試してみてください。
  • サーバーのネットワーク状況も影響します。

Q4: 設定を変えたのに反映されない

  • 再起動が必要です!
docker compose restart
# または
systemctl restart openclaw

Q5: Tokenが漏洩した!

  1. BotFatherで /revoke を送り、古いTokenを無効化。
  2. /token で新Token発行。
  3. ~/.openclaw/openclaw.json の botToken を更新し、Gateway を再起動。

上級編:さらに使いこなす

カスタムコマンドメニュー
BotFatherで /setcommands を使い、メニューを作れます:

start - 会話開始
help - ヘルプ表示
clear - 記憶消去

これでユーザーは / を入力するだけでコマンドを選べます。

マルチモデル割り当て
OpenClawはユーザーごとに使用するAIモデルを変えられます。「管理者はGPT-4、一般メンバーはGPT-3.5」といった運用が可能。詳細は公式ドキュメントのMulti-Modelセクション参照。

Skillsとの連携
これが真骨頂です。ファイル操作、Web検索、Shell実行などのSkillを導入すれば、Telegramからサーバー操作や調査依頼が可能になります。(※強力なためセキュリティには要注意)

結論

振り返ると、BotFatherでの作成、JSON設定、ホワイトリスト登録、起動——これだけで自分専用のAIアシスタントが完成します。

ハマりポイントの復習:

  • Tokenの扱いは慎重に
  • dmPolicy / allowFrom(または pairing)で DM を制限
  • JSONのカンマミスに気をつける
  • 設定変更後は必ず Gateway を再起動

これで、いつでもどこでもTelegramからAIに相談できるようになりました。ブラウザを開く手間も、ログイン待ちもありません。

次はWhatsApp連携や、カスタムスキルの開発にも挑戦してみてください。OpenClawの可能性は無限大です。

OpenClaw Telegram Bot完全設定フロー

ゼロからTelegram AIアシスタントを構築する手順:Bot作成、設定、セキュリティ、テスト

⏱️ 目安時間: 30 分

  1. 1

    ステップ1: Step 1: Bot作成 (BotFather)

    Telegramで @BotFather を検索。
    /newbot コマンドで作成開始。
    表示名とユーザー名(botで終わる一意の名前)を設定。
    発行されたBot Tokenを安全に保存。
    @userinfobot で自分のID(数字)を取得。
  2. 2

    ステップ2: Step 2: openclaw.json で Telegram を設定

    ~/.openclaw/openclaw.json を編集し、channels.telegram 以下に botToken と dmPolicy / allowFrom を設定(公式ドキュメントのキー名を確認)。

    示意:
    channels.telegram.enabled = true
    channels.telegram.botToken = (BotFather の Token)
    channels.telegram.dmPolicy = allowlist
    channels.telegram.allowFrom = [自分の数値ID]

    Docker では OPENCLAW_HOME / マウント先が ~/.openclaw を指すか確認。
  3. 3

    ステップ3: Step 3: アクセス制御

    allowFrom に許可する Telegram ユーザー ID(数値)を列挙。
    pairing 運用の場合は公式手順に従い openclaw pairing approve を実行。

    複数人運用では ID と氏名の対応表を残し、退職時に必ず削除。
  4. 4

    ステップ4: Step 4: 起動とテスト

    ローカル: openclaw gateway、または openclaw gateway start(daemon 済みの場合は status 確認)。
    Docker: docker compose up -d。

    ログで Telegram チャンネルがロードされたか確認し、Bot にテストメッセージを送る。npm start は一般的な運用では使わない。
  5. 5

    ステップ5: Step 5: トラブル対応

    無反応ならログ確認。
    設定変更時は必ず再起動(docker compose restart)。

FAQ

Botがメッセージに反応しません。
主な原因:
1. allowFrom や pairing 承認が不足している
2. Tokenの設定ミス(スペース混入など)
3. Gateway が起動していない
4. JSONエラーで起動失敗している
5. AIのAPI残高切れ
チームメンバーを追加するには?
メンバーに @userinfobot でIDを確認してもらい、channels.telegram.allowFrom に追加し、Gateway を再起動してください。
Tokenが漏洩したら?
BotFatherで /revoke して無効化し、新Tokenを発行。openclaw.json の botToken を更新し、Gateway を再起動。
ユーザーごとに使うAIモデルを変えられますか?
はい、OpenClawのMulti-Model機能で可能です。ユーザーIDやグループごとにモデルを割り当てられます。
設定を変えたのに動きません。
設定ファイルの変更を反映するには、OpenClawサービスの再起動(restart)が必須です。

5 min read · 公開日: 2026年2月5日 · 更新日: 2026年4月16日

関連記事

コメント

GitHubアカウントでログインしてコメントできます