使用Telegram Bot 推送你的RSS订阅
侧边栏壁纸
  • 累计撰写 17 篇文章
  • 累计收到 557 条评论

使用Telegram Bot 推送你的RSS订阅

syqman
2022-06-11 / 1 评论 / 1,415 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年06月11日,已超过850天没有更新,若内容或图片失效,请留言反馈。

1. 基本概念

1.1 RSS

  当我希望我很多网站更新的时候能推送给我,而不是靠我不定时上网站检查更新的时候,RSS就很有用。
  就本质而言,RSS是一种信息聚合的技术,是为了提供一种更为方便、高效的互联网信息的发布和共享,用更少的时间分享更多的信息。
  使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。网络用户可以在客户端借助于支持RSS的聚合工具软件,在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。

1.2 RSSHub

  了解到RSS后,我们就需要将网站的RSS订阅链接找出来,像有些网站就会直接提供RSS地址,比如本博客:https://syq.pub/feed/ ,还有一些PT类的下载站点。但是也有一些网站是不提供RSS地址的,那么我们就需要借助另一个工具: RSSHub
  RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容。

1.3 Flowerss Bot

  一个支持应用内即时预览的 Telegram RSS Bot

特点

  • 常见的 RSS Bot 该有的功能;
  • 支持 Telegram 应用内即时预览;
  • 支持为 Group 和 Channel 订阅 RSS 消息;
  • 丰富的订阅设置。

    2. 折腾步骤

    2.1 准备工作

    一台VPS,我这里以甲骨文2c12g arm服务器为例,系统为Debian 11。
    对docker,docker compose 有一定的基础认识,本文将采用docker的形式搭建所需要的服务。
    对Telegram和Telegram Bot有一定的认识及使用需求。

    2.2 安装Docker和Docker-compose

    curl -fsSL https://get.docker.com | bash -s docker 
    sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose

    2.3 搭建RSSHub服务和浏览器扩展 RSSHub Radar

      懒得自己搭的同学,官方提供的服务是https://rsshub.app/,但是用的人太多,效果不太好,强烈建议自己部署 RSSHub 服务。我这边选择 部署到 Vercel (Zeit Now) ,比较简单,无需提供服务器,仅需要一个github账号即可。

    2.3.1 搭建RSSHub服务  

    首先打开上面RSSHub文档的超链接,点击Deploy。

l4991bhl.png
进入Vercel 部署页面,选择管理github账户
l4993evo.png
创建你要部署的名称,如RSSHub
l499656i.png
然后等待部署完毕
l49987ey.png
出现这页面的时候表示部署完成
l499cr5i.png
点击图片,跳转的链接即你的RSSHub服务地址:
l499fh51.png
由于Vercel部署的RSSHub服务,默认地址后缀带vercel.app,我们可以改成我们喜欢的域名,返回刚才创建成功的页面,点击Go to Dashbord
l499ixqi.png
点击 settings
l499jx5e.png
点击Domains,添加你的域名
l499m1n8.png
根据提示在你的DNS服务商添加cname解析,添加完成后,静等片刻,点击Refresh,出现成功提示即可。
l499psb9.png

2.3.2 安装浏览器扩展 RSSHub Radar

我们需要安装浏览器扩展 RSSHub Radar 来配合RSSHub服务使用,安装过程不重复,项目主页讲得很详细了。
安装完毕后,点击浏览器扩展的图标,选择设置
l49a0l3h.png
在自定义域名设置里填入你刚才部署的域名即可
l49a1kff.png
然后随便找一个带有RSS订阅的站点,如https://syq.pub ,复制订阅地址到你的RSS阅读器,即完成了基础的RSS服务搭建及RSS订阅步骤
l49a3p06.png
当然RSSHub的强大功能不仅于此,感兴趣的同学可以到官方文档进一步了解: RSSHub文档

2.4 部署 Flowerss Bot 订阅 RSS

安装完RSS服务之后,我们可能需要一个固定获取信息的地方,我这里以Flowerss bot为例。
l49ah7aw.png

2.4.1 安装Mariadb作为Flowerss Bot的数据库

  • 由于mysql不支持arm,我们选择Mariadb作为数据库,root目录下新建 docker-compose.yml ,填入以下内容:
version: '3.1'
services:
  mariadb:
    image: mariadb
    restart: always
    container_name: mariadb
    environment:
      MYSQL_DATABASE: "flowerss_bot"
      MYSQL_PASSWORD: "123456"
      MYSQL_ROOT_PASSWORD: "123456"
      TZ: "Asia/Shanghai"
    ports:
      - 3306:3306
    volumes:
      - /home/mysql/data:/var/lib/mysql
      - /home/mysql/conf:/etc/mysql/conf.d
      - /home/mysql/logs:/var/log/mysql
    command:
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --default-authentication-plugin=mysql_native_password

如果你看不懂上面的配置,建议你只改动password部分。
安装完成后,验证下数据库是否运行:

docker exec -it mariadb bash
mysql -uroot -p

输入密码,可以看到数据库已运行,退出:

quit
exit

2.4.2 部署Flowerss Bot

直接按照官方文档docker部署的办法

  • 下载配置文件 在项目目录下新建 config.yml 文件

    mkdir ~/flowerss &&\
    wget -O ~/flowerss/config.yml \
      https://raw.githubusercontent.com/indes/flowerss-bot/master/config.yml.sample
    
  • 修改配置文件

    vim ~/flowerss/config.yml
    

    参考如下配置:

    bot_token: 你的Telegram Bot Token(必填)
    telegraph_token:
    telegraph_account:
    telegraph_author_name:
    telegraph_author_url:
    socks5:
    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: 172.17.0.1
    port: 3306
    user: root
    password: 123456
    database: flowerss_bot
    
    telegram:
    endpoint:
    
    log:
    level: release
    db_log: false # 打印数据库日志,false则只会打印数据库错误日志
    
    sqlite:
    path: ./data.db
    
    allowed_users: 你的tg用户id

    运行并加入自启

    docker run -d --name rssbot -v ~/flowerss:/root/.flowerss indes/flowerss-bot
    docker update rssbot --restart=always

    正常的话就可以使用了,如果没有部署成功,可以用下面命令看一下日志,比如博主就碰到了数据库名字输错了,查日志排查出原因;

    docker logs -f rssbot --tail 100

    此时在你的RSSbot里输入 /help ,有反馈信息表示安装完成。

2.4.3 Flowerssr bot 的使用

主要分为个人订阅(在Bot里推送)和频道订阅(在频道里推送)flowerss-bot,具体使用可以在 Flowerssr bot 里面使用/help命令查看帮助。

  • 个人订阅
  • 频道订阅
    Step1:将 Bot 添加为 Channel 管理员

Step2:发送相关命令给 Bot

注:ChannelID 只有设置为 Public Channel 才有。如果是 Private Channel,可以暂时设置为 Public,订阅完成后改为 Private,不影响 Bot 推送消息。

3. 参考资料

  1. 百度百科-RSS
  2. RSSHub官方文档
  3. Flowerss Bot官方文档
  4. 打造你独享的 RSS 阅读环境 —— RSSHub 与 Miniflux 自建指南
  5. 部署RSSHub并使用Telegram-bot推送
  6. 使用docker快速搭建MariaDB数据库环境
1

评论 (1)

取消
  1. 头像
    凸凸
    MacOS · Safari

    拿走了!

    回复