koishi-plugin-ggcevo 1.3.3 → 1.3.5
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 +14 -6
- package/package.json +1 -1
- package/readme.md +15 -1
package/lib/index.js
CHANGED
|
@@ -128,6 +128,18 @@ var ExchangeConfig = {
|
|
|
128
128
|
23: { name: "赎罪券", quality: "t0", type: "道具", cost: 2 }
|
|
129
129
|
};
|
|
130
130
|
function apply(ctx, config) {
|
|
131
|
+
ctx.root.on("command/before-execute", (argv) => {
|
|
132
|
+
if (argv.command?.ctx === ctx && argv.command.name !== "咕咕之战") {
|
|
133
|
+
;
|
|
134
|
+
argv.session["ggcevoQuote"] = true;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
ctx.root.before("send", (session, options) => {
|
|
138
|
+
const source = options.session;
|
|
139
|
+
if (source?.["ggcevoQuote"] && !session.elements?.some((el) => el.type === "quote")) {
|
|
140
|
+
session.elements?.unshift((0, import_koishi.h)("quote", { id: source.messageId }));
|
|
141
|
+
}
|
|
142
|
+
});
|
|
131
143
|
const debug = /* @__PURE__ */ __name((...args) => {
|
|
132
144
|
if (config.debugEnabled) {
|
|
133
145
|
ctx.logger.info("[ggcevo:debug]", ...args);
|
|
@@ -2985,7 +2997,6 @@ ${rewardLines.join("\n")}` : "";
|
|
|
2985
2997
|
await page.setContent(html);
|
|
2986
2998
|
await page.waitForNetworkIdle();
|
|
2987
2999
|
const img = await page.screenshot({ type: "jpeg", quality: 85, fullPage: true, encoding: "binary" });
|
|
2988
|
-
logger.info("[menu-render] 菜单图渲染完成, 体积 %s KB", (img.length / 1024).toFixed(1));
|
|
2989
3000
|
try {
|
|
2990
3001
|
await (0, import_promises.mkdir)(menuCacheDir, { recursive: true });
|
|
2991
3002
|
const files = await (0, import_promises.readdir)(menuCacheDir);
|
|
@@ -3015,7 +3026,6 @@ ${rewardLines.join("\n")}` : "";
|
|
|
3015
3026
|
session["seq"] = msgSeq;
|
|
3016
3027
|
if (session.isDirect) {
|
|
3017
3028
|
const fileRes = await bot.internal.sendFilePrivate(session.userId, { file_type: 1, srv_send_msg: false, file_data: fileData });
|
|
3018
|
-
logger.info("[menu-render] QQ 官方图片上传响应: %o", fileRes);
|
|
3019
3029
|
await bot.internal.sendPrivateMessage(session.channelId, {
|
|
3020
3030
|
msg_type: 7,
|
|
3021
3031
|
media: fileRes,
|
|
@@ -3025,7 +3035,6 @@ ${rewardLines.join("\n")}` : "";
|
|
|
3025
3035
|
});
|
|
3026
3036
|
} else {
|
|
3027
3037
|
const fileRes = await bot.internal.sendFileGuild(session.channelId, { file_type: 1, srv_send_msg: false, file_data: fileData });
|
|
3028
|
-
logger.info("[menu-render] QQ 官方图片上传响应: %o", fileRes);
|
|
3029
3038
|
const msgRes = await bot.internal.sendMessage(session.channelId, {
|
|
3030
3039
|
msg_type: 7,
|
|
3031
3040
|
media: fileRes,
|
|
@@ -3033,8 +3042,7 @@ ${rewardLines.join("\n")}` : "";
|
|
|
3033
3042
|
msg_id: session.messageId,
|
|
3034
3043
|
msg_seq: msgSeq
|
|
3035
3044
|
});
|
|
3036
|
-
logger.
|
|
3037
|
-
if (msgRes?.audit_id) logger.warn("[menu-render] QQ 消息进入审核(audit_id=%s), 需开启 MESSAGE_AUDIT intent 才能确认最终是否发出", msgRes.audit_id);
|
|
3045
|
+
if (msgRes?.audit_id) logger.warn("[menu-render] QQ 菜单图消息进入审核(audit_id=%s), 若未开启 MESSAGE_AUDIT intent 消息可能不显示", msgRes.audit_id);
|
|
3038
3046
|
}
|
|
3039
3047
|
return;
|
|
3040
3048
|
} catch (e) {
|
|
@@ -3042,7 +3050,7 @@ ${rewardLines.join("\n")}` : "";
|
|
|
3042
3050
|
return "⚠️ QQ 发送菜单图失败,请查看日志中的错误信息。";
|
|
3043
3051
|
}
|
|
3044
3052
|
}, "sendMenuImage");
|
|
3045
|
-
ctx.command("咕咕之战", "查看咕咕之战内容分类菜单").
|
|
3053
|
+
ctx.command("咕咕之战", "查看咕咕之战内容分类菜单").action(async ({ session }) => {
|
|
3046
3054
|
if (config.menuStyle === "image") {
|
|
3047
3055
|
const dataUrl = await renderMenuImage(buildMenuHtml("咕咕之战", "内容分类菜单 · 输入指令名即可使用"));
|
|
3048
3056
|
return sendMenuImage(session, dataUrl);
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -108,7 +108,7 @@ npm install koishi-plugin-ggcevo
|
|
|
108
108
|
|
|
109
109
|
| 指令 | 别名 | 权限 | 说明 |
|
|
110
110
|
| --- | --- | --- | --- |
|
|
111
|
-
| `咕咕之战` |
|
|
111
|
+
| `咕咕之战` | — | — | 生成咕咕之战内容分类菜单(「每日玩法」「物品背包」「抽奖兑换」「活动」「句柄绑定」「查询信息」六类,仅收录普通用户可用指令)。根据配置项 `menuStyle` 选择渲染方式:`text`(默认)输出文字分类菜单,`image` 使用 puppeteer 渲染分类图片菜单(需启用 puppeteer 服务,未启用时自动降级为文字菜单) |
|
|
112
112
|
| `签到` | — | — | 每日签到,获取奖励并发放签到券/补签券等。每月首次签到时,若签到者的游戏句柄匹配管理员福利文档记录,额外发放 50 咕咕币津贴(仅校验句柄) |
|
|
113
113
|
| `挖矿` | — | — | 领取挂机挖矿收益(咕咕之战玩法)。每半小时收益 4 金币,单次存储上限 24 小时,领取后立即进入下一轮挖矿。累计挖矿总时长与累计收益金币数会被记录统计。受宵禁影响:17:00-24:00 禁止领取 |
|
|
114
114
|
| `探索` | — | — | 选择星系进行 12 小时探索,结束后领取收益(咕咕之战玩法)。星系:天枢(成功率100%,成功80金币)、赤潮(成功率60%,成功120金币/失败60金币)、千帆(成功率80%,成功50金币/失败25金币,成功时独立概率获得补签券×1(10%)、咕咕币1-3枚(50%),失败无道具)。金币/道具发放到背包,按星系累计统计探索次数/成功次数/累计金币。受宵禁影响:17:00-24:00 禁止 |
|
|
@@ -179,6 +179,20 @@ npm install koishi-plugin-ggcevo
|
|
|
179
179
|
|
|
180
180
|
## 更新日志
|
|
181
181
|
|
|
182
|
+
### v1.3.5
|
|
183
|
+
|
|
184
|
+
引用回复与菜单指令调整。
|
|
185
|
+
|
|
186
|
+
- **移除 `菜单` 别名**:菜单仅可通过 `咕咕之战` 指令触发
|
|
187
|
+
- **统一引用回复**:除 `咕咕之战` 外,其余指令的回复自动添加引用回复(引用用户触发指令的原消息);已自带引用的指令(如句柄绑定/切换)不会叠加,避免双引用
|
|
188
|
+
|
|
189
|
+
### v1.3.4
|
|
190
|
+
|
|
191
|
+
正式版清理:去除调试日志。
|
|
192
|
+
|
|
193
|
+
- **去除调试日志**:移除 v1.3.3 新增的 `[menu-render]` 信息级调试日志(渲染体积、QQ 上传/发送响应打印),仅保留发送失败时的错误日志,以及消息进入审核(`audit_id`)时的警告
|
|
194
|
+
- 保留 QQ 官方机器人手动富媒体上传+发送逻辑(v1.3.3 修复,不走适配器以避免静默吞错)
|
|
195
|
+
|
|
182
196
|
### v1.3.3
|
|
183
197
|
|
|
184
198
|
修复 QQ 官方机器人不发送图片菜单且无报错的问题。
|