--- title: Telegram description: Telegram Bot API 経由で CowAgent を接続 --- > 公式の Telegram Bot API を通じて CowAgent を接続します。1 対 1 チャットおよびグループチャット(@メンションまたはボットへの返信で起動)に対応。Long Polling 方式のため公開 IP は不要で、すぐに利用できます。 ## 1. 接続手順 ### ステップ 1: BotFather で Bot を作成 1. Telegram で公式アカウント [@BotFather](https://t.me/BotFather) を開きます。 2. `/newbot` を送り、案内に従って入力します: - **Bot 名**(表示名、例: `My CowAgent Bot`) - **Bot ユーザー名**(`bot` で終わる必要があります、例: `my_cowagent_bot`) 3. 作成完了後、BotFather から **HTTP API Token**(例: `123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ`)が返されます。大切に保管してください。 Token は Bot のパスワードに相当します。漏えいしないよう注意してください。万が一漏れた場合は `@BotFather` に `/revoke` を送って再発行できます。 ### ステップ 2:(グループ利用時)Privacy Mode を無効化 1 対 1 チャットのみ利用する場合はスキップ可能です。Telegram Bot は既定で **Privacy Mode** が有効で、グループ内では `@bot` 接尾辞付きのコマンド(例: `/start@your_bot`)と、Bot メッセージへの返信のみ受信できます。**通常の `@bot こんにちは` のようなテキストメッセージは届きません**。そのままだとグループで反応しないので、必要に応じて以下を設定してください。 `@BotFather` に対して: 1. `/setprivacy` を送信 2. 作成した Bot を選択 3. `Disable` を選択 設定後もグループで反応しない場合は、Bot を一度グループから外して再度追加してみてください。 ### ステップ 3: CowAgent に接続 Web コンソール(既定 `http://127.0.0.1:9899`)を開き、**チャネル** メニュー → **チャネルを追加** → **Telegram** を選択し、Bot Token を貼り付けて接続をクリックします。 `config.json` に以下を追加して Cow を起動します: ```json { "channel_type": "telegram", "telegram_token": "123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ", "telegram_group_trigger": "mention_or_reply" } ``` | パラメータ | 説明 | 既定値 | | --- | --- | --- | | `telegram_token` | BotFather から発行された HTTP API Token | - | | `telegram_group_trigger` | グループのトリガー方式: `mention_or_reply`(@ または返信)/ `mention_only`(@ のみ)/ `all`(全メッセージ) | `mention_or_reply` | | `telegram_register_commands` | 起動時に BotFather にコマンドメニューを登録するかどうか | `true` | ログに以下のような出力が表示されれば接続成功です: ``` [Telegram] Bot logged in as @my_cowagent_bot (id=123456789) [Telegram] Registered 10 bot commands [Telegram] ✅ Telegram bot ready, polling for updates ``` ## 2. 機能 | 機能 | 対応状況 | | --- | --- | | 1 対 1 チャット | ✅ | | グループチャット(@bot / Bot への返信) | ✅ | | テキストメッセージ | ✅ 送受信 | | 画像メッセージ | ✅ 送受信 | | 音声メッセージ | ✅ 送受信(OGG/Opus) | | 動画メッセージ | ✅ 送受信 | | ファイルメッセージ | ✅ 送受信(PDF / Word / Excel など) | | コマンドメニュー | ✅ Web コンソールの slash コマンドと一致 | ### コマンドメニュー 起動時に BotFather へコマンドメニューを自動登録します。Telegram の入力欄で `/` を入力するとサジェストが表示されます: | コマンド | 説明 | | --- | --- | | `/help` | コマンドヘルプを表示 | | `/status` | 実行ステータスを確認 | | `/context` | 対話コンテキストを表示(`/context clear` でクリア) | | `/skill` | スキル管理(`/skill list`、`/skill install` など) | | `/memory` | 記憶管理(`/memory dream`) | | `/knowledge` | ナレッジベース管理(`/knowledge list` / `on` / `off`) | | `/config` | 現在の設定を表示 | | `/cancel` | 実行中の Agent タスクを中断 | | `/logs` | 最近のログを表示 | | `/version` | バージョンを表示 | Telegram のコマンドメニューはトップレベルのコマンドのみ表示されます。サブコマンドはスペース区切りで入力します(例: `/skill list`、`/context clear`)。 ## 3. 使い方 接続が完了したら: - **1 対 1 チャット**: Telegram で Bot のユーザー名(例: `@my_cowagent_bot`)を検索し、`Start` をタップして会話を開始します。 - **グループチャット**: Bot をグループに追加し、`@bot こんにちは` または **Bot のメッセージに返信** することで起動します。グループで反応しない場合は [ステップ 2](#ステップ-2-グループ利用時-privacy-mode-を無効化) の Privacy Mode 設定を確認してください。 画像やファイルを送るときは、添付欄の上の入力欄に **キャプション**(説明・質問)を直接書いて一緒に送信できます。Bot は添付ファイルとキャプションを合わせて回答します。先に添付を送り、その後に質問を送る形でも、2 つのメッセージは自動でまとめて処理されます。