Skip to main content
Glama

Mila Telegram

Claude Code セッションを Telegram から操作し、実行し続けます。

これは公式 Telegram チャンネルプラグイン(Apache-2.0)の拡張フォークです。オリジナルは Telegram ボットを Claude Code セッションに接続します。このフォークは、実際に毎日そのように作業し始めると必要になる機能を追加します。グループチャットでのチーム、音声メモ、そしてセッションが再起動してもメッセージを失わないポーラーです。

このフォークが追加するもの

セッションより長生きするデーモン。 オリジナルでは、Telegram ポーラーはセッションプロセス内に存在します。Claude Code を再起動すると、その間に送信されたすべてのメッセージは失われます。ここでは、ポーラーは長期稼働するデーモンとして実行され、イベントをジャーナルファイルに追記し、セッションは起動時にカーソルからそれらを再生します。再起動、クラッシュ、アップグレード — 受信メッセージはファイル内で待機し、セッションが戻ったときに届きます。

ワンタップ承認によるグループ自動参加。 ボットをグループに追加し、/channel_join を送信します。オーナーはプライベートチャットで4つのボタンを持つカードを受け取ります。全員に返信、メンションのみ、リスンのみ(ボットはチャットを聞きますが、返信は機械的にブロックされます)、または拒否。すべての決定(拒否を含む)は auth-log.jsonl ジャーナルに追記され、接続された各チャットには chats/<id>.md のコンテキストカードと、生成された CHATS.md レジストリが作成されます。数値のチャット ID も、手動での JSON 編集も不要です。グループメッセージが許可リストを変更することはできません。承認はオーナーのプライベートチャットでのみ行われます。

音声文字起こし。 音声メモは、選択した文字起こしコマンド(TELEGRAM_VOICE_TRANSCRIBE_CMD を設定)に渡され、テキストは音声とともにアシスタントに届きます。未設定の場合、音声メモは文字起こしされずにそのまま通過します。デフォルトもベンダーもありません。

返信引用コンテキスト。 誰かが以前のメッセージに返信すると、引用テキストが新しいメッセージと一緒に送信されるため、アシスタントはチャットの最後の内容ではなく、実際に指し示したメッセージについて回答します。

オリジナルプラグインのすべての機能は引き続き動作します。ペアリング、許可リスト、メンション検出、reply / react / edit_message、写真、添付ファイル、タイピングインジケーター。

Related MCP server: tsgram-mcp

セキュリティ

重要なマシンに配置する前に、これを読んでください。

メッセージは信頼できない入力です。 誰かがボットに送信したものはすべて、コンテンツとしてアシスタントに届きます。許可リストに登録されたチャットの誰かが、それを指示しようとする可能性があります。チャネルを、ファイルを読み取りコマンドを実行できるセッションへの公開ドアとして扱ってください。

グループはデフォルトでメンションが必要です。 承認されたグループは requireMention: true で追加されるため、ボットは呼び出されたときのみ応答します。これをオフにすると、すべてのメンバーからのすべてのメッセージが直接セッションに入ります。これは理論上の問題ではなく、実際のプロンプトインジェクションの表面です。すべてのメンバーを信頼できるチャットでのみオフにしてください。

添付ファイルは外部に送信できます。 reply ツールは、アシスタントが渡す任意の絶対パスを送信します。これは意図的です。セッションからファイルを取り出す方法ですが、上記の点と組み合わせると、データ流出経路にもなります。メッセージとファイルがマシンから出るのを防ぐのは、このプラグインではなく、あなたの権限設定です。

イベントジャーナルは信頼境界です。 デーモンはイベントをファイルに書き込み、セッションはそれを再生します。そのファイルに書き込めるものは、Telegram の声で話します。ジャーナルとそのディレクトリは 0600/0700 で作成され、ブリッジは2つのメソッドの許可リストのみを再生するため、偽造された行が任意のメソッドを呼び出すことはできません。状態ディレクトリは、自分だけが書き込めるファイルシステムに置いてください。

トークンは ~/.claude/channels/telegram/.env0600 で保存され、エラー出力からはログに記録される前に削除されます。

前提条件

  • Bun — MCP サーバーは Bun で実行されます: curl -fsSL https://bun.sh/install | bash

セットアップ

1. ボットを作成します。 @BotFather にメッセージを送り、/newbot を送信し、受け取ったトークン(先頭の数字とコロンを含む全体)をコピーします。

2. プラグインをインストールします。 Claude Code セッションから:

/plugin marketplace add shakhruz/mila-telegram
/plugin install mila-telegram@mila

3. サーバーにトークンを渡します。

/telegram:configure 123456789:AAHfiqksKZ8...

これにより、TELEGRAM_BOT_TOKEN=...~/.claude/channels/telegram/.env に書き込まれます。このファイルを自分で作成するか、シェルで変数を設定することもできます。シェルが優先されます。

1台のマシンで複数のボットを実行するには、インスタンスごとに TELEGRAM_STATE_DIR を別のディレクトリに指定します。

4. チャンネルフラグを付けて再起動します。 サーバーはこれなしでは接続しません:

claude --channels plugin:mila-telegram@mila

5. ペアリングします。 ボットに DM を送信すると、6文字のコードが返信されます。セッションで:

/telegram:access pair <code>

6. ロックダウンします。 ペアリングはあなたの ID を取得するために存在します。入ったら、許可リストに切り替えて、見知らぬ人がペアリングコードを取得できないようにします:

/telegram:access policy allowlist

デーモンの実行

デーモンは再起動を無料にするものです。receiver.ts を、お好みのプロセススーパーバイザー(macOS では launchd、Linux では systemd)のサービスとして、環境に RECEIVER_DAEMON=1 を設定して実行します:

RECEIVER_DAEMON=1 bun /path/to/plugin/receiver.ts

イベントは $TELEGRAM_STATE_DIR/inbound/events.jsonl に書き込まれます。セッションが起動し、デーモンが生きていることを検出すると、ポーリングの代わりにそのジャーナルから読み取るため、2つが Telegram API をめぐって競合することはありません。デーモンが実行されていない場合、セッションはオリジナルプラグインとまったく同じように直接ポーリングします。デーモンはオプションです。

設定

変数

目的

TELEGRAM_BOT_TOKEN

BotFather からのボットトークン。必須。

TELEGRAM_STATE_DIR

状態ディレクトリ。デフォルト ~/.claude/channels/telegram

TELEGRAM_VOICE_TRANSCRIBE_CMD

音声ファイルを文字起こしするコマンド。未設定は文字起こしなし。

RECEIVER_DAEMON

1 に設定すると、receiver.ts をポーリングデーモンとして実行します。

アクセス制御

DM ポリシー、グループ、メンション検出、配信設定、スキルコマンド、access.json スキーマについては、ACCESS.md を参照してください。

ID は数値のユーザー ID です。自分のものは @userinfobot から取得してください。ackReaction は Telegram の固定絵文字ホワイトリストのみを受け入れます。

アシスタントに公開されるツール

ツール

目的

reply

チャットに送信します。chat_id + text を受け取り、オプションでネイティブスレッド用の reply_to と添付ファイル用の files(絶対パス)を受け取ります。画像は写真として送信され、その他はドキュメントとして送信され、各50MBです。長いテキストはチャンクに分割されます。送信されたメッセージ ID を返します。

react

メッセージ ID で絵文字リアクションを追加します。Telegram の固定ホワイトリストのみ(👍 👎 ❤ 🔥 👀 …)。

edit_message

ボットが送信したメッセージを編集します。「作業中…」→ 結果に適しています。自分のメッセージのみ。

download_attachment

受信メッセージから file_id でファイルを取得し、そのローカルパスを返します。

受信メッセージは自動的にタイピングインジケーターをトリガーします。

履歴なし、検索なし

Telegram の Bot API はどちらも公開していません。ボットはメッセージが到着したときだけ見ることができ、チャットの過去を取得する方法はありません。アシスタントが以前のコンテキストを必要とする場合、あなたに尋ねる必要があります。これは Telegram の制限であり、このプラグインの制限ではありません。そのため、写真は到着時に熱心にダウンロードされます。

ライセンスと帰属

Apache-2.0。これは anthropics/claude-plugins-officialtelegram チャンネルプラグインの修正フォークであり、著作権は Anthropic, PBC に帰属します。変更点のリストは NOTICE を参照してください。

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Enables remote control of AI coding assistants (Claude Code/Codex) via Telegram, allowing you to manage long-running tasks, send commands, and receive notifications from anywhere. Supports unattended mode with smart polling for up to 7 days and multi-session management.
    8
    29
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Claude Code sessions to Telegram, enabling AI-powered code assistance and file management directly from Telegram chats.
    92
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables Claude Code to act as an autonomous Telegram agent with tools for replying, reacting, editing messages, searching history, and handling attachments. Includes a TUI watchdog for unattended operation.
    1
    AGPL 3.0

View all related MCP servers

Related MCP Connectors

  • Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.

  • Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API

  • Persistent context for Claude. Your AI always knows your projects and next actions across sessions.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shakhruz/mila-telegram'

If you have feedback or need assistance with the MCP directory API, please join our Discord server