/RSS-to-Telegram-Bot

专为短动态类消息设计的 RSS Bot

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

RSS to Telegram bot

专为短动态类消息设计的 RSS Bot

Build Status Docker Pulls GitHub stars

RSStT_icon

更新日志 CHANGELOG

本项目现改以 AGPLv3 许可证分发,这是为了将来的多用户功能准备的。

加入频道 @RSStT_Channel 以获取更新资讯;加入群组 @RSStT_Group 以参与讨论或反馈问题。

Deploy on Railway

Railway 部署教程

功能

  • 将 RSS 全文发送到 Telegram
    • 还原原有格式
    • 自动判断 RSS 源的标题是否为自动填充,并自动选择是否略去标题
    • 自动显示作者名
    • 将微博表情或 emoji shortcodes 转化为 emoji
      • 仅限有同义 emoji 的微博表情
    • 超长消息自动分割
      • 如果配置了 Telegraph,则会自动通过 Telegraph 发送
    • 支持对 Telegram Bot API 和 RSS 订阅分别配置代理
  • 支持含媒体消息转发
    • 至多 10 个媒体,可以是图片或视频
    • 自动缩小大于 5MB 或尺寸过大 (宽度 + 高度 <= 10000) 的图片
      • 仅限微博图源,其他图源的图片将被转为链接附加至消息末尾
  • 支持 OPML 导入导出
  • 转发失败时向 MANAGER 发送含错误信息的提示 (未设定则直接发送至 CHATID )
  • 设定 MANAGER 时只会响应对应用户的命令 (未设定则只响应 CHATID 对应用户的命令)

example1

example3

已知的问题

  • 用于频道时,无法接受频道内的命令,需直接对 bot 在私人对话中发送命令
    • 必须设定 MANAGER 并使用其对应的用户操作,否则不会响应
  • 没有多用户功能,仅可向一个用户/频道 ( CHATID ) 推送 RSS

使用

RSS to Telegram bot,专为短动态类消息设计的 RSS Bot。

成功添加一个 RSS 源后, 机器人就会开始检查订阅,每 300 秒一次。 (可修改)

标题为只是为管理 RSS 源而设的,可随意选取,但不可有空格。

命令:

/help : 发送这条消息

/add 标题 RSS : 添加订阅

/remove 标题 : 移除订阅

/list : 列出数据库中的所有订阅,包括它们的标题和 RSS 源

/test RSS 编号起点(可选) 编号终点(可选) : 从 RSS 源处获取一条 post (编号为 0-based, 不填或超出范围默认为 0,不填编号终点默认只获取一条 post),或者直接用 all 获取全部

您的 chatid 是: 0123456789

准备

  1. 前往 @BotFather 创建一个 bot ,并记录下 token ,稍后填入 TOKEN
  2. 获得您的 userid (可使用 @userinfobot 获取) 并记录下来,稍后填入 CHATID
    • 您也可使用一个频道来接收推送,此时 CHATID 格式为 @channelusername (不要忘记将 bot 添加到频道里!)
  3. 获得管理员 (通常为您) 的 userid ,方法同上,稍后填入 MANAGER

Docker

For the docker image go to: https://hub.docker.com/r/rongronggg9/rss-to-telegram

mkdir rsstt
cd rsstt
wget https://raw.githubusercontent.com/Rongronggg9/RSS-to-Telegram-Bot/master/docker-compose.yml.sample -O docker-compose.yml
vi docker-compose.yml  # 自行按文件中的注释修改 docker-compose.yml
docker-compose up -d

Installation

Python 3.8+

Remember to replace <arg>, < and > should be deleted.

git clone https://github.com/Rongronggg9/RSS-to-Telegram-Bot.git
cd RSS-to-Telegram-Bot
pip3 install -r requirements.txt
export PYTHONUNBUFFERED=1
# 参照 docker-compose.yml export 环境变量
python3 -u telegramRSSbot.py

备注

本项目原是 BoKKeR/RSS-to-Telegram-Bot 的 fork ,目前除了数据库和命令名已经没有任何相像的地方了。