RSS to Telegram bot
专为短动态类消息设计的 RSS Bot
本项目现改以 AGPLv3 许可证分发,这是为了将来的多用户功能准备的。
加入频道 @RSStT_Channel 以获取更新资讯;加入群组 @RSStT_Group 以参与讨论或反馈问题。
功能
- 将 RSS 全文发送到 Telegram
- 还原原有格式
- 自动判断 RSS 源的标题是否为自动填充,并自动选择是否略去标题
- 自动显示作者名
- 将微博表情或 emoji shortcodes 转化为 emoji
- 仅限有同义 emoji 的微博表情
- 超长消息自动分割
- 如果配置了 Telegraph,则会自动通过 Telegraph 发送
- 支持对 Telegram Bot API 和 RSS 订阅分别配置代理
- 支持含媒体消息转发
- 至多 10 个媒体,可以是图片或视频
- 自动缩小大于 5MB 或尺寸过大 (宽度 + 高度 <= 10000) 的图片
- 仅限微博图源,其他图源的图片将被转为链接附加至消息末尾
- 支持 OPML 导入导出
- 转发失败时向
MANAGER
发送含错误信息的提示 (未设定则直接发送至CHATID
) - 设定
MANAGER
时只会响应对应用户的命令 (未设定则只响应CHATID
对应用户的命令)
已知的问题
- 用于频道时,无法接受频道内的命令,需直接对 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
准备
- 前往 @BotFather 创建一个 bot ,并记录下 token ,稍后填入
TOKEN
- 获得您的 userid (可使用 @userinfobot 获取) 并记录下来,稍后填入
CHATID
- 您也可使用一个频道来接收推送,此时
CHATID
格式为@channelusername
(不要忘记将 bot 添加到频道里!)
- 您也可使用一个频道来接收推送,此时
- 获得管理员 (通常为您) 的 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 ,目前除了数据库和命令名已经没有任何相像的地方了。