diff --git a/apps/events/request.js b/apps/events/request.js index 46786d1..59d0c3f 100644 --- a/apps/events/request.js +++ b/apps/events/request.js @@ -29,14 +29,14 @@ Bot.on?.("request", async(e) => { if (cfg.other.autoQuit <= 0) { msg.push("----------------\n可引用该消息回复\"同意\"或\"拒绝\"") } else { - msg.push("已自动处理该邀请") + msg.push("Tip:已被 Yunzai 自动处理") } break case "add": if (Config.groupAdd.openGroup.includes(e.group_id)) { let msg = [ -`${Config.groupAdd.msg}\n`, -segment.image(`https://q1.qlogo.cn/g?b=qq&s=100&nk=${e.user_id}`), + `${Config.groupAdd.msg}\n`, + segment.image(`https://q1.qlogo.cn/g?b=qq&s=100&nk=${e.user_id}`), `QQ号:${e.user_id}\n`, `昵称:${e.nickname}\n`, `${e.comment}` diff --git a/apps/state.js b/apps/state.js index 1502efa..7b1b675 100644 --- a/apps/state.js +++ b/apps/state.js @@ -12,7 +12,7 @@ export class NewState extends plugin { super({ name: "椰奶状态", event: "message", - priority: 50, + priority: -1000, rule: [ { reg: "^#?(椰奶)?状态(pro)?$", @@ -20,10 +20,14 @@ export class NewState extends plugin { }, { reg: "^#椰奶监控$", fnc: "monitor" + }, { + reg: "^#?原图$", + fnc: "origImg" } ] }) + this.redisOrigImgKey = "yenai:state:origImg:" } async monitor(e) { @@ -49,12 +53,18 @@ export class NewState extends plugin { let data = await getData(e) // 渲染图片 - await puppeteer.render("state/index", { + let retMsgId = await puppeteer.render("state/index", { ...data }, { e, - scale: 1.4 + scale: 1.4, + retMsgId: true }) + console.log(retMsgId) + if (retMsgId) { + const redisData = data.style.backdrop + redis.set(this.redisOrigImgKey + retMsgId.message_id, redisData, { EX: 86400 }) + } } catch (error) { logger.error(error) interval = false @@ -62,4 +72,21 @@ export class NewState extends plugin { interval = false } + + async origImg(e) { + if (!e.source) return false + let source + if (e.isGroup) { + source = (await e.group.getChatHistory(e.source.seq, 1)).pop() + } else { + source = (await e.friend.getChatHistory(e.source.time, 1)).pop() + } + const data = await redis.get(this.redisOrigImgKey + source.message_id) + if (!data) return false + let url = data + .replace("data:image/jpeg;base64,", "base64://") + .replace("../../../../../", "") + e.reply(segment.image(url)) + return true + } }