Telegram inside Claude Code: read chats and channels in a pane, get AI summaries of unread posts. No API key, no bot.
翻訳待ち
プラグインTypeScript · PythonGitHub @34823自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗The Python backend also has an independent frontend: python terminal.py (use the Python environment
where Playwright is installed). It uses the same TG_PANE_DATA configuration and Telegram session.
No Claude process or AI model is required. The original Claude plugin remains unchanged.
Folders → chats → history: arrow keys/Enter or mouse, Esc goes back, / filters chat names,
r refreshes, wheel/PgUp/PgDown scroll history, i writes, Enter on a message replies.
Sending requires a second explicit y confirmation; Esc cancels. Private history is never marked read
merely by viewing it. L opens the existing QR/password login flow. q exits.
This is a basic frontend, not full plugin parity: message reactions/edit/delete/forward,
media viewing, digests and message-text search remain available only in the original plugin.
Requests refresh at most once a minute while open, FLOOD_WAIT pauses for ten minutes,
and an unresponsive CDP browser is restarted at most once every five minutes.
No failed send is automatically retried. Offline UI tests: python -m unittest discover -s tests -p 'test_*.py'.
Read your Telegram chats and channels beside the conversation, and ask Claude to retell the unread posts by topic. No API key, no bot — it works through your own logged-in Telegram Web.
Quick start (details in Install):
/plugin install tg-pane --marketplace 34823/tg-pane
Then /tg-pane, scan the QR code with your phone — done.
/clear and after a restart. [Private 3] [Categories 41] [Refresh] cache 15:48
[← Folders] Interesting 34 [Summary] [Mark all read]
Markets News (7) 09:00 Club chat [Mark read (2)] [Summary]
Club chat (2) 08:12 ▲ older
Markets Wed — 8.10 —
… Pete: who's coming to training? 08:12
There is no Telegram API key and no bot: the mod drives Telegram Web (web.telegram.org/k) logged in to your account, in a headless Chromium on your machine, and reads it through Telegram Web's own internal API — the same calls its interface makes. Nothing leaves your machine except what Telegram Web itself sends. The browser is touched only while the pane is open and in use (counters once a minute, the open chat once a minute, a pause after 10 idle minutes and whenever Telegram answers FLOOD_WAIT). The mod writes to Telegram only when you press a button for it: a message or a reply you type, an edit or a delete of your own message, a reaction, a forward.
The backend is a few Python scripts in backend/ (Playwright). They also work on their own:
| Script | What it does |
|---|---|
tgbrowser.py start|stop|status|login | the headless Chromium; login prints the QR code in the terminal and asks for the cloud password |
tgcache.py [folder…] | unread counters and previews of your folders into the cache |
tgchat.py <peer> [N] [--read] [--before|--around|--after <mid>] [--query <words>] | a chat's history as JSON; --query searches inside the chat |
tgmsg.py --peer <peer> [--reply <mid>] "<text>" | send one message (as an answer, if asked), check it went out |
tgsearch.py "<words>" [N] | search the text of messages in all chats, JSON |
tgact.py react|edit|delete|forward|transcribe <peer> <mid> [value] | one action on one message, checked by reading it again |
tgmedia.py <peer> <mid> | downloads one message's picture (photo, image, video preview) to the data folder as PNG, only when you press «open» |
tgunread.py "<folder>" | --peer <id> | --private [--mark-only] [--since day|week|month] | unread posts as text for a model; channels and groups are marked read, private chats (and --private) never; --since — everything posted in the period, nothing marked read |
The plugin is a pane (hooks/register.tsx) plus the Python scripts in backend/ (Playwright).
This is the beginning of the README. Read the rest at the original. Read the full README ↗