核心用法
tg-channel-reader 是一款基于 MTProto 协议的 Telegram 频道读取工具,支持 Pyrogram(默认)和 Telethon 双后端。用户可通过命令行获取频道信息、抓取帖子与评论、生成每日摘要,并支持未读状态追踪。
关键命令:
tg-reader-check— 预检诊断,验证凭证、会话文件与后端状态tg-reader info @channel— 获取频道元数据(标题、订阅数、描述)tg-reader fetch @channel --since 24h— 抓取近期帖子,支持--comments获取评论、--text-only过滤纯媒体、--output写入文件节省 tokentg-reader auth— 交互式登录流程,支持代理驱动或用户自主完成
未读追踪模式 (`read_unread`): 自动记录已读位置,后续仅返回新内容,适配定时监控工作流。状态存储于 ~/.tg-reader-state.json。
---
显著优点
1. 双后端冗余:Pyrogram(默认,通过 pyrofork 维护最新 TL 协议)与 Telethon 可选,应对 Telegram 协议变更
2. 完整内容捕获:帖子正文、媒体说明、链接预览(Instant View 合成文本)、评论讨论全量获取
3. 生产级可靠性:会话文件自动备份(.last-good、.bak-*)、并发锁机制、断线恢复指导
4. 灵活输出:JSON 结构化数据或纯文本,支持文件输出避免大 token 消耗
5. 安全设计:凭证与敏感操作通过文件/stdin 传递,避免命令行泄露;会话文件 0600 权限、明确禁止删除/重命名会话的安全规则
---
潜在缺点与局限性
- 无媒体分析:图片/视频内容无 OCR 或视觉分析,仅提取文字说明
- 用户名敏感:频道换名会导致未读追踪重置
- 评论抓取限制:并发时自动降速,单帖评论数可配置但存在 Telegram 速率限制
- 会话环境依赖:Docker 隔离模式下面临
AUTH_KEY_UNREGISTERED风险,推荐主会话提醒模式 - 首次配置复杂:需从 my.telegram.org 获取 API 凭证,完成安装、授权、执行许可三步骤
---
适合人群
- 情报分析师 — 监控特定频道舆情、竞品动态、地缘政治信息
- 内容策展人 — 聚合多频道资讯生成日报/周报
- 自动化运维 — 基于 cron 的定时抓取与告警系统
- 研究人员 — 需要结构化 Telegram 数据用于 NLP 或社会网络分析
---
常规风险
| 风险类别 | 说明 |
|---------|------|
| **凭证泄露** | `TG_API_HASH` 与 `api_id` 若写入代码仓库或日志,可导致账户滥用 |
| **会话文件暴露** | `~/.tg-reader-session.session` 及其备份具备完整账户权限,需 0600 权限且禁止共享 |
| **授权交互陷阱** | 后台任务禁止执行 `auth` 或 `restore-session`,需人工介入接收验证码 |
| **网络封锁** | 部分主机屏蔽 MTProto 直连,需配置 SOCKS5 代理(`socks_proxy` 字段)|
| **Telegram 风控** | 高频抓取触发 `flood_wait`,需遵守指数退避;异常行为可能导致临时限制 |
安全等级评估: 工具本身设计严谨,但涉及真实 Telegram 账户授权,会话管理责任重大,需用户具备基础安全意识。