Skip to content

A telegram bot for rss reader. 一个支持应用内阅读的 Telegram RSS Bot。

License

Notifications You must be signed in to change notification settings

yeloo/flowerss-bot

 
 

Repository files navigation

flowerss bot

Build Status Go Report Card GitHub

DEMO: https://t.me/rssflowbot
问题反馈群组 Change Log

Features

  • 常见的 RSS Bot 该有的功能
  • 支持 Telegram 应用内 instant view
  • 支持为 Group 和 Channel 订阅 RSS 消息
  • 丰富的订阅设置

安装

Docker 部署

1. 下载配置文件

mkdir ~/flowerss && wget -O ~/flowerss/config.yml https://raw.githubusercontent.com/indes/flowerss-bot/master/config.yml.sample

2. 修改配置文件

vim ~/flowerss/config.yaml

3. 运行

docker run -d -v ~/flowerss:/root/.flowerss indes/flowerss-bot

下载二进制

由于 GoReleaser 不支持 Cgo,如果要使用 SQLite 做为数据库,请下载源码自行编译。

Releases 页面下载对应的版本。

源码安装

git clone https://github.com/indes/flowerss-bot && cd flowerss-bot
make build
./flowerss-bot

配置

根据以下模板,新建 config.yml 文件。

bot_token: XXX
#多个telegraph_token可采用数组格式:
# telegraph_token:
#  - token_1
#  - token_2
telegraph_token: xxxx
preview_text: 0
disable_web_page_preview: false
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为禁用)
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)

Telegraph Token 申请

如果要使用应用内即时预览,必须在配置文件中填写 telegraph_token 配置项,Telegraph Token 申请命令如下:

curl https://api.telegra.ph/createAccount?short_name=flowerss&author_name=flowerss&author_url=https://github.com/indes/flowerss-bot

返回的 JSON 中 access_token 字段值即为 Telegraph Token。

使用

命令:

/sub [url] 订阅(url 为可选)
/unsub [url] 取消订阅(url 为可选)
/list 查看当前订阅
/set 设置订阅
/import 导入 OPML 文件
/export 导出 OPML 文件
/unsuball 取消所有订阅
/help 帮助

Channel 订阅使用方法

  1. 将 Bot 添加为 Channel 管理员
  2. 发送相关命令给 Bot

Channel 订阅支持的命令:

/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,或者到问题反馈群组反馈。

License

FOSSA Status

About

A telegram bot for rss reader. 一个支持应用内阅读的 Telegram RSS Bot。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.3%
  • Other 0.7%