npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

koishi-plugin-rss-cat

v0.0.16

Published

又一款rss订阅推送器(开发中)

Downloads

157

Readme

koishi-plugin-rss-cat(开发中)

npm

rss-cat 是一个方便的RSS订阅器。
用户们可以用它在频道内订阅 RSS 源,当频道订阅的RSS源有更新时,rss-cat会自动把更新内容推送到频道。

插件目前的局限性

  • 性能问题
    • 检测源更新时会一下子从 rsscat.source 数据表中拉取全部的数据出来,这不好,在源非常多的情况下可能会导致意外的问题(我这边没在源非常多的情况下测试过
  • 稳定性问题
    • rss-cat 目前简单地使用 await ctx.broadcast(RssSource.subscriber, message) 向订阅该源的频道推送更新,并认为消息会成功地发送到每一个频道。
      但实际上 ctx.broadcast 并不是100%地把消息成功地发送到每一个频道。
      它会返回一个 Promise<string[]>代表成功发送的消息 ID 列表, rss-cat 应该利用这个列表来判断哪些频道发送失败了,并应该有相应的应对机制(如重发)。
    • 没对数据表中的行做读写锁,当多个线程 操作一个数据表 时,带来的结果是未定义的
  • 可观测性
    • rss-cat 长时间无法拉取一个源时,应该让订阅方收到警告

总结: 目前仅供测试娱乐,不建议用在大规模场景,如果你有这方面的需要,请通过issue告诉我...

TODO

  • [x] 支持自定义rsshub后端地址
  • [ ] 增加转成图片发送的可选项
  • [x] ~~根据每个订阅源的更新频率自动确定对该订阅源的抓取时间间隔,而不是使用固定时间间隔~~没啥好办法通过一个订阅源的历史更新时间准确地预测出其下次更新时间
    • 实现情况:没有实现
  • [x] 对于每个订阅源,将上次发送成功的消息的 发布时间 存到数据库里,这样当机器人下线时,就可以补发上次 下线 的时候未能推送的订阅源更新

开发参考(致谢)