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-owl

v4.8.0-rc.4

Published

[![npm](https://img.shields.io/npm/v/koishi-plugin-rss-owl?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-rss-owl)

Downloads

1,083

Readme

koishi-plugin-rss-owl

npm

rss-owl 是一个基于koishi的RSS订阅工具

使用方法

1. 基本使用

RSSHub上有非常多的订阅可供使用

对于RSSHub上面的订阅,建议使用快速链接进行订阅,见快速链接说明

示例使用了-i选项以设置消息模板,你可以根据需要切换,见消息模板说明

//每天60s早报
rsso -i default https://hub.slarker.me/qqorw
rsso -i default rss:qqorw
//微信公众号话题tag 看理想|李想主义 
rsso -i custom mp-tag:MzA3MDM3NjE5NQ==/1375870284640911361
//豆瓣小组-可爱事物分享
rsso rss:douban/group/648102
//阮一峰的网络日志
rsso -i custom https://www.ruanyifeng.com/blog/atom.xml

//以下链接可能需要配置proxy才能显示完整内容
//telegram每日沙雕墙
//rsshub的tg频道订阅中不会收录被标记为NSFW的内容
//订阅每日沙雕墙频道时建议在关键字过滤中添加 `nsfw` 以过滤掉NSFW提前警告信息
rsso -i content tg:woshadiao
//telegram rvalue的生草日常
rsso -i content tg:rvalue_daily
//telegram PIXIV站每日 Top50搬运
//订阅此频道时建议在关键字过滤中添加 `互推` 以过滤频道推广信息
rsso -i content tg:pixiv_top50
//github koishi issue
rsso -i content gh:issue/koishijs/koishi
//github react releases(官方订阅源,无法使用快速链接,说明见 https://docs.rsshub.app/zh/routes/programming#github)
rsso https://github.com/facebook/react/releases.atom

//链接组可以将多个链接的推送合并,方便管理,订阅时最好同时提供订阅名称以方便查询
rsso -t 订阅组名称 <url>|<url>|<url>...

部分博客或论坛等网站也会主动提供RSS订阅链接,但部分链接可能因解析错误无法订阅

如果在订阅时出现报错,内容无法显示等情况,请在确认链接能够正常打开并返回xml文本后提交issue

部分订阅不提供pubDate,导致插件无法判断更新时间,你需要使用--daily--arg refresh,forceLength 以在固定时间获取固定数量的更新,或者用 -p 随时拉取最新的更新

2. 参数说明

订阅id/关键字

部分功能选项,如follow/remove,需要使用订阅id或关键字进行选择,在使用此类功能时,将按顺序匹配 订阅id,url,标题

订阅id,即通过rsso -l查询得到的id,此id仅在当前群有效

关键字,以早报网为例,rsso -l qqorw/rsso -l 早报网都可以匹配到

当没有重名订阅时,早报甚至rsso -l 早都可以正确匹配

follow/follow-all

当群聊比较活跃时,你可能会错过一些信息

这时候,通过rsso -f <订阅id|关键字>来关注此订阅,如rsso -f 早报

关注后,当此订阅更新时,bot会 @你 ,然后你就可以快速跳转啦

需要取消关注,只需再次发送rsso -f <订阅id|关键字>即可

如果你希望在此订阅更新时 @全体成员 ,可通过follow-all选项添加关注,同样的,再次发送时将取消

follow-all需要高级指令权限,修改权限见下方权限说明

此功能可能会造成不必要的打扰,请谨慎使用

arg

arg 可以写入局部参数,这会在使用该订阅时覆盖掉插件配置而不会影响其他订阅

支持的参数有[merge|forceLength|reverse|timeout|refresh|maxRssItem|firstLoad|bodyWidth|bodyPadding|proxyAgent|auth]

// 强制使用合并消息(false为强制不使用)
rsso -a merge:true <url>
// 关闭代理
rsso -a proxyAgent:false <url>
//添加代理
rsso -a proxyAgent:http//127.0.0.1/7890,auth:username/password <url>
//forceLength和refresh的组合可以让你订阅一些不提供更新时间的订阅,如排行榜
//发送最新10条消息,每日更新1次
rsso -a forceLength:10,refresh:1440 <url>

daily

指定该订阅每天更新时间和更新条数

//每日早8点推送10条最新内容
rsso -d 8:00/10 <url>
//每日早10点推送1条最新内容
rsso -d 10:00 <url>

pull

例:rsso -p 早报网

立刻拉取此订阅的最新更新

此拉取不会修改数据库,如果你先于刷新时拉取,刷新时将再次推送此订阅

test

例:rsso -T url

测试链接可用性,返回最新更新内容

可以通过此选项测试不同模板的表现差异

3. 插值说明

{{插值1|插值2|插值3...|'缺省'}}

如果插值1未找到,则往后查询,也可以用''单引号插入文字作为缺省值

atom格式的订阅同样会被转成rss订阅的变量进行插值,但部分变量有可能未转换或不全

你可以提交issue,或者在配置最下方选择debug:detail,保存配置后重新订阅,并log中搜索atom item通过插值手动展示

|插值变量名(写入{{}}中)|说明(不含的条目有可能不被提供)|内容| |--|--|--| |item元素可以直接用变量名||| |title|标题|10月29日,星期二,在这里每天60秒读懂世界!| |description|内容*|--| |link|链接*|https://www.qqorw.cn/mrzb/657.html| |guid|唯一标识符|https://www.qqorw.cn/mrzb/657.html| |pubDate|更新时间(不等于RSS源的收录时间)|Tue, 29 Oct 2024 00:50:29 GMT| |author|作者|早报网| |category|类别|每日早报| |channel元素需要加上前缀||| |rss.channel.title|频道标题*|早报网| |rss.channel.link|频道链接*|https://qqorw.cn/| |rss.channel.description|频道描述*|每天更新15条简语早报和一条微语,国际早报,财经早报,早报软件,每天60秒足不出户了解天下事! - Powered by RSSHub| |rss.channel.generator|用于生成 feed 的程序|RSSHub| |rss.channel.webMaster|此 feed 的 web 管理员的电子邮件地址|[email protected] (RSSHub)| |rss.channel.language|--|zh-cn| |rss.channel.image.url|频道图像地址|https://qqorw.cn/static/upload/2022/07/22/202207227737.png| |rss.channel.image.title|--|早报网| |rss.channel.image.link|--|https://qqorw.cn| |arg元素与RSS协议无关,是插件内部记录订阅信息的元素|使用中的插件配置项也在其中|可以通过数据库插件查询| |arg.title|订阅标题|| |arg.url|订阅链接|| |arg.author|订阅用户的id|| |arg.rssId|订阅id|| |arg.template|订阅模板|| |arg.proxyAgent.host|代理地址||

4. 快速链接说明

对于rsshub订阅,可使用快速链接以方便写入订阅和随时切换rsshub实例 RSSHub公共实例

切换实例地址,在插件配置中 消息处理>msg.rssHubUrl

快速链接的列表通过rsso -q查询

写入链接后可通过rsso -l查询当前真实订阅地址

//以下两条链接对应的真实地址是一样的
https://<RSSHub实例地址>/<Route1>/<Route2>/...
rss:<Route1>/<Route2>/...

//在初始配置下,以下两条链接对应的真实地址是完全相同的
rsso https://hub.slarker.me/qqorw
rsso rss:qqorw

//这是tg频道的订阅,非常的方便
rsso https://hub.slarker.me/telegram/channel/woshadiao
rsso tg:woshadiao

如果有其他比较常用的路由想要加入快速链接,也欢迎提交issue

5. 消息模板说明

消息模板可以在不同的订阅中获得合适的消息内容

模板分为基础模板和puppeteer(pptr)模板,后者需要启用puppeteer插件才可以正常使用

基础模板将直接发送 文本/原始图片/原始视频 ,可以完全展示订阅内容,但有可能刷屏

pptr模板将订阅内容渲染至无头浏览器并截图以生成输出内容,有效避免刷屏,并提供更多自定义空间,但图片会被压缩

模板配置中bodyWidth,bodyFontSize等css样式参数,仅在default和description模板中生效

custom模板的样式在custom配置内<body>的style属性写入,也可以通过class属性配合<style>写入

例:rsso -i text <url>使用text模板订阅


content ★ 可自定义的基础模板,文字/图片/视频内容都会发出

text 仅推送文字内容

media 仅推送图片和视频

image 仅推送图片

video 仅推送视频

proto 推送不经处理的description原始内容


default ★ 基础的pptr模板

description 仅包含description内容的pptr模板

custom ★ 高度可定制化的pptr模板,默认添加了护眼背景色及订阅信息

link 特殊模板,通过pptr对description内容中首个a标签网址访问并截图

6. 权限说明

仅bot主人可更改权限,普通用户请联系此bot的主人

本插件使用了koishi内置的权限系统

但是目前这文档完全摸不着头脑,别看

看这个 ->怎么提升自己的权限(提权)<-

省流,安装并启用change-auth-callme插件,发送changeauth 5

或用默认自带的auth插件,进行帐号绑定

提权完成后,权限会存入数据库,这时候就可以把插件关掉/卸载了

koishi默认的用户权限为1,也可以将权限限制设为1以使用功能(不推荐)

todu?
  • [x] 稳定使用
  • [x] 快速订阅
  • [x] 视频转发
  • [x] 订阅详情
  • [ ] auto模板
  • [ ] TTS
  • [ ] 按url合并请求
  • [ ] download模板
  • [ ] 直接追踪网页更新

致谢:

化缘