部署支持Telegram应用内预览的RSS订阅机器人
简介
在Telegram里,我们经常通过RSS订阅机器人把消息转发到群组里,但是我们在网上找的公共RSS Bot都不支持Telegram的应用内即时预览功能(可能只有我没找到能直接用的🤣),在Github搜索Telegram Bot
时,我找到一个很不错的Telegram RSS Bot项目,可以很方便的部署在自己的VPS上
项目地址:
https://github.com/indes/flowerss-botRelease地址:
https://github.com/indes/flowerss-bot/releases文档地址:
https://flowerss-bot.now.sh/#/
作者的文档已经写了很详细了,这里我顺便随手记录下自己的部署过程(老水怪了,嘿嘿🤡)
特性:
- 常见的 RSS Bot 该有的功能;
- 支持 Telegram 应用内即时预览;
- 支持为 Group 和 Channel 订阅 RSS 消息;
- 丰富的订阅设置。
准备
- 一台可以访问国际互联网的VPS或者服务器
- 一双会Ctrl + C & Ctrl + V的双手
部署
Docker部署
1 | # Docker安装、拉取项目镜像此处略过,因为作者也没写2333 |
二进制文件部署
这也是博主实际的部署方式
1 | # 新建并进入项目目录 |
此时RSSBot项目的目录结构如下:
1 | . # 根目录 |
1 | # 重命名示例配置文件为实际配置文件 |
配置开机自启
1 | # 使用systemed命令 |
源码编译部署
1 | # Clone项目的代码仓库并进入项目目录 |
配置项
配置文件
无论你使用上面哪种方式部署,实际起作用的配置文件只有一个:项目目录下的config.yml
文件,此文件编辑时必须严格按照YAML
格式要求!
1 | # 这是配置文件示例 |
配置项说明
配置项 | 含义 | 是否必填 |
---|---|---|
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 |
申请Telegram Bot Token
打开Telegram搜索@BotFather
点击Start
,发送/newbot
然后给你的Telegram Bot
取一个昵称和名字,框中马赛克部分就是创建的Telegram Bot Token
,请妥善保管该Token:
申请Telegraph Token
Telegram应用内预览需要Telegraph Api,所以我们还需要申请个Telegraph Token
在终端中执行下面命令,会返回一段json
格式的文本,其中的access_token
字段值即为Telegraph Token
,请妥善保存
1 | $ curl https://api.telegra.ph/createAccount?short_name=DaiRSS_Bot&author_name=Spoience&author_url=https://spoience.com |
查看Telegram ID
默认的配置是允许所有用户使用我们刚刚创建的Telegram RSS Bot,但为了安全、防止被滥用我们可以设置指定ID的Telegram用户能够使用该Bot,获取允许使用用户(比如自己)的Telegram ID并填入配置文件的allowed_users字段
获取Telegram ID:
https://t.me/getmyid_bot?start=botostore
使用
将Bot添加到您的频道中,并设置为管理员,Bot的管理命令如下:
1 | /sub @ChannelID [url] 订阅 |
测试
将Bot添加你的群组/频道,订阅一个RSS/Atom,对Bot输入命令/check
,可以看到一切正常,部署过程至此结束,Enjoy🍕