前言
我们很多人喜欢一些网站或者博客,有时候会错过好东西或者福利,今天介绍下如何用 Telegram 做一个自己的 RSS 订阅机器人,这样我们可以非常方便的通过它来实现在 Telegram
里订阅网站并快速推送 RSS
内容。
Telegram
有强大的机器人系统,可以借助 Telegram
机器人来做很多事,做一个 RSS 订阅机器人当然也不在话下。
教程
1、申请 Bot
打开 Telegram
,搜索 @BotFather
,发送 /newbot
,按要求完成 Bot
机器人申请。完成后妥善保管专属的 HTTP API TOKEN
(保存好,之后会用到)。
2、搭建 rssbot
这里直接使用开源的中文 Telegram RSS 机器人就行,项目地址:https://github.com/iovxw/rssbot
下面将介绍预编译版本的使用方法,执行如下命令:
## 下载主程序 wget https://github.com/iovxw/rssbot/releases/download/v2.0.0-alpha.11/rssbot-zh-x86_64-unknown-linux-musl ## 给予权限 chmod +x ./rssbot-zh-x86_64-unknown-linux-musl ## 测试运行./rssbot-zh-x86_64-unknown-linux-musl TELEGRAM-BOT-TOKEN## 后台运行 nohup ./rssbot-zh-x86_64-unknown-linux-musl TELEGRAM-BOT-TOKEN -d --max-interval 300 --min-interval 60 > /dev/null 2>&1 &
其中,第三行命令的 TELEGRAM-BOT-TOKEN
就是你创建的 Telegram 机器人的 API TOKEN
。
测试通过无报错后,此时可以用 nohup
或者 setsid
来让它在后台挂起运行了。-> 参考文章:让进程在后台稳定运行的几种方法
# 方法1 使用nohup命令 nohup ./rssbot DATAFILE TELEGRAM-BOT-TOKEN > /dev/null 2>&1 &# 方法2 使用setsid命令 setsid ./rssbot DATAFILE TELEGRAM-BOT-TOKEN > /dev/null 2>&1 &
3、RSS订阅网站
等你的 RSS 订阅机器人运行成功后,直接对话你的机器人,发送指令即可(按下方指定格式):
/rss - 显示当前订阅的 RSS 列表,加 raw 参数显示链接/sub - 订阅一个 RSS: /sub http://example.com/feed.xml/unsub - 退订一个 RSS: /unsub http://example.com/feed.xml/unsubthis - 使用此命令回复想要退订的 RSS 消息即可退订, 不支持 Channel/export - 导出为 OPML
1、个人订阅
如果是想自己私人订阅,例如我要添加一个订阅,直接对话机器人发送,例如 /sub https://www.moewah.com/feed
2、频道订阅
如果你是想把订阅信息发到频道里,那么就需要先把机器人加到频道里,然后再订阅。
将机器人加到频道时,需要选择的是添加管理员而不是添加订阅者,之后直接对话机器人,发送格式为 /sub @频道id https://www.moewah.com/feed
,为指定频道订阅 RSS。
前言
当你想RSS订阅一些自己感兴趣的博客,却又苦于免费的RSS阅读器广告很多时,并且由于免费订阅机器人使用人数过多,经常订阅失败。可以自己借助Telegram机器人搭建一个属于自己的RSS订阅机器人。本文绍下如何搭建一个Telegram RSS订阅机器人,以及如何把RSS订阅机器人拖到Telegram频道中更新RSS信息。
申请机器人
申请机器人(Telegram上操作)
在Telegram中添加@BotFather
用户;输入/newbot(或者点击Botfather发来的命令菜单),输入你想要的name和username,最后返回一大段话,里面有token to access the HTTP API后面的一串数字加字母,这个要复制下来!(搭建订阅机器人时用到)
通过以上方法,你也就会得到一个机器人,地址是t.me/你设置的username
搭建RSS订阅
搭建RSS订阅(VPS上操作)
搭建的RSS订阅机器人是基于开源项目rssbot的一个开源的Telegram RSS机器人,
项目地址:https://github.com/iovxw/rssbot。
依次执行如下命令,将第三个命令中的TELEGRAM-BOT-TOKEN换成刚才你申请的机器人的HTTP API TOKEN,DATAFILE 为数据库保存路径(其实就是一个 json 文件, 不需要手动创建)
wget https://github.com/iovxw/rssbot/releases/download/v1.4.4/rssbot-v1.4.4-linux.zip unzip rssbot-v1.4.4-linux.zip ./rssbot DATAFILE TELEGRAM-BOT-TOKEN
测试没问题后可以用nohup命令让机器人在后台运行:
nohup ./rssbot DATAFILE TELEGRAM-BOT-TOKEN &
使用
1、rssbot的指令如下:
/rss - 显示当前订阅的 RSS 列表,加 raw 参数显示链接
/sub - 订阅一个 RSS: /sub http://example.com/feed.xml
/unsub - 退订一个 RSS: /unsub http://example.com/feed.xml
/unsubthis - 使用此命令回复想要退订的 RSS 消息即可退订, 不支持 Channel
/export - 导出为 OPML
/sub [Channel ID] <RSS URL> 给相应频道订阅rss
2、个人订阅
如果是个人订阅(RSS信息会通过机器人私聊发给你),则直接对话机器人
发送/sub https://agint.me/feed/
3、频道订阅
如果是想把RSS信息发送到频道中,则先将机器人作为管理员添加到频道中,Channel -> Administrators -> Add Administrator
,利用username搜索找到我们的bot,把它加为管理员;
本文以频道@agintme为例,添加完毕后,直接对话机器人,发送/sub agintme https://agint.me/feed/
也就是说,当杂货屋有更新时,机器人会自动发布到频道里,频道的订阅用户也就可以看到了。