
引言
RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。
在博客、杂志等等的地方有广泛的应用,而Flowerssr bot就是一个支持应用内即时预览的 Telegram RSS Bot。
Flowerssr bot的简单介绍
但是在官方教程中,有些细节部分是省略掉的,对于没有什么搭建经验的同学可能会有很多坑。这里勿埋我心教你一步一步来~
部署教程
为了最大程度的简单方便快捷,在这里推荐Docker安装。
至于怎么安装Docker?在这里就不过多赘述了,可以去网上搜一下。也可以用宝塔软件商店里的Docker,一键安装。
具体步骤
一、打开SSH终端,可以使用Xshell之类的软件。
输入以下代码:
mkdir ~/flowerss &&\
wget -O ~/flowerss/config.yml \
https://raw.githubusercontent.com/indes/flowerss-bot/master/config.yml.sample
复制,直接粘贴到SSH终端。
二、修改配置文件
配置文件所在目录:/root/flowerss/config.yml
可以用Vim修改,也可以直接从“宝塔——文件”进入该目录进行编辑,都是没问题的。
在这里将我的配置发一下,如下:

bot_token: xxxxx:xxxxxxxxxxxxxxxxxxxx #Telegram机器人的密钥
telegraph_token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #telegraph的密钥
#多个telegraph_token可采用数组格式:
# telegraph_token:
# - token_1
# - token_2
user_agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
preview_text: 0
disable_web_page_preview: true
socks5: #用于无法正常 Telegram API 的环境,正常情况下忽略
update_interval: 10
error_threshold: 100
#telegram:
# endpoint: https://xxx.com/
#mysql:
# host: 127.0.0.1
# port: 3306
# user: user
password: pwd
database: flowerss
sqlite:
path: /root/.flowerss/data.db
allowed_users:
- 123 #输入telegram ID
- 234 #输入多个telegram ID
各个参数的具体含义:
| 配置项 | 含义 | 是否必填 |
|---|---|---|
| bot_token | Telegram Bot Token | 必填 |
| telegraph_token | Telegraph Token, 用于转存原文到 Telegraph | 可忽略(不转存原文到 Telegraph ) |
| preview_text | 纯文字预览字数(不借助Telegraph) | 可忽略(默认0, 0为禁用) |
| user_agent | User Agent | 可忽略 |
| disable_web_page_preview | 是否禁用 web 页面预览 | 可忽略(默认 false, true 为禁用) |
| update_interval | RSS 源扫描间隔(分钟) | 可忽略(默认 10) |
| error_threshold | 源最大出错次数 | 可忽略(默认 100) |
| socks5 | 用于无法正常 Telegram API 的环境 | 可忽略(能正常连接上 Telegram API 服务器) |
| mysql | MySQL 数据库配置 | 可忽略(使用 SQLite ) |
| sqlite | SQLite 配置 | 可忽略(已配置mysql时,该项失效) |
| telegram.endpoint | 自定义telegram bot api url | 可忽略(使用默认api url) |
| allowed_users | 允许使用bot的用户telegram id, | 可忽略,为空时所有用户都能使用bot |
获取配置中的相关数据:
a) 获取telegram bot的token
telegram中搜索
@BotFather,然后输入/newbot,填写相关信息,即可自动生成bot token。
b) 获取telegraph的token
打开浏览器,输入以下内容:
https://api.telegra.ph/createAccount?short_name=xxxxxx&author_name=xxxxx&author_url=https://xxxxxxxxxxxxxxxx其中
xxxxxx就是你将要填写的内容,分别是“简称”、“作者名”、“作者网站”,我的是:cloud和:https://hostzg.com具体例子:
https://api.telegra.ph/createAccount?short_name=cloud&author_name=cloud&author_url=https://hostzg.com
c) 获取telegram ID
telegram中搜索
@getmyid_bot,点击“开始”,即可获得用户ID。
三、部署运行
在SSH终端输入以下代码:
docker run -d -v ~/flowerss:/root/.flowerss indes/flowerss-bot
四、验证
前面都完成后,就不会有什么问题,进入你的机器人看看效果吧。
我的机器人是@rss_tg_bot
使用方法
主要分为个人订阅和频道订阅
a) 个人订阅
/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 帮助
就其中的
/sub指令举个例子,我的RSS订阅为https://hostzg.com/feed,则写成
/sub https://hostzg.com/feed
b) 频道订阅
/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 暂停所有订阅
同样的,举个例子,我的频道是https://t.me/hostzg,
则写成
/sub @hostzg https://hostzg.com/feed
注意:对于私人频道订阅时,需要先设置成公开频道,订阅之后再设置回私人频道。
常见问题
- 问:日志中大量类似于
Create telegraph page error: FLOOD_WAIT_7的提示?答:原因是创建 Telegraph 页面请求过快触发了接口限制,可尝试在配置文件中添加多个 Telegraph token。
卸载命令:docker rm -f flowerss
结语
我想这是一个很详细的教程,有什么问题可以在评论区留言。
来源:https://www.qian.blue/archives/telegram-flowerssr_bot.html


