diff --git a/.github/workflows/nightly.yml b/.github/workflows/lib_build.yml similarity index 82% rename from .github/workflows/nightly.yml rename to .github/workflows/lib_build.yml index a620b2b..fc9cd0c 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/lib_build.yml @@ -1,14 +1,17 @@ -name: 最新版 +name: Build on: - workflow_run: - workflows: [PushLint, PullLint] - types: - - completed + workflow_call: + inputs: + prefix: + type: string + required: true + upload_artifact: + type: boolean + required: true env: - BINARY_PREFIX: "zbppg_" - BINARY_SUFFIX: "" + BINARY_SUFFIX: "${{ inputs.prefix }}" PR_PROMPT: "::warning:: Build artifact will not be uploaded due to the workflow is trigged by pull request." LD_FLAGS: "-w -s" @@ -16,7 +19,6 @@ jobs: build: name: Build binary CI runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.conclusion == 'success' }} strategy: matrix: # build and publish in parallel: linux/386, linux/amd64, windows/386, windows/amd64, darwin/amd64, darwin/arm64 @@ -34,10 +36,12 @@ jobs: - uses: actions/checkout@master with: fetch-depth: 0 + - name: Setup Go environment uses: actions/setup-go@master with: go-version: '^1.25' + - name: Cache downloaded module uses: actions/cache@master continue-on-error: true @@ -46,21 +50,25 @@ jobs: ~/.cache/go-build ~/go/pkg/mod key: ${{ runner.os }}-go-${{ matrix.goos }}-${{ matrix.goarch }}-${{ hashFiles('**/go.sum') }} + - name: Build binary file env: GOOS: ${{ matrix.goos }} GOARCH: ${{ matrix.goarch }} - IS_PR: ${{ !!github.head_ref }} + IS_PR: ${{ !inputs.upload_artifact }} + BINARY_PREFIX: ${{ inputs.BINARY_PREFIX }} run: | GOOS= GOARCH= go generate ./... if [ $GOOS = "windows" ]; then export BINARY_SUFFIX="$BINARY_SUFFIX.exe"; fi if $IS_PR ; then echo $PR_PROMPT; fi export BINARY_NAME="$BINARY_PREFIX$GOOS_$GOARCH$BINARY_SUFFIX" export CGO_ENABLED=0 + go generate main.go go build -o "output/$BINARY_NAME" -trimpath -ldflags "$LD_FLAGS" . + - name: Upload artifact uses: actions/upload-artifact@master - if: ${{ !github.head_ref }} + if: ${{ inputs.upload_artifact }} with: name: ${{ matrix.goos }}_${{ matrix.goarch }} path: output/ diff --git a/.github/workflows/pull.yml b/.github/workflows/pull.yml index 91d27a1..2569aca 100644 --- a/.github/workflows/pull.yml +++ b/.github/workflows/pull.yml @@ -33,3 +33,10 @@ jobs: uses: ./.github/workflows/lib_run.yml with: ref: ${{ github.event.pull_request.head.sha }} + + build: + needs: [runmain] + uses: ./.github/workflows/lib_build.yml + with: + prefix: "zbppg_" + upload_artifact: false diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index dede311..fdd36d2 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -18,3 +18,10 @@ jobs: uses: ./.github/workflows/lib_run.yml with: ref: main + + build: + needs: [runmain] + uses: ./.github/workflows/lib_build.yml + with: + prefix: "zbppg_" + upload_artifact: true diff --git a/README-Edit.md b/README-Edit.md deleted file mode 100644 index 3410d32..0000000 --- a/README-Edit.md +++ /dev/null @@ -1,80 +0,0 @@ -# ZeroBot-Plugin-Playground -快来这里上传你的奇思妙想吧!好的想法将会被合并入主仓库哦~ -## 简介 -本仓库是[ZeroBot-Plugin](https://github.com/FloatTech/ZeroBot-Plugin)的插件试验场,无需任何pr即可上传并调试自己的插件。你可以在这里验证你的想法,与其他人进行交流,不会遇到任何阻碍。 -## 我该怎么做? -1. 你需要成为[FloatTech](https://github.com/FloatTech)组织的成员。这可以通过在此仓库提出issue完成。 -2. 同时,我们会邀请你加入组织,并加入[maintainer](https://github.com/orgs/FloatTech/teams/maintainer)组。你需要查看邮件确认邀请。 -3. 现在你已经获得了对本仓库的写权限,可以推送你的插件了! -## 约法三章 -1. 每个实现特定功能的插件应该放在根目录的一个文件夹下,不要越界,否则会被移除。 -2. 不要在不经允许的情况下随意改动其他人的插件,否则会被踢出[maintainer](https://github.com/orgs/FloatTech/teams/maintainer)。 -3. 礼貌交谈。 -## 完善教程 -目前开发教程还不是很全面,欢迎大家编辑此README完善它,让更多人轻松加入zbp大家庭! - -


- -## 插件基础 (参考/复制黏贴example文件夹下JiangRed的message.go) -### **Init** ---- -#### 插件默认启用状态 -*不影响插件注册* -``` -DisableOnDefault: true | false -``` ---- -#### 插件帮助 -*/用法* -``` -Help: STRING -``` -示例: -``` -Help: "This is what the plugin is about", + -"And this is some extra info", + -"- ThisIsTrigger And this is description", + -"- Trigger2 | Trigger3 | Trigger4", + -"- TriggerA | TriggerB | TriggerC", + -"- TriggerABC123 description", -``` ---- -#### 插件数据路径 (文件夹) -公有数据: -*名称首字母大写* -``` -PublicDataFolder: "Example" -``` -私有数据: -*名称首字母小写* -``` -PrivateDataFolder: "example" -``` ---- -#### 插件启用/禁用触发 -启用: -*任意Handle功能* //描述肯定不准确 大概意思是任何可以被塞进handle里面的都可以正常触发 -``` -OnEnable: func(ctx *zero.Ctx) { - ctx.send("MESSAGE") - ctx.sendChain(message.At(2401223)) -} -``` -禁用: -*同上* -``` -OnDisable: func(ctx *zero.Ctx) { - ctx.DeleteMessage(message.NewMessageIDFromInteger(114514)) -} -``` -
- -### **Engine** //这也不太对 ---- -常用功能: -``` -engine.On("notice/notify/poke") //没找到相关内容, 只在chat插件里面有这个. -任意戳一戳触发 -``` - -***未完成*** \ No newline at end of file diff --git a/README.md b/README.md index 3662418..078a767 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,9 @@ ## 完善教程 目前开发教程还不是很全面,欢迎大家编辑此README完善它,让更多人轻松加入zbp大家庭! -目前提供的样板有 example 中的 +目前提供的教程有 -- [江林版本](example/JiangRed/message.go) -- [小锅饭版本](example/xiaoguofan/example.go) +- [江林版本](plugin/exJiangRed/message.go) +- [小锅饭版本](plugin/exXiaoGuoFan/example.go) - [小锅饭的ZerobotCourse](https://github.com/guohuiyuan/ZerobotCourse) - [夹子的版本(半成品)](doc) diff --git a/abineundo/main.go b/abineundo/main.go index 449d020..0ea13f2 100644 --- a/abineundo/main.go +++ b/abineundo/main.go @@ -52,8 +52,8 @@ const ( var ( priore = regexp.MustCompile(`^\t// -{28}(高|中|低)优先级区-{28} //$`) - mainpluginre = regexp.MustCompile(`^\t_ "github\.com/FloatTech/ZeroBot-Plugin/plugin/(\w+)"\s+// `) - custpluginre = regexp.MustCompile(`^\t_ "github\.com/FloatTech/ZeroBot-Plugin/custom/plugin/(\w+)"\s+// `) + mainpluginre = regexp.MustCompile(`^\t_ "github\.com/FloatTech/ZeroBot-Plugin-Playground/plugin/(\w+)"\s+// `) + custpluginre = regexp.MustCompile(`^\t_ "github\.com/FloatTech/ZeroBot-Plugin-Playground/custom/plugin/(\w+)"\s+// `) ) func init() { diff --git a/doc/README.md b/doc/README.md index f81dc28..cf641de 100644 --- a/doc/README.md +++ b/doc/README.md @@ -39,5 +39,5 @@ ## 引用 - [ZerobotCourse](https://github.com/guohuiyuan/ZerobotCourse) -- [example/JiangRed](example/JiangRed/message.go) +- [plugin/exJiangRed](plugin/exJiangRed/message.go) - [khl.py](https://github.com/TWT233/khl.py) diff --git a/main.go b/main.go index 0c2676e..5ea91f4 100644 --- a/main.go +++ b/main.go @@ -19,37 +19,101 @@ import ( _ "github.com/FloatTech/ZeroBot-Plugin-Playground/abineundo" // 设置插件优先级&更改控制台属性 - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/example/JiangRed" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/example/xiaoguofan" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/anotherfortune" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/chatgpt" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/chinesebqb" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/cybercat" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/draw" // 服务详情 - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/fadian" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/fgopickup" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/fyzhq" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/games" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/klala" // 星穹铁道面板/图鉴插件 - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/kokomi" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/moegozh" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/movies" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/ottoshout" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/partygame" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/playwright" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/qqci" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/qqclean" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/recall" // SGK2401 - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/rsshub" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/slash" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/subweibo" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/tgyj" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/vote" - _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/youdaotranslate" - - // 程序主体 + // ---------以下插件均可通过前面加 // 注释,注释后停用并不加载插件--------- // + // ----------------------插件优先级按顺序从高到低---------------------- // + // // + // // + // // + // // + // // + // ----------------------------高优先级区---------------------------- // + // vvvvvvvvvvvvvvvvvvvvvvvvvvvv高优先级区vvvvvvvvvvvvvvvvvvvvvvvvvvvv // + // vvvvvvvvvvvvvv高优先级区vvvvvvvvvvvvvv // + // vvvvvvv高优先级区vvvvvvv // + // vvvvvvvvvvvvvv // + // vvvv // + + // ^^^^ // + // ^^^^^^^^^^^^^^ // + // ^^^^^^^高优先级区^^^^^^^ // + // ^^^^^^^^^^^^^^高优先级区^^^^^^^^^^^^^^ // + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^高优先级区^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // + // ----------------------------高优先级区---------------------------- // + // // + // // + // // + // // + // // + // ----------------------------中优先级区---------------------------- // + // vvvvvvvvvvvvvvvvvvvvvvvvvvvv中优先级区vvvvvvvvvvvvvvvvvvvvvvvvvvvv // + // vvvvvvvvvvvvvv中优先级区vvvvvvvvvvvvvv // + // vvvvvvv中优先级区vvvvvvv // + // vvvvvvvvvvvvvv // + // vvvv // + + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/anotherfortune" // 另一个今日人品 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/chatgpt" // ChatGPT对话 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/chinesebqb" // 表情包 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/cybercat" // 云养猫 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/draw" // 服务详情 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/exJiangRed" // 江林的插件编写教学 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/exXiaoGuoFan" // 小锅饭的示例 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/fadian" // 每日发癫 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/fgopickup" // FGO卡池查询 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/fyzhq" // 发音转换器 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/games" // 游戏系统 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/klala" // 星穹铁道面板/图鉴查询 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/kokomi" // 原神面板查询 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/moegozh" // VITS模型拟声迫真中文 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/movies" // 电影查询 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/ottoshout" // otto鬼叫 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/partygame" // 轮盘赌 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/playwright" // 网页截图 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/qqci" // 简易CI/CD + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/qqclean" // QQ号清理 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/recall" // 回复撤回 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/rsshub" // RssHub订阅 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/slash" // Slash自交互 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/subweibo" // 订阅微博消息 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/tgyj" // 同归于尽 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/vote" // 投票 + _ "github.com/FloatTech/ZeroBot-Plugin-Playground/plugin/youdaotranslate" // 有道翻译 + + // _ "github.com/FloatTech/ZeroBot-Plugin/plugin/wtf" // 鬼东西 + + // ^^^^ // + // ^^^^^^^^^^^^^^ // + // ^^^^^^^中优先级区^^^^^^^ // + // ^^^^^^^^^^^^^^中优先级区^^^^^^^^^^^^^^ // + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^中优先级区^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // + // ----------------------------中优先级区---------------------------- // + // // + // // + // // + // // + // // + // ----------------------------低优先级区---------------------------- // + // vvvvvvvvvvvvvvvvvvvvvvvvvvvv低优先级区vvvvvvvvvvvvvvvvvvvvvvvvvvvv // + // vvvvvvvvvvvvvv低优先级区vvvvvvvvvvvvvv // + // vvvvvvv低优先级区vvvvvvv // + // vvvvvvvvvvvvvv // + // vvvv // + + // ^^^^ // + // ^^^^^^^^^^^^^^ // + // ^^^^^^^低优先级区^^^^^^^ // + // ^^^^^^^^^^^^^^低优先级区^^^^^^^^^^^^^^ // + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^低优先级区^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // + // ----------------------------低优先级区---------------------------- // + // // + // // + // // + // // + // // + // -----------------------以下为内置依赖,勿动------------------------ // zero "github.com/wdvxdr1123/ZeroBot" "github.com/wdvxdr1123/ZeroBot/driver" + // -----------------------以上为内置依赖,勿动------------------------ // ) type zbpcfg struct { diff --git a/example/JiangRed/message.go b/plugin/exJiangRed/message.go similarity index 100% rename from example/JiangRed/message.go rename to plugin/exJiangRed/message.go diff --git a/example/xiaoguofan/example.go b/plugin/exXiaoGuoFan/example.go similarity index 100% rename from example/xiaoguofan/example.go rename to plugin/exXiaoGuoFan/example.go