github Rongronggg9/RSS-to-Telegram-Bot v2.2.0
Channel remote management, more formatting options, and more (v2.2.0)

latest releases: v2.9.0, v2.8.0, v2.7.0...
2 years ago

Additions

Highlights

  • Channel/group remote management: Now you can manage the subscription of your channel/group in the private chat with the bot. Most commands are supported. Just send commands like /sub @username https://exmaple.com or /sub -10010000000000 https://exmaple.com. (@username is the channel/group's username, @ is required; -10010000000000 is the channel/group's ID, it must start with -100)
  • More custom formatting options:
    • Media: You can make Telegram messages come with no media (just text) if you want (by default, they always come with media if any media is attached to the post). Also, you can make Telegram messages come with only media and metadata (no content) if you want, only when any media is attached to the post, otherwise, they will still come with the content.
    • Link Preview: Now you can force disable link preview for Telegram messages.
    • Source: More sourcing formats available. Read the detailed description in the Formatting Settings Guidebook.
  • Deployment to Heroku: The bot can now be deployed to Heroku. Read the detailed description in the Deployment Guide.
  • User permission management: The bot manager can now manage the permissions of the bot users by using the /user_info command. In this way, the bot manager can set who (user/channel/group) can use the bot, even if the multi-user mode is disabled.

Other additions

  • Single-column table support: Formerly, all HTML tables were dropped from the output. Now those tables with only one column are rendered as multi-line text. Note that multi-column tables will still be dropped from the output.
  • Audio fallback for lizhi.fm: Automatically fallback to the less-quality version of the audio if the higher-quality version exceeds the file size limit. Only for lizhi.fm.

Enhancements

  • Prettified Telegraph post: The format of Telegraph posts is prettified. In addition, all images and videos are using the media relay server to avoid anti-hotlinking.
  • Non-HTTP hyperlinks: Non-HTTP hyperlinks are not supported by Telegram. The bot will automatically convert them to bare URLs.
  • Enclosure cleaning: If an enclosure with a non-HTTP URL is already included in a link in the post, it will be removed.
  • Lazy media validator: The media validator is now lazy. It will only run if a post will be probably sent as Telegram messages. This will reduce CPU usage and network traffic.
  • Enhanced image dimension extraction: Image dimension extraction is now faster and more flexible. If failed, the bot will try to extract the dimension using images.weserv.nl.
  • L10n update: Turkish (Türkçe) l10n file updated. (English, Simplified Chinese / 简体中文, Traditional Chinese / 正體中文, Cantonese / 廣東話 are always up-to-date.)
  • Improved Docker build caching: If the dependencies are not changed, no need to fetch the whole Docker image again. Just use the cached dependencies and fetch the latest source code.
  • Extract git info from Railway.app env variables: Deployment on Railway.app can now recognize the git info.
  • Minor enhancements

Bug fixes

  • Python 3.7 compatibility: The previous version of the bot broke the compatibility with Python 3.7. Now it has been fixed. Please note that only x86 and amd64 architectures are supported. For arm64, the minimum Python version requirement is 3.8.
  • EntitiesTooLongError: Posts with tons of text hyperlinks could cause Telegram API to throw this error. Now the bot will try to fix this error by more aggressive post splitting.
  • <div>: The bot will now ensure that each <div> tag takes up a whole line.
  • Unnecessary image fallback: The bot will no longer fall back all images to file if at least one image needs to be sent as a file.
  • Web retry: Added a need-to-retry exception.
  • Webpage decode error: cchardet is not robust enough to handle all feeds. Now the bot will try to detect the encoding of the webpage according to the XML encoding declaration. Also, if cchardet returns a not-supported encoding, the bot will try to decode the webpage using UTF-8. Any character that cannot be decoded will be replaced with .
  • Extracting image dimension from Exif thumbnail: Some images may contain a thumbnail in the Exif data. The bot will now avoid extracting the dimension from the thumbnail.
  • Minor bug fixes

频道远程管理、更多格式化选项和更多 (v2.2.0)

新特性

亮点

  • 频道/群组远程管理: 现在你可以在和 bot 的私聊里管理你的频道/群组的订阅。支持使用大部分命令。只需以类似于 /sub @username https://exmaple.com/sub -10010000000000 https://exmaple.com 的格式发送命令。(@username 是频道/群组的用户名, @ 是不可缺少的; -10010000000000 是频道/群组的 ID, 必须以 -100 开头)
  • 更多格式化选项:
    • 媒体: 你可以选择让 Telegram 消息不带任何媒体 (只有文字)。也可以选择让 Telegram 消息只带有媒体和元数据 (没有内容);只有当有媒体附加到文章时才可如此,否则,它们仍会带有内容。
    • 链接预览: 现在你可以强制关闭 Telegram 消息的链接预览。
    • 来源: 更多来源格式化选项。阅读 格式设置指南 以获取详细信息。
  • 部署到 Heroku: Bot 现在可以部署到 Heroku。阅读 部署指南 以获取详细信息。
  • 用户权限管理: Bot 管理员现在可以使用 /user_info 命令来管理 bot 用户 (用户/频道/群组) 的权限。这样管理员就可以设置谁可以使用 bot,即使禁用了多用户模式。

其他新特性

  • 单列表格支持: 先前,所有 HTML 表格都被丢弃。现在,只含有单列的表格将被渲染为多行文本。请注意,多列表格仍会被丢弃。
  • 适用于 lizhi.fm 的音频回落: 如果高音质音频超出了文件大小限制,自动回落到更低音质的音频。仅适用于 lizhi.fm

增强

  • Telegraph 文章美化: Telegraph 文章的格式美化。除此之外,所有图片和视频都使用媒体中继服务器来规避防盗链。
  • 非 HTTP 超链接: Telegram 不支持非 HTTP 超链接。Bot 会自动将它们转换为裸 URL。
  • Enclosure 清理: 如果一个附件包含非 HTTP URL 且文章中的链接已包含它,它将被移除。
  • 懒惰的媒体验证器: 媒体验证器现在是懒惰的。它只有在一篇文章可能作为 Telegram 消息发送时才会运行。这将减少 CPU 使用量和网络流量。
  • 增强的图片尺寸提取: 图片尺寸提取现在更快速和灵活。如果提取失败,bot 会尝试使用 images.weserv.nl 来提取。
  • 本地化更新: 土耳其语 (Türkçe) 本地化文件已更新。 (英语 / English 、简体中文 、繁体中文 / 正體中文 和 粤语 / 廣東話 永远是最新的。)
  • 改进的 Docker 构建缓存: 如果依赖未改变,无需再重新拉取完整的 Docker 镜像。只需使用缓存的依赖并拉取最新的源码。
  • 从 Railway.app 的环境变量中提取 git 信息: Railway.app 上的部署现在可以识别 git 信息。
  • 次要的增强

Bug 修复

  • Python 3.7 兼容性: 上一个版本破坏了与 Python 3.8 的兼容性,现在已经修复了。请注意,仅支持 x86 和 amd64 架构。对于 arm64,最小的 Python 版本要求是 3.8。
  • EntitiesTooLongError: 含有大量文本超链接的文章可引起 Telegram API 抛出这个错误。现在 bot 会尝试通过更激进的文章分割来修复这个错误。
  • <div>: Bot 现在会确保每个 <div> 标签都占据一整行。
  • 不必要的图片回落: 如果至少有一张图片需要作为文件发送,bot 不再会将所有图片都回落成文件。
  • 网络重试: 增加了一个需要进行重试的异常。
  • 网页解码错误: cchardet 并不足够健壮以处理所有源。现在 bot 会尝试从 XML 编码声明中探测网页编码。同时,如果 cchardet 返回了不支持的编码,bot 会尝试使用 UTF-8 来解码网页。任何无法被解码的字符都会被替换为
  • 从 Exif 缩略图中提取图片尺寸: 一些图片在 Exif 数据中含有缩略图。Bot 现在会避免从缩略图中提取尺寸。
  • 次要的 bug 修复

Don't miss a new RSS-to-Telegram-Bot release

NewReleases is sending notifications on new releases.