⚗️ 状态原图
This commit is contained in:
@@ -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}`
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user