Telegram RSS订阅机器人

引言

RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。

在博客、杂志等等的地方有广泛的应用,而Flowerssr bot就是一个支持应用内即时预览的 Telegram RSS Bot。

Flowerssr bot的简单简介

  • GitHub地址:https://github.com/indes/flowerss-bot
  • 官方教程:https://flowerss-bot.now.sh/

但是在官方教程中,有些细节部分是省略掉的,对于没有什么搭建经验的同学可能会有很多坑。这里勿埋我心教你一步一步来~

部署教程

为了最大程度的简单方便快捷,在这里推荐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就是你将要填写的内容,分别是“简称”、“作者名”、“作者网站”,我的是qiantigershttps://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 暂停所有订阅

同样的,举个例子,我的频道是@OneDrive_Club

则写成/sub @OneDrive_Club https://www.qian.blue/feed

注意:对于私人频道订阅时,需要先设置成公开频道,订阅之后再设置回私人频道

常见问题

  1. 问:日志中大量类似于Create telegraph page error: FLOOD_WAIT_7的提示?答:原因是创建 Telegraph 页面请求过快触发了接口限制,可尝试在配置文件中添加多个 Telegraph token。

卸载命令:

docker rm -f flowerss

来源:https://www.qian.blue/archives/telegram-flowerssr_bot.html

推荐站内搜索:icp备案号、免费http代理ip、asp虚拟主机、主机服务器租用、电信主机、国内免备案服务器、godaddy域名解析、独立ip虚拟主机、淘宝虚拟主机、公网ip、