import { segment } from "oicq"; import fs from "fs"; import lodash from "lodash"; import { createRequire } from "module"; import { exec } from "child_process"; import { Cfg } from "../components/index.js"; const require = createRequire(import.meta.url); let cfgMap = { "角色": "char.char", "老婆": "char.wife", "查他人": "char.queryOther", "天赋": "wiki.talent", "命座": "wiki.cons", "图片": "wiki.pic", "深渊": "wiki.abyss", "渲染": "sys.scale", "帮助": "sys.help", }; let sysCfgReg = `^#喵喵设置\s*(${lodash.keys(cfgMap).join("|")})?\s*(.*)$`; export const rule = { updateRes: { hashMark: true, reg: "^#喵喵更新图像$", describe: "【#管理】更新素材", }, sysCfg: { hashMark: true, reg: sysCfgReg, describe: "【#管理】系统设置" } }; const _path = process.cwd(); const resPath = `${_path}/plugins/miao-plugin/resources/`; const plusPath = `${resPath}/miao-res-plus/`; const checkAuth = async function (e) { return await e.checkAuth({ auth: "master", replyMsg: `只有主人才能命令喵喵哦~ (*/ω\*)` }); } export async function sysCfg(e, { render }) { if (!await checkAuth(e)) { return true; } let cfgReg = new RegExp(sysCfgReg); let regRet = cfgReg.exec(e.msg); if (!regRet) { return true; } if (regRet[1]) { // 设置模式 let val = regRet[2] || ""; let cfgKey = cfgMap[regRet[1]]; if (cfgKey === "sys.scale") { val = Math.min(200, Math.max(50, val * 1 || 100)); } else { val = !/关闭/.test(val); } if (cfgKey) { Cfg.set(cfgKey, val); } } let cfg = { chars: getStatus("char.char"), wife: getStatus("char.wife"), other: getStatus("char.queryOther"), talent: getStatus("wiki.talent"), cons: getStatus("wiki.cons"), pic: getStatus("wiki.pic"), abyss: getStatus("wiki.abyss"), imgPlus: fs.existsSync(plusPath), help: getStatus("sys.help", false), scale: Cfg.get("sys.scale", 100) } let base64 = await render("admin", "index", { ...cfg, cfgScale: Cfg.scale(1.2) }, "png"); if (base64) { e.reply(segment.image(`base64://${base64}`)); } return true; } const getStatus = function (rote, def = true) { if (Cfg.get(rote, def)) { return `