From 42c817ff52d771d6bc7d9d68d60c589621ee5299 Mon Sep 17 00:00:00 2001 From: Ctrlcvs <1509167646@qq.com> Date: Mon, 31 Oct 2022 13:57:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=8B=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 9 + README.md | 4 +- apps/Note.js | 206 +++--- apps/admin.js | 57 ++ apps/index.js | 79 ++- config/config.yaml | 25 - defSet/config/config.yaml | 22 +- defSet/config/note.yaml | 0 defSet/json/map.yaml | 918 ++++++++++++++++++++++++++ model/gsCfg.js | 38 ++ model/note.js | 91 +++ model/user.js | 4 +- resources/dailyNote/xiaoyao_Note.html | 6 +- 13 files changed, 1314 insertions(+), 145 deletions(-) delete mode 100644 config/config.yaml create mode 100644 defSet/config/note.yaml create mode 100644 defSet/json/map.yaml create mode 100644 model/note.js diff --git a/CHANGELOG.md b/CHANGELOG.md index c3f9827..127b75b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# 1.2.4 +* 新增`群体力推送` + * 用户可通过`#开启、关闭体力推送` 来对体力推送进行操作 + * 管理员可通过`#体力设置群推送关闭、开启` 以及推送阈值设置`#体力设置群阈值120` 仅支持群操作 +* 新增`#我的体力模板列表` +* 优化体力模板设置,支持多个设置 +* 新增`#图鉴模板更新` + * 用于更新体力模板具体来源由**@SunRyK** **@地球生物** **@逍遥** 三位作者上传 + * 不会冲突已添加的模板数据,有需求可通过指令拉取 # 1.2.3 * 新增地图资源查询功能 * `#月莲在哪里` 指令类似 `某某物品在哪里` diff --git a/README.md b/README.md index 37ef44a..d52a701 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/apps/Note.js b/apps/Note.js index 03ffedd..51c5d2d 100644 --- a/apps/Note.js +++ b/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 e = { - sendResin, - user_id, - isTask: true - }; - - e.reply = (msg) => { - Bot.pickUser(user_id * 1).sendMsg(msg).catch((err) => { - Bot.logger.mark(err) - }) - // common.relpyPrivate(user_id, 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 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 = { + 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) => { + sendMsg.push(msg) + }; + 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: [], + 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: msg, + 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; diff --git a/apps/admin.js b/apps/admin.js index a3a0a77..bf8d42d 100644 --- a/apps/admin.js +++ b/apps/admin.js @@ -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; +} \ No newline at end of file diff --git a/apps/index.js b/apps/index.js index 86f85ce..2d8327a 100644 --- a/apps/index.js +++ b/apps/index.js @@ -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') - } + 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() + } + }); } diff --git a/config/config.yaml b/config/config.yaml deleted file mode 100644 index a50fa9e..0000000 --- a/config/config.yaml +++ /dev/null @@ -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 diff --git a/defSet/config/config.yaml b/defSet/config/config.yaml index 250dd97..c1c0432 100644 --- a/defSet/config/config.yaml +++ b/defSet/config/config.yaml @@ -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 \ No newline at end of file diff --git a/defSet/config/note.yaml b/defSet/config/note.yaml new file mode 100644 index 0000000..e69de29 diff --git a/defSet/json/map.yaml b/defSet/json/map.yaml new file mode 100644 index 0000000..007b1ae --- /dev/null +++ b/defSet/json/map.yaml @@ -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: + 商人: + - 商人 + - 卖东西的 + 鲸井小弟: + - 鲸井小弟 + - 捉迷藏小弟 + - 阴间小弟 + 丹迪: + - 丹迪 + 幻影: + - 幻影 + - 幽灵 + - 鬼影 +木头: + 杉木: + - 杉木 + 松木: + - 松木 + 竹节: + - 竹节 + 却砂木: + - 却砂木 + 桦木: + - 桦木 + 萃华木: + - 萃华木 + 垂香木: + - 垂香木 + 御伽木: + - 御伽木 + 枫木: + - 枫木 + 孔雀木: + - 孔雀木 + 梦见木: + - 梦见木 + 证悟木: + - 证悟木 + 辉木: + - 辉木 + 业果木: + - 业果木 + 刺葵木: + - 刺葵木 + 柽木: + - 柽木 \ No newline at end of file diff --git a/model/gsCfg.js b/model/gsCfg.js index bab097c..e61ff99 100644 --- a/model/gsCfg.js +++ b/model/gsCfg.js @@ -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( diff --git a/model/note.js b/model/note.js new file mode 100644 index 0000000..7776993 --- /dev/null +++ b/model/note.js @@ -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; + } +} diff --git a/model/user.js b/model/user.js index 65d43d5..5d428a2 100644 --- a/model/user.js +++ b/model/user.js @@ -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(`云原神自动签到任务进行中,请勿重复触发指令`) diff --git a/resources/dailyNote/xiaoyao_Note.html b/resources/dailyNote/xiaoyao_Note.html index bfbe3fa..5fd0dfa 100644 --- a/resources/dailyNote/xiaoyao_Note.html +++ b/resources/dailyNote/xiaoyao_Note.html @@ -3,10 +3,10 @@
- + -