用 Telegram 机器人订阅 RSS:博客、新闻和网站更新推送到电报
关注的博客、新闻站、开源项目一多,每天挨个点开看有没有更新很费时间。RSS 就是干这个的:网站把更新做成一个固定格式的"订阅源",阅读器定时去拉,有新内容就提醒你。
在 Telegram 里,RSS 阅读器的角色可以交给机器人。你把订阅源地址发给它,之后网站一更新,机器人就把标题和链接推到你的聊天里。手机本来就一直开着 Telegram,不用再装一个阅读器 App。
先搞清楚 RSS 地址是什么
RSS 机器人要的不是网站首页地址,而是订阅源地址(也叫 Feed)。它通常长这样:
https://example.com/feed
https://example.com/rss.xml
https://example.com/atom.xml
找订阅源的几个办法:
- 网页上找橙色的 RSS 小图标,或者"订阅""RSS""Feed"字样的链接
- 在网址后面试着加
/feed、/rss、/atom.xml - 用 WordPress 搭的博客,基本都有
/feed - 很多 RSS 机器人直接发网站首页也能识别,它会自己去页面里找订阅源
没有提供 RSS 的网站也不少,尤其是国内平台。这时候可以看看开源项目 RSSHub,它给很多不提供 RSS 的网站生成了订阅源。RSSHub 可以自己部署,也有别人搭好的公共实例,但公共实例经常因为访问量太大不稳定。
RSS 机器人一般怎么用
不同机器人命令不完全一样,但思路差不多。拿到一个 RSS 机器人后:
- 私聊它,发
/start,看它的说明 - 发
/help看命令列表,或者点输入框旁边的"菜单"按钮 - 一般用类似
/sub 订阅源地址的命令添加订阅 - 用类似
/list的命令查看已订阅的列表,/unsub取消
添加成功后,机器人通常会回复订阅源的标题,确认识别对了。之后就等推送。
命令的基本用法不熟的话,可以先看 机器人命令怎么用。
小技巧
刚订阅时,有的机器人会把订阅源里现有的十几条旧文章一口气推过来,有的只推之后的新内容。被刷屏了别慌,这只是第一次。
推送到自己的频道
很多人会建一个私有频道专门收 RSS,好处是和日常聊天分开,想看的时候再点进去,消息还能转发、搜索。
做法一般是:
- 新建一个频道,设成私有
- 进频道资料 → 管理员 → 添加管理员,搜机器人用户名,把它加成管理员,给"发布消息"权限
- 回到和机器人的私聊,按它的说明把订阅绑定到这个频道(通常是在订阅命令里带上频道的用户名或 ID)
也可以把公开频道做成某个领域的资讯聚合,但要注意:原样搬运别人的全文内容有版权问题,只推标题、摘要和原文链接比较稳妥。
推送里能看到什么
推送的格式取决于机器人和订阅源本身。一般是标题 + 链接,有的会带摘要或第一张图。
如果原文链接支持 Telegram 的"即时预览"(Instant View),消息下面会出现一个按钮,点开能在 Telegram 里直接阅读,不用跳浏览器。不是所有网站都支持,看情况。
用现成的还是自己部署
用别人做好的 RSS 机器人,最省事,发几条命令就能用。但有几个问题绕不开:
- 更新可能不及时。 公共机器人要同时拉成千上万个订阅源,检查间隔可能是十几分钟到一小时,具体看机器人
- 数量有限制。 不少公共机器人限制每个人的订阅数,超出要付费
- 说停就停。 个人维护的机器人,作者不维护了,你的订阅列表也就没了
- 你订阅了什么,机器人主人都知道。 一般没什么,但如果订阅源地址里带了私人令牌(有些网站的私有 RSS 链接会这样),就等于把令牌交出去了
所以订阅多了之后,建议定期把订阅列表导出备份。不少机器人支持导出 OPML 文件,这是 RSS 阅读器通用的格式,换机器人或者换阅读器都能导入。
会一点技术的话,自己部署是更稳的选择。GitHub 上有不少开源的 Telegram RSS 机器人项目,一台小服务器或者家里的 NAS 就能跑。流程大致是:
- 在 @BotFather 用
/newbot创建一个机器人,拿到 Token - 按项目说明部署,把 Token 填进配置
- 私聊自己的机器人开始订阅
自己的机器人检查频率自己定,订阅数不受限制,数据也在自己手里。Bot API 的基本概念可以看 Bot API 入门。
一些适合用 RSS 订阅的东西
- 技术博客、开源项目的 Release 更新(GitHub 的 Release 页面就提供 Atom 订阅源)
- 新闻网站的分类栏目
- 播客更新
- 论坛的某个版块或某个帖子的回复
如果你关注的内容本身在 Telegram 上就有频道在发,那直接关注频道更省事。想找技术类频道,可以看看 编程技术电报群专题 或者 频道导航。