flowerss bot
作者搭建:https://t.me/rssflowbot
我所搭建: https://t.me/laoxongRss_bot
问题反馈群组 Change Log
Features
- 常见的 RSS Bot 该有的功能
- 支持 Telegram 应用内 instant view
- 支持为 Group 和 Channel 订阅 RSS 消息
- 丰富的订阅设置
准备
申请Bot Token
打开Telegram
,搜索@BotFather
,发送/newbot
,申请一个Bot
,申请完成后,会发给你一个Bot Token
。
Telegraph Token 申请
<span>curl</span> https://api.telegra.ph/createAccount?short_name=laoxong&author_name=laoxong&author_url=https://www.2002000.xyz<span>curl</span> https://api.telegra.ph/createAccount?short_name=laoxong&author_name=laoxong&author_url=https://www.2002000.xyzcurl https://api.telegra.ph/createAccount?short_name=laoxong&author_name=laoxong&author_url=https://www.2002000.xyz
返回的 JSON 中 access_token 字段值即为 Telegraph Token
安装
Docker 部署
docker run -d -v ~<span>/data/flowerss</span><span>:/var/flowerss</span> indes/flowerss-bot -b <bot token> -t <telegraph token 可省略>docker run -d -v ~<span>/data/flowerss</span><span>:/var/flowerss</span> indes/flowerss-bot -b <bot token> -t <telegraph token 可省略>docker run -d -v ~/data/flowerss:/var/flowerss indes/flowerss-bot -b <bot token> -t <telegraph token 可省略>
下载二进制
由于 GoReleaser 不支持 Cgo,如果要使用 SQLite 做为数据库,请下载源码自行编译。
从 Releases 页面下载对应的版本。
源码安装
<table><tbody><tr><td><div></div></td><td><div>git <span>clone</span> https:<span>//github.com/indes/flowerss-bot && cd flowerss-bot</span></div></td></tr><tr><td><div></div></td><td><div>make build</div></td></tr><tr><td><div></div></td><td><div>./flowerss-bot</div></td></tr></tbody></table><table><tbody><tr><td><div></div></td><td><div>git <span>clone</span> https:<span>//github.com/indes/flowerss-bot && cd flowerss-bot</span></div></td></tr><tr><td><div></div></td><td><div>make build</div></td></tr><tr><td><div></div></td><td><div>./flowerss-bot</div></td></tr></tbody></table>
git clone https://github.com/indes/flowerss-bot && cd flowerss-bot make build ./flowerss-bot
配置
根据以下模板,新建 config.yml
文件。
<table><tbody><tr><td><div></div></td><td><div><span>bot_token: XXX</span></div></td></tr><tr><td><div></div></td><td><div><span>#多个telegraph_token可采用数组格式:</span></div></td></tr><tr><td><div></div></td><td><div><span># telegraph_token:</span></div></td></tr><tr><td><div></div></td><td><div><span># - token_1</span></div></td></tr><tr><td><div></div></td><td><div><span># - token_2</span></div></td></tr><tr><td><div></div></td><td><div><span>telegraph_token: xxxx</span></div></td></tr><tr><td><div></div></td><td><div><span>preview_text: 0</span></div></td></tr><tr><td><div></div></td><td><div><span>socks5: 127.0.0.1:1080</span></div></td></tr><tr><td><div></div></td><td><div><span>update_interval: 10</span></div></td></tr><tr><td><div></div></td><td><div><span>error_threshold: 100</span></div></td></tr><tr><td><div></div></td><td><div><span>telegram:</span></div></td></tr><tr><td><div></div></td><td><div> endpoint: https://xxx.com/</div></td></tr><tr><td><div></div></td><td><div><span>mysql:</span></div></td></tr><tr><td><div></div></td><td><div> host: 127.0.0.1</div></td></tr><tr><td><div></div></td><td><div> port: 3306</div></td></tr><tr><td><div></div></td><td><div> user: user</div></td></tr><tr><td><div></div></td><td><div> password: pwd</div></td></tr><tr><td><div></div></td><td><div> database: flowerss</div></td></tr><tr><td><div></div></td><td><div><span>sqlite:</span></div></td></tr><tr><td><div></div></td><td><div> path: ./data.db</div></td></tr></tbody></table><table><tbody><tr><td><div></div></td><td><div><span>bot_token: XXX</span></div></td></tr><tr><td><div></div></td><td><div><span>#多个telegraph_token可采用数组格式:</span></div></td></tr><tr><td><div></div></td><td><div><span># telegraph_token:</span></div></td></tr><tr><td><div></div></td><td><div><span># - token_1</span></div></td></tr><tr><td><div></div></td><td><div><span># - token_2</span></div></td></tr><tr><td><div></div></td><td><div><span>telegraph_token: xxxx</span></div></td></tr><tr><td><div></div></td><td><div><span>preview_text: 0</span></div></td></tr><tr><td><div></div></td><td><div><span>socks5: 127.0.0.1:1080</span></div></td></tr><tr><td><div></div></td><td><div><span>update_interval: 10</span></div></td></tr><tr><td><div></div></td><td><div><span>error_threshold: 100</span></div></td></tr><tr><td><div></div></td><td><div><span>telegram:</span></div></td></tr><tr><td><div></div></td><td><div> endpoint: https://xxx.com/</div></td></tr><tr><td><div></div></td><td><div><span>mysql:</span></div></td></tr><tr><td><div></div></td><td><div> host: 127.0.0.1</div></td></tr><tr><td><div></div></td><td><div> port: 3306</div></td></tr><tr><td><div></div></td><td><div> user: user</div></td></tr><tr><td><div></div></td><td><div> password: pwd</div></td></tr><tr><td><div></div></td><td><div> database: flowerss</div></td></tr><tr><td><div></div></td><td><div><span>sqlite:</span></div></td></tr><tr><td><div></div></td><td><div> path: ./data.db</div></td></tr></tbody></table>
bot_token: XXX #多个telegraph_token可采用数组格式: # telegraph_token: # - token_1 # - token_2 telegraph_token: xxxx preview_text: 0 socks5: 127.0.0.1:1080 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: ./data.db
配置说明:
配置项 | 含义 | 必填 |
---|---|---|
bot_token | Telegram Bot Token | 必填 |
telegraph_token | Telegraph Token, 用于转存原文到 Telegraph | 可忽略(不转存原文到 Telegraph ) |
preview_text | 纯文字预览字数(不借助Telegraph) | 可忽略(默认0, 0为禁用) |
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) |
使用
命令:
<table><tbody><tr><td><div></div></td><td><div>/sub [url] 订阅(url 为可选)</div></td></tr><tr><td><div></div></td><td><div>/unsub [url] 取消订阅(url 为可选)</div></td></tr><tr><td><div></div></td><td><div>/list 查看当前订阅</div></td></tr><tr><td><div></div></td><td><div>/<span>set</span> 设置订阅</div></td></tr><tr><td><div></div></td><td><div>/<span>import</span> 导入 OPML 文件</div></td></tr><tr><td><div></div></td><td><div>/<span>export</span> 导出 OPML 文件</div></td></tr><tr><td><div></div></td><td><div>/unsuball 取消所有订阅</div></td></tr><tr><td><div></div></td><td><div>/<span>help</span> 帮助</div></td></tr></tbody></table><table><tbody><tr><td><div></div></td><td><div>/sub [url] 订阅(url 为可选)</div></td></tr><tr><td><div></div></td><td><div>/unsub [url] 取消订阅(url 为可选)</div></td></tr><tr><td><div></div></td><td><div>/list 查看当前订阅</div></td></tr><tr><td><div></div></td><td><div>/<span>set</span> 设置订阅</div></td></tr><tr><td><div></div></td><td><div>/<span>import</span> 导入 OPML 文件</div></td></tr><tr><td><div></div></td><td><div>/<span>export</span> 导出 OPML 文件</div></td></tr><tr><td><div></div></td><td><div>/unsuball 取消所有订阅</div></td></tr><tr><td><div></div></td><td><div>/<span>help</span> 帮助</div></td></tr></tbody></table>
/sub [url] 订阅(url 为可选) /unsub [url] 取消订阅(url 为可选) /list 查看当前订阅 /set 设置订阅 /import 导入 OPML 文件 /export 导出 OPML 文件 /unsuball 取消所有订阅 /help 帮助
可以为机器人添加快捷指令
找到@BotFather
输入 /setcommands
选择你的机器人
输入以下内容
<table><tbody><tr><td><div></div></td><td><div>sub - 订阅(url 为可选) </div></td></tr><tr><td><div></div></td><td><div>unsub - 取消订阅(url 为可选)</div></td></tr><tr><td><div></div></td><td><div><span>list</span> - 查看当前订阅 </div></td></tr><tr><td><div></div></td><td><div><span>set</span> - 设置订阅 </div></td></tr><tr><td><div></div></td><td><div><span>help</span> - 帮助</div></td></tr></tbody></table><table><tbody><tr><td><div></div></td><td><div>sub - 订阅(url 为可选) </div></td></tr><tr><td><div></div></td><td><div>unsub - 取消订阅(url 为可选)</div></td></tr><tr><td><div></div></td><td><div><span>list</span> - 查看当前订阅 </div></td></tr><tr><td><div></div></td><td><div><span>set</span> - 设置订阅 </div></td></tr><tr><td><div></div></td><td><div><span>help</span> - 帮助</div></td></tr></tbody></table>
sub - 订阅(url 为可选) unsub - 取消订阅(url 为可选) list - 查看当前订阅 set - 设置订阅 help - 帮助
Channel 订阅使用方法
- 将 Bot 添加为 Channel 管理员
- 发送相关命令给 Bot
Channel 订阅支持的命令:
<table><tbody><tr><td><div></div></td><td><div>/sub @ChannelID [url] 订阅</div></td></tr><tr><td><div></div></td><td><div>/unsub @ChannelID [url] 取消订阅</div></td></tr><tr><td><div></div></td><td><div>/list @ChannelID 查看当前订阅</div></td></tr><tr><td><div></div></td><td><div>/unsuball @ChannelID 取消所有订阅</div></td></tr></tbody></table><table><tbody><tr><td><div></div></td><td><div>/sub @ChannelID [url] 订阅</div></td></tr><tr><td><div></div></td><td><div>/unsub @ChannelID [url] 取消订阅</div></td></tr><tr><td><div></div></td><td><div>/list @ChannelID 查看当前订阅</div></td></tr><tr><td><div></div></td><td><div>/unsuball @ChannelID 取消所有订阅</div></td></tr></tbody></table>
/sub @ChannelID [url] 订阅 /unsub @ChannelID [url] 取消订阅 /list @ChannelID 查看当前订阅 /unsuball @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
命令
常见问题
- Q:日志中大量类似于
Create telegraph page error: FLOOD_WAIT_7
的提示
A:原因是创建telegraph页面请求过快触发了接口限制,可尝试在配置文件中添加多个telegraph token
问题反馈
如果你在使用过程中遇到问题,请提交 Issue,或者到问题反馈群组 反馈。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容