/koishi-plugin-update-service

Primary LanguageTypeScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

koishi-plugin-update-service

npm

本插件提供了 updater 服务

使用方法 (以 systools-lts 为例)

  • 注册检查更新回调函数

import {  } from 'koishi-plugin-update-service'  // 合并类型
import { Context } from 'koishi'

...

export function apply(ctx: Context) {
    ...

    const verifyCode = ctx.updater.register(
        ctx,
        {
            new: (name: string, verison: string) => {
                // 在该插件新增时回调
                ...
            },
            update: (name: string, verison: string, latest: string,) => {
                // 在插件版本更新时回调
                ...
            },
            delete: (name: string) => {
                // 在插件被删除后回调
                ...
            }
        }
    )
}

若 new 和/或 update 函数返回 true, 则会安装最新版本的该插件

  • 注销检查更新回调函数

import {  } from 'koishi-plugin-update-service'  // 合并类型
import { Context } from 'koishi'

...

export function apply(ctx: Context) {
    ...

    // verifyCode 是 register 的返回值
    ctx.updater.unregister(ctx, verifyCode)
}
  • 更新检查更新回调函数

import {  } from 'koishi-plugin-update-service'  // 合并类型
import { Context } from 'koishi'

...

export function apply(ctx: Context) {
    ...

    // verifyCode 是 register 的返回值
    ctx.updater.update(
        ctx,
        {  // 与 register 参数相同, 但可选填部分 key
            ...
        }
    )
}

特别鸣谢

  1. Shigma - 提供 代码参考
  2. CyanChanges - 技术指导
  3. Microsoft - 提供 TypeScript & VS Code & Windows & Microsoft Edge
  4. Google - 提供 Chromium & Google Search Engine & Translator
  5. Discord (由 Cloudflare 内容分发) - 提供 语音聊天支持
  6. Vercel - 对 Koishi 提供 文档支持