前言
RSS(英文全称:RDF Site Summary 或 Really Simple Syndication[[2]](https://zh.wikipedia.org/wiki/RSS#cite_note-powers-2003-1-2)),中文译作简易信息聚合[[3]](https://zh.wikipedia.org/wiki/RSS#cite_note-3),也称聚合内容[[4]](https://zh.wikipedia.org/wiki/RSS#cite_note-%E5%BC%A0%E9%94%902015-4),是一种消息来源格式规范,用以聚合多个网站更新的内容并自动通知网站订阅者。博主非常喜欢用RSS订阅来收集各种有用的信息集中阅读和管理,非常便捷,之前用过多种RSS客户端,但是客户端的问题在于不能及时推送和提醒。因此,博主搜了一下相关的解决方案,找到了Telegram电报群机器人订阅RSS并即时提醒的方法,这篇文章就是详解介绍一下这个方案的部署流程。
部署
准备条件
- VPS一台
- 电报账号
- Telegraph账号(可选)
安装过程
Flowerss Docker部署
1.下载配置文件 在项目目录下新建 config.yml
文件
mkdir ~/flowerss &&\
wget -O ~/flowerss/config.yml \
https://raw.githubusercontent.com/indes/flowerss-bot/master/config.yml.sample
- 注意修改文件夹路径
2.修改配置文件
vim ~/flowerss/config.yml
配置文件内容如下:
bot_token: xxx
telegraph_token: xxx
telegraph_account: xxx
telegraph_author_name: thinker
telegraph_author_url: https://blog.thinker.quest
socks5:
update_interval: 10
user_agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
mysql:
host:
port:
user:
password:
database:
telegram:
endpoint:
log:
level: release
db_log: false # 打印数据库日志,false则只会打印数据库错误日志
# file: ./flowerss.log
# sqlite:
# path: ./data.db
allowed_users:
- 填写bot_token: XXX ,填写电报机器人Token,只有这一项是必填,其它可忽略
- 填写telegraph_token 和 telegraph_account,这个可以忽略,填写后可以上传到telegraph保存
3.运行Docker
docker run -d -v ~/flowerss:/root/.flowerss indes/flowerss-bot
- 注意修改文件夹路径
电报机器人创建和获取对应Token
上面的配置文件中需要填写电报机器人的Token,这里来详细讲解一下如何获得。
- 开始私聊 BotFather
- 开始创建 Bot
输入昵称,中英文都可
输入用户名,要求别人以“bot”结尾,用户名具有唯一性,要别人没用过的
- 获取Token
Telegraph的Token获取
- 注册和申请Telegraph账号
- 配置API连接
打开浏览器,输入以下内容:
https://api.telegra.ph/createAccount?short_name=xxxxxx&author_name=xxxxx&author_url=https://xxxxxxxxxxxxxxxx
其中xxxxxx
就是你将要填写的内容,分别是“简称”、“作者名”、“作者网站”
具体例子:`
https://api.telegra.ph/createAccount?short_name=notification&author_name=thinker&author_url=https://blog.thinker.quest
返回的 JSON 中 access_token 字段值即为 Telegraph Token
使用
个人订阅
个人订阅支持的命令:
/sub [url] 订阅(url 为可选)
/unsub [url] 取消订阅(url 为可选)
/list 查看当前订阅
/set 设置订阅
/check 检查当前订阅
/setfeedtag [sub id] [tag1] [tag2] 设置订阅标签(最多设置三个Tag,以空格分隔)
/setinterval [interval] [sub id] 设置订阅刷新频率(可设置多个sub id,以空格分隔)
/activeall 开启所有订阅
/pauseall 暂停所有订阅
/import 导入 OPML 文件
/export 导出 OPML 文件
/unsuball 取消所有订阅
/help 帮助
Channel订阅
- 将 Bot 添加为 Channel 管理员
- 发送相关命令给 Bot
Channel 订阅支持的命令:
/sub @ChannelID [url] 订阅
/unsub @ChannelID [url] 取消订阅
/list @ChannelID 查看当前订阅
/check @ChannelID 检查当前订阅
/unsuball @ChannelID 取消所有订阅
/activeall @ChannelID 开启所有订阅
/setfeedtag @ChannelID [sub id] [tag1] [tag2] 设置订阅标签(最多设置三个Tag,以空格分隔)
/import 导入 OPML 文件
/export @ChannelID 导出 OPML 文件
/pauseall @ChannelID 暂停所有订阅
ChannelID 只有设置为 Public Channel 才有。如果是 Private Channel,可以暂时设置为 Public,订阅完成后改为 Private,不影响 Bot 推送消息。
例如要给 t.me/debug 频道订阅 阮一峰的网络日志 RSS 更新:
- 将 Bot 添加到 debug 频道管理员列表中
- 给 Bot 发送
/sub @debug http://www.ruanyifeng.com/blog/atom.xml
命令