前言

我们很多人喜欢一些网站或者博客,有时候会错过好东西或者福利,今天介绍下如何用 Telegram 做一个自己的 RSS 订阅机器人,这样我们可以非常方便的通过它来实现在 Telegram 里订阅网站并快速推送 RSS 内容。

Telegram 有强大的机器人系统,可以借助 Telegram 机器人来做很多事,做一个 RSS 订阅机器人当然也不在话下。

教程

1、申请 Bot

打开 Telegram,搜索 @BotFather,发送 /newbot ,按要求完成 Bot 机器人申请。完成后妥善保管专属的 HTTP API TOKEN(保存好,之后会用到)。

2 搭建NodeRSSBot

使用自动构建的 docker image(推荐)

先安装docker,安装教程见:https://www.mcheng.cn/1804.htm

运行

docker pull fengkx/node_rssbot
docker run --name rssbot -d -v :/app/data/ -e RSSBOT_TOKEN= fengkx/node_rssbot

例如

docker pull fengkx/node_rssbot
docker run --name rssbot -d -v /var/data:/app/data/ -e RSSBOT_TOKEN=123456:abcdef123456-U fengkx/node_rssbot

本地构建

安装 Docker
克隆仓库 git clone https://github.com/fengkx/NodeRSSBot.git
构建 docker image docker build . then you will get a image id
运行 docker run --name rssbot -d -e RSSBOT_TOKEN=<YOUR_TGBOT_TOKEN> <YOUR_IMAGE_ID>
例如 docker run --name rssbot -d -e RSSBOT_TOKEN=123456:abcdef123456-U fd54321bff2

手动部署

首先要有 Node.js 和 npm 或 yarn
克隆仓库 git clone https://github.com/fengkx/NodeRSSBot.git
设置 RSSBOT_TOKEN 环境变量,或者直接在 config.ts 中修改
安装依赖 在仓库根目录运行npm i
编译 npm run build
如果你想节省些空间,你可以运行npm prune --production把 build 所需的依赖清掉
推荐用 pm2 守护进程 pm2 start npm --name node_rssbot -- start 如果没有安装pm2 就先安装 npm i -g pm2 或者直接 npm start

使用方式

/rss       - 显示订阅列表,加 `raw`显示链接
/sub       - 订阅 RSS: /sub http://example.com/feed.xml 支持自动检测 RSS feed
/unsub     - 退订 RSS: /unsub http://example.com/feed.xml 或者通过键盘
/unsubthis - 回复一个 RSS 发来的消息退订该 RSS
/allunsub  - 退订所有源
/export    - 导出订阅到opml文件
/viewall   - 查看所有订阅和订阅人数 需要在设置中打开
/import    - 回复此消息 opml 文件导入订阅(群组)
/lang      - 更改语言
/heath      - 展示活跃订阅源的健康程度

详细使用指南

/sub 可以自动检测 RSS feed,可以直接 /sub https://www.fengkx.top 而不用 /sub https://www.fengkx.top/atom.xml

私聊可以直接发送 feed 地址订阅,支持同时发送多个地址按行分割

/viewall 只能在私聊中使用

在私聊中可以直接发送 opml 文件,导入 RSS 源, 在群聊中则将文件回复给 bot

频道使用

把 bot 设为频道管理员并正确配置权限后,可通过私聊在/sub后加上频道 id 来在频道中订阅 feed 例如 /sub <频道 id > <feed url> (频道 id 是@打头的)

频道导入需要将文件名改成频道 id 并且以 opml 作为后缀在私聊中发送 例如 @myChannel.opml