メッセージングプラットフォーム
Telegram
ステータス: grammY 経由のボットDMおよびグループで本番環境対応。デフォルトモードはロングポーリング。Webhook モードはオプション。
クイックセットアップ
ステップ 1: BotFather でボットトークンを作成する
Telegram を開き、@BotFather とチャットします(ハンドルが正確に @BotFather であることを確認してください)。/newbot を実行し、プロンプトに従い、トークンを保存します。
ステップ 2: トークンと DM ポリシーを設定する
{
channels: {
telegram: {
enabled: true,
botToken: "123:abc",
dmPolicy: "pairing",
groups: { "*": { requireMention: true } },
},
},
}
環境変数フォールバック: TELEGRAM_BOT_TOKEN=... (デフォルトアカウントのみ)。Telegram は openclaw channels login telegram を使用しません。設定/環境変数でトークンを設定し、ゲートウェイを起動します。
ステップ 3: ゲートウェイを起動し、最初の DM を承認する
openclaw gateway
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>
ペアリングコードは1時間で期限切れになります。
ステップ 4: ボットをグループに追加する
ボットをグループに追加し、channels.telegram.groups と groupPolicy を設定してアクセスモデルに合わせます。
ℹ️ トークン解決順序はアカウントを認識します。実際には、設定値が環境変数フォールバックよりも優先され、
TELEGRAM_BOT_TOKENはデフォルトアカウントにのみ適用されます。
Telegram 側の設定
アクセス制御とアクティベーション
curl "https://api.telegram.org/bot<bot_token>/getUpdates"ランタイム動作
- Telegram はゲートウェイプロセスによって所有されます。
- ルーティングは決定的です: Telegram からの受信メッセージは Telegram に返信されます(モデルはチャネルを選択しません)。
- 受信メッセージは、返信メタデータとメディアプレースホルダーを含む共有チャネルエンベロープに正規化されます。
- グループセッションはグループ ID によって分離されます。フォーラムトピックは
:topic:<threadId>を追加してトピックを分離します。 - DM メッセージは
message_thread_idを保持できます。OpenClaw はスレッドを認識したセッションキーでそれらをルーティングし、返信用にスレッド ID を保持します。 - ロングポーリングは、チャットごと/スレッドごとのシーケンシングで grammY ランナーを使用します。全体のランナーシンク同時実行性には
agents.defaults.maxConcurrentを使用します。 - Telegram Bot API には既読サポートがありません(
sendReadReceiptsは適用されません)。
機能リファレンス
トラブルシューティング
さらなるヘルプ: チャネルトラブルシューティング。
Telegram 設定リファレンスポインタ
主要リファレンス:
channels.telegram.enabled: チャネル起動の有効/無効。channels.telegram.botToken: ボットトークン (BotFather)。channels.telegram.tokenFile: ファイルパスからトークンを読み込み。channels.telegram.dmPolicy:pairing | allowlist | open | disabled(デフォルト: pairing)。channels.telegram.allowFrom: DM 許可リスト (数値 Telegram ユーザー ID)。allowlistには少なくとも1つの送信者 ID が必要です。openには"*"が必要です。openclaw doctor --fixはレガシーな@usernameエントリを ID に解決でき、許可リスト移行フローでペアリングストアファイルから許可リストエントリを回復できます。channels.telegram.actions.poll: Telegram 投票作成の有効/無効 (デフォルト: 有効; 引き続きsendMessageが必要)。channels.telegram.defaultTo: 明示的な--reply-toが提供されない場合に CLI--deliverで使用されるデフォルト Telegram ターゲット。channels.telegram.groupPolicy:open | allowlist | disabled(デフォルト: allowlist)。- `channels.tele