Telegram は最速でセットアップできるチャンネル — 約 90 秒。Bot はデフォルトでプライベートで、ユーザー名を共有しない限り誰も見つけられません。
Bot を作成
- Telegram を開き、
@BotFatherを検索、チャットを開始。 /newbot- 表示名(例「Mira Agent」)
_botで終わるユーザー名(グローバルに一意、例mira_agent_bot)- BotFather が
123456789:ABCdef…のようなトークンを送ります。保存。
Bot とチャットを開く
BotFather のメッセージには t.me/<username> が含まれます。クリックして bot と DM を開き、Start を押します。bot は Sentō が動くまで沈黙しています — これはエージェントが後で DM できるようにチャットを作成するためだけのもの。
sento init を実行
npx sentoagent init
Telegram を選び、トークンを貼り付け。Server ID は不要 — Telegram bot は chat_id でチャット単位に動きます。
アクセス制御
~/.claude/channels/telegram/.env にトークンが格納されます。アクセスルールは ~/.claude/channels/telegram/access.json:
{
"dmPolicy": "allowlist",
"allowFrom": ["123456789"],
"groups": {
"-1001234567890": { "requireMention": true, "allowFrom": [] }
}
}
- DM の allowFrom は Telegram ユーザー ID(数値)。
- groups のキーは chat ID(グループは
-100で始まる負の数)。 - グループで
requireMention: trueは bot がユーザー名で @ メンションされた時のみ応答。
Chat や user ID を探す
最も簡単:bot にメッセージを送り、クエリ:
curl "https://api.telegram.org/bot<TOKEN>/getUpdates"
各メッセージペイロードには message.chat.id と message.from.id が含まれます。
なぜ Telegram が速いか
- Intents、scope、Developer Portal がない。
- Bot は Markdown フォーマット対応で箱から出してすぐ使える。
long-polling(getUpdates経由)は webhook URL なしで動くので、Telegram はポートフォワーディングなしの住宅 IP でも動きます。