使用telegrambot推送RSS订阅
前言
众所周知,RSS订阅为用户提供了一种优雅的方式,通过整合感兴趣的内容,使他们能够在一个平台上轻松获取并追踪新闻、博客等信息,实现个性化、高效的信息阅读体验。
Telegram以其无监管、自由开放的特性深受欢迎,再加上telegraph的富文本支持,官方开放的丰富接口,使得其作为接收订阅消息的平台真是再合适不过了。
项目介绍
RSS-to-Telegram-Bot
关心你的阅读体验的 Telegram RSS 机器人
多语言,多用户,交互友好
可以选择Bot订阅,或者是在频道或者群组中推送,详情可以参考官方文档。
项目地址:https://github.com/Rongronggg9/RSS-to-Telegram-Bot
项目展示
菜单管理
桌面端
移动端
Telegram移动端生成的链接还支持即时预览,这点我很喜欢。
环境需求
- 一台VPS服务器,
- user id,用以设置管理员,可以使用@userinfobot获取
- Bot Token向BotFather申请一个Bot,并获取它的Token。
- telegraph Token,生成订阅内容时候使用,每次点击获取的token都不一样,保存差不多五个即可。点击此处获取Token
更多配置请移步官方文档
搭建
熟悉docker-compose的小伙伴直接复制并编辑即可。
version: '3.6'
services:
main:
image: rongronggg9/rss-to-telegram:dev
container_name: rsstt
restart: unless-stopped
volumes:
- ./config:/app/config
environment:
- TOKEN=xxx #填入你的Bot Token
- MANAGER=xxx #填入你的user id
- TELEGRAPH_TOKEN= #填入你获取的telegraph Token
#- MULTIUSER=0
#- CRON_SECOND=30
#- DATABASE_URL=postgres://username:password@host:port/db_name
#- API_ID=1025907
#- API_HASH=452b0359b988148995f22ff0f4229750
#- IMG_RELAY_SERVER=https://wsrv.nl/?url=
#- IMAGES_WESERV_NL=https://t0.nl/
#- USER_AGENT=Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/96.0
#- IPV6_PRIOR=1
#- 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
#- HTTP_CONCURRENCY=0
#- HTTP_CONCURRENCY_PER_HOST=0
#- TABLE_TO_IMAGE=1
#- TRAFFIC_SAVING=1
#- LAZY_MEDIA_VALIDATION=1
#- MANAGER_PRIVILEGED=1
#- NO_UVLOOP=1
#- MULTIPROCESSING=1
#- DEBUG=1
docker-compose up -d
部署并运行
私聊你的机器人发送/help
设置语言即可。
踩坑
默认的图像缓存服务是有所限制的,屏蔽了包括xyz,top等等大量廉价域名。
相关issue
也就是说,你应该避免使用以上后缀域名作为你的图床,否则图片将不会正确显示。
很不巧的是我的图床使用的正是廉价域名…
当然你也可以自建wsrv.nl图片缓存,配置文件里填入即可。
没办法,我还是继续使用sm.ms吧。
[24年2月8日修改]
该死的sm.ms在我不知情的情况下,把我的账户删除了,导致博客所有外联图片均失效,真的恶心,再也不会用这破图床了。
目前已修改为自建的Telegraph图床。
总结
RSS订阅真的是一种优雅且方便的阅读方式,强烈推荐使用!