mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-16 04:35:42 +00:00
增加 #喵喵帮助 功能
This commit is contained in:
parent
243d1087e9
commit
2d597c24cb
@ -20,10 +20,12 @@ let cfgMap = {
|
||||
let sysCfgReg = `^#喵喵设置\s*(${lodash.keys(cfgMap).join("|")})?\s*(.*)$`;
|
||||
export const rule = {
|
||||
updateRes: {
|
||||
hashMark: true,
|
||||
reg: "^#喵喵更新图像$",
|
||||
describe: "【#管理】更新素材",
|
||||
},
|
||||
sysCfg: {
|
||||
hashMark: true,
|
||||
reg: sysCfgReg,
|
||||
describe: "【#管理】系统设置"
|
||||
}
|
||||
@ -105,39 +107,37 @@ export async function updateRes(e) {
|
||||
if (!await checkAuth(e)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
let command = "";
|
||||
if (fs.existsSync(`${resPath}/miao-res-plus/`)) {
|
||||
command = `git -C ${resPath}/miao-res-plus pull`;
|
||||
e.reply("开始尝试更新,请耐心等待~");
|
||||
command = `git -C ${resPath}/miao-res-plus pull`;
|
||||
exec(command, function (error, stdout, stderr) {
|
||||
console.log(stdout);
|
||||
if (/Already up to date/.test(stdout)) {
|
||||
e.reply("素材已经是最新了~");
|
||||
e.reply("目前所有图片都已经是最新了~");
|
||||
return true;
|
||||
}
|
||||
let numRet = /(\d*) files changed,/.exec(stdout);
|
||||
if (numRet && numRet[1]) {
|
||||
e.reply(`更新成功,更新${numRet[1]}个素材~`);
|
||||
e.reply(`报告主人,更新成功,此次更新了${numRet[1]}个图片~`);
|
||||
return true;
|
||||
}
|
||||
if (error) {
|
||||
e.reply("更新失败!\nError code: " + error.code + "\n" + error.stack + "\n 请稍后重试。");
|
||||
} else {
|
||||
e.reply("角色图像加量包更新成功~");
|
||||
e.reply("图片加量包更新成功~");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
command = `git clone https://gitee.com/yoimiya-kokomi/miao-res-plus.git ${resPath}/miao-res-plus/`;
|
||||
e.reply("开始尝试安装图片加量包,可能会需要一段时间,请耐心等待~");
|
||||
exec(command, function (error, stdout, stderr) {
|
||||
if (error) {
|
||||
e.reply("角色图像加量包安装失败!\nError code: " + error.code + "\n" + error.stack + "\n 请稍后重试。");
|
||||
e.reply("角色图片加量包安装失败!\nError code: " + error.code + "\n" + error.stack + "\n 请稍后重试。");
|
||||
} else {
|
||||
e.reply("角色图像加量包安装成功!您后续也可以通过 #喵喵更新图像 命令来更新图像");
|
||||
e.reply("角色图片加量包安装成功!您后续也可以通过 #喵喵更新图像 命令来更新图像");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
|
||||
}
|
39
apps/help.js
Normal file
39
apps/help.js
Normal file
@ -0,0 +1,39 @@
|
||||
import { Character } from "../components/models.js";
|
||||
import { Cfg } from "../components/index.js";
|
||||
import { segment } from "oicq";
|
||||
import lodash from "lodash";
|
||||
|
||||
const _path = process.cwd();
|
||||
const helpFilePath = `${_path}/plugins/miao-plugin/resources/help/help-list.js`;
|
||||
|
||||
export async function help(e, { render }) {
|
||||
let bg = Character.getRandomImg('party');
|
||||
let helpFile = {};
|
||||
|
||||
helpFile = await import(`file://${helpFilePath}?version=${new Date().getTime()}`);
|
||||
|
||||
const { helpCfg } = helpFile;
|
||||
|
||||
lodash.forEach(helpCfg, (group) => {
|
||||
lodash.forEach(group.list, (help) => {
|
||||
let icon = help.icon * 1;
|
||||
if (!icon) {
|
||||
help.css = `display:none`;
|
||||
} else {
|
||||
let x = (icon - 1) % 10, y = (icon - x - 1) / 10;
|
||||
help.css = `background-position:-${x * 50}px -${y * 50}px`;
|
||||
}
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
let base64 = await render("help", "index", {
|
||||
helpCfg,
|
||||
bg,
|
||||
cfgScale: Cfg.scale(1)
|
||||
}, "png");
|
||||
if (base64) {
|
||||
e.reply(segment.image(`base64://${base64}`));
|
||||
}
|
||||
return true;
|
||||
}
|
@ -10,6 +10,7 @@ let characterMap = {};
|
||||
const _path = process.cwd();
|
||||
let genshin = await import(`file://${_path}/config/genshin/roleId.js`);
|
||||
|
||||
const metaPath = `${_path}/plugins/miao-plugin/resources/meta/character/`
|
||||
|
||||
class Character extends Base {
|
||||
constructor(name, id) {
|
||||
@ -129,4 +130,16 @@ Character.getAbbr = function () {
|
||||
return genshin.abbr;
|
||||
}
|
||||
|
||||
Character.getRandomImg = function (type) {
|
||||
let chars = fs.readdirSync(metaPath);
|
||||
let ret = [];
|
||||
type = type === "party" ? "party" : "profile";
|
||||
lodash.forEach(chars, (char) => {
|
||||
if (fs.existsSync(`${metaPath}/${char}/${type}.png`)) {
|
||||
ret.push(`/meta/character/${char}/${type}.png`);
|
||||
}
|
||||
});
|
||||
return lodash.sample(ret);
|
||||
}
|
||||
|
||||
export default Character;
|
||||
|
14
index.js
14
index.js
@ -1,16 +1,17 @@
|
||||
import { character, wife, wifeReg } from "./apps/character.js";
|
||||
import { consStat, abyssPct } from "./apps/stat.js";
|
||||
import { wiki } from "./apps/wiki.js";
|
||||
import { help } from "./apps/help.js";
|
||||
import lodash from "lodash";
|
||||
|
||||
import { rule as adminRule, updateRes, sysCfg } from "./apps/admin.js";
|
||||
|
||||
export { character, wife, consStat, abyssPct, wiki, updateRes, sysCfg };
|
||||
export { character, wife, consStat, abyssPct, wiki, updateRes, sysCfg, help };
|
||||
|
||||
|
||||
let rule = {
|
||||
character: {
|
||||
reg: "^#(.*)?$",
|
||||
reg: "^#(喵喵)?(.*)?$",
|
||||
describe: "【#刻晴】角色详情",
|
||||
},
|
||||
wife: {
|
||||
@ -18,13 +19,16 @@ let rule = {
|
||||
describe: "【#老婆,#老公,#女儿】角色详情",
|
||||
},
|
||||
consStat: {
|
||||
reg: "^#角色(持有|持有率|命座|命之座|.命)(分布|统计)?$",
|
||||
reg: "^#(喵喵)?角色(持有|持有率|命座|命之座|.命)(分布|统计)?$",
|
||||
},
|
||||
abyssPct: {
|
||||
reg: "^#深渊(第?.{1,2}层)?(角色)?出场(率|统计)*$",
|
||||
reg: "^#(喵喵)?深渊(第?.{1,2}层)?(角色)?出场(率|统计)*$",
|
||||
},
|
||||
wiki: {
|
||||
reg: "^#.*(天赋|技能|命座|命之座|资料|照片|写真|图片|插画)$",
|
||||
reg: "^#(喵喵)?.*(天赋|技能|命座|命之座|资料|照片|写真|图片|插画)$",
|
||||
},
|
||||
help: {
|
||||
reg: "#(喵喵)帮助"
|
||||
},
|
||||
...adminRule
|
||||
};
|
||||
|
BIN
resources/help/bg.jpg
Normal file
BIN
resources/help/bg.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
BIN
resources/help/header.jpg
Normal file
BIN
resources/help/header.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 266 KiB |
BIN
resources/help/header.png
Normal file
BIN
resources/help/header.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 743 KiB |
117
resources/help/help-list.js
Normal file
117
resources/help/help-list.js
Normal file
@ -0,0 +1,117 @@
|
||||
export const helpCfg = [{
|
||||
group: "游戏信息查询",
|
||||
list: [{
|
||||
icon: 1,
|
||||
title: "#角色 #角色卡片 #探索",
|
||||
desc: "你的原神角色数据"
|
||||
}, {
|
||||
icon: 64,
|
||||
title: "#深渊 #深渊12层",
|
||||
desc: "深渊数据,打完请2小时后查询",
|
||||
}, {
|
||||
icon: 61,
|
||||
title: "#五星 #武器 #今日素材",
|
||||
desc: "你的原神角色详情数据"
|
||||
}, {
|
||||
icon: 62,
|
||||
title: "#五星列表 #练度统计",
|
||||
desc: "角色列表数据",
|
||||
}, {
|
||||
icon: 58,
|
||||
title: "#刻晴 #刻晴卡片 #戳一戳",
|
||||
desc: "你的原神角色详情数据"
|
||||
}, {
|
||||
icon: 59,
|
||||
title: "#老婆 #老公",
|
||||
desc: "查看老婆、老公"
|
||||
}]
|
||||
}, {
|
||||
group: "个人信息查询及签到",
|
||||
desc: "需要绑定cookie",
|
||||
list: [{
|
||||
icon: 15,
|
||||
title: "#体力 #体力帮助",
|
||||
desc: "查询体力,绑定Cookie帮助"
|
||||
}, {
|
||||
icon: 86,
|
||||
title: "#签到",
|
||||
desc: "米游社原神签到"
|
||||
}, {
|
||||
icon: 5,
|
||||
title: "#原石 #原石统计",
|
||||
desc: "札记数据,需要绑定Cookie"
|
||||
}, {
|
||||
icon: 10,
|
||||
title: "#uid #绑定uid+[你的uid]",
|
||||
desc: "查看绑定的uid 绑定uid"
|
||||
}, {
|
||||
icon: 22,
|
||||
title: "#我的ck #删除ck",
|
||||
desc: "查看绑定的cookie 删除cookie"
|
||||
}]
|
||||
}, {
|
||||
group: "喵喵扩展 Miao-Plugin",
|
||||
list: [{
|
||||
icon: 60,
|
||||
title: "#老婆 #老婆设置心海,雷神",
|
||||
desc: "设置老婆,查看老婆信息卡片"
|
||||
}, {
|
||||
icon: 88,
|
||||
title: "#老婆照片 #甘雨照片",
|
||||
desc: "查看指定角色的图片"
|
||||
}, {
|
||||
icon: 53,
|
||||
title: "#夜兰天赋 #胡桃命座",
|
||||
desc: "查看角色的天赋与命座资料"
|
||||
}, {
|
||||
icon: 56,
|
||||
title: "#角色持有率 #深渊出场率",
|
||||
desc: "查看角色的持有率及深渊出场率信息"
|
||||
}, {
|
||||
icon: 32,
|
||||
title: "#喵喵设置",
|
||||
desc: "管理员可用:配置喵喵功能"
|
||||
}, {
|
||||
icon: 35,
|
||||
title: "#喵喵更新素材",
|
||||
desc: "管理员可用:更新增量图像素材包"
|
||||
}]
|
||||
}, {
|
||||
group: "其他查询指令",
|
||||
list: [{
|
||||
icon: 6,
|
||||
title: "#抽卡记录 #记录帮助",
|
||||
desc: "统计游戏抽卡数据"
|
||||
}, {
|
||||
icon: 21,
|
||||
title: "#角色统计 #武器统计",
|
||||
desc: "按卡池统计抽卡数据"
|
||||
}, {
|
||||
icon: 8,
|
||||
title: "十连 十连2 定轨",
|
||||
desc: "真实模拟抽卡"
|
||||
}, {
|
||||
icon: 60,
|
||||
title: "#心海图鉴 #护摩",
|
||||
desc: "角色武器图鉴"
|
||||
}, {
|
||||
icon: 38,
|
||||
title: "#圣遗物评分 #刻晴攻略",
|
||||
desc: "可莉特调评分 西风驿站攻略"
|
||||
}, {
|
||||
icon: 74,
|
||||
title: "添加哈哈 删除哈哈",
|
||||
desc: "添加表情,回复哈哈触发"
|
||||
}, {
|
||||
icon: 79,
|
||||
title: "#帮助 #版本",
|
||||
desc: "其他命令"
|
||||
}]
|
||||
}, {
|
||||
group: "管理命令",
|
||||
list: [{
|
||||
icon: 85,
|
||||
title: "#用户统计",
|
||||
desc: "查看用户CK-UID列表"
|
||||
}]
|
||||
}];
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
109
resources/help/index.css
Normal file
109
resources/help/index.css
Normal file
@ -0,0 +1,109 @@
|
||||
body {
|
||||
transform: scale(1);
|
||||
width: 600px;
|
||||
background: url("bg.jpg");
|
||||
}
|
||||
|
||||
.container {
|
||||
background: url(header.png) top left no-repeat;
|
||||
background-size: 100% auto;
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-family: Number, "微软雅黑", sans-serif;
|
||||
}
|
||||
|
||||
.head-box {
|
||||
margin: 0 0 60px 0;
|
||||
}
|
||||
|
||||
.cont-box {
|
||||
border-radius: 15px;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
padding: 5px 15px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
|
||||
position: relative;
|
||||
background: rgba(43, 52, 61, 0.8);
|
||||
|
||||
}
|
||||
|
||||
.help-group {
|
||||
color: #ceb78b;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
.help-table {
|
||||
text-align: center;
|
||||
border-collapse: collapse;
|
||||
margin: 5px -10px -10px -15px;
|
||||
border-radius: 0 0 10px 10px;
|
||||
display: table;
|
||||
overflow: hidden;
|
||||
width: calc(100% + 30px);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.help-table .tr {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.help-table .td,
|
||||
.help-table .th {
|
||||
font-size: 14px;
|
||||
display: table-cell;
|
||||
box-shadow: 0 0 1px 0 #888 inset;
|
||||
padding: 9px 0 9px 50px;
|
||||
line-height: 24px;
|
||||
position: relative;
|
||||
width: 50%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.help-table .tr:nth-child(odd) {
|
||||
background: rgba(34, 41, 51, .6)
|
||||
}
|
||||
|
||||
.help-table .tr:nth-child(even) {
|
||||
background: rgba(34, 41, 51, .3)
|
||||
}
|
||||
|
||||
.help-table .tr:last-child .td {
|
||||
padding-bottom: 12px;
|
||||
}
|
||||
|
||||
.help-table .th {
|
||||
background: rgba(34, 41, 51, .5)
|
||||
}
|
||||
|
||||
.help-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
background: url("icon.png") 0 0 no-repeat;
|
||||
background-size: 500px 500px;
|
||||
border-radius: 5px;
|
||||
left: 5px;
|
||||
top: 8px;
|
||||
transform: scale(0.85);
|
||||
}
|
||||
|
||||
.help-title {
|
||||
display: block;
|
||||
color: #d3bc8e;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.help-desc {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
color: #eee;
|
||||
}
|
||||
|
41
resources/help/index.html
Normal file
41
resources/help/index.html
Normal file
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
|
||||
<link rel="shortcut icon" href="#"/>
|
||||
<link rel="stylesheet" type="text/css" href="{{_res_path}}/common/common.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="{{_res_path}}/help/index.css"/>
|
||||
</head>
|
||||
<body class="body_box" {{cfgScale}}>
|
||||
<div id="container" class="container">
|
||||
<div class="info_box">
|
||||
<div class="head-box type{{bgType}}">
|
||||
<div class="title">使用帮助</div>
|
||||
<div class="label">Yunzai-Bot & Miao-Plugin</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{each helpCfg helpGroup}}
|
||||
<div class="cont-box">
|
||||
<div class="help-group">{{helpGroup.group}}</div>
|
||||
<div class="help-table">
|
||||
{{each helpGroup.list help idx}}
|
||||
{{if idx%2 == 0}}
|
||||
<div class="tr">
|
||||
{{/if}}
|
||||
<div class="td">
|
||||
<span class="help-icon" style="{{help.css}}"></span>
|
||||
<strong class="help-title">{{help.title}}</strong>
|
||||
<span class="help-desc">{{help.desc}}</span>
|
||||
</div>
|
||||
{{if idx%2 ==1 || idx == helpGroup.list.length -1}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
<div class="copyright"> Create By Yunzai-Bot & Miao-Plugin</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user