エージェントをTelegramに接続する
所要時間およそ5分。完了すれば、スマートフォンやデスクトップの実際のTelegramチャットから、あなたのエージェントと会話できるTelegramボットができあがります。
はじめる前に
- すでにデプロイ済みで、ポータルに active と表示されているエージェント
- スマートフォンまたはデスクトップのTelegramアカウント(無料、開発者アカウントは不要)
- 所要時間およそ5分
Telegramの「ボット」とは、人ではなくソフトウェアが動かしているTelegramアカウントのことです。Telegramには @BotFather という、ほかのボットを作るための公式ボットが組み込まれています。@BotFather にメッセージを送ってトークンを取得し、それをOpenClawに貼り付けるだけで、あなたのエージェントがTelegramチャットから利用できるようになります。
ステップ 1 — Telegramを開いてBotFatherに話しかける
- Telegramを開きます(モバイルでもデスクトップでもどちらでも構いません)。
- 検索バーに
@BotFatherと入力し、青い認証済みチェックマークの付いた結果をタップします。そっくりなアカウントは選ばないでください。チェックマークが付いているのは公式アカウントだけです。 - Start を押します。
ステップ 2 — 新しいボットを作成する
/newbotをチャットメッセージとして送信します。- BotFatherが 表示名 を尋ねてきます。これはチャットの上部にユーザーが見る名前です。読みやすければ何でも構いません。例:
Acme Support。 - 続いて ユーザー名 を尋ねられます。以下の条件を満たす必要があります:
- 末尾が
botであること(例:acme_support_bot) - Telegram全体で一意であること(何度か試す必要があるかもしれません)
- 使えるのは英字、数字、アンダースコアのみ
- 末尾が
- BotFatherから、HTTP APIトークン を含むメッセージが返ってきます。次のような形式です:
123456789:ABCdefGHIjklMNOpqrSTUvwxYZ1234567890
このトークンを持っている人は誰でも、あなたのボットとしてメッセージを読んだり投稿したりできます。公開チャット、スクリーンショット、gitコミットには絶対に貼り付けないでください。万一漏えいした場合は、BotFatherに /revoke を送って無効化し、新しいトークンを発行してください。
ステップ 3 — トークンをOpenClawに貼り付ける
- Cloudoポータルで、接続したいエージェントの Open my OpenClaw をクリックします。専用サブドメイン上のあなた専用のOpenClaw UIが開きます。
- Channels タブを開きます。
- Telegram をクリックし、続いて Connect をクリックします。
- ステップ2のトークンを Bot Token 欄に貼り付けます。
- Save をクリックします。OpenClawがTelegramの
getMeエンドポイントを呼び出してトークンを検証し、次のように表示します:Connected as @acme_support_bot (Acme Support)
ステップ 4 — 最初のメッセージを送る
- Telegramで、ボットのユーザー名(末尾が
bot)を検索します。 - Start をタップします。
- 何かメッセージを送ってみてください。設定した話し方で、数秒以内にエージェントから返事が来るはずです。
10秒ほど経っても返信が来ない場合は、下の トラブルシューティング をご覧ください。
仕上げ(任意)
ボットコマンドを設定する(ユーザーにメニューを表示)
@BotFather に戻り、/setcommands を送って対象のボットを選び、次のようなリストを送ります:
help - Show what I can do
reset - Start over
contact - Talk to a humanTelegramはこれらをチャット内のメニューとして表示します。各コマンドの意味をエージェントのSOULが理解していることを必ず確認してください。そうでなければメニューは飾りに過ぎません。
プロフィール画像と説明文
こちらも @BotFather から設定します:
/setuserpic— 正方形の画像をアップロード(あなたのロゴで大丈夫です)/setdescription— チャットを初めて開いた人に表示される短い文章/setabouttext— ボットのプロフィールに表示される、さらに短い文章
プライバシーモード(グループチャット)
既定では、グループチャット内のボットは、自分宛てのメンションや返信のみを受け取ります(「プライバシーモード」)。エージェントにグループ内のすべてのメッセージを読ませたい場合は、BotFatherに /setprivacy を送り、Disable を選びます。ほとんどのボットではこれは有効のままにしておくべきです。すべてのグループメッセージを読み取るのは押しつけがましく、クレジットの消費も早くなります。
トラブルシューティング
ボットは「オンライン」なのに返信しない
次の順に確認してください:
- OpenClawの Channels タブで、接続のステータスが connected のままになっているか
- ポータルの クレジット残高 — ゼロに達している場合、エージェントは応答できません。チャージしてから再度試してください。
- エージェントの 会話ログ — ダッシュボードを開き、直近のメッセージを確認します。受信したメッセージは見えるのに返信が送られていない場合は、詳細を添えてサポートまでご連絡ください。診断をお手伝いします。
“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。
