Telegram Channel Reader

📡 智能监控 Telegram 频道,自动摘要与追踪

通过 MTProto 协议读取和监控 Telegram 频道,支持公开/私有频道、评论抓取、未读追踪与每日摘要生成,输出 JSON 或文本格式。

收藏
8k
安装
1.9k
版本
0.10.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

tg-channel-reader 是一款基于 MTProto 协议的 Telegram 频道读取工具,支持通过 Pyrogram(默认 pyrofork)或 Telethon 双后端访问 Telegram API。主要功能包括:

  • 频道信息获取tg-reader info @channel 获取频道标题、描述、订阅数等元数据
  • 内容抓取tg-reader fetch @channel --since 24h 按时间窗口拉取帖子,支持多频道批量抓取
  • 评论采集--comments 参数启用讨论组评论抓取(单频道模式,自动降限至30条帖子)
  • 未读追踪read_unread 模式自动记录已读位置,实现增量更新和每日摘要
  • 状态诊断tg-reader-check 离线/在线检测凭证、会话文件、授权状态及锁占用情况

输出格式为结构化 JSON,包含帖子 ID、时间戳、文本内容、浏览量、转发数、媒体类型、链接预览卡片(web_page)及评论数据。支持 --output 写入文件以节省 token。

显著优点

1. 双后端冗余:Pyrogram 和 Telethon 双实现,pyrofork 保持最新 Telegram 协议支持
2. 会话安全机制:自动备份(.last-good)、损坏恢复(restore-session)、并发锁保护、版本追溯(保留3个时间戳备份)

3. 精细化错误处理:错误类型分类(access_denied、flood_wait、not_authorized 等)附带建议 action,便于自动化决策

4. 灵活部署:支持主会话提醒模式(推荐)和独立 Docker 容器模式(需额外配置)

5. 智能内容合成:Instant View 链接预览卡片自动提取为可阅读文本,避免遗漏纯链接帖子

潜在缺点与局限性

  • 媒体内容限制:图片/视频仅返回元数据(has_mediamedia_type),无 OCR 或视觉分析;评论中的媒体完全忽略
  • 会话环境敏感:Telegram 会话文件与机器绑定,Docker 隔离模式可能出现 AUTH_KEY_UNREGISTERED 失效
  • 速率限制敏感:评论抓取极易触发 flood_wait,多频道任务强制 10 秒间隔延迟
  • 用户跟踪局限:评论作者可能匿名(from_user: null),频道改名会导致未读状态重置
  • 初始配置复杂:需从 my.telegram.org 获取 API 凭证,完成交互式认证,并通过 exec approval 授权 CLI 命令

适合人群

  • 信息监测从业者:需要自动化追踪多个 Telegram 频道的新闻、公告或市场情绪
  • 研究人员:收集社交媒体数据用于舆情分析、传播研究
  • 内容策展人:制作每日 Telegram 精选摘要或行业快讯
  • 自动化工作流搭建者:结合 cron 实现定时抓取与存档

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 凭证泄露 | `TG_API_HASH` 和会话文件等同于账号密码 | 文件权限 0600,禁用 shell profile 写入,禁止 git 提交 |
| 账号封禁 | 高频抓取触发 Telegram 反垃圾机制 | 遵守 `--delay` 参数,避免并发,启用 `read_unread` 减少重复请求 |
| 会话失效/损坏 | 容器漂移、文件覆盖或异常退出导致授权丢失 | 依赖 `restore-session` 自动恢复,禁止手动删除/重命名会话文件 |
| 数据隐私 | 抓取私有频道或评论涉及第三方个人信息 | 确保用户具备合法访问权限,遵守频道使用条款 |
| 依赖供应链 | pyrofork 为社区 fork,Telethon 更新节奏不确定 | 锁定版本,关注上游安全公告 |

建议生产环境优先使用 sessionTarget: "main" 模式,由 Agent 代理执行而非完全隔离容器,以降低会话漂移风险。

Telegram Channel Reader 内容

手动下载zip · 68.0 kB
CHANGELOG.mdtext/markdown
请选择文件