引言
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 telegraph_account: qiantigers telegraph_author_name: qiantigers telegraph_author_url: https://www.qian.blue socks5: #用于无法正常 Telegram API 的环境,正常情况下忽略 update_interval: 10 #更新时间 user_agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 # mysql: # host: # port: # user: # password: # database: # telegram: # endpoint: log: level: release db_log: false # 打印数据库日志,false则只会打印数据库错误日志 # file: ./flowerss.log sqlite: path: /root/.flowerss/data.db allowed_users: - xxxxxxxxxx #输入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
就是你将要填写的内容,分别是“简称”、“作者名”、“作者网站”,我的是qiantigers
和https://www.qian.blue
具体例子:
https://api.telegra.ph/createAccount?short_name=qiantigers&author_name=qiantigers&author_url=https://www.qian.blue
c) 获取telegram ID
telegram中搜索
@getmyid_bot
,点击“开始”,即可获得用户ID。
三、部署运行
在SSH终端输入以下代码:
docker run -d -v ~/flowerss:/root/.flowerss indes/flowerss-bot
四、验证
前面都完成后,就不会有什么问题,进入你的机器人看看效果吧。
我的机器人是@QianBlue_Bot
使用方法
主要分为个人订阅和频道订阅
a) 个人订阅
就其中的
/sub
指令举个例子,我的RSS订阅为https://www.qian.blue/feed
,则写成
/sub https://www.qian.blue/feed
b) 频道订阅
同样的,举个例子,我的频道是
@OneDrive_Club
,则写成
/sub @OneDrive_Club https://www.qian.blue/feed
注意:对于私人频道订阅时,需要先设置成公开频道,订阅之后再设置回私人频道。
常见问题
- 问:日志中大量类似于
Create telegraph page error: FLOOD_WAIT_7
的提示?答:原因是创建 Telegraph 页面请求过快触发了接口限制,可尝试在配置文件中添加多个 Telegraph token。
卸载命令:
docker rm -f flowerss
来源:https://www.qian.blue/archives/telegram-flowerssr_bot.html