更好用的 telegram RSSBot
GitHub: GitHub - fengkx/NodeRSSBot: Another Telegram RSS bot but in Node.js Telegram RSS 机器人
Demo: Telegram: Contact @NodeRSS_bot Demo欢迎使用
更好用
- 可配置项
- opml 导入导出
- docker 方便部署
使用
基本与 https://github.com/iovxw/rssbot/一致
/rss - 显示订阅列表,加 `raw`显示链接
/sub - 订阅 RSS: /sub http://example.com/feed.xml
/unsub - 退订 RSS: /unsub http://example.com/feed.xml
/unsubthis - 回复一个 RSS 发来的消息退订该 RSS
/allunsub - 退订所有源
/export - 导出订阅到opml文件
/viewall - 查看所有订阅和订阅人数 需要在设置中打开
/import - 回复此消息 opml 文件导入订阅(群组)
把 bot 设为频道管理员并正确配置权限后,可通过私聊在/sub
后加上频道 id 来在频道中订阅 feed
例如 /sub <频道 id > <feed url>
(频道 id 是@打头的)
直接发送 opml 文件,可以导入 RSS 源
viewall 只能在私聊中使用
部署
Docker
使用自动构建的 docker image
安装好了 docker 之后
- 运行
docker pull fengkx/node_rssbot
- 运行
docker run --name rssbot -d -v <directory to store database file>:/app/data/ -e RSSBOT_TOKEN=<YOUR_TGBOT_TOKEN> fengkx/node_rssbot
例如 docker run --name rssbot -d -v /var/data:/app/data/ -e RSSBOT_TOKEN=123456:abcdef123456-U fengkx/rssbot
本地构建
- 安装 Docker
- 克隆仓库
git clone https://github.com/fengkx/NodeRSSBot.git
- 构建 docker image
docker build .
then you will get a image id - 运行
docker run --name rssbot -d -e RSSBOT_TOKEN=<YOUR_TGBOT_TOKEN> <YOUR_IMAGE_ID>
例如 docker run --name rssbot -d -e RSSBOT_TOKEN=123456:abcdef123456-U fd54321bff2
PM2
- 首先要有 Node.js 和 npm 或 yarn
- 克隆仓库
git clone https://github.com/fengkx/NodeRSSBot.git
- 设置
RSSBOT_TOKEN
环境变量,或者直接在config/index.js
中修改 - 安装依赖 在仓库根目录运行
npm i
- 推荐用
pm2
守护进程pm2 start index.js
如果没有安装pm2
就先安装npm i -g pm2
TODO
- export 命令
- 代理
- unit test
配置项
所有配置项都可以用环境变量或者直接在 config/index.js
中修改
设置项 | 环境变量 | 默认/必填 | 描述 |
---|---|---|---|
token | RSSBOT_TOKEN | require | telegram bot token |
db_path | RSSBOT_DB_PATH | data/database.db | 数据库文件路径 |
lang | RSSBOT_LANG | zh-cn | 语言 |
item_num | RSSBOT_ITEM_NUM | 10 | 发送最新几条信息 |
fetch_gap | RSSBOT_FETCH_GAP | 5m | 抓取间隔 |
notify_error_count | NOTIFY_ERR_COUNT | 5 | 发出通知的错误次数 |
view_all | RSSBOT_VIEW_ALL | false | 是否开启 |
UA | RSSBOT_UA | ‘Mozilla/5.0 NodeRSSBot(GitHub - fengkx/NodeRSSBot: Another Telegram RSS bot but in Node.js Telegram RSS 机器人)’ | 请求的 user-agent |
语言可以设置为 zh-cn
or en
时间间隔可设置为每多少分钟或多少小时。m 表示分钟, h 表示小时
例如 5m 表示每 5 分钟, 1h 表示每 1 小时