エージェントをTelegramに接続する

所要時間およそ5分。完了すれば、スマートフォンやデスクトップの実際のTelegramチャットから、あなたのエージェントと会話できるTelegramボットができあがります。

はじめる前に

  • すでにデプロイ済みで、ポータルに active と表示されているエージェント
  • スマートフォンまたはデスクトップのTelegramアカウント(無料、開発者アカウントは不要)
  • 所要時間およそ5分
最初に押さえておく考え方

Telegramの「ボット」とは、人ではなくソフトウェアが動かしているTelegramアカウントのことです。Telegramには @BotFather という、ほかのボットを作るための公式ボットが組み込まれています。@BotFather にメッセージを送ってトークンを取得し、それをOpenClawに貼り付けるだけで、あなたのエージェントがTelegramチャットから利用できるようになります。

ステップ 1 — Telegramを開いてBotFatherに話しかける

  1. Telegramを開きます(モバイルでもデスクトップでもどちらでも構いません)。
  2. 検索バーに @BotFather と入力し、青い認証済みチェックマークの付いた結果をタップします。そっくりなアカウントは選ばないでください。チェックマークが付いているのは公式アカウントだけです。
  3. Start を押します。

ステップ 2 — 新しいボットを作成する

  1. /newbot をチャットメッセージとして送信します。
  2. BotFatherが 表示名 を尋ねてきます。これはチャットの上部にユーザーが見る名前です。読みやすければ何でも構いません。例: Acme Support
  3. 続いて ユーザー名 を尋ねられます。以下の条件を満たす必要があります:
    • 末尾が bot であること(例: acme_support_bot
    • Telegram全体で一意であること(何度か試す必要があるかもしれません)
    • 使えるのは英字、数字、アンダースコアのみ
  4. BotFatherから、HTTP APIトークン を含むメッセージが返ってきます。次のような形式です:
    123456789:ABCdefGHIjklMNOpqrSTUvwxYZ1234567890
トークンはパスワードと同じように扱ってください

このトークンを持っている人は誰でも、あなたのボットとしてメッセージを読んだり投稿したりできます。公開チャット、スクリーンショット、gitコミットには絶対に貼り付けないでください。万一漏えいした場合は、BotFatherに /revoke を送って無効化し、新しいトークンを発行してください。

ステップ 3 — トークンをOpenClawに貼り付ける

  1. Cloudoポータルで、接続したいエージェントの Open my OpenClaw をクリックします。専用サブドメイン上のあなた専用のOpenClaw UIが開きます。
  2. Channels タブを開きます。
  3. Telegram をクリックし、続いて Connect をクリックします。
  4. ステップ2のトークンを Bot Token 欄に貼り付けます。
  5. Save をクリックします。OpenClawがTelegramのgetMe エンドポイントを呼び出してトークンを検証し、次のように表示します:
    Connected as @acme_support_bot (Acme Support)

ステップ 4 — 最初のメッセージを送る

  1. Telegramで、ボットのユーザー名(末尾が bot)を検索します。
  2. Start をタップします。
  3. 何かメッセージを送ってみてください。設定した話し方で、数秒以内にエージェントから返事が来るはずです。

10秒ほど経っても返信が来ない場合は、下の トラブルシューティング をご覧ください。

仕上げ(任意)

ボットコマンドを設定する(ユーザーにメニューを表示)

@BotFather に戻り、/setcommands を送って対象のボットを選び、次のようなリストを送ります:

help - Show what I can do
reset - Start over
contact - Talk to a human

Telegramはこれらをチャット内のメニューとして表示します。各コマンドの意味をエージェントのSOULが理解していることを必ず確認してください。そうでなければメニューは飾りに過ぎません。

プロフィール画像と説明文

こちらも @BotFather から設定します:

  • /setuserpic — 正方形の画像をアップロード(あなたのロゴで大丈夫です)
  • /setdescription — チャットを初めて開いた人に表示される短い文章
  • /setabouttext — ボットのプロフィールに表示される、さらに短い文章

プライバシーモード(グループチャット)

既定では、グループチャット内のボットは、自分宛てのメンションや返信のみを受け取ります(「プライバシーモード」)。エージェントにグループ内のすべてのメッセージを読ませたい場合は、BotFatherに /setprivacy を送り、Disable を選びます。ほとんどのボットではこれは有効のままにしておくべきです。すべてのグループメッセージを読み取るのは押しつけがましく、クレジットの消費も早くなります。

トラブルシューティング

ボットは「オンライン」なのに返信しない

次の順に確認してください:

  1. OpenClawの Channels タブで、接続のステータスが connected のままになっているか
  2. ポータルの クレジット残高 — ゼロに達している場合、エージェントは応答できません。チャージしてから再度試してください。
  3. エージェントの 会話ログ — ダッシュボードを開き、直近のメッセージを確認します。受信したメッセージは見えるのに返信が送られていない場合は、詳細を添えてサポートまでご連絡ください。診断をお手伝いします。

“401 Unauthorized” や “invalid token”

トークンが間違っているか、無効化されています。@BotFather に戻り、/mybots を送って対象のボットを選び、API Token を選択します。現在のトークンをコピーし、OpenClawのTelegramチャネル設定に貼り付けて保存してください。

メッセージを送ったのにOpenClawに届かない

TelegramはWebhookまたはロングポーリングでメッセージを配信します。OpenClawは既定でWebhookを使うため、Telegramからあなたのエージェントのサブドメインにアクセスできる必要があります。次を確認してください:

  • ポータルの Open my OpenClaw の横に表示されているエージェントのサブドメインがブラウザで読み込め、OpenClawのUIが表示されること。これによりTLSと到達性は問題なしと判断できます。(sslip形式のサブドメインは自己署名証明書を使うため、初回アクセス時にブラウザの警告が出ますが、開発用テナントでは想定どおりの挙動です。)
  • OpenClawのボットトークンが、現在BotFatherが表示しているボットのトークンと一致していること。
  • 同じボットをうっかり2つのOpenClawインスタンスに接続していないこと。TelegramのWebhookは単一エンドポイントのため、最後に設定した方が勝ちます。

それでも解決しない場合は、ポータルからチケットを作成し、テナントID、ボットのユーザー名(トークンではありません)、届かなかったメッセージのタイムスタンプを添えてください。VM上のエージェントログを確認できます。

ボットを削除したい

@BotFather から /deletebot を送り、ボットを選んで確認します。ユーザー名は削除後およそ24時間予約されるため、すぐに同じ名前を再利用することはできません。


以上です。OpenClawがDiscordとSlackも同時に処理しながら、同じボットがTelegramでもお客様に応答できます。1つのエージェントですべてのチャネルに対応、サーフェスごとの追加設定は不要です。次は: Discordに接続する または Slack

Telegramを接続する — Cloudo ドキュメント