mila-telegram
Mila Telegram
Führen Sie Ihre Claude-Code-Sitzung von Telegram aus – und halten Sie sie am Laufen.
Dies ist ein erweiterter Fork des offiziellen Telegram-Kanal-Plugins (Apache-2.0). Das Original verbindet einen Telegram-Bot mit einer Claude-Code-Sitzung. Dieser Fork fügt die Dinge hinzu, die man braucht, sobald man tatsächlich jeden Tag so arbeitet: Teams in Gruppenchats, Sprachnachrichten und einen Poller, der keine Nachrichten verliert, wenn die Sitzung neu startet.
Was dieser Fork hinzufügt
Ein Daemon, der die Sitzung überlebt. Im Original lebt der Telegram-Poller im Sitzungsprozess: Starten Sie Claude Code neu und jede Nachricht, die in der Zwischenzeit gesendet wurde, ist verloren. Hier läuft der Poller als langlebiger Daemon, der Ereignisse an eine Journaldatei anhängt, und die Sitzung spielt sie beim Start von einem Cursor aus ab. Neustart, Absturz, Upgrade – eingehende Nachrichten warten in der Datei und kommen an, wenn die Sitzung zurückkehrt.
Automatischer Gruppenbeitritt mit Ein-Tipp-Genehmigung. Fügen Sie den Bot zu einer Gruppe hinzu und senden Sie /channel_join. Der Besitzer erhält eine Karte mit vier Schaltflächen in einem privaten Chat: Allen antworten, nur bei Erwähnung, nur zuhören (der Bot hört den Chat, aber Antworten in ihn werden mechanisch blockiert) oder ablehnen. Jede Entscheidung – auch Ablehnungen – wird an ein auth-log.jsonl-Journal angehängt, und jeder verbundene Chat erhält eine Kontextkarte in chats/<id>.md plus ein generiertes CHATS.md-Register. Keine numerischen Chat-IDs, kein manuelles Bearbeiten von JSON; Gruppennachrichten können die Allowlist niemals selbst ändern – die Genehmigung erfolgt nur im privaten Chat des Besitzers.
Sprachtranskription. Sprachnachrichten werden einem Transkriptionsbefehl Ihrer Wahl übergeben (setzen Sie TELEGRAM_VOICE_TRANSCRIBE_CMD), und der Text erreicht den Assistenten zusammen mit dem Audio. Nicht gesetzt bedeutet, dass Sprachnachrichten einfach unübersetzt durchgehen – keine Standardeinstellung, kein Anbieter.
Antwort-Zitat-Kontext. Wenn jemand auf eine frühere Nachricht antwortet, wird der zitierte Text mit der neuen Nachricht übertragen, sodass der Assistent über die Nachricht antwortet, auf die Sie tatsächlich gezeigt haben, statt über das Letzte im Chat.
Alles aus dem ursprünglichen Plugin funktioniert weiterhin: Kopplung, Allowlists, Erkennung von Erwähnungen, reply / react / edit_message, Fotos, Anhänge, Tippindikatoren.
Related MCP server: tsgram-mcp
Sicherheit
Lesen Sie dies, bevor Sie es auf einen wichtigen Rechner setzen.
Nachrichten sind nicht vertrauenswürdige Eingaben. Alles, was jemand dem Bot sendet, erreicht Ihren Assistenten als Inhalt. Jemand in einem zugelassenen Chat kann versuchen, ihn zu instruieren. Behandeln Sie den Kanal als öffentliche Tür zu einer Sitzung, die Dateien lesen und Befehle ausführen kann.
Gruppen erfordern standardmäßig eine Erwähnung. Eine genehmigte Gruppe wird mit requireMention: true hinzugefügt, sodass der Bot nur antwortet, wenn er angesprochen wird. Das zu deaktivieren bedeutet, dass jede Nachricht von jedem Mitglied direkt in die Sitzung geht – das ist eine echte Prompt-Injection-Oberfläche, keine theoretische. Deaktivieren Sie es nur für einen Chat, in dem Sie jedem Mitglied vertrauen.
Anhänge können nach außen gehen. Das reply-Werkzeug sendet jeden absoluten Pfad, den der Assistent übergibt. Das ist beabsichtigt – so bekommen Sie Dateien aus einer Sitzung –, aber in Kombination mit dem obigen Punkt ist es auch ein Exfiltrationspfad. Ihre Berechtigungseinstellungen, nicht dieses Plugin, stehen zwischen einer Nachricht und einer Datei, die Ihren Rechner verlässt.
Das Ereignisjournal ist eine Vertrauensgrenze. Der Daemon schreibt Ereignisse in eine Datei und die Sitzung spielt sie ab; wer diese Datei schreiben kann, spricht mit der Stimme von Telegram. Das Journal und sein Verzeichnis werden mit 0600/0700 erstellt, und die Brücke spielt nur eine Allowlist von zwei Methoden ab, sodass eine gefälschte Zeile keine beliebigen aufrufen kann. Halten Sie das Zustandsverzeichnis auf einem Dateisystem, das nur Sie beschreiben können.
Ihr Token liegt in ~/.claude/channels/telegram/.env mit 0600 und wird aus der Fehlerausgabe entfernt, bevor etwas protokolliert wird.
Voraussetzungen
Bun – der MCP-Server läuft auf Bun:
curl -fsSL https://bun.sh/install | bash
Einrichtung
1. Erstellen Sie einen Bot. Schreiben Sie @BotFather, senden Sie /newbot und kopieren Sie den Token, den Sie erhalten (das Ganze, einschließlich der führenden Ziffern und des Doppelpunkts).
2. Installieren Sie das Plugin. Aus einer Claude-Code-Sitzung:
/plugin marketplace add shakhruz/mila-telegram
/plugin install mila-telegram@mila3. Geben Sie dem Server den Token.
/telegram:configure 123456789:AAHfiqksKZ8...Dies schreibt TELEGRAM_BOT_TOKEN=... in ~/.claude/channels/telegram/.env. Sie können diese Datei auch selbst schreiben oder die Variable in Ihrer Shell setzen – die Shell gewinnt.
Um mehrere Bots auf einem Rechner zu betreiben, weisen Sie
TELEGRAM_STATE_DIRpro Instanz auf ein anderes Verzeichnis.
4. Starten Sie mit dem Kanal-Flag neu. Der Server verbindet sich ohne es nicht:
claude --channels plugin:mila-telegram@mila5. Koppeln. Schreiben Sie Ihrem Bot eine Direktnachricht; er antwortet mit einem 6-stelligen Code. In der Sitzung:
/telegram:access pair <code>6. Sichern Sie es ab. Die Kopplung dient dazu, Ihre ID zu erfassen. Sobald Sie drin sind, wechseln Sie zu einer Allowlist, damit Fremde keine Kopplungscodes mehr erhalten:
/telegram:access policy allowlistDen Daemon ausführen
Der Daemon macht Neustarts kostenlos. Führen Sie receiver.ts als Dienst unter Ihrem bevorzugten Prozess-Supervisor aus – launchd auf macOS, systemd auf Linux – mit RECEIVER_DAEMON=1 in seiner Umgebung:
RECEIVER_DAEMON=1 bun /path/to/plugin/receiver.tsEr schreibt Ereignisse in $TELEGRAM_STATE_DIR/inbound/events.jsonl. Wenn eine Sitzung startet und den Daemon am Leben findet, liest sie aus diesem Journal statt zu pollen, sodass die beiden nie um die Telegram-API konkurrieren. Ohne laufenden Daemon pollt die Sitzung direkt, genau wie das ursprüngliche Plugin – der Daemon ist optional.
Konfiguration
Variable | Zweck |
| Bot-Token von BotFather. Erforderlich. |
| Zustandsverzeichnis. Standard |
| Befehl, der eine Sprachdatei transkribiert. Nicht gesetzt bedeutet keine Transkription. |
| Auf |
Zugriffskontrolle
Siehe ACCESS.md für DM-Richtlinien, Gruppen, Erkennung von Erwähnungen, Zustellungskonfiguration, Skill-Befehle und das access.json-Schema.
IDs sind numerische Benutzer-IDs – erhalten Sie Ihre von @userinfobot. ackReaction akzeptiert nur die feste Emoji-Whitelist von Telegram.
Dem Assistenten ausgesetzte Werkzeuge
Werkzeug | Zweck |
| An einen Chat senden. Nimmt |
| Eine Emoji-Reaktion per Nachrichten-ID hinzufügen. Nur die feste Whitelist von Telegram (👍 👎 ❤ 🔥 👀 …). |
| Eine vom Bot gesendete Nachricht bearbeiten. Gut für „arbeite…“ → Ergebnis. Nur eigene Nachrichten. |
| Eine Datei per |
Eingehende Nachrichten lösen automatisch einen Tippindikator aus.
Keine Historie, keine Suche
Die Telegram-Bot-API bietet weder das eine noch das andere. Der Bot sieht nur Nachrichten, wenn sie eintreffen – es gibt keine Möglichkeit, die Vergangenheit eines Chats abzurufen. Wenn der Assistent früheren Kontext benötigt, muss er Sie danach fragen. Dies ist eine Grenze von Telegram, nicht dieses Plugins, und der Grund, warum Fotos bei Ankunft eifrig heruntergeladen werden.
Lizenz und Namensnennung
Apache-2.0. Dies ist ein modifizierter Fork des telegram-Kanal-Plugins von anthropics/claude-plugins-official, Urheberrecht Anthropic, PBC. Siehe NOTICE für die Liste der Änderungen.
This server cannot be installed
Maintenance
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
- AlicenseAqualityFmaintenanceEnables 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.829MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude Code sessions to Telegram, enabling AI-powered code assistance and file management directly from Telegram chats.92MIT
- AlicenseNot gradedqualityAmaintenanceEnables 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.1AGPL 3.0
- FlicenseNot gradedqualityDmaintenanceEnables Claude Code to send messages to and receive instructions from Telegram, with task tracking and persistent storage.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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