RSStT Bot Channel
759 subscribers
9 photos
51 links
RSS-to-Telegram-Bot, A Telegram RSS bot that cares about your reading experience.

Bot: @RSStT_Bot
GitHub repo: git.io/RSStT
Group/群聊: @RSStT_Group

爱发电: afdian.net/@RongrongQAQ
Patreon: patreon.com/rongbot
Ko-fi: ko-fi.com/rongbot
Download Telegram
#Release v2.8.0: Retain post order, rewritten monitor, and more

Highlights
● Retain post order: Retain the order of posts in a feed when sending them. Previously, all new posts were sent simultaneously, losing their order within the feed. Note: Posts from different feeds are still sent simultaneously, so it is expected to see them interlaced.
● Rewritten monitor: The feed monitor has been rewritten for flexibility and robustness. It is now more memory-efficient and can smooth out spikes in CPU usage.

Enhancements
● Print Telegram user info of bot: Print the bot's Telegram user info when the bot is started. This is to help bot managers to find the bot's username and user ID when deploying the bot.
● Minor refactor: Some internal functions have been refactored to improve performance and maintainability.

Bug fixes
● Exit with 0 when disconnected: If the bot was logged out due to a network error or Telegram DC degradation, it would exit with exit-code 0. This led to confusion when the bot was running in a container or as a service. Now the bot will exit with exit-code 100 when disconnected.
● Unable to handle completely empty posts: Fix AttributeError caused by completely empty posts. They are ignored now.
● Minor bug fixes

Bot | Channel | Group | GitHub repo | Patreon | Ko-fi

#Release v2.8.0: 保留文章顺序,重写的监视器和更多

亮点
● 保留文章顺序: 在发送文章时保留文章在 feed 中的顺序。先前,所有新文章都被同时发送,失去了它们在 feed 中的顺序。注意:来自不同 feed 的文章仍然同时发送,因此预计会看到它们交错。
● 重写的监视器: Feed 监视器已被重写,以提高灵活性和稳健性。它现在更节省内存,并且可以平滑 CPU 使用率的波动。

增强
● 打印 bot 的 Telegram 用户信息: 在 bot 启动时打印 bot 的 Telegram 用户信息。这是为了帮助 bot 管理员在部署 bot 时找到 bot 的用户名和用户 ID。
● 次要的重构: 重构了一些内部函数以提高性能和可维护性。

Bug 修复
● 断开连接后以 0 退出: 过去,如果 bot 由于网络错误或 Telegram DC 降级而被登出,它将以退出码 0 退出。当 bot 在容器中或作为服务运行时,这会导致混乱。现在,当断开连接时,机器人将以退出码 100 退出。
● 无法处理完全空白的文章: 修复由完全空白的文章引起的 AttributeError。它们现在会被忽略。
● 次要的 bug 修复

官方 bot 实例 | 加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
4👍1🔥1
(简体中文翻译在下一条消息)
I am adding topic group support to RSStT and would like to know which subscription-topic relation satisfies your typical use case.

[1]
⭕️ Easy to implement.
⭕️ Migrating subscriptions among topics is straightforward.
Unable to copy subscriptions among topics.
Unable to subscribe to the same feed in different topics.
Unable to subscribe to the same feed in the same topic.

[2]
⭕️ Easy to implement.
Migrating subscriptions among topics is confusing - conflicts may occur.
⭕️ Able to copy subscriptions among topics.
But confusing - conflicts may occur.
⭕️ Able to subscribe to the same feed in different topics.
Subscriptions to the same feed cannot have different customization settings (their settings are always synchronized).
Unable to subscribe to the same feed in the same topic. (so-called "conflicts")

[3]
Hard to implement.
Migrating subscriptions among topics is confusing - conflicts may occur.
⭕️ Able to copy subscriptions among topics.
But confusing - conflicts may occur.
⭕️ Able to subscribe to the same feed in different topics.
⭕️ Subscriptions to the same feed may have different customization settings (their settings are never synchronized).
Unable to subscribe to the same feed in the same topic. (so-called "conflicts")
(简体中文翻译在下一条消息)
11👍1🔥1😇1🦄1
(See the previous message for English translation)
我正在为 RSStT 添加话题群组支持,并想知道哪种订阅-话题关系满足您的典型用例。

[1]
⭕️ 容易实现。
⭕️ 在话题之间迁移订阅是直截了当的
不可以在话题之间复制订阅。
不可以不同的话题中订阅同一个 feed。
不可以同一个话题中订阅同一个 feed。

[2]
⭕️ 容易实现。
在话题之间迁移订阅是令人迷惑的 - 可能发生冲突。
⭕️ 可以在话题之间复制订阅。
但是是令人迷惑的 - 可能发生冲突。
⭕️ 可以不同的话题中订阅同一个 feed。
对同一个 feed 的多个订阅不能具有不同的自定义设置 (它们的设置是永远被同步的)。
不可以同一个话题中订阅同一个 feed。(所谓的 "冲突")

[3]
难以实现。
在话题之间迁移订阅是令人迷惑的 - 可能发生冲突。
⭕️ 可以在话题之间复制订阅。
但是是令人迷惑的 - 可能发生冲突。
⭕️ 可以不同的话题中订阅同一个 feed。
⭕️ 对同一个 feed 的多个订阅可以具有不同的自定义设置 (它们的设置是永不同步的)。
不可以同一个话题中订阅同一个 feed。(所谓的 "冲突")
(See the previous message for English translation)
12🥰1🙏1😇1
Which subscription-topic relation satisfies your typical use case? (If more than one option satisfies your typical use case, choose the one with the smallest number)
哪种订阅-主题关系满足您的典型用例?(如果多于一个选项满足您的典型用例,选择数字最小的一个)
Anonymous Poll
78%
[1]
10%
[2]
12%
[3]
10🥰1🙏1🙈1
#Release v2.9.0: Telegraph-related revert, skip cert verification, and more

BREAKING CHANGES
Media (image and video) are no longer uploaded when generating Telegraph posts due to Telegraph disabling media upload. (first introduced in v2.6.0)

Addition

● Disable TLS certificate verification: The environment variable VERIFY_TLS has been added to disable (when set to 0) or enable (when set to 1, default) TLS certificate verification. This is useful when subscribing to feeds with their TLS misconfigured. Note: Disabling TLS certificate verification is not recommended and should only be used as a last resort.

Enhancements

● Sanitize post title and author: The title and author of a post (RSS item or Atom entry) are now sanitized to prevent unexpected formatting issues. In particular, unexpected whitespaces and linebreaks are removed, and any HTML elements are stripped. This helps display them correctly in Telegram messages as well as Telegraph posts.
● Improve robustness on Railway.app: Some Railway-specific environment variables are recognized to improve robustness on Railway.app. In particular, DATABASE_PRIVATE_URL and DATABASE_PUBLIC_URL will be used when DATABASE_URL is unavailable or invalid. This should solve most database connection issues on Railway.app.
● Minor refactor: Some internal functions have been refactored to improve readability and maintainability.

Bug fixes
/version not working: When installed from PyPI (e.g. pip install rsstt), the /version command might cause an error. This was a regression introduced in v2.7.0.
● Bot managers can set monitoring intervals shorter than limit: Due to the breaking change introduced in v2.8.0, the privilege of bot managers to set intervals shorter than the minimal monitoring interval became useless. While v2.8.0 only applied this limitation when monitoring the updates of feeds, this release also applies it to the attempts by bot managers to change the monitoring interval for a subscription. Note: bot managers can always lower the minimal monitoring interval by adjusting minimal_interval in /set_option (see also Advanced Settings), but doing so will also permit anyone who is able to use the bot to set shorter intervals.
● Minor bug fixes

Bot | Channel | Group | GitHub repo | Patreon | Ko-fi

#Release v2.9.0: 与 Telegraph 相关的 revert、跳过证书校验和更多

重大变更
由于 Telegraph 禁用了媒体上传,生成 Telegraph 文章时不再上传媒体 (图片与视频) 。(在 v2.6.0 中首次引入)

新增功能
● 关闭 TLS 证书验证: 环境变量 VERIFY_TLS 已被添加以禁用 (设置为 0 时) 或启用 (设置为 1 时,默认) TLS 证书验证。当订阅 TLS 被错误配置的 feed 时,这很有用。注意:不建议禁用 TLS 证书验证,只应用作最后手段。

增强
● 净化文章标题和作者: 文章 (RSS item 或 Atom entry) 的标题和作者现在被净化以防止意外的格式问题。特别是,预期外的空格和换行符被移除,任何 HTML 元素都被剥离。这有助于在 Telegram 消息以及 Telegraph 文章中正确显示它们。
● 改善在 Railway.app 上的稳健性: 一些特定于 Railway 的环境变量被识别以提高在 Railway.app 上的稳健性。特别是,当 DATABASE_URL 不可用或无效时,将使用 DATABASE_PRIVATE_URLDATABASE_PUBLIC_URL。这应该解决在 Railway.app 上的大多数数据库连接问题。
● 次要的重构: 重构了一些内部函数以提高可读性和可维护性。

Bug 修复
/version 不工作: 当从 PyPI 安装时 (例如 pip install rsstt), /version 命令可能会导致错误。这是在 v2.7.0 中引入的一个回归 (regression)。
● Bot 管理员可以设置比限制更短的监控间隔: 由于 v2.8.0 中引入的一个重大变更,bot 管理员可以设置比最小监控间隔更短的间隔的特权变得毫无意义。虽然 v2.8.0 只在监控 feed 的更新时应用了这个限制,但这个版本也将它应用于 bot 管理员的更改订阅监控间隔的尝试。注意: bot 管理员总是可以通过调整 /set_option 中的 minimal_interval 来降低最小监控间隔 (另请参阅 高级设置),但这样做也会允许任何能够使用 bot 的人设置更短的间隔。
● 次要的 bug 修复

官方 bot 实例 | 加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
8👍4
#Maintenance
@RSStT_Bot is temporarily offline due to infrastructure failure.
由于基础设施故障, @RSStT_Bot 目前临时下线。
😨73
#Release v2.10.0: Container health check, chat-specific #hashtags, and more

Highlights
● Container health check: The official Docker image includes an automatic health check to determine if the container is running properly. The health check status can be checked in docker ps. This feature, combined with autoheal or some other monitoring tool, can restart the container automatically when it is unhealthy.
● Support for chat-specific #hashtags: Telegram recently added a feature called "chat-specific hashtags," formatting as #hashtag@username. However, escaping '@' broke these hashtags. Properly supports such hashtags by allowing '@' in hashtags.

Enhancements
● No longer proxies images from *.wp.com when generating Telegraph posts: *.wp.com is in the blocklist of wsrv.nl (environment variable IMAGES_WESERV_NL). Thus, these images are no longer proxied when generating Telegraph posts. All images from *.wp.com can be accessed with any referer header, so they are now kept as is.
● Link to repo in UA: The default User-Agent now contains a link to the repository, which can help webmasters identify the source of traffic and add RSStT into their allowlists.
● Minor enhancements: Some internal functions have been refined to enhance compatibility with various feeds.
● Minor refactor: Some internal functions have been refactored to improve performance, readability and maintainability.

Bug fixes
● Canonical DATABASE_URL not recognized: Since v2.9.0, DATABASE_URL is canonicalized before connecting to the corresponding database. However, a canonical URL pointing to a local path cannot be recognized when checking the validity of the scheme (database type). Both canonical (scheme:/path/to/file.db) and traditional (scheme:///path/to/file.db) forms of such URLs are recognized correctly now.
● Monitoring not deferred as per server-side cache when subscribing: Since v2.7.0, monitoring tasks will be deferred when aggressive server-side caches (e.g., Cloudflare and RSSHub, which make it futile to check for updates before cache expiration) are detected. However, the first monitoring task for a newly subscribed feed was not being deferred. This has been fixed and the first monitoring task now waits for the server-side cache to expire.
● Minor bug fixes

Bot | Channel | Group | GitHub repo | Patreon | Ko-fi

#Release v2.10.0: 容器健康检查、特定于聊天的 #hashtag 和更多

亮点
● 容器健康检查: 官方 Docker 镜像现在包含自动健康检查,用于确定容器是否正常运行。健康检查状态可以在 docker ps 中查看。结合 autoheal 或其他监控工具,当容器不健康时可以自动重启容器。
● 支持特定于聊天的 #hashtag: Telegram 最近添加了一个名为“特定于聊天的 hashtag”的功能,格式为 #hashtag@username。然而,转义 @ 会破坏这些 hashtag。通过在 hashtag 中允许 @ 来正确地支持这类 hashtag。

增强
● 生成 Telegraph 文章时,不再代理来自 *.wp.com 的图像: *.wp.com 位于 wsrv.nl (环境变量 IMAGES_WESERV_NL) 的阻断列表中。因此,在生成 Telegraph 文章时,这些图像不再被代理。来自 *.wp.com 的所有图片都可以用任何 refer 头访问,因此它们现在保持原样。
● UA 中的仓库链接: 默认的 User-Agent 现在包含一个指向仓库的链接,这可以帮助网站管理员识别流量来源并将 RSStT 添加到白名单中。
● 次要的增强: 改进了一些内部函数以增强与各种 feed 的兼容性。
● 次要的重构: 重构了一些内部函数以提高性能、可读性和可维护性。

Bug 修复
● 无法识别规范的 DATABASE_URL: 自 v2.9.0 起, 在连接到相应的数据库之前,DATABASE_URL 被规范化。然而,在检查 scheme (数据库类型) 的合法性时,无法识别指向本地路径的规范 URL。现在,此类 URL 的规范 (scheme:/path/to/file.db) 和传统 (scheme:///path/to/file.db) 形式都被正确识别。
● 订阅时不会根据服务端缓存延迟监控:自 v2.7.0 起,当检测到激进的服务器端缓存时,监控任务将被延迟(例如 Cloudflare 和 RSSHub,它们使得在缓存过期之前检查更新变得徒劳无功)。但是,当新订阅 feed 时,第一个监视任务不会被推迟。该问题已修复,第一个监控任务会等待服务端缓存过期。
● 次要的 bug 修复

官方 bot 实例 | 加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
👍72
You may have noticed that @RSStT_Bot was deleted by Telegram last week. After appealing, @RSStT_Bot was recovered several hours ago (thanks for the help from Telegram Support Team). It is partially functioning again, with update pushing temporarily disabled. You won't receive any messages for feed updates, but you can still send commands to it. It is scheduled to reenable update pushing after 9 hours. You can now use it as usual and receive feed updates.

您可能已经注意到 @RSStT_Bot 上周被 Telegram 删除了。经过申诉, @RSStT_Bot 在几个小时前被找回(感谢来自 Telegram 支持团队的帮助)。它的部分功能已再次运转,惟更新推送被暂时禁用。feed 更新时您不会收到任何消息,但您仍然可以向其发送命令。计划在 9 小时后重新启用更新推送。您现在可以如同往常一样使用它并接收 feed 更新。
👏276