Files
chatgpt-on-wechat/docs/ja/channels/telegram.mdx
2026-05-28 15:07:09 +08:00

112 lines
5.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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`)が返されます。大切に保管してください。
<Tip>
Token は Bot のパスワードに相当します。漏えいしないよう注意してください。万が一漏れた場合は `@BotFather` に `/revoke` を送って再発行できます。
</Tip>
### ステップ 2:グループ利用時Privacy Mode を無効化
1 対 1 チャットのみ利用する場合はスキップ可能です。Telegram Bot は既定で **Privacy Mode** が有効で、グループ内では `@bot` 接尾辞付きのコマンド(例: `/start@your_bot`と、Bot メッセージへの返信のみ受信できます。**通常の `@bot こんにちは` のようなテキストメッセージは届きません**。そのままだとグループで反応しないので、必要に応じて以下を設定してください。
`@BotFather` に対して:
1. `/setprivacy` を送信
2. 作成した Bot を選択
3. `Disable` を選択
<Note>
設定後もグループで反応しない場合は、Bot を一度グループから外して再度追加してみてください。
</Note>
### ステップ 3: CowAgent に接続
<Tabs>
<Tab title="Web コンソール(推奨)">
Web コンソール(既定 `http://127.0.0.1:9899`)を開き、**チャネル** メニュー → **チャネルを追加** → **Telegram** を選択し、Bot Token を貼り付けて接続をクリックします。
</Tab>
<Tab title="設定ファイル">
`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` |
</Tab>
</Tabs>
ログに以下のような出力が表示されれば接続成功です:
```
[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` | バージョンを表示 |
<Note>
Telegram のコマンドメニューはトップレベルのコマンドのみ表示されます。サブコマンドはスペース区切りで入力します(例: `/skill list`、`/context clear`)。
</Note>
## 3. 使い方
接続が完了したら:
- **1 対 1 チャット**: Telegram で Bot のユーザー名(例: `@my_cowagent_bot`)を検索し、`Start` をタップして会話を開始します。
- **グループチャット**: Bot をグループに追加し、`@bot こんにちは` または **Bot のメッセージに返信** することで起動します。グループで反応しない場合は [ステップ 2](#ステップ-2-グループ利用時-privacy-mode-を無効化) の Privacy Mode 設定を確認してください。
画像やファイルを送るときは、添付欄の上の入力欄に **キャプション**説明・質問を直接書いて一緒に送信できます。Bot は添付ファイルとキャプションを合わせて回答します。先に添付を送り、その後に質問を送る形でも、2 つのメッセージは自動でまとめて処理されます。