2
0
mirror of https://github.com/ctrlcvs/xiaoyao-cvs-plugin.git synced 2024-12-23 03:20:52 +08:00
xiaoyao-cvs-plugin/apps/xiaoyao_image.js

138 lines
3.7 KiB
JavaScript
Raw Normal View History

import {
segment
} from "oicq";
import fs from "fs";
2022-06-26 19:31:18 +08:00
import { Cfg } from "../components/index.js";
2022-06-20 21:43:24 +08:00
import Data from "../components/Data.js"
import path from 'path';
2022-06-20 21:43:24 +08:00
import fetch from "node-fetch";
const _path = process.cwd();
const __dirname = path.resolve();
2022-06-26 22:20:34 +08:00
const list = ["shiwu_tujian", "yuanmo_tujian","mijin_tujian","shengyiwu_tujian"]
2022-06-20 21:43:24 +08:00
export async function AtlasAlias(e) {
2022-06-26 19:31:18 +08:00
let reg=/#(.*)/;
if(Cfg.get("sys.Atlas")){
reg=/#*(.*)图鉴/;
}
if(!reg.test(e.msg)){
return false;
}
2022-06-20 21:43:24 +08:00
if (await roleInfo(e)) return true;
if (await weaponInfo(e)) return true;
// if (await foodInfo(e)) return true;
2022-06-26 22:20:34 +08:00
// if (await RelicsInfo(e)) return true;
2022-06-20 21:43:24 +08:00
// if (await monsterInfo(e)) return true;
2022-06-24 22:01:48 +08:00
var name = e.msg.replace(/#||信息|图鉴|命座|天赋|突破|圣遗物|食物|食材|的|特殊|材|料|特色|料理|理|色/g, "");
2022-06-26 19:31:18 +08:00
return send_Msg(e, "all", name);
2022-06-20 21:43:24 +08:00
}
export async function roleInfo(e) {
// let msg=e.msg.replace(/#|图鉴/g,"");
let msg = e.msg.replace(/#||信息|图鉴|命座|天赋|突破/g, "");
let id = YunzaiApps.mysInfo.roleIdToName(msg);
let name;
if (["10000005", "10000007", "20000000"].includes(id)) {
if (!["风主", "岩主", "雷主"].includes(msg)) {
e.reply("请选择:风主图鉴、岩主图鉴、雷主图鉴");
return true;
}
name = msg;
} else {
name = YunzaiApps.mysInfo.roleIdToName(id, true);
if (!name) return false;
}
2022-06-18 21:30:24 +08:00
send_Msg(e, "juese_tujian", name)
return true;
}
2022-06-18 21:30:24 +08:00
const send_Msg = function(e, type, name) {
2022-06-24 22:01:48 +08:00
let path = `${_path}/plugins/xiaoyao-cvs-plugin/resources/xiaoyao-plus/${type}/${name}.png`
if (fs.existsSync(path)) {
e.reply(segment.image(`file:///${path}`));
return true;
}
2022-06-20 21:43:24 +08:00
if (type == "all") {
for (let val of list) {
let new_name = info_img(e, Data.readJSON(`${_path}/plugins/xiaoyao-cvs-plugin/resources/Atlas_alias/`,
val), name)
if (new_name) {
name = new_name
type = val;
break;
}
}
}
2022-06-26 19:31:18 +08:00
path = `${_path}/plugins/xiaoyao-cvs-plugin/resources/xiaoyao-plus/${type}/${name}.png`
if (!fs.existsSync(path)) {
2022-06-26 19:31:18 +08:00
return false;
}
e.reply(segment.image(`file:///${path}`));
2022-06-19 18:33:42 +08:00
return true;
}
let weapon = new Map();
let weaponFile = [];
await init();
export async function init(isUpdate = false) {
2022-06-18 21:30:24 +08:00
let weaponJson = JSON.parse(fs.readFileSync("./config/genshin/weapon.json", "utf8"));
for (let i in weaponJson) {
for (let val of weaponJson[i]) {
weapon.set(val, i);
}
}
2022-06-21 22:03:01 +08:00
let paths="./plugins/xiaoyao-cvs-plugin/resources/xiaoyao-plus/wuqi_tujian";
if (!fs.existsSync(paths)) {
return true;
}
weaponFile = fs.readdirSync(paths);
2022-06-18 21:30:24 +08:00
for (let val of weaponFile) {
let name = val.replace(".png", "");
weapon.set(name, name);
}
}
export async function weaponInfo(e) {
2022-06-18 21:30:24 +08:00
let msg = e.msg || '';
if (e.atBot) {
msg = "#" + msg.replace("#", "");
}
2022-06-19 18:50:51 +08:00
if (!/(#*(.*)(信息|图鉴|突破|武器|材料)|#(.*))$/.test(msg)) return;
2022-06-19 18:50:51 +08:00
let name = weapon.get(msg.replace(/#||信息|图鉴|突破|武器|材料/g, ""));
2022-06-18 21:30:24 +08:00
if (name) {
send_Msg(e, "wuqi_tujian", name)
return true;
}
2022-06-18 21:30:24 +08:00
return false;
}
2022-06-18 12:01:41 +08:00
2022-06-26 22:20:34 +08:00
// export async function RelicsInfo(e) {
// let msg = e.msg || '';
// if (e.atBot) {
// msg = "#" + msg.replace("#", "");
// }
// // if (!/(#*圣遗物(.*)|#(.*))$/.test(msg)) return;
// let name = msg.replace(/#||信息|副本|本|圣遗物|图鉴/g, "");
// let response = await fetch(`https://info.minigg.cn/artifacts?query=${encodeURIComponent(name)}`);
// let res = await response.json();
// if (res?.errcode == "10006") return false;
// name = res["name"];
// if (name) {
// send_Msg(e, "shengyiwu_tujian", name)
// return true;
// }
// return false;
// }
2022-06-20 21:43:24 +08:00
const info_img = function(e, list, name) {
for (let i in list) {
for (let val of list[i]) {
if (val == name||i==name) {
2022-06-20 21:43:24 +08:00
return i;
}
}
2022-06-19 18:33:42 +08:00
}
}