返回资讯中心
外部精选
软件工程
#开发者实时流

Show HN: Read public Telegram channels without an API key, phone or account

Read public Telegram channels without an API key, phone number or account.

Hacker News 最新axmaier2026/10/22 · 23 天前7 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

Read public Telegram channels without an API key, phone number or account.

Every public channel has a logged-out web preview at https://t.me/s/<channel>: the page a browser shows when you open a channel link without Telegram. tme-s reads that page and prints posts as JSON lines. One file, Python 3 standard library only.

Most Telegram OSINT tools need an api_id/api_hash plus a phone number, or a bot token. If you only need public channels, you can skip all of that, and nothing ties the collection to your number or sock puppet account.

python3 tme_s.py durov # last ~20 posts python3 tme_s.py durov telegram -p 5 # 5 pages back (~100 posts), only posts containing "telegram" python3 tme_s.py durov --since 2026-09-01 # stop at posts older than this date python3 tme_s.py durov --state seen.json # only posts newer than the previous run

Output, one JSON object per line, newest first:

{"post": "durov/548", "url": "https://t.me/durov/548", "date": "2026-09-11T16:04:02+00:00", "views": "1.95M", "text": "Telegram has become the sponsor of Codeforces...", "links": []}

Pipe it into jq or save it for evidence.

--state FILE remembers the newest post ID per channel. Each run prints only posts published since the previous run (reading back up to -p pages) and updates the file. Empty output means nothing new.

every 15 minutes: new posts mentioning "leak" in two channels, appended to a log

*/15 * * * * cd ~/tme-s && for c in durov telegram; do python3 tme_s.py $c leak --state seen.json -p 3; done >> hits.jsonl

Tests

Offline, on two saved pages of t.me/s/durov:

python3 -m unittest discover tests

Limits

Public channels only. Groups, private channels and comment threads are not in the preview.

A channel owner can disable the web preview; then there is nothing to read.

~20 posts per page; older pages are fetched with ?before=<post_id> (-p).

View counts are rounded the way Telegram shows them (1.95M).

Media files are not downloaded, only text, links, date and views.

Deleted posts leave gaps in the IDs (durov/530 does not exist); that is expected.

macOS with python.org Python: if you get CERTIFICATE_VERIFY_FAILED, run /Applications/Python 3.x/Install Certificates.command once, or prefix the command with SSL_CERT_FILE=/etc/ssl/cert.pem.

Please respect Telegram's Terms of Service and the law where you work.

If you need this for many channels on a schedule without keeping a machine on, with deep history, retries and export to OpenCTI (STIX 2.1) or MISP, I run a hosted version on Apify: Telegram Channel Monitor (paid per result, needs an Apify account). The script above stays free and does not depend on it.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →