利用RSSBot打造自己的订阅机器人(转)

@Wen's  March 15, 2019

前言

我们很多人喜欢一些网站或者博客,有时候会错过好东西或者福利,今天介绍下如何用 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/
请输入图片描述

也就是说,当杂货屋有更新时,机器人会自动发布到频道里,频道的订阅用户也就可以看到了。

 转自感谢:https://agint.me/148.html


添加新评论