hostzg.com
科技智变,云启未来!

Telegram上的RSS订阅bot搭建教程,搭建RSS-to-Telegram-Bot机器人并推送到频道或群组

之前用的是flowerss-bot但推送只会有网站名称和标题(超链接),看了好多大佬的RSSbot的TG机器人都会输出大概内容、还有Via来源和作者,因此找到了更好的 RSS-to-Telegram-Bot 这个开源项目,还支持docker部署。就可以直接在Telegram频道看到论坛推送的正文了,也不需要像之前那样点击链接跳转。

第一步:准备工作

首先得有一台能访问Telegram的海外VPS。国内的话要自己配置proxy且docker安装也有些问题。

因此准备好Docker和Docker compose后,就已经完成VPS上的工作(当然大佬有独服也不是不行

然后去Telegram上面找@BotFather创建一个TG机器人。创建之后,就会收到机器人的API,内容大概是Use this token to access the HTTP API: 红色字符串 Keep your token secure and store it safely, it can be used by anyone to control your bot.,是机器人的 API,把这个 API 记下来等会要用到

第二步:下载和编辑 docker-compose.yaml

新建一个名为rsstt的目录,并定位到rsstt目录

mkdir rsstt
cd rsstt

下载 docker-compose.yaml 文件

wget <https://raw.githubusercontent.com/Rongronggg9/RSS-to-Telegram-Bot/dev/docker-compose.yml.sample> -O docker-compose.yml

接下来编辑这个文件,大概要改的是environment下的TOKEN=【上一步的机器人API】,以及MANAGER=【通过@userinfobot获取自己的tgID】设置好管理员。

获取 Telegraph API 访问令牌(环境变量:TELEGRAPH_TOKEN)。每次获取新令牌时都刷新页面。如果您有很多订阅,请确保至少获取 5 个令牌。

# Please read https://github.com/Rongronggg9/RSS-to-Telegram-Bot/blob/master/docs/deployment-guide.md for more details.

# Docker Compose 文件的版本,决定了支持的语法和功能。3.6 是个非常稳定且兼容性极佳的版本。
version: '3.6'

# 定义你需要运行的服务(容器)列表
services:
main: # 我们给这个服务起的名字,代表主程序

# 指定使用的容器镜像。这里用的是 dev(开发版),通常包含最新功能。
# 如果你想求稳,也可以改成稳定版:rongronggg9/rss-to-telegram
image: rongronggg9/rss-to-telegram:dev

# 给运行起来的容器命名为 rsstt,方便以后用 "docker logs rsstt" 等命令管理它。名字必须唯一。
container_name: rsstt

# 重启策略:unless-stopped 意味着除非你手动停止它(用 docker-compose down),
# 否则无论程序崩溃还是你的 VPS 重启,Docker 都会自动把它拉起来。
restart: unless-stopped

# 数据卷挂载:非常关键的一步,用于持久化数据。
# 格式为 "宿主机路径:容器内路径"。
# 这会把 VPS 当前目录下的 ./config 文件夹映射到容器内的 /app/config。
# 这样你的订阅数据和设置都存在了 VPS 的硬盘上,就算重装/更新容器也不会丢数据。
volumes:
- ./config:/app/config

# 环境变量:用于向程序传递你的私密配置和功能开关。
environment:
# 你的 Telegram Bot Token。⚠️已打码,请填入 @BotFather 给你的新 Token!
- TOKEN=YOUR_BOT_TOKEN_HERE

# 机器人的管理员 Telegram User ID。用分号隔开。⚠️已打码,请填入你自己的 ID。
# 只有这些 ID 的用户才能使用机器人的高级管理命令。
- MANAGER=YOUR_USER_ID_1;YOUR_USER_ID_2

# ↓------ Telegraph 配置区 ------↓ #
# 用于把较长的 RSS 文章转成 Telegraph 网页形式(Instant View)发送,阅读体验更好。
# 下面填入你的 Telegraph API Tokens。⚠️已打码,请填入你自己生成的 Token。
# 如果订阅量大,填 5 个以上可以防止频繁请求导致被限制。
- TELEGRAPH_TOKEN=
YOUR_TELEGRAPH_TOKEN_1
YOUR_TELEGRAPH_TOKEN_2
YOUR_TELEGRAPH_TOKEN_3
YOUR_TELEGRAPH_TOKEN_4
YOUR_TELEGRAPH_TOKEN_5
# ↑------ Telegraph 配置区 ------↑ #

# Please read https://github.com/Rongronggg9/RSS-to-Telegram-Bot/blob/master/docs/advanced-settings.md for more details.

# ↓------ 高级设置区 ------↓ #
# 带有 # 开头的行是被注释掉的(不生效),默认使用程序的内部预设。
# 如果你想开启某个功能,把行首的 # 删掉即可。

#- ERROR_LOGGING_CHAT=-1001234567890 # 如果程序报错,把错误日志发到这个特定的群里。默认是发给第一个 MANAGER。

# 是否允许多用户使用。0 代表只有 MANAGER 能用(私有),1 代表任何人都可以用这个机器人订阅(公开)。
- MULTIUSER=0

#- CRON_SECOND=30 # 定时抓取任务的时间点偏移,默认是 0 秒。
#- DATABASE_URL=postgres://... # 数据库地址。默认用 SQLite,如果你订阅量大(>50个),强烈建议换成 PostgreSQL。

# API_ID 和 API_HASH 用于某些特殊的 Telegram API 调用,普通纯 Bot Token 抓取的话不需要填。
#- API_ID=1025907
#- API_HASH=452b0359b988148995f22ff0f4229750

# 图片代理服务。如果 Telegram 里有些图片加载不出来/裂图,可以尝试把这俩前面的 # 删掉开启代理。
#- IMG_RELAY_SERVER=https://wsrv.nl/?url=
#- IMAGES_WESERV_NL=https://t0.nl/

# 伪装浏览器的 User-Agent,防止被一些网站的反爬虫机制(比如 Cloudflare)拦截。
- USER_AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36

# 是否优先使用 IPv6 网络抓取 RSS。0 为不优先。
- IPV6_PRIOR=0

#- VERIFY_TLS=0 # 设置为 0 会忽略 HTTPS 证书报错,有助于强行抓取那些 SSL 证书过期的个人小网站。

# 网络代理设置,用于突破网络封锁。如果你的 VPS 在国内或者需要代理才能访问某些网站。
# T_PROXY 是连接 Telegram API 用的,R_PROXY 是抓取 RSS 网站用的。
#- T_PROXY=socks5://172.17.0.1:1080
#- R_PROXY=socks5://172.17.0.1:1080
#- PROXY_BYPASS_PRIVATE=1
#- PROXY_BYPASS_DOMAINS=example.com;example.net

#- HTTP_TIMEOUT=30 # 【推荐开启】网页请求超时时间。有些网站响应慢,默认 12 秒容易超时报错,改 30 能显著提高抓取成功率。
#- HTTP_CONCURRENCY=0
#- HTTP_CONCURRENCY_PER_HOST=0

#- TABLE_TO_IMAGE=1 # 【推荐开启】把 RSS 文章里的表格转换成图片发送,因为 Telegram 原生消息不支持复杂的表格排版。
#- TRAFFIC_SAVING=1 # 开启节省服务器流量模式。
#- LAZY_MEDIA_VALIDATION=1

#- MANAGER_PRIVILEGED=1 # 【推荐开启】让所有的 MANAGER 都有最高管理权限,否则只有填在第一个位置的 MANAGER 有。
#- NO_UVLOOP=1
#- MULTIPROCESSING=1 # 多进程模式。如果你 VPS 的 CPU 核心多且订阅量极大,开启它能加快整体抓取速度。
#- EXECUTOR_NICENESS_INCREMENT=5
#- DEBUG=1 # 开启详细的调试日志。平时没出 Bug 不用开,不然日志文件会非常多。
# ↑------ 高级设置区 ------↑ #

第三步:启动机器人

执行docker compose命令即可开始构建

docker-compose up -d

然后就能在Telegram上私聊机器人开始订阅了

Update

# 1. 切换到正确的目录 
cd /root/rsstt
docker-compose down
docker-compose pull
docker-compose up -d
RSS to Telegram Bot,关心你的阅读体验的 Telegram RSS 机器人。

GitHub: https://github.com/Rongronggg9/RSS-to-Telegram-Bot

命令:
/sub: 添加订阅
/unsub: 退订订阅
/unsub_all: 退订所有订阅
/list: 列出订阅列表
/set: 自定义订阅设置
/set_default: 自定义默认设置
/import: 从 OPML 导入订阅
/export: 导出订阅到 OPML
/activate_subs: 启用订阅
/deactivate_subs: 停用订阅
/version: 查看 bot 版本
/help: 查看帮助
/lang: اختيار اللغة / Seleccionar un idioma / Επιλέξτε μια γλώσσα / Select a language / Seleccionar un idioma / Aukeratu hizkuntza bat / انتخاب زبان / Sélectionnez une langue / בחר שפה / Pilih bahasa / Selezionare una lingua / 言語を選択する / Selecione um idioma / Сменить язык / Bir dil seçin / Змінити мову / 選擇語言 / 选择语言

/test: 测试 (仅 bot 管理员)
/set_option: 更改 bot 配置 (仅 bot 管理员)
/user_info: 查看/修改用户信息 (仅 bot 管理员)

在频道/群组里的使用方式:
1. 将 bot 添加到频道/群组里。
2a. 直接在频道/群组里发送命令。
2b. 或者,你也可以在和 bot 的私聊里像这样发送命令: /sub @username https://example.com 或 /sub -10010000000000 https://example.com。
(@username 是频道/群组的用户名,@ 是不可缺少的;-10010000000000 是频道/群组的 ID,必须以 -100 开头)
赞(2) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Telegram上的RSS订阅bot搭建教程,搭建RSS-to-Telegram-Bot机器人并推送到频道或群组》
文章链接:https://hostzg.com/5262.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

主机中国网 - 科技智变,云启未来!

HOSTZG 是一个专注于VPS主机资讯、测评与推荐的平台。我们致力于为用户提供全球优质VPS主机的最新信息、详细测评和实用推荐,帮助用户找到最适合的服务器解决方案。无论您是个人用户还是企业用户,HOSTZG 都能为您提供专业、可靠的主机资讯服务。

腾讯云阿里云

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫