koishi-plugin-ggcevo 1.1.13 → 1.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -64,7 +64,7 @@ var Config = import_koishi.Schema.intersect([
64
64
  ]);
65
65
  var inject = {
66
66
  required: ["database"],
67
- optional: ["puppeteer"]
67
+ optional: ["puppeteer", "assets"]
68
68
  };
69
69
  var ItemConfig = {
70
70
  1: "金币",
@@ -976,6 +976,18 @@ ${rewardLines.join("\n")}` : "";
976
976
  await page.setViewport({ width: 640, height: 800, deviceScaleFactor: 1 });
977
977
  await page.setContent(html, { waitUntil: "networkidle0" });
978
978
  const img = await page.screenshot({ type: "jpeg", quality: 85, fullPage: true });
979
+ if (ctx.assets) {
980
+ try {
981
+ const dataUrl = `data:image/jpeg;base64,${img.toString("base64")}`;
982
+ const transformed = await ctx.assets.transform(String(import_koishi.h.image(dataUrl, { file: "ggcevo-menu.jpg" })));
983
+ const url = import_koishi.h.parse(transformed)[0]?.attrs.src;
984
+ if (typeof url === "string" && url) {
985
+ return import_koishi.h.image(url);
986
+ }
987
+ } catch (e) {
988
+ ctx.logger.warn(`菜单图 assets 上传失败,回退为直接发送: ${e}`);
989
+ }
990
+ }
979
991
  return import_koishi.h.image(img, "image/jpeg");
980
992
  } finally {
981
993
  await page.close();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-ggcevo",
3
3
  "description": "GGCEVO 综合插件:星际争霸2游戏句柄绑定 + 签到/抽奖/兑换/背包/活动系统等虚拟物品玩法",
4
- "version": "1.1.13",
4
+ "version": "1.1.14",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [
@@ -26,14 +26,16 @@
26
26
  "database"
27
27
  ],
28
28
  "optional": [
29
- "puppeteer"
29
+ "puppeteer",
30
+ "assets"
30
31
  ]
31
32
  }
32
33
  },
33
34
  "peerDependencies": {
34
35
  "koishi": "^4.18.7",
35
36
  "koishi-plugin-puppeteer": "^3.9.0",
36
- "@shangxueink/puppeteer-without-canvas": "^3.0.7"
37
+ "@shangxueink/puppeteer-without-canvas": "^3.0.7",
38
+ "koishi-plugin-assets-qqbot-part-file": "^0.1.2"
37
39
  },
38
40
  "peerDependenciesMeta": {
39
41
  "koishi-plugin-puppeteer": {
@@ -41,6 +43,9 @@
41
43
  },
42
44
  "@shangxueink/puppeteer-without-canvas": {
43
45
  "optional": true
46
+ },
47
+ "koishi-plugin-assets-qqbot-part-file": {
48
+ "optional": true
44
49
  }
45
50
  }
46
51
  }
package/readme.md CHANGED
@@ -174,6 +174,11 @@ npm install koishi-plugin-ggcevo
174
174
 
175
175
  ## 更新日志
176
176
 
177
+ ### v1.1.14
178
+
179
+ - **支持 assets 服务发送菜单图**:`咕咕之战`/`菜单` 渲染后若存在 `assets` 服务(如 `koishi-plugin-assets-qqbot-part-file`,通过 QQ 官方 `upload_prepare` 分片上传获取公网 URL),则优先转公网 URL 发送,避免 QQ 官方机器人直接发 Buffer 时受素材上传限制;未配置或上传失败时自动回退为直接发送。仅在启用该 assets 插件时生效,其他环境行为不变
180
+ - **声明可选依赖**:`koishi-plugin-assets-qqbot-part-file`(^0.1.2)作为可选 peer 依赖
181
+
177
182
  ### v1.1.13
178
183
 
179
184
  - **指令菜单图标改为中文单字徽章**:`咕咕之战`/`菜单` 的图标由 emoji 改为彩色圆角徽章+白色单字(签/抽/换/包/信/兑/活/领/补/用/挖/探、绑/句/切/查/解/图/封),避免服务器缺少 emoji 字体时图标渲染为问号,任何环境下均可正常显示