Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

koishi-plugin-blive

Package Overview
Dependencies
Maintainers
2
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

koishi-plugin-blive

Bilibili live subscription for Koishi.js.

  • 1.5.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
37
decreased by-13.95%
Maintainers
2
Weekly downloads
 
Created
Source

koishi-plugin-blive

npm npm-download

B 站直播订阅。在主播上下播时进行提醒。

开发者信息

Original plugin by Dragon-Fish 824399619@qq.com

Original repository: https://github.com/koishijs/koishi-plugin-blive

Refactored by i'DLisT me@idl.ist (https://idl.ist/)

安装方法

通过网页控制台安装此插件,或通过命令行:

npm i koishi-plugin-blive

然后在配置文件或入口文件中将插件添加至你的机器人中。

使用方法

使用 -help blive 可以在 bot 内查看帮助。

这个插件有 使用数据库不使用数据库 两种模式,默认使用数据库。

blive.add <id>

id: 房间号

需要 2 级权限。

新增订阅。仅在使用数据库时可用。

blive.remove <id>

id: 房间号

需要 2 级权限。

移除订阅。仅在使用数据库时可用。

blive.list [page]

page: 列表页码

显示订阅列表。

blive.search <keyword>

keyword: 关键字

搜索主播 / 直播间。

选项

--room, -r: 使用房间号进行搜索(默认行为)。此时 keyword 为房间号。

--uid, -u: 使用主播 UID 进行搜索。此时 keyword 为 UID。

--name, -n: 使用用户名进行搜索。此时 keyword 为用户名关键字,默认将显示前 10 条结果,可使用配置项更改显示条数。

插件配置项

这个插件现在似乎不需要配置就可以使用,并提供了一些可能用得到的配置项。

配置项默认值说明
useDatabasetrue是否使用数据库。 *1
pollInterval60000访问 B 站 API 的时间间隔(单位毫秒)*2
showIcontrue在主播上下播时是否同时发送头像。使用搜索指令时不受此选项的影响。
pageLimit10分页显示群内订阅主播时,每页的最多显示条数。
searchPageLimit10在使用用户名搜索主播时的最多显示条数。
maxSubsPerChannel10每个群 / 频道最大订阅数量。仅在使用数据库时有效。
subscriptions[]订阅列表。仅在不使用数据库时有效。*3

*1 在没有配置数据库的情况下,即使这个选项设置为 true 也无法启用数据库。

*2 API 捅得地太频繁会被返回 429 (too many requests)。

*3 这个列表为一个数组,每一项遵循以下格式:

interface SubscriptionItem {
  platform: string // 用于推送的机器人的平台。QQ 则为 `onebot`。
  assignee: string // 用于推送的机器人 ID。
  room: string     // 主播房间号。
  channel: string  // 订阅此主播的群号。
  guild?: string   // 订阅此主播的服务器号。仅 QQ 频道或开黑啦需要此项。
}

例如:

{
  platform: 'onebot',
  assignee: '114514',
  room: '364364',
  channel: '12345678',
  // 因为不是 QQ 频道所以不填写 guild。
}

可选功能

在安装了 sharpnode-canvasskia-canvas 的情况下,这个插件会用其缩小主播头像。优先级为 sharp > skia-canvas > node-canvas > 什么也没有装。

已知问题

因为并没有多 bot 和对 QQ 频道的测试环境,所以对这些情况的支持可能会有问题。

更新记录

v1.0 (用于 Koishi v4)

v1.5.1

  • 删除了多余的 console.log
  • 修复了一个会导致查询用户时永远显示该主播为开播的 bug。

v1.5.0

  • 换用 wbi 鉴权接口以维持功能正常。SESSDATA 鉴权似乎不再必要,相关配置项被移除。如果哪天又要了就再加回来罢。

v1.4.1

  • 新增 package.json 中的 koishi 字段。

v1.4.0

此插件需要 Koishi 版本至少为 v4.9。如有需要,请使用 v1.3.3。

  • 由于 template API 于 Koishi 4.9 被移除,而新的 ctx.i18n 对主动推送的支持难度较高,因此字符串自定义功能被放弃。如果有此类需求请考虑 Fork 或提出对 ctx.i18n 进行支持的 Pull Request。
  • 重载逻辑使用的事件从 service 变更为 internal/service,以及 ctx.bots.get() 变更为 ctx.bots[]

v1.3.3

此版本没有上传到 npm,如需要使用请直接下载源码

  • [Breaking] 由于三相之力指示器事件,B 站对部分接口增加了 Cookie(SESSDATA)鉴权,导致此插件必须取得此内容才能正常工作。对应的配置项为 sessdata

v1.3.2

  • 尝试移除 axios 而改用内置的 ctx.http。

v1.3.1

  • 尝试修复了更新 Koishi 4.7 之后报检测到重复插件的错误。现在不报了,但是重载逻辑不一定对,希望是对的。

v1.3.0

  • 尝试增加对 QQ 频道的支持。

v1.2.0

  • [Breaking] 修改了无数据库模式的格式,对于网页控制台更加友好了。考虑到其实并没有什么人使用无数据库模式,就不升大版本号了。

v1.1.3

  • 修复了 Ctrl + F 重构结果有几个变量没重命名到,导致多个群关注同一主播时推送不正常的问题。
  • 增加了一些 logger.debug,可能查错会更加方便了(虽然本身 JS 插件无需转译,直接源码调试也方便)

v1.1.2

  • 修复了 console.log 忘了删的问题。

v1.1.1

  • 新增了自动更新数据库中储存的主播的用户名的功能。

v1.1.0

  • 修复了使用 sharp 的情况下头像无法被发出的问题。
  • 新增配置项 showIcon,可以设置在开关播时是否同时发送头像了。
  • 支持了 Schema,虽然配置项 subscriptions 因为形状太复杂而暂时无法支持。

v1.0.1

  • 修复了指令注册的机制,现在应该会正常识别有无数据库的情况了。

v1.0.0

  • 简单地适配了 v4,同时本地模式下 subscriptions 的格式有更改,需要手动指定 assignee (即手动指定由哪个 bot 推送消息)了。

如果需要继续在 v3 使用,请使用 v0.3。

v0.1 ~ v0.3 (用于 Koishi v3)

v0.3.0

  • 增加了在安装一些图像处理的依赖的情况下,可以用它们对 B 站的用户头像进行缩放的功能,以减少刷屏程度。

Keywords

FAQs

Package last updated on 07 Jul 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc