flowerss 一个支持应用内阅读的 Telegram RSS Bot

网站所有资源都有,可联系VX:bjlyxy1688

flowerss bot

Build Status Go Report Card GitHub FOSSA Status

作者搭建:https://t.me/rssflowbot
我所搭建: https://t.me/laoxongRss_bot
问题反馈群组 Change Log

 flowerss-bot 演示

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.xyz
curl 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 订阅使用方法

  1. 将 Bot 添加为 Channel 管理员
  2. 发送相关命令给 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 更新:

  1. 将 Bot 添加到 debug 频道管理员列表中
  2. 给 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
喜欢就支持一下吧
点赞0 分享
Don’t worry about what others are doing better than you. Concentrate on beating your own records every day.
不要担心别人会做得比你好。你只需要每天都做得比前一天好就可以了
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容