我们很多人喜欢一些网站或者博客,有时候会错过好东西或者福利,今天介绍下如何用Telegram做一个自己的RSS订阅机器人,这样我们可以非常方便的通过它来实现在Telegram里订阅网站并快速推送RSS内容,而Flowerssr bot就是一个支持应用内即时预览的 Telegram RSS Bot。
Flowerssr bot简单介绍
在官方教程中,有些细节部分是省略掉的,对于没有什么搭建经验的同学可能会有很多坑。下面一步一步来安装。
Flowerssr bot部署教程
为了最大程度的简单方便快捷,在这里推荐Docker安装。
至于怎么安装Docker?在这里就不过多赘述了,可以去网上搜一下。也可以用宝塔软件商店里的Docker,一键安装。
Flowerss bot安装具体步骤
一、打开SSH终端,可以使用Xshell之类的软件。
输入以下代码:复制,直接粘贴到SSH终端。
mkdir ~/flowerss &&\ wget -O ~/flowerss/config.yml \ ttps://raw.githubusercontent.com/indes/flowerss-bot/master/config.yml.sample
二、修改配置文件
配置文件所在目录:/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 [url] 订阅(url 为可选) /unsub [url] 取消订阅(url 为可选) /list 查看当前订阅 /set 设置订阅 /check 检查当前订阅 /setfeedtag [sub id] [tag1] [tag2] 设置订阅标签(最多设置三个Tag,以空格分隔) /setinterval [interval] [sub id] 设置订阅刷新频率(可设置多个sub id,以空格分隔) /activeall 开启所有订阅 /pauseall 暂停所有订阅 /import 导入 OPML 文件 /export 导出 OPML 文件 /unsuball 取消所有订阅 /help 帮助>
就其中的/sub
指令举个例子,我的RSS订阅为https://www.qian.blue/feed
,则写成/sub https://www.qian.blue/feed
b) 频道订阅
/sub @ChannelID [url] 订阅 /unsub @ChannelID [url] 取消订阅 /list @ChannelID 查看当前订阅 /check @ChannelID 检查当前订阅 /unsuball @ChannelID 取消所有订阅 /activeall @ChannelID 开启所有订阅 /setfeedtag @ChannelID [sub id] [tag1] [tag2] 设置订阅标签(最多设置三个Tag,以空格分隔) /import 导入 OPML 文件 /export @ChannelID 导出 OPML 文件 /pauseall @ChannelID 暂停所有订阅
同样的,举个例子,我的频道是@Home_1OVE
,
则写成/sub @Home_1OVE https://www.qian.blue/feed
注意:对于私人频道订阅时,需要先设置成公开频道,订阅之后再设置回私人频道。
常见问题
问:日志中大量类似于Create telegraph page error: FLOOD_WAIT_7
的提示?
答:原因是创建 Telegraph 页面请求过快触发了接口限制,可尝试在配置文件中添加多个 Telegraph token。
结语
我想这是一个很详细的教程,有什么问题可以在勿埋我心的评论区留言。