mirror of
https://github.com/ctrlcvs/xiaoyao-cvs-plugin.git
synced 2024-12-22 11:00:51 +08:00
更新下版本号
This commit is contained in:
parent
1b458e794d
commit
42c817ff52
@ -1,3 +1,12 @@
|
||||
# 1.2.4
|
||||
* 新增`群体力推送`
|
||||
* 用户可通过`#开启、关闭体力推送` 来对体力推送进行操作
|
||||
* 管理员可通过`#体力设置群推送关闭、开启` 以及推送阈值设置`#体力设置群阈值120` 仅支持群操作
|
||||
* 新增`#我的体力模板列表`
|
||||
* 优化体力模板设置,支持多个设置
|
||||
* 新增`#图鉴模板更新`
|
||||
* 用于更新体力模板具体来源由**@SunRyK** **@地球生物** **@逍遥** 三位作者上传
|
||||
* 不会冲突已添加的模板数据,有需求可通过指令拉取
|
||||
# 1.2.3
|
||||
* 新增地图资源查询功能
|
||||
* `#月莲在哪里` 指令类似 `某某物品在哪里`
|
||||
|
@ -50,5 +50,5 @@ git clone https://github.com/Ctrlcvs/xiaoyao-cvs-plugin.git ./plugins/xiaoyao-cv
|
||||
- 图片素材来源于网络,仅供交流学习使用
|
||||
- 严禁用于任何商业用途和非法行为
|
||||
- Yunzai-Bot 官方QQ群:213938015 (暂时停止新加入)
|
||||
- 喵喵Miao-Plugin QQ群:607710456 (暂时停止新加入)
|
||||
- 图鉴xiaoyao-cvs-Plugin QQ群:544570609(暂时不支持加入)
|
||||
- 喵喵Miao-Plugin QQ群:755269874
|
||||
- 图鉴xiaoyao-cvs-Plugin QQ群:544570609
|
||||
|
200
apps/Note.js
200
apps/Note.js
@ -15,6 +15,8 @@ import {
|
||||
} from "../components/index.js";
|
||||
import moment from 'moment';
|
||||
import utils from "../model/mys/utils.js";
|
||||
import note from '../model/note.js'
|
||||
import User from "../model/user.js";
|
||||
const _path = process.cwd();
|
||||
let role_user = Data.readJSON(`${_path}/plugins/xiaoyao-cvs-plugin/resources/dailyNote/json/`, "dispatch_time");
|
||||
|
||||
@ -99,13 +101,11 @@ export async function Note(e, {
|
||||
let data = res.data;
|
||||
//推送任务
|
||||
if (e.isTask && data.current_resin < e.sendResin) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (e.isTask) {
|
||||
Bot.logger.mark(`体力推送:${e.user_id}`);
|
||||
}
|
||||
|
||||
let nowDay = moment(new Date()).format("DD");
|
||||
let resinMaxTime;
|
||||
let resinMaxTime_mb2;
|
||||
@ -160,7 +160,6 @@ export async function Note(e, {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let remained_time = "";
|
||||
if (data.expeditions && data.expeditions.length >= 1) {
|
||||
remained_time = lodash.map(data.expeditions, "remained_time");
|
||||
@ -188,7 +187,8 @@ export async function Note(e, {
|
||||
let coinMin = Math.floor((data.home_coin_recovery_time / 60) % 60);
|
||||
if (coinDay > 0) {
|
||||
coinTime = `${coinDay}天${coinHour}小时${coinMin}分钟`;
|
||||
coinTime_mb2Day = chnNumChar[coinDay * 1] + "天";
|
||||
let dayTime = (24 - moment(new Date()).format('HH') + moment(coinDate).diff(new Date(), 'hours')) / 24
|
||||
coinTime_mb2Day = chnNumChar[dayTime.toFixed(0)] + "天";
|
||||
let Time_day = await dateTime_(coinDate)
|
||||
coinTime_mb2 = Time_day + moment(coinDate).format("hh:mm");
|
||||
} else {
|
||||
@ -228,13 +228,14 @@ export async function Note(e, {
|
||||
}
|
||||
|
||||
let urlType = note_file("xiaoyao");
|
||||
if (urlType.length > 0) {
|
||||
urlType = urlType[lodash.random(0, urlType.length - 1)]
|
||||
let objFile = Object.keys(urlType)
|
||||
if (objFile.length > 0) {
|
||||
objFile = objFile[lodash.random(0, objFile.length - 1)]
|
||||
}
|
||||
let img_path = `./plugins/xiaoyao-cvs-plugin/resources/dailyNote/${path_img[mb]}`;
|
||||
let img_path = `${urlType[objFile]}`;
|
||||
if (tempData[e.user_id] && tempData[e.user_id].type > -1) {
|
||||
mb = tempData[e.user_id].type;
|
||||
urlType = tempData[e.user_id].temp;
|
||||
objFile = tempData[e.user_id].temp;
|
||||
}
|
||||
if (mb == 1) {
|
||||
for (var i = 0; i < 5 - data.expeditions.length; i++) {
|
||||
@ -245,23 +246,26 @@ export async function Note(e, {
|
||||
mb2_icon: ""
|
||||
})
|
||||
}
|
||||
img_path = `./plugins/xiaoyao-cvs-plugin/resources/dailyNote/Template/${urlType}${path_img[mb]}`;
|
||||
img_path = `${urlType[objFile]}${path_img[mb]}`;
|
||||
}
|
||||
|
||||
var image = fs.readdirSync(img_path);
|
||||
// console.log(fs.readdirSync(`./plugins/xiaoyao-cvs-plugin/resources/dailyNote/BJT-Templet/Template2`))
|
||||
var list_img = [];
|
||||
for (let val of image) {
|
||||
list_img.push(val)
|
||||
}
|
||||
var imgs = list_img.length == 1 ? list_img[0] : list_img[lodash.random(0, list_img.length - 1)];
|
||||
if (mb == 0 && urlType.includes(".")) {
|
||||
imgs = urlType
|
||||
if (mb == 0 && objFile.includes(".")) {
|
||||
imgs = objFile
|
||||
}
|
||||
return await Common.render(`dailyNote/${path_url[mb]}`, {
|
||||
save_id: uid,
|
||||
uid: uid,
|
||||
coinTime_mb2Day,
|
||||
coinTime_mb2,
|
||||
urlType: encodeURIComponent(urlType),
|
||||
urlType: encodeURIComponent(img_path.replace(
|
||||
/(\.\/plugins\/xiaoyao-cvs-plugin\/resources\/|\/icon\/bg)/g, '')).replace(/%2F/g, "/"),
|
||||
resinMaxTime_mb2Day,
|
||||
resinMaxTime,
|
||||
resinMaxTime_mb2,
|
||||
@ -294,7 +298,8 @@ async function getDailyNote(uid, cookie) {
|
||||
} = mysApi.getUrl("dailyNote", uid);
|
||||
headers.Cookie = cookie;
|
||||
const response = await fetch(url, {
|
||||
method: "get", headers
|
||||
method: "get",
|
||||
headers
|
||||
});
|
||||
return response;
|
||||
}
|
||||
@ -303,66 +308,77 @@ export async function saveJson() {
|
||||
fs.writeFileSync(path, JSON.stringify(NoteCookie, "", "\t"));
|
||||
}
|
||||
|
||||
export async function noteTask(e) {
|
||||
if (e.isPrivate) {
|
||||
return true;
|
||||
}
|
||||
let notes = new note(e);
|
||||
let user = new User(e)
|
||||
let {
|
||||
cookie
|
||||
} = await user.getCookie(e)
|
||||
e.isbool = e.msg.includes("开启")
|
||||
e.isgl = e.msg.includes("群")
|
||||
if (!cookie && e.isbool && !e.isgl) {
|
||||
e.reply("请先#绑定ck\n发送【体力帮助】获取教程")
|
||||
return false;
|
||||
}
|
||||
if (e.isgl) {
|
||||
notes.updNote(e)
|
||||
} else if (e.isbool && e.msg.includes("体力推送")) {
|
||||
notes.addNote()
|
||||
} else {
|
||||
notes.delNote()
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//体力定时推送
|
||||
export async function DailyNoteTask() {
|
||||
//体力大于多少时推送
|
||||
let sendResin = 120;
|
||||
//推送cd,12小时一次
|
||||
let sendCD = 12 * 3600;
|
||||
if (isV3) {
|
||||
return true;
|
||||
}
|
||||
//获取需要推送的用户
|
||||
for (let [user_id, cookie] of Object.entries(NoteCookie)) {
|
||||
user_id = cookie.qq || user_id;
|
||||
//没有开启推送
|
||||
if (!cookie.isPush) {
|
||||
continue;
|
||||
}
|
||||
|
||||
//今天已经提醒
|
||||
let sendkey = `genshin:dailyNote:send:${user_id}`;
|
||||
let send = await redis.get(sendkey);
|
||||
if (send) {
|
||||
continue;
|
||||
}
|
||||
|
||||
let notes = new note();
|
||||
for (let item in notes.noteCfg) {
|
||||
let group = notes.noteCfg[item]
|
||||
if (!group?.isTask) continue;
|
||||
let taskUser = group.task;
|
||||
for (let i of taskUser) {
|
||||
let e = {
|
||||
sendResin,
|
||||
user_id,
|
||||
isTask: true
|
||||
};
|
||||
|
||||
user_id: i,
|
||||
qq: i,
|
||||
msg: "体力",
|
||||
sendResin: group.sendResin,
|
||||
isTask: true,
|
||||
}
|
||||
//今天已经提醒
|
||||
let sendkey = `xiaoyao:dailyNote:send:${i}`;
|
||||
let send = await redis.get(sendkey);
|
||||
if (!Bot.pickGroup(item).pickMember(i) || send) continue;
|
||||
let sendMsg = [segment.at(i * 1), "哥哥(姐姐)你的体力快满了哦~"]
|
||||
e.reply = (msg) => {
|
||||
Bot.pickUser(user_id * 1).sendMsg(msg).catch((err) => {
|
||||
Bot.logger.mark(err)
|
||||
})
|
||||
// common.relpyPrivate(user_id, msg);
|
||||
sendMsg.push(msg)
|
||||
};
|
||||
//判断今天是否推送
|
||||
if (cookie.maxTime && cookie.maxTime > 0 && new Date().getTime() > cookie.maxTime - (160 - sendResin) * 8 *
|
||||
60 * 1000) {
|
||||
Bot.logger.mark(`体力推送:${user_id}`);
|
||||
redis.set(sendkey, "1", {
|
||||
EX: sendCD
|
||||
});
|
||||
let render;
|
||||
if (isV3) {
|
||||
let {
|
||||
getRender
|
||||
} = await import(`file://${_path}/plugins/xiaoyao-cvs-plugin/render.js`);
|
||||
await Note(e, {
|
||||
render: await getRender()
|
||||
});
|
||||
} = await import(`file://${_path}/plugins/xiaoyao-cvs-plugin/adapter/render.js`);
|
||||
render = await getRender()
|
||||
} else {
|
||||
let {
|
||||
getPluginRender
|
||||
} = await import(`file://${_path}/lib/render.js`);
|
||||
await Note(e, {
|
||||
render: await getPluginRender()
|
||||
});
|
||||
render = await getPluginRender()
|
||||
}
|
||||
let task = await Note(e, {
|
||||
render
|
||||
});
|
||||
if (task) {
|
||||
redis.set(sendkey, "1", {
|
||||
EX: sendCD
|
||||
});
|
||||
Bot.pickGroup(item).sendMsg(sendMsg)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -385,32 +401,39 @@ export async function Note_appoint(e) {
|
||||
|
||||
let All = ["默认", "随机", "0"];
|
||||
let urlType = note_file();
|
||||
let keyType = Object.keys(urlType);
|
||||
if (!isNaN(msg) && msg != 0) {
|
||||
if (msg > urlType.length) {
|
||||
if (msg > keyType.length) {
|
||||
e.reply(`没有${msg}的索引序号哦~`)
|
||||
return true;
|
||||
}
|
||||
msg = urlType[msg - 1];
|
||||
msg = keyType[msg - 1];
|
||||
}
|
||||
let type = 0;
|
||||
if (msg.includes("列表")) {
|
||||
let xlmsg = msg.replace("列表", "") * 1 || 1
|
||||
let sumCount = (urlType.length / 80 + 0.49).toFixed(0);
|
||||
let isUser= msg.includes('我的')
|
||||
let temp =tempData[e.user_id]["temp"];
|
||||
let xlmsg = msg.replace(/列表|我的/g, "") * 1 || 1
|
||||
let listLength=isUser?temp.length:keyType.length
|
||||
let sumCount = (listLength / 80 + 0.49).toFixed(0);
|
||||
xlmsg = sumCount - xlmsg > -1 ? xlmsg : sumCount == 0 ? 1 : sumCount;
|
||||
let xxmsg = (xlmsg - 1) <= 0 ? 0 : 80 * (xlmsg - 1)
|
||||
let count = 0;
|
||||
let msgData = [`模板列表共,第${xlmsg}页,共${urlType.length}张,\n您可通过【#体力模板设置1】来绑定你需要的体力模板~\n请选择序号~~\n当前支持选择的模板有:`];
|
||||
for (let [index, item] of urlType.entries()) {
|
||||
let msgData = [`模板列表共,第${xlmsg}页,共${listLength}张,\n您可通过【#体力模板设置1】来绑定你需要的体力模板~\n请选择序号~~\n当前支持选择的模板有:`];
|
||||
for (let [index, item] of keyType.entries()) {
|
||||
let msg_pass = [];
|
||||
let imgurl;
|
||||
if (item.includes(".")) {
|
||||
imgurl = await segment.image(`file:///${mbPath}background_image/${item}`);
|
||||
imgurl = await segment.image(`file:///${urlType[item]}`);
|
||||
item = item.split(".")[0];
|
||||
} else {
|
||||
imgurl = await segment.image(
|
||||
`file:///${mbPath}Template/${item}/icon/bg/${fs.readdirSync(`${mbPath}/Template/${item}/icon/bg/`)[0]}`
|
||||
`file:///${urlType[item]}/icon/bg/${fs.readdirSync(`${urlType[item]}/icon/bg/`)[0]}`
|
||||
)
|
||||
}
|
||||
if(isUser&&!temp.includes(item)){
|
||||
continue;
|
||||
}
|
||||
item = index + 1 + "." + item
|
||||
count++;
|
||||
if (msgData.length == 81) {
|
||||
@ -426,7 +449,7 @@ export async function Note_appoint(e) {
|
||||
msgData.push(msg_pass)
|
||||
}
|
||||
let endMsg = "";
|
||||
if (count < urlType.length) {
|
||||
if (count < listLength) {
|
||||
endMsg = `更多内容请翻页查看\n如:#体力模板列表2`
|
||||
} else {
|
||||
endMsg = `已经到底了~~`
|
||||
@ -435,10 +458,10 @@ export async function Note_appoint(e) {
|
||||
await utils.replyMake(e, msgData, 0)
|
||||
return true;
|
||||
}
|
||||
if (urlType.includes(msg + ".png")) {
|
||||
if (keyType.includes(msg + ".png")) {
|
||||
msg = msg + ".png";
|
||||
}
|
||||
if (!urlType.includes(msg) && !All.includes(msg)) {
|
||||
if (!keyType.includes(msg) && !All.includes(msg)) {
|
||||
e.reply("没有找到你想要的模板昵!可输入 【#体力模板列表】 查询当前支持的模板哦~~")
|
||||
return true;
|
||||
} else if (All.includes(msg)) {
|
||||
@ -449,8 +472,22 @@ export async function Note_appoint(e) {
|
||||
type = 0
|
||||
}
|
||||
}
|
||||
let temp = [];
|
||||
if(!tempData[e.user_id]){
|
||||
tempData[e.user_id] = {
|
||||
temp: msg,
|
||||
temp: [],
|
||||
type: type,
|
||||
}
|
||||
}
|
||||
if (typeof tempData[e.user_id]["temp"] === "string") {
|
||||
temp = [tempData[e.user_id]["temp"], msg]
|
||||
} else {
|
||||
if(!tempData[e.user_id]["temp"].includes(msg)){
|
||||
temp = [...tempData[e.user_id]["temp"], msg]
|
||||
}
|
||||
}
|
||||
tempData[e.user_id] = {
|
||||
temp: temp,
|
||||
type: type,
|
||||
}
|
||||
fs.writeFileSync(tempDataUrl + "/tempData.json", JSON.stringify(tempData));
|
||||
@ -460,18 +497,29 @@ export async function Note_appoint(e) {
|
||||
}
|
||||
|
||||
const note_file = function(xiaoyao) {
|
||||
var urlFile = fs.readdirSync(`./plugins/xiaoyao-cvs-plugin/resources/dailyNote/Template/`);
|
||||
var urlType = [];
|
||||
let url1 = `./plugins/xiaoyao-cvs-plugin/resources/dailyNote/Template/`
|
||||
let url2 = `./plugins/xiaoyao-cvs-plugin/resources/BJT-Templet/` //冤种情况。。
|
||||
let url3 = `./plugins/xiaoyao-cvs-plugin/resources/dailyNote/background_image/`
|
||||
var urlFile = fs.readdirSync(url1);
|
||||
var bJTurlFile = fs.readdirSync(url2);
|
||||
var urlType = {};
|
||||
for (let val of urlFile) {
|
||||
if (val.includes(".")) continue;
|
||||
urlType.push(val)
|
||||
urlType[val] = url1 + val
|
||||
}
|
||||
for (let val of bJTurlFile) {
|
||||
if (!val.includes("Template")) continue;
|
||||
let file = fs.readdirSync(`${url2}${val}`);
|
||||
for (let va of file) {
|
||||
if (va.includes(".")) continue;
|
||||
urlType[va] = url2 + val + "/" + va
|
||||
}
|
||||
}
|
||||
if (!xiaoyao) {
|
||||
var urlFileOne = fs.readdirSync(`./plugins/xiaoyao-cvs-plugin/resources/dailyNote/background_image/`);
|
||||
var urlFileOne = fs.readdirSync(url3);
|
||||
for (let val of urlFileOne) {
|
||||
if (!val.includes(".")) continue;
|
||||
urlType.push(val)
|
||||
|
||||
urlType[val] = url3 + "background_image/" + val
|
||||
}
|
||||
}
|
||||
return urlType;
|
||||
|
@ -37,6 +37,11 @@ export const rule = {
|
||||
reg: "^#图鉴插件(强制)?更新",
|
||||
describe: "【#管理】图鉴更新",
|
||||
},
|
||||
updateTemp:{
|
||||
hashMark: true,
|
||||
reg: "^#图鉴模板(强制)?更新$",
|
||||
describe: "【#管理】更新素材",
|
||||
},
|
||||
sysCfg: {
|
||||
hashMark: true,
|
||||
reg: sysCfgReg,
|
||||
@ -235,3 +240,55 @@ export async function updateMiaoPlugin(e) {
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
export async function updateTemp(e){
|
||||
if (!await checkAuth(e)) {
|
||||
return true;
|
||||
}
|
||||
let command = "";
|
||||
let url=`${resPath}/BJT-Templet/`
|
||||
if (fs.existsSync(url)) {
|
||||
e.reply("开始尝试更新,请耐心等待~");
|
||||
command = `git pull`;
|
||||
let isForce = e.msg.includes("强制");
|
||||
if (isForce) {
|
||||
command = "git checkout . && git pull";
|
||||
// command="git fetch --all && git reset --hard origin/master && git pull "
|
||||
e.reply("正在执行强制更新操作,请稍等");
|
||||
} else {
|
||||
e.reply("正在执行更新操作,请稍等");
|
||||
}
|
||||
exec(command, {
|
||||
cwd: url
|
||||
}, function(error, stdout, stderr) {
|
||||
//console.log(stdout);
|
||||
if (/Already up to date/.test(stdout)||stdout.includes("最新")) {
|
||||
e.reply("目前所有模板都已经是最新了~");
|
||||
return true;
|
||||
}
|
||||
let numRet = /(\d*) files changed,/.exec(stdout);
|
||||
if (numRet && numRet[1]) {
|
||||
e.reply(`报告主人,更新成功,此次更新了${numRet[1]}个图片~`);
|
||||
return true;
|
||||
}
|
||||
if (error) {
|
||||
e.reply("更新失败!\nError code: " + error.code + "\n" + error.stack + "\n 请稍后重试。");
|
||||
} else {
|
||||
e.reply("体力扩展包更新成功~");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
//@gitee @SunRyK @diqiushengwu @逍遥
|
||||
command = `git clone https://gitee.com/SmallK111407/BJT-Template.git "${url}"`
|
||||
// command = `git clone https://github.com/SmallK111407/BJT-Template.git "${resPath}/xiaoyao-plus/"`;\n此链接为github图床,如异常请请求多次
|
||||
e.reply("开始尝试安装体力扩展包,可能会需要一段时间,请耐心等待~");
|
||||
exec(command, function(error, stdout, stderr) {
|
||||
if (error) {
|
||||
e.reply("角色体力扩展包安装失败!\nError code: " + error.code + "\n" + error.stack + "\n 请稍后重试。");
|
||||
} else {
|
||||
e.reply("角色体力扩展包安装成功!您后续也可以通过 #图鉴模板更新 命令来更新图像");
|
||||
}
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
@ -7,43 +7,69 @@ import {
|
||||
versionInfo,
|
||||
help
|
||||
} from "./help.js";
|
||||
import {genShenMap} from './map.js'
|
||||
import {
|
||||
genShenMap
|
||||
} from './map.js'
|
||||
import {
|
||||
Note,
|
||||
DailyNoteTask,
|
||||
Note_appoint,
|
||||
noteTask,
|
||||
pokeNote
|
||||
} from "./Note.js";
|
||||
import {
|
||||
rule as adminRule,
|
||||
updateRes,
|
||||
sysCfg,
|
||||
sysCfg,updateTemp,
|
||||
updateMiaoPlugin
|
||||
} from "./admin.js";
|
||||
import {
|
||||
currentVersion
|
||||
} from "../components/Changelog.js";
|
||||
import {
|
||||
rule as userRule,delSign,updCookie,
|
||||
userInfo,gclog,mytoken,bindStoken,cloudToken
|
||||
rule as userRule,
|
||||
delSign,
|
||||
updCookie,
|
||||
userInfo,
|
||||
gclog,
|
||||
mytoken,
|
||||
bindStoken,
|
||||
cloudToken
|
||||
} from "./user.js"
|
||||
import {
|
||||
rule as signRule,
|
||||
sign,bbsSign,cloudSign,seach,cookiesDocHelp,signTask
|
||||
sign,
|
||||
bbsSign,
|
||||
cloudSign,
|
||||
seach,
|
||||
cookiesDocHelp,
|
||||
signTask
|
||||
} from "./sign.js"
|
||||
|
||||
export {
|
||||
updateRes,delSign,cloudSign,seach,bbsSign,
|
||||
gclog,mytoken,bindStoken,
|
||||
updateMiaoPlugin,userInfo,
|
||||
updateRes,updateTemp,
|
||||
delSign,
|
||||
cloudSign,
|
||||
seach,
|
||||
bbsSign,
|
||||
gclog,
|
||||
mytoken,
|
||||
bindStoken,
|
||||
updateMiaoPlugin,
|
||||
userInfo,
|
||||
sign,
|
||||
versionInfo,cloudToken,
|
||||
Note_appoint,signTask,
|
||||
pokeNote,genShenMap,
|
||||
versionInfo,
|
||||
cloudToken,
|
||||
Note_appoint,
|
||||
signTask,
|
||||
pokeNote,
|
||||
genShenMap,
|
||||
cookiesDocHelp,
|
||||
sysCfg,
|
||||
help,updCookie,
|
||||
help,
|
||||
updCookie,
|
||||
DailyNoteTask,
|
||||
noteTask,
|
||||
AtlasAlias,
|
||||
Note,
|
||||
};
|
||||
@ -68,13 +94,16 @@ let rule = {
|
||||
reg: "^#*(体力|树脂|查询体力|便笺|便签)$",
|
||||
describe: "体力",
|
||||
},
|
||||
|
||||
noteTask: {
|
||||
reg: "^#*((开启|关闭)体力推送|体力设置群(推送(开启|关闭)|(阈值|上限)(\\d*)))$",
|
||||
describe: "体力推送",
|
||||
},
|
||||
Note_appoint: {
|
||||
reg: "^#体力模板(设置(.*)|列表(.*))$",
|
||||
reg: "^#体力模板(设置(.*)|列表(.*))|(#我的体力模板列表)$",
|
||||
describe: "体力模板设置",
|
||||
},
|
||||
genShenMap:{
|
||||
reg: "^#(.*)(在(哪|那)里)$",
|
||||
genShenMap: {
|
||||
reg: "^#(.*)(在(哪|那)里*)$",
|
||||
describe: "地图资源查询 #**在哪里",
|
||||
},
|
||||
pokeNote: {
|
||||
@ -94,26 +123,28 @@ lodash.forEach(rule, (r) => {
|
||||
task();
|
||||
//定时任务
|
||||
async function task() {
|
||||
|
||||
if (typeof test != "undefined") return;
|
||||
let set = gsCfg.getfileYaml(`${_path}/plugins/xiaoyao-cvs-plugin/config/`, "config")
|
||||
schedule.scheduleJob(set.mysBbsTime, function() {
|
||||
if (set.ismysSign) {
|
||||
signTask('bbs')
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
schedule.scheduleJob(set.allSignTime, function() {
|
||||
if (set.isSign) {
|
||||
signTask('mys')
|
||||
}
|
||||
});
|
||||
schedule.scheduleJob(set.YunSignTime, function() {
|
||||
if (set.isYunSign) {
|
||||
schedule.scheduleJob(set.cloudSignTime, function() {
|
||||
if (set.isCloudSign) {
|
||||
signTask('cloud')
|
||||
}
|
||||
});
|
||||
|
||||
schedule.scheduleJob(set.noteTask, function() {
|
||||
if (set.isNoteTask) {
|
||||
DailyNoteTask()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
# cookies教程
|
||||
cookiesDoc: docs.qq.com/doc/DV2tDY2ltSFdtbU9z
|
||||
# 米币签到成功是否推送
|
||||
isPushSign: false
|
||||
# 米游社米币签到定时任务,Cron表达式,默认00:02开始执行签到
|
||||
mysBbsTime: 0 2 0 * * ?
|
||||
# 米币是否自动签到
|
||||
ismysSign: true
|
||||
|
||||
|
||||
# 签到成功是否推送
|
||||
isAllSign: false
|
||||
# 米游社签到定时任务,Cron表达式,默认00:02开始执行签到
|
||||
allSignTime: 0 2 0 * * ?
|
||||
# 是否自动签到
|
||||
isSign: true
|
||||
|
||||
# 云原神是否自动签到
|
||||
isYunSign: true
|
||||
# 米游社签到定时任务,Cron表达式,默认04:02开始执行签到
|
||||
YunSignTime: 0 2 4 * * ?
|
||||
# 云原神签到成功是否推送
|
||||
isYunSignMsg: false
|
||||
# 云原神帮助
|
||||
yunDoc: docs.qq.com/doc/DTnJIREZwTmxEVHBl
|
@ -1,6 +1,4 @@
|
||||
#此文件为默认配置请勿修改此文件
|
||||
|
||||
# cookies教程
|
||||
# 配置文件修改后需要重启生效
|
||||
# stoken 教程2由 @逍遥 提供 https://docs.qq.com/doc/DVFdKVHBRR3RaUWxL
|
||||
cookiesDoc: docs.qq.com/doc/DV2tDY2ltSFdtbU9z
|
||||
# 米币签到成功是否推送
|
||||
@ -8,14 +6,14 @@ isPushSign: false
|
||||
# 米游社米币签到定时任务,Cron表达式,默认00:02开始执行签到
|
||||
mysBbsTime: 0 2 0 * * ?
|
||||
# 米币是否自动签到
|
||||
ismysSign: true
|
||||
ismysSign: false
|
||||
|
||||
# 签到成功是否推送
|
||||
isAllSign: false
|
||||
# 米游社签到定时任务,Cron表达式,默认00:02开始执行签到
|
||||
allSignTime: 0 2 0 * * ?
|
||||
# 是否自动签到
|
||||
isSign: true
|
||||
isSign: false
|
||||
# 默认签到游戏模板 仅支持 原神|崩坏3|崩坏2|未定事件簿
|
||||
signlist:
|
||||
- 原神
|
||||
@ -24,14 +22,18 @@ signlist:
|
||||
- 未定事件簿
|
||||
|
||||
# 云原神是否自动签到
|
||||
isYunSign: true
|
||||
isCloudSign: false
|
||||
# 米游社签到定时任务,Cron表达式,默认04:02开始执行签到
|
||||
YunSignTime: 0 2 4 * * ?
|
||||
cloudSignTime: 0 2 4 * * ?
|
||||
# 云原神签到成功是否推送
|
||||
isYunSignMsg: false
|
||||
isCloudSignMsg: false
|
||||
# 云原神帮助 由 @FanSky_Qs 提供
|
||||
yunDoc: docs.qq.com/doc/DTnJIREZwTmxEVHBl
|
||||
cloudDoc: docs.qq.com/doc/DTnJIREZwTmxEVHBl
|
||||
#更新抽卡记录缓存时间默认5分钟
|
||||
gclogEx: 5
|
||||
# 体力设置开启关闭权限 1-群管理员才能开启关闭 2-主人才能开启关闭
|
||||
noteSetAuth: 1
|
||||
noteSetAuth: 2
|
||||
# 体力推送 间隔 10分钟检索一次
|
||||
noteTask: 0 0/10 * * ?
|
||||
# 全局开关体力推送 关闭后不可操作体力推送相关内容 true开启 false 关闭
|
||||
isNoteTask: false
|
0
defSet/config/note.yaml
Normal file
0
defSet/config/note.yaml
Normal file
918
defSet/json/map.yaml
Normal file
918
defSet/json/map.yaml
Normal file
@ -0,0 +1,918 @@
|
||||
#别名配置文件
|
||||
传送点:
|
||||
七天神像:
|
||||
- 七天神像
|
||||
- 神像
|
||||
传送锚点:
|
||||
- 传送锚点
|
||||
- 锚点
|
||||
- 世界锚点
|
||||
- 传送点
|
||||
秘境:
|
||||
- 秘境
|
||||
南十字·死兆星:
|
||||
- 南十字·死兆星
|
||||
- 死兆星
|
||||
- 南十字
|
||||
- 北斗船队
|
||||
群玉阁:
|
||||
- 群玉阁
|
||||
- 璃月核弹
|
||||
地标:
|
||||
洞口:
|
||||
- 洞口
|
||||
- 洞
|
||||
浪船锚点:
|
||||
- 浪船锚点
|
||||
- 船点
|
||||
- 浪船点
|
||||
忍冬之树:
|
||||
- 忍冬之树
|
||||
- 冬树
|
||||
- 雪山树
|
||||
神樱:
|
||||
- 神樱
|
||||
- 稻妻树
|
||||
- 神樱树
|
||||
梦之树:
|
||||
- 梦之树
|
||||
- 须弥树
|
||||
露天宝箱:
|
||||
普通的宝箱:
|
||||
- 普通的宝箱
|
||||
- 普通宝箱
|
||||
精致的宝箱:
|
||||
- 精致的宝箱
|
||||
- 精致宝箱
|
||||
珍贵的宝箱:
|
||||
- 珍贵的宝箱
|
||||
- 珍贵宝箱
|
||||
华丽的宝箱:
|
||||
- 华丽的宝箱
|
||||
- 华丽宝箱
|
||||
奇馈宝箱:
|
||||
- 奇馈宝箱
|
||||
- 奇馈的宝箱
|
||||
解谜宝箱:
|
||||
指引仙灵:
|
||||
- 指引仙灵
|
||||
温暧仙灵:
|
||||
- 温暧仙灵
|
||||
限时挑战:
|
||||
- 限时挑战
|
||||
风车机关:
|
||||
- 风车机关
|
||||
- 大风机关
|
||||
压力机关:
|
||||
- 压力机关
|
||||
元素方碑:
|
||||
- 元素方碑
|
||||
- 元素碑
|
||||
火炬机关:
|
||||
- 火炬机关
|
||||
巨型碎石:
|
||||
- 巨型碎石
|
||||
- 巨石
|
||||
小石堆:
|
||||
- 小石堆
|
||||
拔植物:
|
||||
- 拔植物
|
||||
雷灵:
|
||||
- 雷灵
|
||||
- 雷仙灵
|
||||
漂浮的风史莱姆:
|
||||
- 漂浮的风史莱姆
|
||||
- 风史莱姆
|
||||
蓬蓬果:
|
||||
- 蓬蓬果
|
||||
- 飞天果
|
||||
微解谜:
|
||||
- 微解谜
|
||||
- 小解谜
|
||||
雷霆探针:
|
||||
- 雷霆探针
|
||||
- 雷针
|
||||
狂风屏障:
|
||||
- 狂风屏障
|
||||
- 风屏障
|
||||
机关立方:
|
||||
- 机关立方
|
||||
挖掘宝箱:
|
||||
- 挖掘宝箱
|
||||
- 挖掘箱
|
||||
被束缚的宝箱:
|
||||
- 被束缚的宝箱
|
||||
- 束缚箱
|
||||
电气传导:
|
||||
- 电气传导
|
||||
- 电气石
|
||||
连线石板:
|
||||
- 连线石板
|
||||
- 连线板
|
||||
首杀敌人:
|
||||
- 首杀敌人
|
||||
- 首杀怪
|
||||
- 首杀怪物
|
||||
- 首杀
|
||||
奇特的岩石:
|
||||
- 奇特的岩石
|
||||
野外的苗圃:
|
||||
- 野外的苗圃
|
||||
桑格吉拉光机:
|
||||
- 桑格吉拉光机
|
||||
石柱的封印:
|
||||
- 石柱的封印
|
||||
三乘种子:
|
||||
- 三乘种子
|
||||
- 会飞的草种子
|
||||
- 毛球种子
|
||||
须弥解谜:
|
||||
- 须弥解谜
|
||||
死域:
|
||||
- 死域
|
||||
幻梦之门:
|
||||
- 幻梦之门
|
||||
元能尖碑:
|
||||
- 元能尖碑
|
||||
幻影壁画:
|
||||
- 幻影壁画
|
||||
恒光元件:
|
||||
- 恒光元件
|
||||
元能火种:
|
||||
- 元能火种
|
||||
元能沙钟:
|
||||
- 元能沙钟
|
||||
- 倒计时
|
||||
- 元能沙漏
|
||||
区域特产:
|
||||
落落莓:
|
||||
- 落落莓
|
||||
- 丽莎突破材料
|
||||
- 诺艾尔突破材料
|
||||
- 女仆突破材料
|
||||
- 罗莎莉亚突破材料
|
||||
- 修女突破材料
|
||||
绝云椒椒:
|
||||
- 绝云椒椒
|
||||
- 辣椒
|
||||
- 香菱突破材料
|
||||
嘟嘟莲:
|
||||
- 嘟嘟莲
|
||||
- 凯亚突破材料
|
||||
- 凯子哥突破材料
|
||||
- 迪奥娜突破材料
|
||||
- dio娜破材料
|
||||
清心:
|
||||
- 清心
|
||||
- 甘雨突破材料
|
||||
- 椰羊突破材料
|
||||
- 申鹤突破材料
|
||||
- 魈突破材料
|
||||
小灯草:
|
||||
- 小灯草
|
||||
- 迪卢克突破材料
|
||||
- 姥爷突破材料
|
||||
- 老爷突破材料
|
||||
- 安柏突破材料
|
||||
- 菲谢尔突破材料
|
||||
- 皇女突破材料
|
||||
琉璃袋:
|
||||
- 琉璃袋
|
||||
- 七七突破材料
|
||||
- 小僵尸突破材料
|
||||
- 僵尸突破材料
|
||||
- 辛焱突破材料
|
||||
塞西莉亚花:
|
||||
- 塞西莉亚花
|
||||
- 温迪突破材料
|
||||
- 卖唱的突破材料
|
||||
- 阿贝多突破材料
|
||||
- 阿贝少突破材料
|
||||
- 阿贝夕突破材料
|
||||
- 阿贝花突破材料
|
||||
霓裳花:
|
||||
- 霓裳花
|
||||
- 胡桃突破材料
|
||||
- 圣人突破材料
|
||||
- 行秋突破材料
|
||||
蒲公英籽:
|
||||
- 蒲公英籽
|
||||
- 优菈突破材料
|
||||
- 琴突破材料
|
||||
- 琴团长突破材料
|
||||
琉璃百合:
|
||||
- 琉璃百合
|
||||
- 凝光突破材料
|
||||
- 富婆突破材料
|
||||
- 云堇突破材料
|
||||
- 云先生突破材料
|
||||
慕风蘑菇:
|
||||
- 慕风蘑菇
|
||||
- 莫娜突破材料
|
||||
- 可莉突破材料
|
||||
- 芭芭拉突破材料
|
||||
- 内鬼突破材料
|
||||
石珀:
|
||||
- 石珀
|
||||
- 钟离突破材料
|
||||
- 帝君突破材料
|
||||
- 老爷子突破材料
|
||||
- 岩王爷突破材料
|
||||
- 刻晴突破材料
|
||||
- 阿晴突破材料
|
||||
- 重云突破材料
|
||||
钩钩果:
|
||||
- 钩钩果
|
||||
- 雷泽突破材料
|
||||
夜泊石:
|
||||
- 夜泊石
|
||||
- 北斗突破材料
|
||||
- 烟绯突破材料
|
||||
- 律师突破材料
|
||||
风车菊:
|
||||
- 风车菊
|
||||
- 旅行者突破材料
|
||||
- 爷突破材料
|
||||
- 空突破材料
|
||||
- 荧突破材料
|
||||
- 空哥突破材料
|
||||
- 荧妹突破材料
|
||||
- 钟班尼特突破材料
|
||||
- 砂糖突破材料
|
||||
星螺:
|
||||
- 星螺
|
||||
- 夜兰突破材料
|
||||
- 夜阑突破材料
|
||||
- 达达利亚突破材料
|
||||
- 达达鸭突破材料
|
||||
- 公子突破材料
|
||||
- 鸭鸭突破材料
|
||||
海灵芝:
|
||||
- 海灵芝
|
||||
- 八重神子突破材料
|
||||
- 神子突破材料
|
||||
- 八重突破材料
|
||||
- 枫原万叶突破材料
|
||||
- 万叶突破材料
|
||||
鬼兜虫:
|
||||
- 鬼兜虫
|
||||
- 荒泷一斗突破材料
|
||||
- 一斗突破材料
|
||||
- 鹿野院平藏突破材料
|
||||
- 平藏突破材料
|
||||
- 小鹿突破材料
|
||||
鸣草:
|
||||
- 鸣草
|
||||
- 宵宫突破材料
|
||||
- 久岐忍突破材料
|
||||
- 97忍突破材料
|
||||
血斛:
|
||||
- 血斛
|
||||
- 九条裟罗突破材料
|
||||
- 九条突破材料
|
||||
- 裟罗突破材料
|
||||
绯樱绣球:
|
||||
- 绯樱绣球
|
||||
- 神里绫人突破材料
|
||||
- 绫人突破材料
|
||||
- 神里绫华突破材料
|
||||
- 绫华突破材料
|
||||
晶化骨髓:
|
||||
- 晶化骨髓
|
||||
- 埃洛伊突破材料
|
||||
- 早柚突破材料
|
||||
珊瑚真珠:
|
||||
- 珊瑚真珠
|
||||
- 珊瑚宫心海突破材料
|
||||
- 心海突破材料
|
||||
- 五郎突破材料
|
||||
- 希娜小姐突破材料
|
||||
- 希娜突破材料
|
||||
天云草实:
|
||||
- 天云草实
|
||||
- 雷电将军突破材料
|
||||
- 雷电影突破材料
|
||||
- 将军突破材料
|
||||
- 影突破材料
|
||||
幽灯蕈:
|
||||
- 幽灯蕈
|
||||
- 托马突破材料
|
||||
月莲:
|
||||
- 月莲
|
||||
- 提纳里突破材料
|
||||
- 提那里突破材料
|
||||
- 提这里突破材料
|
||||
劫波莲:
|
||||
- 劫波莲
|
||||
- 多莉突破材料
|
||||
树王圣体菇:
|
||||
- 树王圣体菇
|
||||
- 科莱突破材料
|
||||
帕蒂沙兰:
|
||||
- 帕蒂沙兰
|
||||
- 妮露突破材料
|
||||
圣金虫:
|
||||
- 圣金虫
|
||||
- 赛诺突破材料
|
||||
赤念果:
|
||||
- 赤念果
|
||||
- 坎蒂丝突破材料
|
||||
- 凯蒂丝突破材料
|
||||
神瞳:
|
||||
风神瞳:
|
||||
- 风神瞳
|
||||
岩神瞳:
|
||||
- 岩神瞳
|
||||
绯红玉髓:
|
||||
- 绯红玉髓
|
||||
- 玉髓
|
||||
雷神瞳:
|
||||
- 雷神瞳
|
||||
键纹Ⅱ:
|
||||
- 键纹Ⅱ
|
||||
- 键纹2
|
||||
键纹Ⅲ:
|
||||
- 键纹Ⅲ
|
||||
- 键纹3
|
||||
键纹IV:
|
||||
- 键纹IV
|
||||
- 键纹4
|
||||
草神瞳:
|
||||
- 草神瞳
|
||||
圣章石:
|
||||
- 圣章石
|
||||
敌人(普通):
|
||||
丘丘人:
|
||||
- 丘丘人
|
||||
丘丘萨满:
|
||||
- 丘丘萨满
|
||||
盗宝团:
|
||||
- 盗宝团
|
||||
丘丘射手:
|
||||
- 丘丘射手
|
||||
史莱姆:
|
||||
- 史莱姆
|
||||
野伏众:
|
||||
- 野伏众
|
||||
- 野人众
|
||||
飘浮灵:
|
||||
- 飘浮灵
|
||||
- 怨种灵
|
||||
愚人众先遣队:
|
||||
- 愚人众先遣队
|
||||
- 先遣队
|
||||
骗骗花:
|
||||
- 骗骗花
|
||||
蕈兽:
|
||||
- 蕈兽
|
||||
- 笨蛋兽
|
||||
镀金旅团:
|
||||
- 镀金旅团
|
||||
敌人(精英):
|
||||
丘丘暴徒:
|
||||
- 丘丘暴徒
|
||||
深渊法师:
|
||||
- 深渊法师
|
||||
愚人众·债务处理人:
|
||||
- 愚人众·债务处理人
|
||||
- 债务处理人
|
||||
- 讨债的
|
||||
愚人众·萤术士:
|
||||
- 愚人众·萤术士
|
||||
- 萤术士
|
||||
遗迹机兵:
|
||||
- 遗迹机兵
|
||||
遗迹重机:
|
||||
- 遗迹重机
|
||||
遗迹守卫:
|
||||
- 遗迹守卫
|
||||
- 独眼小宝
|
||||
遗迹猎者:
|
||||
- 遗迹猎者
|
||||
幼岩龙蜥:
|
||||
- 幼岩龙蜥
|
||||
岩龙蜥:
|
||||
- 岩龙蜥
|
||||
丘丘王:
|
||||
- 丘丘王
|
||||
大雪猪王:
|
||||
- 大雪猪王
|
||||
- 雪猪王
|
||||
狂风之核:
|
||||
- 狂风之核
|
||||
藏镜仕女:
|
||||
- 藏镜仕女
|
||||
- 藏镜
|
||||
- 仕女
|
||||
兽境之狼:
|
||||
- 兽境之狼
|
||||
- 流血狗
|
||||
遗迹龙兽:
|
||||
- 遗迹龙兽
|
||||
- 机甲暴龙兽
|
||||
元能构装体:
|
||||
- 元能构装体
|
||||
敌人(BOSS):
|
||||
无相之风:
|
||||
- 无相之风
|
||||
- 无相风
|
||||
急冻树:
|
||||
- 急冻树
|
||||
- 冰树
|
||||
北风的王狼,奔狼的领主:
|
||||
- 北风的王狼
|
||||
- 奔狼的领主
|
||||
- 北风的王狼
|
||||
- 狼王
|
||||
- 奔狼的领主
|
||||
无相之雷:
|
||||
- 无相之雷
|
||||
- 无相雷
|
||||
纯水精灵:
|
||||
- 纯水精灵
|
||||
- 纯水
|
||||
爆炎树:
|
||||
- 爆炎树
|
||||
- 火树
|
||||
无相之岩:
|
||||
- 无相之岩
|
||||
- 无相岩
|
||||
古岩龙蜥:
|
||||
- 古岩龙蜥
|
||||
无相之冰:
|
||||
- 无相之冰
|
||||
- 无相冰
|
||||
魔偶剑鬼:
|
||||
- 魔偶剑鬼
|
||||
- 魔偶
|
||||
- 剑鬼
|
||||
无相之火:
|
||||
- 无相之火
|
||||
- 无相火
|
||||
- 无相之耻
|
||||
- 无相耻
|
||||
恒常机关列阵:
|
||||
- 恒常机关列阵
|
||||
- 恒常机关
|
||||
无相之水:
|
||||
- 无相之水
|
||||
- 无相水
|
||||
雷音权现:
|
||||
- 雷音权现
|
||||
- 雷鸟
|
||||
黄金王兽:
|
||||
- 黄金王兽
|
||||
掣电树:
|
||||
- 掣电树
|
||||
- 雷树
|
||||
翠翎恐蕈:
|
||||
- 翠翎恐蕈
|
||||
- 鸡哥
|
||||
兆载永劫龙兽:
|
||||
- 兆载永劫龙兽
|
||||
- 永劫龙兽
|
||||
半永恒统辖距阵:
|
||||
- 半永恒统辖距阵
|
||||
- 永恒距阵
|
||||
- 矩阵
|
||||
兰那罗:
|
||||
兰那罗1:
|
||||
- 兰那罗1
|
||||
- 兰那罗
|
||||
兰那罗2:
|
||||
- 兰那罗2
|
||||
垂钓:
|
||||
垂钓点:
|
||||
- 垂钓点
|
||||
- 钓鱼点
|
||||
花鳉:
|
||||
- 花鳉
|
||||
琉璃花鳉:
|
||||
- 琉璃花鳉
|
||||
甜甜花鳉:
|
||||
- 甜甜花鳉
|
||||
蓝染花鳉:
|
||||
- 蓝染花鳉
|
||||
擒霞客:
|
||||
- 擒霞客
|
||||
水晶宴:
|
||||
- 水晶宴
|
||||
肺棘鱼:
|
||||
- 肺棘鱼
|
||||
斗棘鱼:
|
||||
- 斗棘鱼
|
||||
鸩棘鱼:
|
||||
- 鸩棘鱼
|
||||
赤魔王:
|
||||
- 赤魔王
|
||||
雪中君:
|
||||
- 雪中君
|
||||
金赤假龙:
|
||||
- 金赤假龙
|
||||
铸假龙:
|
||||
- 铸假龙
|
||||
流纹褐蝶鱼:
|
||||
- 流纹褐蝶鱼
|
||||
- 褐蝶鱼
|
||||
流纹京紫蝶鱼:
|
||||
- 流纹京紫蝶鱼
|
||||
- 京紫蝶鱼
|
||||
流纹茶蝶鱼:
|
||||
- 流纹茶蝶鱼
|
||||
- 茶蝶鱼
|
||||
长生仙:
|
||||
- 长生仙
|
||||
雷鸣仙:
|
||||
- 雷鸣仙
|
||||
炮鲀:
|
||||
- 炮鲀
|
||||
苦炮鲀:
|
||||
- 苦炮鲀
|
||||
真果角鲀:
|
||||
- 真果角鲀
|
||||
沉波蛮桃:
|
||||
- 沉波蛮桃
|
||||
吹沙角鲀:
|
||||
- 吹沙角鲀
|
||||
暮云角鲀:
|
||||
- 暮云角鲀
|
||||
青金斧枪鱼:
|
||||
- 青金斧枪鱼
|
||||
翡玉斧枪鱼:
|
||||
- 翡玉斧枪鱼
|
||||
材料:
|
||||
冰雾花花朵:
|
||||
- 冰雾花花朵
|
||||
- 冰雾花
|
||||
烈焰花花蕊:
|
||||
- 烈焰花花蕊
|
||||
- 烈焰花
|
||||
电气水晶:
|
||||
- 电气水晶
|
||||
竹笋:
|
||||
- 竹笋
|
||||
- 笋
|
||||
鳅鳅宝玉:
|
||||
- 鳅鳅宝玉
|
||||
晶核:
|
||||
- 晶核
|
||||
蝴蝶:
|
||||
- 蝴蝶
|
||||
- 蛾子
|
||||
- 扑棱蛾子
|
||||
金鱼草:
|
||||
- 金鱼草
|
||||
马尾:
|
||||
- 马尾
|
||||
青蛙:
|
||||
- 青蛙
|
||||
蜥蜴尾巴:
|
||||
- 蜥蜴尾巴
|
||||
螃蟹:
|
||||
- 螃蟹
|
||||
兽肉:
|
||||
- 兽肉
|
||||
鱼肉:
|
||||
- 鱼肉
|
||||
禽肉:
|
||||
- 禽肉
|
||||
松茸:
|
||||
- 松茸
|
||||
松果:
|
||||
- 松果
|
||||
乌蛋:
|
||||
- 乌蛋
|
||||
奇异的「牙齿」:
|
||||
- 奇异的「牙齿」
|
||||
- 奇异的牙齿
|
||||
- 牙齿
|
||||
「冷鲜肉」:
|
||||
- 「冷鲜肉」
|
||||
- 冷鲜肉
|
||||
- 冰冻肉
|
||||
甜甜花:
|
||||
- 甜甜花
|
||||
薄荷:
|
||||
- 薄荷
|
||||
蘑菇:
|
||||
- 蘑菇
|
||||
树莓:
|
||||
- 树莓
|
||||
日落果:
|
||||
- 日落果
|
||||
苹果:
|
||||
- 苹果
|
||||
莲蓬:
|
||||
- 莲蓬
|
||||
胡萝卜:
|
||||
- 胡萝卜
|
||||
白萝卜:
|
||||
- 白萝卜
|
||||
发光髓:
|
||||
- 发光髓
|
||||
堇瓜:
|
||||
- 堇瓜
|
||||
海草:
|
||||
- 海草
|
||||
鳗肉:
|
||||
- 鳗肉
|
||||
星蕈:
|
||||
- 星蕈
|
||||
旋曜玉帛:
|
||||
- 旋曜玉帛
|
||||
- 玉帛
|
||||
老石:
|
||||
- 老石
|
||||
须弥蔷薇:
|
||||
- 须弥蔷薇
|
||||
墩墩桃:
|
||||
- 墩墩桃
|
||||
香辛果:
|
||||
- 香辛果
|
||||
毗波耶:
|
||||
- 毗波耶
|
||||
枣椰:
|
||||
- 枣椰
|
||||
动物:
|
||||
白鸽:
|
||||
- 白鸽
|
||||
薄红蟹:
|
||||
- 薄红蟹
|
||||
碧团雀:
|
||||
- 碧团雀
|
||||
冰晶蝶:
|
||||
- 冰晶蝶
|
||||
赤鳍陆鳗鳗:
|
||||
- 赤鳍陆鳗鳗
|
||||
赤团雀:
|
||||
- 赤团雀
|
||||
赤胁鸽:
|
||||
- 赤胁鸽
|
||||
风晶蝶:
|
||||
- 风晶蝶
|
||||
海蓝蟹:
|
||||
- 海蓝蟹
|
||||
黑王鸽:
|
||||
- 黑王鸽
|
||||
红狐:
|
||||
- 红狐
|
||||
红角蜥:
|
||||
- 红角蜥
|
||||
红尾鼬:
|
||||
- 红尾鼬
|
||||
狐:
|
||||
- 狐
|
||||
黄金蟹:
|
||||
- 黄金蟹
|
||||
灰雪猫:
|
||||
- 灰雪猫
|
||||
灰羽鸽:
|
||||
- 灰羽鸽
|
||||
将军蟹:
|
||||
- 将军蟹
|
||||
金鳅鳅:
|
||||
- 金鳅鳅
|
||||
金团雀:
|
||||
- 金团雀
|
||||
菫鹮:
|
||||
- 菫鹮
|
||||
蓝宝石:
|
||||
- 蓝宝石
|
||||
蓝角蜥:
|
||||
- 蓝角蜥
|
||||
蓝蛙:
|
||||
- 蓝蛙
|
||||
雷晶蝶:
|
||||
- 雷晶蝶
|
||||
璃冠鸽:
|
||||
- 璃冠鸽
|
||||
落日鳅鳅:
|
||||
- 落日鳅鳅
|
||||
绿角蜥:
|
||||
- 绿角蜥
|
||||
泥蛙:
|
||||
- 泥蛙
|
||||
青蛙:
|
||||
- 青蛙
|
||||
晴天鳅鳅:
|
||||
- 晴天鳅鳅
|
||||
嗜髓蜥:
|
||||
- 嗜髓蜥
|
||||
松鼠:
|
||||
- 松鼠
|
||||
太阳蟹:
|
||||
- 太阳蟹
|
||||
藤纹陆鳗鳗:
|
||||
- 藤纹陆鳗鳗
|
||||
靴子鼬:
|
||||
- 靴子鼬
|
||||
雪狐:
|
||||
- 雪狐
|
||||
雪团雀:
|
||||
- 雪团雀
|
||||
雪隐鼬:
|
||||
- 雪隐鼬
|
||||
雪猪:
|
||||
- 雪猪
|
||||
鸦:
|
||||
- 鸦
|
||||
岩晶蝶:
|
||||
- 岩晶蝶
|
||||
蕈猪:
|
||||
- 蕈猪
|
||||
草晶蝶:
|
||||
- 草晶蝶
|
||||
瞑彩鸟:
|
||||
- 瞑彩鸟
|
||||
沙狐:
|
||||
- 沙狐
|
||||
流沙鳗鳗:
|
||||
- 流沙鳗鳗
|
||||
赤尾蜥:
|
||||
- 赤尾蜥
|
||||
面具鼬:
|
||||
- 面具鼬
|
||||
地灵龛:
|
||||
蒙德地灵龛:
|
||||
- 蒙德地灵龛
|
||||
璃月地灵龛:
|
||||
- 璃月地灵龛
|
||||
稻妻地灵龛:
|
||||
- 稻妻地灵龛
|
||||
须弥地灵龛:
|
||||
- 须弥地灵龛
|
||||
世界任务:
|
||||
世界任务:
|
||||
- 世界任务
|
||||
解谜:
|
||||
岩种子:
|
||||
- 岩种子
|
||||
古代坚冰:
|
||||
- 古代坚冰
|
||||
8个石碑:
|
||||
- 8个石碑
|
||||
3个宝匣:
|
||||
- 3个宝匣
|
||||
剑柄:
|
||||
- 剑柄
|
||||
水泡:
|
||||
- 水泡
|
||||
- 泡泡
|
||||
妖狸:
|
||||
- 妖狸
|
||||
封锁点Ⅱ:
|
||||
- 封锁点Ⅱ
|
||||
- 封锁点2
|
||||
封锁点Ⅲ:
|
||||
- 封锁点Ⅲ
|
||||
- 封锁点3
|
||||
封锁点IV:
|
||||
- 封锁点IV
|
||||
- 封锁点4
|
||||
琥珀:
|
||||
- 琥珀
|
||||
指引:
|
||||
雷种子:
|
||||
- 雷种子
|
||||
相位之门:
|
||||
- 相位之门
|
||||
- 传送门
|
||||
雷石:
|
||||
- 雷石
|
||||
神秘的刻像:
|
||||
- 神秘的刻像
|
||||
- 神秘刻像
|
||||
- 神秘的狐狸雕像
|
||||
- 神秘的狐狸像
|
||||
锅:
|
||||
- 锅
|
||||
- 做饭的
|
||||
篝火/火把:
|
||||
- 篝火/火把
|
||||
- 篝火
|
||||
- 火把
|
||||
遗迹之蚀:
|
||||
- 遗迹之蚀
|
||||
仙灵之庭:
|
||||
- 仙灵之庭
|
||||
- 仙灵的家
|
||||
- 仙灵柱子
|
||||
草种子:
|
||||
- 草种子
|
||||
弹弹菇:
|
||||
- 弹弹菇
|
||||
- 弹跳菇
|
||||
众叶觉蕊:
|
||||
- 众叶觉蕊
|
||||
草石头:
|
||||
- 草石头
|
||||
草桩:
|
||||
- 草桩
|
||||
矿物:
|
||||
白铁块:
|
||||
- 白铁块
|
||||
- 白铁矿
|
||||
水晶块:
|
||||
- 水晶块
|
||||
- 水晶矿
|
||||
魔晶块:
|
||||
- 魔晶块
|
||||
- 魔晶矿
|
||||
星银矿石:
|
||||
- 星银矿石
|
||||
- 星银矿
|
||||
深赤之石:
|
||||
- 深赤之石
|
||||
- 红石
|
||||
铁块:
|
||||
- 铁块
|
||||
- 铁矿
|
||||
紫晶块:
|
||||
- 紫晶块
|
||||
- 紫晶矿
|
||||
敌人(彩蛋):
|
||||
大伟丘:
|
||||
- 大伟丘
|
||||
- 大伟哥
|
||||
地理志:
|
||||
观景点:
|
||||
- 观景点
|
||||
- 景点
|
||||
书籍/食谱:
|
||||
书籍:
|
||||
- 书籍
|
||||
- 书
|
||||
食谱:
|
||||
- 食谱
|
||||
调查:
|
||||
圣遗物:
|
||||
- 圣遗物
|
||||
- 调查圣遗物
|
||||
- 狗粮
|
||||
摩拉:
|
||||
- 摩拉
|
||||
- 摩拉箱
|
||||
- 摩拉石堆
|
||||
- 钱
|
||||
岩之印:
|
||||
- 岩之印
|
||||
木匣:
|
||||
- 木匣
|
||||
- 木匣子
|
||||
食材:
|
||||
- 食材
|
||||
武器:
|
||||
- 武器
|
||||
矿物:
|
||||
- 矿物
|
||||
石堆:
|
||||
- 石堆
|
||||
沙堆:
|
||||
- 沙堆
|
||||
NPC:
|
||||
商人:
|
||||
- 商人
|
||||
- 卖东西的
|
||||
鲸井小弟:
|
||||
- 鲸井小弟
|
||||
- 捉迷藏小弟
|
||||
- 阴间小弟
|
||||
丹迪:
|
||||
- 丹迪
|
||||
幻影:
|
||||
- 幻影
|
||||
- 幽灵
|
||||
- 鬼影
|
||||
木头:
|
||||
杉木:
|
||||
- 杉木
|
||||
松木:
|
||||
- 松木
|
||||
竹节:
|
||||
- 竹节
|
||||
却砂木:
|
||||
- 却砂木
|
||||
桦木:
|
||||
- 桦木
|
||||
萃华木:
|
||||
- 萃华木
|
||||
垂香木:
|
||||
- 垂香木
|
||||
御伽木:
|
||||
- 御伽木
|
||||
枫木:
|
||||
- 枫木
|
||||
孔雀木:
|
||||
- 孔雀木
|
||||
梦见木:
|
||||
- 梦见木
|
||||
证悟木:
|
||||
- 证悟木
|
||||
辉木:
|
||||
- 辉木
|
||||
业果木:
|
||||
- 业果木
|
||||
刺葵木:
|
||||
- 刺葵木
|
||||
柽木:
|
||||
- 柽木
|
@ -26,6 +26,7 @@ class GsCfg {
|
||||
}
|
||||
/** 通用yaml读取*/
|
||||
getfileYaml(path, name) {
|
||||
this.cpCfg('config', 'config')
|
||||
return YAML.parse(
|
||||
fs.readFileSync(path + name + ".yaml", 'utf8')
|
||||
)
|
||||
@ -80,6 +81,43 @@ class GsCfg {
|
||||
ckQQ
|
||||
}
|
||||
}
|
||||
|
||||
/** 读取所有用户绑定的ck */
|
||||
async getBingAllCk () {
|
||||
let ck = {}
|
||||
let ckQQ = {}
|
||||
let qqCk={}
|
||||
let dir = './data/MysCookie/'
|
||||
let files = fs.readdirSync(dir).filter(file => file.endsWith('.yaml'))
|
||||
|
||||
const readFile = promisify(fs.readFile)
|
||||
|
||||
let promises = []
|
||||
|
||||
files.forEach((v) => promises.push(readFile(`${dir}${v}`, 'utf8')))
|
||||
|
||||
const res = await Promise.all(promises)
|
||||
|
||||
res.forEach((v) => {
|
||||
let tmp = YAML.parse(v)
|
||||
let qq
|
||||
lodash.forEach(tmp, (item, uid) => {
|
||||
qq = item.qq
|
||||
ck[String(uid)] = item
|
||||
if(!qqCk[String(item.qq)]) qqCk[String(item.qq)]=[]
|
||||
qqCk[String(item.qq)].push(item)
|
||||
if (item.isMain && !ckQQ[String(item.qq)]) {
|
||||
ckQQ[String(item.qq)] = item
|
||||
}
|
||||
})
|
||||
if (qq && !ckQQ[String(qq)]) {
|
||||
ckQQ[String(qq)] = Object.values(tmp)[0]
|
||||
}
|
||||
})
|
||||
|
||||
return { ck, ckQQ,qqCk }
|
||||
}
|
||||
|
||||
async getUserStoken(userId){
|
||||
try {
|
||||
let ck=YAML.parse(
|
||||
|
91
model/note.js
Normal file
91
model/note.js
Normal file
@ -0,0 +1,91 @@
|
||||
import YAML from 'yaml'
|
||||
import fs from 'node:fs'
|
||||
import lodash from 'lodash'
|
||||
import {
|
||||
Cfg,
|
||||
Data
|
||||
} from "../components/index.js";
|
||||
import moment from 'moment'
|
||||
import gsCfg from './gsCfg.js'
|
||||
|
||||
const plugin = 'xiaoyao-cvs-plugin'
|
||||
/** 配置文件 */
|
||||
export default class note {
|
||||
constructor(e) {
|
||||
if(e){
|
||||
this.e = e
|
||||
}
|
||||
this.Cfg = `./plugins/${plugin}/config/`
|
||||
gsCfg.cpCfg("config", "note")
|
||||
this.noteCfg = gsCfg.getfileYaml(this.Cfg, "note") || {}
|
||||
this.cfg = gsCfg.getfileYaml(`./plugins/xiaoyao-cvs-plugin/config/`, "config");
|
||||
}
|
||||
addNote() {
|
||||
if (!this.noteCfg[this.e.group_id]) {
|
||||
this.noteCfg[this.e.group_id] = {
|
||||
"task": [],
|
||||
"isTask": true,
|
||||
"sendResin": 120
|
||||
}
|
||||
}
|
||||
if (!this.isTaskAdmin()) return true;
|
||||
let userId = this.noteCfg[this.e.group_id]["task"] || [];
|
||||
if (!userId.includes(this.e.user_id)) {
|
||||
userId.push(this.e.user_id)
|
||||
}
|
||||
this.noteCfg[this.e.group_id]["task"] = userId
|
||||
this.saveNote(this.noteCfg)
|
||||
this.e.reply("体力推送开启成功~\n后续每天会为您推送体力")
|
||||
}
|
||||
delNote() {
|
||||
try {
|
||||
if (this.noteCfg[this.e.group_id]) {
|
||||
if (!this.isTaskAdmin()) return true;
|
||||
let userId = this.noteCfg[this.e.group_id]["task"] || [];
|
||||
if (userId.length > 0) {
|
||||
userId.splice(userId.indexOf(this.e.user_id),
|
||||
1) //.join('').replace(new RegExp(`${this.e.user_id}`)).split("")
|
||||
this.noteCfg[this.e.group_id]["task"] = userId
|
||||
this.saveNote(this.noteCfg)
|
||||
this.e.reply("体力推送关闭成功~\n后续将不会为您推送体力")
|
||||
}
|
||||
}
|
||||
} catch (e) {}
|
||||
}
|
||||
updNote() {
|
||||
if (this.cfg.noteSetAuth === 2) {
|
||||
if (!this.e.isMaster) {
|
||||
this.e.reply('只有主人才能操作。')
|
||||
return false
|
||||
}
|
||||
}
|
||||
if (this.cfg.noteSetAuth === 1 && !this.e?.isMaster) {
|
||||
if (!(this.e.sender.role === 'owner' || this.e.sender.role === 'admin')) {
|
||||
this.e.reply('只有管理员才能操作。')
|
||||
return false
|
||||
}
|
||||
}
|
||||
let set = this.e.msg.includes("推送")
|
||||
if (set) {
|
||||
let bool = this.e.msg.includes("开启")
|
||||
this.noteCfg[this.e.group_id].isTask = bool
|
||||
} else {
|
||||
let num = this.e.msg.replace(/[^0-9]/ig, '')
|
||||
this.noteCfg[this.e.group_id].sendResin = Math.min(160, Math.max(20, num * 1 || 120));
|
||||
}
|
||||
this.saveNote(this.noteCfg)
|
||||
this.e.reply(this.e.msg.replace('#', '') + "操作成功~", true)
|
||||
}
|
||||
saveNote(data) {
|
||||
if (!data) return false;
|
||||
let yaml = YAML.stringify(data)
|
||||
fs.writeFileSync(`${this.Cfg}note.yaml`, yaml, 'utf8')
|
||||
}
|
||||
isTaskAdmin() {
|
||||
if (!this.noteCfg[this.e.group_id]["isTask"]) {
|
||||
this.e.reply("群体力推送关闭了~\n请联系管理员开启功能~")
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
@ -192,7 +192,7 @@ export default class user {
|
||||
}
|
||||
}
|
||||
async docHelp(type) {
|
||||
return this.configSign[type.includes("云") ? "yunDoc" : "cookiesDoc"]
|
||||
return this.configSign[type.includes("云") ? "cloudDoc" : "cookiesDoc"]
|
||||
}
|
||||
async cloudSign() {
|
||||
let res = await this.getData("cloudReward")
|
||||
@ -463,7 +463,7 @@ export default class user {
|
||||
let mul = e;
|
||||
Bot.logger.mark(`云原神签到任务开始`);
|
||||
let files = fs.readdirSync(this.yunPath).filter(file => file.endsWith('.yaml'))
|
||||
let isYunSignMsg = this.configSign.isYunSignMsg
|
||||
let Msg = this.configSign.isCloudSignMsg
|
||||
let userIdList = (files.join(",").replace(/.yaml/g, "").split(","))
|
||||
if (cloudTask) {
|
||||
e.reply(`云原神自动签到任务进行中,请勿重复触发指令`)
|
||||
|
@ -3,10 +3,10 @@
|
||||
<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}}dailyNote/Template/{{urlType}}/css/xiaoyao_Note.css?v=1.0" />
|
||||
<link rel="stylesheet" type="text/css" href="{{_res_path}}{{urlType}}/css/xiaoyao_Note.css?v=1.0" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" id="container" style=" background-image: url({{_res_path}}/dailyNote/Template/{{urlType}}/icon/bg/{{imgs}});">
|
||||
<div class="container" id="container" style=" background-image: url({{_res_path}}{{urlType}}/icon/bg/{{imgs}});">
|
||||
<div class="left_model">
|
||||
<div class="list">
|
||||
<div class="div">
|
||||
@ -107,7 +107,7 @@
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="jdt">
|
||||
<img src="{{_res_path}}/dailyNote/Template/{{urlType}}/speed/{{100-list.percentage}}.png"/>
|
||||
<img src="{{_res_path}}{{urlType}}/speed/{{100-list.percentage}}.png"/>
|
||||
</div>
|
||||
<div class="icon {{list.mb2_icon==''?'user_null':''}}" >
|
||||
{{if list.mb2_icon==''}}
|
||||
|
Loading…
Reference in New Issue
Block a user