Telegram Group Search
#dev 分支更新

* 支持使用 Redis 作为数据库(实验性)
|- 因此已经支持部署到 Railway 时持久化订阅
* 日志微调

加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
#dev 分支更新

* 支持通过 OPML 文件导入和导出订阅
* 有限的异步支持(实验性;所有命令及订阅定时检查之间,将异步运行)
* 其它小更新与修复

加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
#dev 分支更新

修复:
* 修复了数据库为空时无法添加订阅的问题
* 修复了错误的参数处理导致网络超时设置丢失,从而导致订阅检查任务无法自行结束的问题
* 修复了报错消息会无限重发的问题:当发送消息出现预料之外的错误而需要向管理员发送报错消息时,若报错消息也发送失败,不会尝试重发

新增:
* /list 命令现在拥有更简洁的输出
* 在 amd64 的基础上,docker 镜像增加 x86, arm64 构建(master 分支尚缺;为简化构建,改为使用 Python 3.9)
* 提供了一个使用 redis 作为数据库的 docker-compose 配置示例(因 master 分支尚未支持 redis,需在配置中指定 dev 分支)
* 日志输出支持着色
* 若订阅检查任务无法自行结束而导致订阅检查任务冲突,连续四次后将通过 Telegram 通知管理员
* 如果发生 getUpdates 冲突,在日志里提示用户少于十次这样的错误对于在 railway.app 里运行的示例来说是正常的

加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
#dev 分支更新

新增:
* 过长的消息可转为使用 Telegraph 发送
|- 需要设置环境变量 TELEGRAPH_TOKEN,不设置则不启用。每个 token 以逗号,分号,换行或空格中的任意一种分隔,为保证体验,请多设置几个。在这里申请 access_token
|- 如果实在不想申请,就直接输入连续的逗号,需要启用 n 个 Telegraph 账号就输入 n-1 个逗号,bot 会自动申请 token,但是这样会延长 bot 的启动时间
|- 消息过长乃至于 Telegraph 拒收时,转为链接发送
* 新增 /version 命令用于查看版本
|- git clone 后手动运行或通过官方 docker 镜像部署者,可以看到最近的 git tag、与前者的 commit 距离和 commit hash
|- 通过 Railway 部署者,只能看到部署时间

更新:
* 更新了 /help 命令返回的帮助
* 简化了命令列表的描述
* 每个 feed 中检查到的新 post,将多线程发送
* 每次检查 feed 更新,都会多线程检查
* 将 feed 更新检查均摊到每分钟,这在订阅较多时非常有用,可避免负载集中及触及 flood control
|- 为此,大于 60 分钟的检查间隔将会被重置为 60 分钟
|- 特定的某个 feed 的检查间隔仍为设置的间隔,但已四舍五入到整分钟
|- 程序启动时会一次性检查所有 feed,之后会将所有 feed 检查任务均摊到每分钟

变更:
* 官方构建 docker 镜像删去了 x86 支持,现在仅支持 amd64 (x86-64) 和 arm64,这对绝大部分用户没有影响

附注:
* 针对 Telegraph API 也设置了 flood control 自动等待;若等待时间过长,将直接重开在本次运行期间丢弃原账号并请求新的 Telegraph 账号
* post 发送任务最多允许 10 个线程同时生成消息,5 个线程同时发送消息
* feed 检查任务最多允许 5 个线程同时检查更新
* 由于 Telegraph API 非常容易触及 flood control,最多允许 1 个线程在同一时刻通过同一个 token 生成 Telegraph 文章,且每次请求附加了一个 1s 的间隔,因此最好多填几个 token

* 如果想测试多线程和 flood control 自动防止的效果: 盯着日志,然后 /test https://www.ithome.com/rss/ all

加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
#dev 分支更新

重大变更:
* 完全异步化,替换了所有涉及同步网络请求的库为异步库
* 与 Telegram 交互的库由使用 HTTP Bot API 的同步库
python-telegram-bot 改为使用 MTProto Bot API 的异步库 telethon
|- 这引入了 API key 的需求,程序已经内置了 7 个公开的 API key,即使遇到问题,重试几次就可登入成功。如果无法登入,可以自己申请 API key (详见 docker-compose.yml.sample 中的说明)
|- 由于直接连接到 bot 所属的 DC,不需绕经 HTTP Bot API 所在的 DC2/4,且不需轮询获得消息更新,它在接收及发送消息方面都更为迅速,资源占用也更低(现有证据表明,HTTP Bot API 很可能就是 MTProto Bot API 的一个包装)
|- 即使 HTTP Bot API 宕机,bot 也可以正常工作
|- 其他比较请见
这里这里

新增:
* 支持 <iframe> 元素的解析
* 支持 <video><source><source>...</video> 的解析
* 启用相对链接解析
* 将自定义表情替换为替代文字放入文本中时,可将其 emoji 化(如可能)
* 如果环境变量中设置了全局代理 (SOCKS_PROXY/HTTP_PROXY),会使用它们
* /test 接受了一个不合法的 URL 时,警示用户
* 一些新的环境变量,详见 docker-compose.yml.sample 中的说明

修复:
* 如果一个自定义表情的 width/height 是以 em 而非 px 为单位指定的,现在也能识别到它并将它从图片中剔除并替换为替代文字放入文本中
* 改为使用 post 的 guid/id 而不是 link 来辨识最后一次发送的 post,以规避某些特殊的 RSS feed 的 post 的 link 每次都会变化的问题
* 其他小问题修复

变更:
* 简化了 Telegraph 标题
* 修改 version 格式使之更合理
* 程序启动时不再一次性检查所有 feed 以避免一些问题

加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
#Release v1.6.0
#master branch updated

BREAKING CHANGE:
* Telegram bot library has been migrated from
python-telegram-bot (which uses HTTP Bot API and is synchronous) to telethon (which uses MTProto Bot API and is asynchronous)
|- However, to use MTProto Bot API, an API key is needed. The bot has 7 built-in API keys (collected from the Internet) and in most cases it should not be unable to log in. But if so, please obtain your own API key ( see
docker-compose.yml.sample for details)

New features
:
* Thanks to the migration of Telegram bot library, bot can now connect to its DC directly, need not detour through the HTTP Bot API and keep polling to get new messages. Which makes the bot receive and reply messages more rapidly and lightweightedly. Even if the HTTP Bot API is down, the bot can still run unaffectedly. (more details: Advantages of MTProto over Bot API , MTProto vs HTTP Bot API)
* Support parsing more HTML elements
|- <iframe>
|- <video><source><source>...</video>
|- <code>
|- <pre>
* Support OPML importing and exporting
* Support sending too-long post via Telegraph (env var TELEGRAPH_TOKEN must be set)
* Support redis as db
|- Note: This is a workaround for deploying the bot on railway.app, will be dropped in the future
* Support arm64 (docker build)
* Support resending a message using a media relay server if Telegram cannot send a message with media due to Telegram server instability or network instability between media server and Telegram server
* Support colored logging
* docker-compose.yml.sample
* /version command to check bot version
* Automatically use proxy if global proxy (env var SOCKS_PROXY/HTTP_PROXY) set

Changes:
* Assign feed monitoring tasks to every minute, instead of executing all at once each DELAY
|- Thus, env var DELAY can only be 60~3600
|- Note: env var DELAY will be deprecated in the future
* Recognize a post by its guid/id instead of link
* Simplify the output of /list
* Bump Python to 3.9 (docker build)
* Minor fixes

Official channel | Official group | GitHub repo | Patreon
#Release v1.6.0
#master 分支更新

重大变更:
* 与 Telegram 交互的库由使用 HTTP Bot API 的同步库
python-telegram-bot 改为使用 MTProto Bot API 的异步库 telethon
|- 这引入了 API key 的需求,程序已经内置了 7 个公开的 API key,通常情况下不应无法登入。如果无法登入,可以自己申请 API key (详见 docker-compose.yml.sample 中的说明)

新功能:
* 由于 Telegram bot 库的替换,bot 可以直接连接到 bot 所属的 DC,不需绕经 HTTP Bot API;也不需轮询获得消息更新,它在接收及发送消息方面都更为迅速,资源占用也更低; 即使 HTTP Bot API 宕机,bot 也可以正常工作 (详见 Advantages of MTProto over Bot APIMTProto vs HTTP Bot API)
* 支持更多元素的解析
|- <iframe>
|- <video><source><source>...</video>
|- <code>
|- <pre>
* 支持 OPML 导入导出
* 支持超长文章通过 Telegraph 发送 (必须先设置 TELEGRAPH_TOKEN 环境变量)
* 支持使用 redis 作为数据库
|- 注意:这是为了在 railway.app 上部署而设计的变通解决方案,未来很可能丢弃
* 支持 arm64 (docker 构建)
* 支持在由于 Telegram 服务器不稳定或 Telegram 服务器与媒体服务器之间的网络连接不稳定而导致 Telegram 无法发出带有媒体的消息时,使用媒体反代服务器重新发送。
* 支持日志着色
* docker-compose.yml.sample
* 用于检查 bot 版本的 /version 命令
* 如果设置了全局代理 (环境变量 SOCKS_PROXY/HTTP_PROXY),会使用它们

变更:
* 将 feed 监视任务分配到每分钟,而不是每次 DELAY 一次性全部执行
|- 因此,环境变量 DELAY 将只能被设置为 60~3600
|- 注意:环境变量 DELAY 未来将被弃用
* 使用 guid/id 来辨识一个 post,而不是 link
* 简化了 /list 的输出
* 升级为 Python 3.9 (docker 构建)
* 次要的修复

加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
参与 @RSStT_Bot 的测试
RSStT 现在具有多用户功能(暂时在 multiuser 分支上开发,稳定后将会合并回去)。为此,由官方运营的 bot 实例已经上线,现公开该实例用于测试。尽管称为「测试」,该实例将长期维持运转,以供公开使用,即便测试结束仍然如此,但未来可能引入一些限制以避免服务器开销过大(除非获得服务器捐赠)。

目前支持:
* 直接/在群聊中/在频道中使用 bot
* 交互式订阅、退订
* OPML 导入、导出

开发中,尚未支持:
* 国际化/本地化 国际化及 en/zh-Hans 的本地化已完成
* 订阅设置
* 输出自定义
* 在私聊中操作频道订阅(目前只能直接在频道里使用 bot 命令来操作频道订阅)

=== 点击此处参与测试 ===

如果您遇到任何问题,欢迎在群组或 GitHub issue 里反馈。
如果您喜欢这个 bot,别忘了在 GitHub 点个 star 来表达你的 ❤️

官方 bot 实例 | 加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持


Participating in the public test of @RSStT_Bot
RSStT now comes with multi-user features (temporarily on the multiuser branch, will be merged back if stable enough). Therefore, the official bot instance has been set up and released for testing. The instance will keep long-term running for public uses even if the test has finished. However, additional limitations may be applied to the official instance in the future to avoid excessive server load (unless obtaining a sponsored server).

The bot is currently supports:
* using in private chats / groups / channels
* interactive subscribing / unsubscribing
* OPML importing / exporting

The bot is currently DOES NOT support (still in development):
* i18n/l10n (currently only zh-Hans is supported) i18n support and en/zh-Hans l10n has been finished
* subscription settings
* post format customizations
* operating channel subscriptions in the private chat with the bot (currently you can only use bot commands in your channel to operate channel subscriptions)

=== Click here to join the test ===

If you have encountered any problems or bugs, please feel free to make feedback to our Telegram group or GitHub issue.
If you love this bot, don't forget to hit the star button on GitHub to express your ❤️!

Bot | Channel | Group | GitHub repo | Patreon
@RSStT_Bot now comes with i18n features
Send the /lang command to @RSStT_Bot to select a language. It will change the bot command hints from Telegram clients too!
Currently, only English and Chinese (Simplified) are supported. If you are interested in translating the bot, please check https://github.com/Rongronggg9/RSS-to-Telegram-Bot/tree/multiuser/src/i18n .

Bot | Channel | Group | GitHub repo | Patreon

@RSStT_Bot 现在具有 i18n 特性
发送命令 /lang@RSStT_Bot 以选择语言。这同时会改变 Telegram 客户端的命令提示哦!
目前,只有英语和简体中文受支持。如果您对翻译工作感兴趣,请查看 https://github.com/Rongronggg9/RSS-to-Telegram-Bot/tree/multiuser/src/i18n

官方 bot 实例 | 加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
#Release v1.6.1
#master 分支更新

这是一个仓促的发布。它将依赖
telethon 升级到了最新版本。请立即升级到这个版本以免由于依赖过时而无法登录。
机器人正在 multiuser 分支上被活跃开发,但尚未被合并回来,以免过早引入重大变更。如果你想要尝试多用户版本,这里有一个公开的 demo @RSStT_Bot

新特性:
* .env 文件支持 (仅在手动执行时支持,不支持 docker)
* 反转义受到 HTML 转义的文章标题
* 当文章内容不含有文本时,将标题作为文章的内容

变更:
* 一些小的错误修复
* 引入了一些变通解决方案以免频繁受到泛洪控制
* 引入了一些依赖以加速 HTTP 请求

官方 bot 实例 | 加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持


#Release v1.6.1
#master branch updated

This is a rushed release. It bumps the dependency
telethon to the latest version. Please upgrade to this version immediately to avoid being unable to login due to the outdated dependency.
The bot is currently being actively developed on the multiuser branch, but has not been merged back yet to avoid introducing breaking changes too early. If you would like to try the multi-user version, there is a public demo @RSStT_Bot .

New features:
* .env file support (only for manual execution, not for docker)
* Unescape HTML-escaped post title
* Use the title as the content of a post if the latter is of no text

Changes:
* Minor bugfixes
* Introduce some workarounds to avoid being flood-controlled frequently
* Introduce some deps to speedup HTTP requests

Bot | Channel | Group | GitHub repo | Patreon
#Maintenance
@RSStT_Bot need to be down for a short time to fix some faults, please wait for maintenance.
为修复一些故障, @RSStT_Bot 需要短时间下线,请等候维护完成。
#Maintenance
Telegram DC5 is experiencing a severe service downgrade. @RSStT_Bot is unable to log in.
Telegram DC5 正经历严重的服务降级。 @RSStT_Bot 目前无法登录。
To those who have deployed their own bot:
Kindly remind that if you've enabled any service that may cause docker containers to be auto-updated to the newest image, DISABLE that. I am about to release v2.0.0 in a few days and this version will introduce some breaking changes. Manual migration is needed.
From now on, you should back up your subscriptions by /export them and wait for the new version. At the same time, avoid your docker container being auto-updated.
For those who are using multiuser branch, since the branch will be merged back in the future and deleted, please switch to master (for docker, it is latest) or dev branch after v2.0.0 is released.
For those who are using Railway to deploy their own bot, nothing will be auto-updated unless a merge from upstream is performed.
A migration guide will be provided once v2.0.0 is released.

如果你部署了自己的机器人:
温馨提示:请停用所有可能导致 docker 容器自动更新的服务。我已准备在几天内发布 v2.0.0 版本,该版本引入了一些重大变更,因而需要手动迁移。
从现在起,您应该通过 /export 备份你的订阅并等待新版本。同时,避免容器被自动更新。
对于使用 multiuser 分支的用户来说,由于 multiuser 分支将在未来被合并回去并被删除,请在 v2.0.0 发布后切换至 master (对 docker 来说是 latest) 或 dev 分支。
对于使用 Railway 部署的用户来说,自动更新不会发生,除非执行了来自上游的合并。
v2.0.0 发布时将提供迁移指南。
#Release Multi-user, i18n, improved user-friendliness, and more (v2.0.0)

Official public bot: @RSStT_Bot

This is a major release. It introduces some major breaking changes. You must migrate to the new version manually.
PLEASE READ THE
MIGRATION GUIDE BEFORE UPDATING!

BREAKING CHANGES

User and subscription management has been rewritten. The bot now can be used by multiple users and each subscription may have its individual monitoring interval. Thus, env variables CHATID and DELAY are deprecated and of no use.
The default behavior is to run as a multi-user bot. If you still would like to limit the bot to serve you only, follow the migration guide.
Redis support has been dropped. Only SQLite and PostgreSQL are supported.

Additions

Highlights

● Multi-user: The bot can be used by any users, or in channels and groups (unless env variable MULTIUSER is set to 0).
● I18n: The bot now supports multiple languages. Currently, English (en), Simplified Chinese (简体中文, zh-Hans) and Cantonese (廣東話, yue) are supported. You can contribute by translating the bot to your language following the translation guide.
● User-friendly: You can use most commands interactively, no need to remember their syntax.
● HTTP Caching: The bot has implemented the necessary parts of RFC7234 to "cache" feeds. It can reduce the servers loads of both the bot and the feed provider.

Other additions

● Customizing subscriptions: Subscriptions can be customized. Currently, only the settings below can be customized. Other settings are WIP.
● Pausing: You can deactivate a subscription. In this way, you can make the bot pause to send updates of it.
● Muting: You can mute a subscription. In this way, when the bot sends updates of it, silent messages will be sent. (You will still receive notifications, but no sound.)
● Interval: You can change the monitoring interval of a subscription.
● Documentation: The bot now has documentation. You can find it at docs.

Enhancements

● Better feed history management: All posts in a feed are now hashed and stored. This allows you to subscribe to almost any feeds without missing posts.
● Better error handling: The bot now has better error handling. It will now try to recover from errors and retry.
● Better logging: The bot now has better logging.
● Better performance: The bot now has a better performance.
● Dependence bump: Dependencies have been bumped to the latest version. Potential security vulnerabilities have been fixed.
● Proxy bypassing: If env variable PROXY_BYPASS_PRIVATE is set, the bot will bypass proxy for private IPs. And will bypass proxy for domains listed in env variable PROXY_BYPASS_DOMAINS.
● Bugfixes: A few bugfixes.

Bot | Channel | Group | GitHub repo | Patreon
#Release 多用户、国际化、改进的用户友好性和更多 (v2.0.0)

官方的公开 bot: @RSStT_Bot

这是一个重大的发布。它引入了一些重大变更,因此迁移至新版本需要手动完成。
更新前请务必阅读
迁移指南

重大变更

重写用户及订阅管理。Bot 现在可以被多个用户同时使用,且各个订阅都可以独立设置监视间隔。因此,环境变量 CHATIDDELAY 已经被弃用且不再有效。
默认情况下,bot 将作为多用户机器人运行。如果你仍然希望限制 bot 仅为你服务,请按照迁移指南进行设置。
不再支持 Redis,仅支持 SQLite 和 PostgreSQL。

新特性

亮点

● 多用户: 任何用户都可以使用 bot,也可以在频道和群组中使用(除非环境变量 MULTIUSER 设置为 0)。
● 国际化: Bot 现在支持多语言。目前,英语 (English, en), 简体中文 (zh-Hans) 和 粤语 (廣東話, yue) 已被支持。你可以参考 翻译指南,通过将 bot 翻译为你的语言,为项目作出贡献。
● 用户友好: 你可以交互式地使用大部分命令,而不需要记住他们的语法。
● HTTP 缓存: Bot 已经实现了 RFC7234 中的必要部分,以“缓存”订阅源。这可以帮助 bot 所在的服务器和订阅源所在的服务器降低负载。

其他新特性

● 自定义订阅: 订阅可被自定义。目前,只有下面列出的设置可被自定义。其他设置正在开发中。
● 暂停订阅: 你可以暂停订阅。这样的话,你就可以让 bot 暂停发送订阅更新。
● 静音订阅: 你可以静音订阅。这样的话,当 bot 发送更新时,会发送静音消息。(你仍然会收到通知,但不会有声音)
● 监视间隔: 你可以更改订阅的监视间隔。
● 文档: Bot 现在有了文档。请查阅 docs

增强

● 更好的订阅源历史管理: 订阅源中的所有文章都会经过散列并储存,这样你就可以订阅几乎任何订阅源而不必担心遗漏文章。
● 更好的错误处理: Bot 现在能更好地处理错误,它将会尝试恢复并重试。
● 更好的日志: Bot 现在能更好地记录日志。
更佳的性能: Bot 现在有着更佳的性能。
依赖更新: 依赖已被更新至最新版本。潜在的漏洞已被修复。
代理绕过: 如果设置了环境变量 PROXY_BYPASS_PRIVATE ,bot 会为私有网络绕过代理。在环境变量 PROXY_BYPASS_DOMAINS 中列出的域名也会被绕过。
Bug 修复: 修复了一些 bug。

官方 bot 实例 | 加入频道 | 加入群组 | GitHub 仓库 | 捐赠支持
#Release Custom format, new l10n, improved media fallback, and more (v2.1.0)

Official public bot @RSStT_Bot is always using the dev branch. If you are using it, you may have noticed the new features. Since new commands are added, please use /lang command once again and select your language to let the bot update your command list.

BREAKING CHANGES

Inline mode is now required to be enabled due to new custom settings. Go to @BotFather, send /setinline, select your bot, and reply with an inline placeholder you like. For example, @RSStT_Bot is using Please input a command to continue....

Additions

Highlights

● More custom formatting options: /set command now gains its full power. You can control media or any metadata to be displayed or not. Adding your custom hashtags and setting your custom subscription title are all possible, but the inline mode is required to be enabled. Read the detailed description of formatting settings in the Formatting Settings Guidebook.
● User's default formatting settings: Use /set_default to set your default formatting settings. It applies to all your new subscriptions and if you like, you can make existing subscriptions use them. It is useful if you want to set similar settings for most of your subscriptions.
● New l10n: Italian (Italiano), Turkish (Türkçe), Catalan (Català), and French (français). Feel like adding your language? Please read the translation guide here.
● Feed sniffer: If you try to subscribe to a webpage instead of a feed, the bot will try to sniff the feed from the webpage. (Note: this only works if the webpage contains a feed link.)
● Enclosure support: The bot can now extract enclosures from posts. Enjoy listening to podcasts or downloading attachments!
<audio> support: The bot can now extract audio from post content. Enjoy listening to podcasts!
● Send long images as files: The bot can now send long images as files. This can prevent Telegram from compressing the image and making it unreadable.
● OPML importing w/ custom title: You can now import subscriptions from OPML files, without losing your custom title. The bot will ask you if the bot should use the custom titles from the OPML file or not.
● OPML exporting w/ custom title: You can now export your subscriptions to an OPML, without losing your custom title.

There is too much in this release, read more on GitHub...

Bot | Channel | Group | GitHub repo | Patreon
2024/11/18 18:42:47
Back to Top
HTML Embed Code: