From 6045770530e6a2f4f4d730f9138bc670aaaf413a Mon Sep 17 00:00:00 2001 From: yeyang <746659424@qq.com> Date: Sun, 8 Jan 2023 13:18:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assistant.js | 27 +++--- apps/fun.js | 48 +++++----- apps/gp_admin.js | 207 +++++++++++++++++++------------------------- apps/groupverify.js | 26 +++--- apps/handle.js | 37 ++++---- apps/set.js | 30 ++++--- apps/setu.js | 88 ++++++++----------- model/common.js | 9 +- model/setu.js | 143 +++++++++++++++++------------- 9 files changed, 305 insertions(+), 310 deletions(-) diff --git a/apps/assistant.js b/apps/assistant.js index 4d5d79c..d431a32 100644 --- a/apps/assistant.js +++ b/apps/assistant.js @@ -4,12 +4,18 @@ import { Cfg, QQInterface, common } from '../model/index.js'; import lodash from 'lodash' import moment from 'moment' -let Qzonedetermine = false; -let groupPhotoid = ''; +/**API请求错误文案 */ +const API_ERROR = "❎ 出错辣,请稍后重试" + +//命令正则 let FriendsReg = new RegExp("#发好友\\s?(\\d+)\\s?(.*)") let GroupmsgReg = new RegExp("#发群聊\\s?(\\d+)\\s?(.*)") let GrouplistmsgReg = new RegExp("#发群列表\\s?(\\d+(,\\d+){0,})\\s?(.*)") let friend_typeReg = new RegExp('^#更改好友申请方式([0123])((.*)\\s(.*))?$') + +//全局变量 +let Qzonedetermine = false; +let groupPhotoid = ''; export class example extends plugin { constructor() { super({ @@ -581,9 +587,8 @@ export class example extends plugin { if (res.length >= 2) { Cfg.getforwardMsg(e, res) } else { - await e.reply(res[0]) + e.reply(res[0]) } - return true; } /**QQ空间 说说列表*/ @@ -600,7 +605,7 @@ export class example extends plugin { //获取说说列表 let list = await QQInterface.getQzone(page * 5, 5) - if (!list) return e.reply("❎ 取说说列表失败") + if (!list) return e.reply(API_ERROR) if (list.total == 0) return e.reply(`✅ 说说列表为空`) let msg = [ @@ -620,14 +625,14 @@ export class example extends plugin { //获取说说列表 let list = await QQInterface.getQzone(pos - 1, 1) - if (!list) return e.reply("❎ 取说说列表失败") + if (!list) return e.reply(API_ERROR) if (!list.msglist) return e.reply(`❎ 未获取到该说说`) //要删除的说说 let domain = list.msglist[0] //请求接口 let result = await QQInterface.delQzone(domain.tid, domain.t1_source) - if (!result) return e.reply(`❎ 接口请求失败`) + if (!result) return e.reply(API_ERROR) //debug logger.debug(`[椰奶删除说说]`, result) @@ -642,7 +647,7 @@ export class example extends plugin { if (!e.isMaster) return; let con = e.msg.replace(/#|发说说/g, "").trim() let result = await QQInterface.setQzone(con, e.img) - if (!result) return e.reply("❎ 出错辣,请稍后重试") + if (!result) return e.reply(API_ERROR) if (result.code != 0) return e.reply(`❎ 说说发表失败\n${JSON.stringify(result)}`) @@ -769,7 +774,7 @@ export class example extends plugin { async friend_switch(e) { if (!e.isMaster) return let res = await QQInterface.addFriendSwitch(/开启/.test(e.msg) ? 1 : 2) - if (!res) return e.reply("接口失效辣(๑ŐдŐ)b") + if (!res) return e.reply(API_ERROR) e.reply(res.ActionStatus) } @@ -782,7 +787,7 @@ export class example extends plugin { if ((!regRet[3] || !regRet[4]) && regRet[1] == 3) return e.reply("❎ 请正确输入问题和答案!") let res = await QQInterface.setFriendType(regRet[1], regRet[3], regRet[4]) - if (!res) return e.reply("接口失效辣(๑ŐдŐ)b") + if (!res) return e.reply(API_ERROR) if (res.ec != 0) return e.reply("❎ 修改失败\n" + JSON.stringify(res)) e.reply(res.msg) } @@ -792,7 +797,7 @@ export class example extends plugin { if (!e.isMaster) return; let result = await QQInterface.setcyc(/开启/.test(e.msg) ? 0 : 1) - if (!result) return e.reply("❎ 接口失效") + if (!result) return e.reply(API_ERROR) if (result.ret != 0) return e.reply("❎ 未知错误\n" + JSON.stringify(result)) e.reply(`✅ 已${/开启/.test(e.msg) ? '开启' : '关闭'}戳一戳功能`) diff --git a/apps/fun.js b/apps/fun.js index b9e9e72..abe98ac 100644 --- a/apps/fun.js +++ b/apps/fun.js @@ -4,7 +4,8 @@ import { segment } from "oicq" import lodash from 'lodash' import { Config } from '../components/index.js' import { Cfg, uploadRecord, common, Interface } from '../model/index.js' -let heisitype = { + +const heisitype = { "白丝": "baisi", "黑丝": "heisi", "巨乳": "juru", @@ -12,8 +13,13 @@ let heisitype = { "网红": "mcn", "美足": "meizu" } +/**API请求错误文案 */ +const API_ERROR = "❎ 出错辣,请稍后重试" +/**未启用文案 */ +const SWITCH_ERROR = "主人没有开放这个功能哦(*/ω\*)" +/**开始执行文案 */ +const START_Execution = "椰奶产出中......" -let heisiwreg = new RegExp(`#?来点(${Object.keys(heisitype).join("|")})$`) export class example extends plugin { constructor() { @@ -47,7 +53,7 @@ export class example extends plugin { fnc: 'coser' }, { - reg: heisiwreg, + reg: `#?来点(${Object.keys(heisitype).join("|")})$`, fnc: 'heisiwu' }, { @@ -198,15 +204,15 @@ export class example extends plugin { //coser async coser(e) { if (!e.isMaster) { - if (!Config.getGroup(e.group_id).sese) return e.reply("主人没有开放这个功能哦(*/ω\*)") + if (!Config.getGroup(e.group_id).sese) return e.reply(SWITCH_ERROR) } - e.reply("椰奶产出中......") + e.reply(START_Execution) const api = "http://ovooa.com/API/cosplay/api.php" let res = await fetch(api).then((res) => res.json()).catch((err) => console.error(err)) - if (!res) return e.reply("接口失效辣(๑ŐдŐ)b") + if (!res) return e.reply(API_ERROR) res = res.data let item = 1; @@ -225,9 +231,9 @@ export class example extends plugin { //cos/acg搜索 async acg(e) { if (!e.isMaster) { - if (!Config.getGroup(e.group_id).sese) return e.reply("主人没有开放这个功能哦(*/ω\*)") + if (!Config.getGroup(e.group_id).sese) return e.reply(SWITCH_ERROR) } - e.reply("椰奶产出中......") + e.reply(START_Execution) let keywords = e.msg.replace(/#|acg/g, "").trim() @@ -251,27 +257,29 @@ export class example extends plugin { //处理图片 let imglist = imghtml.match(//g) ?.map(item => (!/www.pandadiu.com/.test(item) ? domain : "") + (item.match(/ segment.image(item)) || ["出错辣"] + ?.map(item => segment.image(item)) || false + if (!imglist) return e.reply(API_ERROR) Cfg.getRecallsendMsg(e, imglist, false) } + //黑丝 async heisiwu(e) { if (!e.isMaster) { - if (!Config.getGroup(e.group_id).sesepro) return e.reply("主人没有开放这个功能哦(*/ω\*)") + if (!Config.getGroup(e.group_id).sesepro) return e.reply(SWITCH_ERROR) } - e.reply("椰奶产出中......") + e.reply(START_Execution) //获取类型 - let types = heisiwreg.exec(e.msg) + let types = e.msg.match(/#?来点(.*)/) //请求主页面 let url = `http://hs.heisiwu.com/${heisitype[types[1]]}#/page/${lodash.random(1, 20)}` let homePage = await fetch(url).then(res => res.text()).catch(err => console.error(err)) - if (!homePage) return e.reply("接口失效辣(๑ŐдŐ)b") + if (!homePage) return e.reply(API_ERROR) //解析html let childPageUrlList = homePage.match(/ res.text()).catch(err => console.error(err)) - if (!childPage) return e.reply("接口失效辣(๑ŐдŐ)b") + if (!childPage) return e.reply(API_ERROR) //获取html列表 let imghtml = childPage.match(/ res.json()).catch(err => console.log(err)) - if (!res) return e.reply("接口失效辣(๑ŐдŐ)b") + if (!res) return e.reply(API_ERROR) if (res.title == null && res.author == null) return e.reply("没有找到相关的歌曲哦~", true) await e.reply([ @@ -336,8 +344,8 @@ export class example extends plugin { async bcy_topic(e) { let api = 'https://xiaobai.klizi.cn/API/other/bcy_topic.php' let res = await fetch(api).then(res => res.json()).catch(err => console.log(err)) - if (!res) return e.reply("接口失效辣(๑ŐдŐ)b") - if (res.code != 200) return e.reply(`请求错误!,错误码:${res.code}`) + if (!res) return e.reply(API_ERROR) + if (res.code != 200) return e.reply("❎ 出错辣" + JSON.stringify(res)) if (lodash.isEmpty(res.data)) return e.reply(`请求错误!无数据,请稍后再试`) let msg = []; for (let i of res.data) { @@ -352,7 +360,7 @@ export class example extends plugin { //api大集合 async picture(e) { if (!e.isMaster) { - if (!Config.getGroup(e.group_id).sese) return e.reply("主人没有开放这个功能哦(*/ω\*)") + if (!Config.getGroup(e.group_id).sese) return e.reply(SWITCH_ERROR) } let key = `yenai:apiAggregate:CD` if (await redis.get(key)) return diff --git a/apps/gp_admin.js b/apps/gp_admin.js index 86b3050..8382eee 100644 --- a/apps/gp_admin.js +++ b/apps/gp_admin.js @@ -1,19 +1,21 @@ import plugin from '../../../lib/plugins/plugin.js' -import fetch from 'node-fetch' import { segment } from 'oicq' import lodash from 'lodash' import { Config } from '../components/index.js' import { Cfg, Gpadmin, common, QQInterface, Browser } from '../model/index.js' import moment from 'moment' -const ROLE_MAP = { - admin: '群管理', - owner: '群主', - member: '群员' -} -const Time_unit = common.Time_unit + + +/**API请求错误文案 */ +const API_ERROR = "❎ 出错辣,请稍后重试" +//无管理文案 +const ROLE_ERROR = "做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ" + +//正则 let Numreg = "[一壹二两三四五六七八九十百千万亿\\d]+" let noactivereg = new RegExp(`^#(查看|清理|确认清理|获取)(${Numreg})个?(年|月|周|天)没发言的人(第(${Numreg})页)?$`) -let Autisticreg = new RegExp(`^#?我要(自闭|禅定)(${Numreg})?个?(${Object.keys(Time_unit).join("|")})?$`, "i") +let Autisticreg = new RegExp(`^#?我要(自闭|禅定)(${Numreg})?个?(${Object.keys(common.Time_unit).join("|")})?$`, "i") + export class Basics extends plugin { constructor() { super({ @@ -23,43 +25,53 @@ export class Basics extends plugin { rule: [ { reg: '^#禁言.*$', - fnc: 'Taboo' + fnc: 'Taboo', + permission: 'admin' }, { reg: '^#解禁.*$', - fnc: 'Relieve' + fnc: 'Relieve', + permission: 'admin' }, { reg: '^#全体(禁言|解禁)$', - fnc: 'TabooAll' + fnc: 'TabooAll', + permission: 'admin' }, { reg: '^#踢(.*)$', - fnc: 'Kick' + fnc: 'Kick', + permission: 'admin' }, { reg: '^#(设置|取消)管理.*$', - fnc: 'SetAdmin' + fnc: 'SetAdmin', + permission: 'master' }, { reg: '^#(允许|禁止|开启|关闭)匿名$', - fnc: 'AllowAnony' + fnc: 'AllowAnony', + permission: 'admin' }, { reg: '^#发群公告.*$', - fnc: 'AddAnnounce' + fnc: 'AddAnnounce', + permission: 'admin' }, { reg: '^#删群公告(\\d+)$', - fnc: 'DelAnnounce' + fnc: 'DelAnnounce', + permission: 'admin' }, { reg: '^#查群公告$', - fnc: 'GetAnnounce' + fnc: 'GetAnnounce', + permission: 'admin' }, { reg: '^#修改头衔.*$', - fnc: 'adminsetTitle' + fnc: 'adminsetTitle', + permission: 'master' }, { reg: '^#申请头衔.*$', @@ -75,27 +87,27 @@ export class Basics extends plugin { }, { reg: '^#替换(幸运)?字符(\\d+)$', - fnc: 'qun_luckyuse' + fnc: 'qun_luckyuse', + permission: 'admin' }, { reg: '^#(开启|关闭)(幸运)?字符$', - fnc: 'qun_luckyset' - }, - { - reg: '^#今日打卡$', - fnc: 'DaySigned' + fnc: 'qun_luckyset', + permission: 'admin' }, { reg: '^#(获取|查看)?禁言列表$', - fnc: 'Mutelist' + fnc: 'Mutelist', }, { reg: '^#解除全部禁言$', - fnc: 'relieveAllMute' + fnc: 'relieveAllMute', + permission: 'admin' }, { reg: `^#(查看|(确认)?清理)从未发言过?的人(第(${Numreg})页)?$`, - fnc: 'neverspeak' + fnc: 'neverspeak', + permission: 'admin' }, { reg: `^#(查看|获取)?(不活跃|潜水)排行榜(${Numreg})?$`, @@ -105,18 +117,25 @@ export class Basics extends plugin { reg: `^#(查看|获取)?最近的?入群(情况|记录)(${Numreg})?$`, fnc: 'RankingList' }, + { + reg: noactivereg,//清理多久没发言的人 + fnc: 'noactive', + permission: 'admin' + }, { reg: `^#发通知.*$`, - fnc: 'Send_notice' + fnc: 'Send_notice', + permission: 'admin' + }, + { + reg: `(^#定时禁言(.*)解禁(.*)$)|(^#定时禁言任务$)|(^#取消定时禁言$)`, + fnc: 'timeMute', + permission: 'admin' }, { reg: `^#(查看|获取)?群?发言榜单((7|七)天)?`, fnc: 'SpeakRank' }, - { - reg: `(^#定时禁言(.*)解禁(.*)$)|(^#定时禁言任务$)|(^#取消定时禁言$)`, - fnc: 'timeMute' - }, { reg: "^#?(谁|哪个吊毛|哪个屌毛|哪个叼毛)是龙王$", fnc: 'dragonKing' @@ -126,12 +145,12 @@ export class Basics extends plugin { fnc: 'Group_xj' }, { - reg: Autisticreg,//我要自闭 - fnc: 'Autistic' + reg: '^#今日打卡$', + fnc: 'DaySigned' }, { - reg: noactivereg,//清理多久没发言的人 - fnc: 'noactive' + reg: Autisticreg,//我要自闭 + fnc: 'Autistic' }, ] }) @@ -161,11 +180,7 @@ export class Basics extends plugin { //判断是否有管理 if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); - } - - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); + return e.reply(ROLE_ERROR, true); } let qq; @@ -243,11 +258,7 @@ export class Basics extends plugin { async Relieve(e) { //判断是否有管理 if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); - } - - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); + return e.reply(ROLE_ERROR, true); } let qq = e.msg.replace(/#|解禁/g, "").trim(); @@ -273,10 +284,7 @@ export class Basics extends plugin { async TabooAll(e) { //判断是否有管理 if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); - } - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); + return e.reply(ROLE_ERROR, true); } let type = false; @@ -299,11 +307,9 @@ export class Basics extends plugin { async Kick(e) { // 判断是否有管理 if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); - } - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); + return e.reply(ROLE_ERROR, true); } + let qq = e.msg.replace(/#|踢/g, "").trim() if (e.message.length != 1) { @@ -339,14 +345,14 @@ export class Basics extends plugin { //判断是否有管理 if (!e.group.is_admin && !e.group.is_owner) return - if (e.member.is_admin || e.member.is_owner || e.isMaster) - return e.reply("别自闭啦~~", true) + if (e.isMaster) return e.reply("别自闭啦~~", true) + if (e.member.is_admin && !e.group.is_owner) return e.reply("别自闭啦~~", true) //解析正则 let regRet = Autisticreg.exec(e.msg) // 获取数字 let TabooTime = common.translateChinaNum(regRet[2] || 5) - let Company = Time_unit[lodash.toUpper(regRet[3]) || "分"] + let Company = common.Time_unit[lodash.toUpper(regRet[3]) || "分"] await e.group.muteMember(e.user_id, TabooTime * Company); e.reply(`那我就不手下留情了~`, true); @@ -356,10 +362,7 @@ export class Basics extends plugin { //设置管理 async SetAdmin(e) { - - if (!e.group.is_owner) return e.reply("呜呜呜,人家做不到>_<", true) - - if (!e.isMaster) return e.reply("❎ 该命令仅限主人可用", true); + if (!e.group.is_owner) return e.reply(ROLE_ERROR, true) let qq let yes = false @@ -392,13 +395,9 @@ export class Basics extends plugin { //匿名 async AllowAnony(e) { - - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); - } //判断是否有管理 if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); + return e.reply(ROLE_ERROR, true); } let yes = false if (/(允许|开启)匿名/.test(e.msg)) { @@ -422,11 +421,7 @@ export class Basics extends plugin { async AddAnnounce(e) { //判断是否有管理 if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); - } - //判断权限 - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); + return e.reply(ROLE_ERROR, true); } //获取发送的内容 let msg = e.msg.replace(/#|发群公告/g, "").trim() @@ -434,31 +429,28 @@ export class Basics extends plugin { let result = await QQInterface.setAnnounce(e.group_id, msg) - if (!result) return e.reply("❎ 出错辣,请稍后重试"); + if (!result) return e.reply(API_ERROR); if (result.ec != 0) { e.reply("❎ 发送失败\n" + JSON.stringify(result, null, '\t')) } } //查群公告 async GetAnnounce(e) { - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); - } let res = await QQInterface.getAnnouncelist(e.group_id) - if (!res) return e.reply("❎ 出错辣,请稍后重试"); + if (!res) return e.reply(API_ERROR); return e.reply(res) } //删群公告 async DelAnnounce(e) { - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); + //判断是否有管理 + if (!e.group.is_admin && !e.group.is_owner) { + return e.reply(ROLE_ERROR, true); } - let msg = e.msg.replace(/#|删群公告/, "").trim() if (!msg) return e.reply(`❎ 序号不可为空`) let result = await QQInterface.delAnnounce(e.group_id, msg) - if (!result) return e.reply("❎ 出错辣,请稍后重试"); + if (!result) return e.reply(API_ERROR); if (result.ec == 0) { e.reply(`✅ 已删除「${result.text}」`) @@ -474,11 +466,7 @@ export class Basics extends plugin { if (e.message[1].type != 'at') return - if (!e.group.is_owner) return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true) - - if (!e.isMaster) { - return e.reply("❎ 该命令仅限主人可用", true); - } + if (!e.group.is_owner) return e.reply(ROLE_ERROR, true) let res = await e.group.setTitle(e.message[1].qq, e.message[2].text) if (res) { @@ -498,7 +486,7 @@ export class Basics extends plugin { "啾咪٩(๑•̀ω•́๑)۶", "弃旧恋新了么笨蛋( 。ớ ₃ờ)ھ" ] - if (!e.group.is_owner) return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true) + if (!e.group.is_owner) return false; let Title = e.msg.replace(/#|申请头衔/g, "") //屏蔽词处理 @@ -526,7 +514,7 @@ export class Basics extends plugin { //字符列表 async qun_luckylist(e) { let data = await QQInterface.luckylist(e.group_id) - if (!data) return e.reply('❎ 接口出现错误') + if (!data) return e.reply(API_ERROR) if (data.retcode != 0) return e.reply('❎ 获取数据失败\n' + JSON.stringify(data)) let msg = data.data.word_list.map((item, index) => { @@ -539,7 +527,7 @@ export class Basics extends plugin { async qun_lucky(e) { let res = await QQInterface.drawLucky(e.group_id); - if (!res) return e.reply('❎ 接口出现错误') + if (!res) return e.reply(API_ERROR) if (res.retcode == 11004) return e.reply("今天已经抽过辣,明天再来抽取吧"); if (res.retcode != 0) return e.reply('❎ 错误\n' + JSON.stringify(data)) @@ -554,23 +542,20 @@ export class Basics extends plugin { async qun_luckyuse(e) { //判断是否有管理 if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); + return e.reply(ROLE_ERROR, true); } let id = e.msg.replace(/#|替换(幸运)?字符/g, ""); let res = await QQInterface.equipLucky(e.group_id, id) - if (!res) return e.reply('❎ 接口出现错误') + if (!res) return e.reply(API_ERROR) if (res.retcode != 0) return e.reply('❎替换失败\n' + JSON.stringify(res)); e.reply('✅ OK') } //开启或关闭群字符 async qun_luckyset(e) { - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); - } let res = await QQInterface.swichLucky(e.group_id, /开启/.test(e.msg)) - if (!res) return e.reply('❎ 接口出现错误') + if (!res) return e.reply(API_ERROR) if (res.retcode == 11111) return e.reply("❎ 重复开启或关闭") if (res.retcode != 0) return e.reply('❎ 错误\n' + JSON.stringify(res)); @@ -579,9 +564,6 @@ export class Basics extends plugin { //获取禁言列表 async Mutelist(e) { - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); - } let mutelist = await Gpadmin.getMuteList(e) if (!mutelist) return e.reply("还没有人被禁言欸(O∆O)") let msg = []; @@ -592,7 +574,7 @@ export class Basics extends plugin { segment.image(`https://q1.qlogo.cn/g?b=qq&s=100&nk=${info.user_id}`), `\n昵称:${info.card || info.nickname}\n`, `QQ:${info.user_id}\n`, - `群身份:${ROLE_MAP[info.role]}\n`, + `群身份:${common.ROLE_MAP[info.role]}\n`, `禁言剩余时间:${Cfg.getsecondformat(Member.mute_left)}` ]) } @@ -603,10 +585,7 @@ export class Basics extends plugin { async relieveAllMute(e) { //判断是否有管理 if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); - } - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); + return e.reply(ROLE_ERROR, true); } let mutelist = await Gpadmin.getMuteList(e) if (!mutelist) return e.reply("都没有人被禁言我怎么解的辣\(`Δ’)/") @@ -619,15 +598,12 @@ export class Basics extends plugin { //查看和清理多久没发言的人 async noactive(e) { - if (!e.isMaster && !e.member.is_owner) { - return e.reply("❎ 该命令仅限群主和主人可用", true); - } let Reg = noactivereg.exec(e.msg) Reg[2] = common.translateChinaNum(Reg[2] || 1) //确认清理直接执行 if (Reg[1] == "确认清理") { if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); + return e.reply(ROLE_ERROR, true); } return Gpadmin.getclearnoactive(e, Reg[2], Reg[3]) } @@ -638,7 +614,7 @@ export class Basics extends plugin { //清理 if (Reg[1] == "清理") { if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); + return e.reply(ROLE_ERROR, true); } let list = await Gpadmin.noactivelist(e, Reg[2], Reg[3]) @@ -649,15 +625,12 @@ export class Basics extends plugin { //查看和清理从未发言的人 async neverspeak(e) { - if (!e.isMaster && !e.member.is_owner) { - return e.reply("❎ 该命令仅限群主和主人可用", true); - } let list = await Gpadmin.getneverspeak(e) if (!list) return //确认清理直接执行 if (/^#?确认清理/.test(e.msg)) { if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); + return e.reply(ROLE_ERROR, true); } let removelist = list.map(item => item.user_id) let msg = await Gpadmin.getkickMember(e, removelist) @@ -666,7 +639,7 @@ export class Basics extends plugin { //清理 if (/^#?清理/.test(e.msg)) { if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); + return e.reply(ROLE_ERROR, true); } e.reply(`本此共需清理「${list.length}」人,防止误触发\n请发送:#确认清理从未发言的人`) } @@ -692,10 +665,7 @@ export class Basics extends plugin { //发送通知 async Send_notice(e) { if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); - } - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { - return e.reply("❎ 该命令仅限管理员可用", true); + return e.reply(ROLE_ERROR, true); } e.message[0].text = e.message[0].text.replace("#发通知", "").trim() if (!e.message[0].text) e.message.shift() @@ -707,7 +677,6 @@ export class Basics extends plugin { //设置定时群禁言 async timeMute(e) { - if (!e.isMaster) return false if (/任务/.test(e.msg)) { let task = await redis.keys('Yunzai:yenai:Taboo:*') if (!task.length) return e.reply('目前还没有定时禁言任务') @@ -727,7 +696,7 @@ export class Basics extends plugin { return true } if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); + return e.reply(ROLE_ERROR, true); } try { var muteTime = e.msg.match(/禁言(\d+):(\d+)/)[0].replace(/禁言/g, '') @@ -785,7 +754,7 @@ export class Basics extends plugin { //群发言榜单 async SpeakRank(e) { if (!e.group.is_admin && !e.group.is_owner) { - return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); + return e.reply(ROLE_ERROR, true); } //图片截图 let url = `https://qun.qq.com/m/qun/activedata/speaking.html?gc=${e.group_id}&time=${/(7|七)天/.test(e.msg) ? 1 : 0}&_wv=3&&_wwv=128` diff --git a/apps/groupverify.js b/apps/groupverify.js index 324d99d..80abb8e 100644 --- a/apps/groupverify.js +++ b/apps/groupverify.js @@ -15,27 +15,33 @@ export class NEWCMD extends plugin { rule: [ { reg: '^#重新验证.*$', - fnc: 'cmdReverify' + fnc: 'cmdReverify', + permission: 'admin' }, { reg: '^#绕过验证.*$', - fnc: 'cmdPass' + fnc: 'cmdPass', + permission: 'admin' }, { reg: '^#开启验证$', - fnc: 'openverify' + fnc: 'openverify', + permission: 'admin' }, { reg: '^#关闭验证$', - fnc: 'closeverify' + fnc: 'closeverify', + permission: 'admin' }, { reg: '^#切换验证模式$', - fnc: 'setmode' + fnc: 'setmode', + permission: 'master' }, { reg: '^#设置验证超时时间(\\d+)(s|秒)?$', - fnc: 'setovertime' + fnc: 'setovertime', + permission: 'master' } ] }) @@ -52,8 +58,6 @@ export class NEWCMD extends plugin { if (!verifycfg.openGroup.includes(e.group_id)) return e.reply("当前群未开启验证哦~", true); - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) return e.reply("❎ 该命令仅限管理员可用", true); - let qq = e.msg.replace(/#|重新验证/g, "").trim(); if (e.message.length != 1) { @@ -79,8 +83,6 @@ export class NEWCMD extends plugin { if (!verifycfg.openGroup.includes(e.group_id)) return e.reply("当前群未开启验证哦~", true); - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) return e.reply("❎ 该命令仅限管理员可用", true); - let qq = e.msg.replace(/#|绕过验证/g, "").trim(); if (e.message.length != 1) { @@ -105,7 +107,6 @@ export class NEWCMD extends plugin { //开启验证 async openverify(e) { - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) return e.reply("❎ 该命令仅限管理员可用", true); if (!e.group.is_admin && !e.group.is_owner) return e.reply("做不到,怎么想我都做不到吧ヽ(≧Д≦)ノ", true); let verifycfg = Config.verifycfg if (verifycfg.openGroup.indexOf(e.group_id) != -1) return e.reply("❎ 本群验证已处于开启状态") @@ -115,7 +116,6 @@ export class NEWCMD extends plugin { //关闭验证 async closeverify(e) { - if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) return e.reply("❎ 该命令仅限管理员可用", true); let verifycfg = Config.verifycfg let key = verifycfg.openGroup.indexOf(e.group_id) if (key == -1) return e.reply("❎ 本群暂未开启验证") @@ -124,7 +124,6 @@ export class NEWCMD extends plugin { } //切换验证模式 async setmode(e) { - if (!e.isMaster) return e.reply("❎ 该命令仅限主人可用", true); let verifycfg = Config.verifycfg let value = verifycfg.mode == "模糊" ? "精确" : "模糊" new YamlReader(this.verifypath).set(`mode`, value) @@ -132,7 +131,6 @@ export class NEWCMD extends plugin { } //设置验证超时时间 async setovertime(e) { - if (!e.isMaster) return e.reply("❎ 该命令仅限主人可用", true); let overtime = e.msg.match(/\d+/g) new YamlReader(this.verifypath).set("time", Number(overtime)) e.reply(`✅ 已将验证超时时间设置为${overtime}秒`) diff --git a/apps/handle.js b/apps/handle.js index 9f67c98..c661a8c 100644 --- a/apps/handle.js +++ b/apps/handle.js @@ -17,31 +17,42 @@ export class anotice extends plugin { rule: [ { reg: '^#?(同意|拒绝)$', - fnc: 'agrees' + fnc: 'agrees', + permission: 'master', + event: 'message.private', }, { reg: '^#?回复.*$', - fnc: 'Replys' + fnc: 'Replys', + permission: 'master', + event: 'message.private', }, { reg: '^#?(同意|拒绝|查看)(全部)?好友申请(\\d+)?$', - fnc: 'agreesAll' + fnc: 'agreesAll', + permission: 'master', }, { reg: '^#?(加为|添加)好友$', - fnc: 'addFriend' + fnc: 'addFriend', + permission: 'master', + event: 'message.private', }, { reg: '^#?(同意|拒绝|查看)(全部)?(加|入)?群申请(\\d+)?$', - fnc: 'GroupAdd' + fnc: 'GroupAdd', + permission: 'admin', + event: 'message.group', }, { reg: '^#?(同意|拒绝|查看)(全部)?群邀请(\\d+)?$', - fnc: 'GroupInvite' + fnc: 'GroupInvite', + permission: 'master', }, { reg: '^#?查看全部请求$', - fnc: 'SystemMsgAll' + fnc: 'SystemMsgAll', + permission: 'master', } ] }) @@ -49,7 +60,6 @@ export class anotice extends plugin { /** 同意好友申请 */ async agree(e) { - if (!e.isMaster) return let yes = /同意/.test(e.msg) ? true : false let qq = e.message[0].text.replace(/#|(同意|拒绝)好友申请/g, '').trim() if (e.message[1]) { @@ -71,7 +81,6 @@ export class anotice extends plugin { /**同意拒绝全部好友申请 */ async agreesAll(e) { - if (!e.isMaster) return let yes = /同意/.test(e.msg) ? true : false @@ -137,9 +146,7 @@ export class anotice extends plugin { } /** 引用同意好友申请和群邀请 */ async agrees(e) { - if (!e.isMaster) return if (!e.source) return - if (!e.isPrivate) return let yes = /同意/.test(e.msg) ? true : false let source = (await e.friend.getChatHistory(e.source.time, 1)).pop() @@ -193,8 +200,6 @@ export class anotice extends plugin { // 回复好友消息 async Replys(e) { - if (!e.isMaster) return - if (!e.isPrivate) return let qq = ''; let group = ''; let msgs = e.message[0].text.split(' ') @@ -251,9 +256,7 @@ export class anotice extends plugin { //加群员为好友 async addFriend(e) { - if (!e.isMaster) return if (!e.source) return - if (!e.isPrivate) return let source = (await e.friend.getChatHistory(e.source.time, 1)).pop() let msg = source.raw_message.split('\n') if (!/临时消息/.test(msg[0]) || !/来源群号/.test(msg[1]) || !/发送人QQ/.test(msg[2])) return @@ -269,8 +272,6 @@ export class anotice extends plugin { //入群请求 async GroupAdd(e) { - if (!e.isGroup) return e.reply("请在群聊使用此命令哦~") - let SystemMsg = (await Bot.getSystemMsg()) .filter(item => item.request_type == "group" && item.sub_type == "add" && item.group_id == e.group_id) if (lodash.isEmpty(SystemMsg)) return e.reply("暂无加群申请(。-ω-)zzz", true) @@ -338,7 +339,6 @@ export class anotice extends plugin { } //群邀请列表 async GroupInvite(e) { - if (!e.isMaster) return e.reply("❎ 该命令仅限主人可用", true); let SystemMsg = (await Bot.getSystemMsg()).filter(item => item.request_type == "group" && item.sub_type == "invite") if (lodash.isEmpty(SystemMsg)) return e.reply("暂无群邀请哦(。-ω-)zzz", true) //查看 @@ -395,7 +395,6 @@ export class anotice extends plugin { } //全部请求 async SystemMsgAll(e) { - if (!e.isMaster) return e.reply("❎ 该命令仅限主人可用", true); let SystemMsg = await Bot.getSystemMsg() let FriendAdd = [], onewayFriend = [], GroupAdd = [], GroupInvite = [] for (let i of SystemMsg) { diff --git a/apps/set.js b/apps/set.js index f15da0d..468c6f8 100644 --- a/apps/set.js +++ b/apps/set.js @@ -44,35 +44,43 @@ export class NewConfig extends plugin { rule: [ { reg: managereg, - fnc: 'Config_manage' + fnc: 'Config_manage', + permission: 'master' }, { reg: deltimereg, - fnc: 'Config_deltime' + fnc: 'Config_deltime', + permission: 'master' }, { reg: '^#椰奶设置$', - fnc: 'yenaiset' + fnc: 'yenaiset', + permission: 'master' }, { reg: '^#椰奶(启用|禁用)全部通知$', - fnc: 'SetAll' + fnc: 'SetAll', + permission: 'master' }, { reg: '^#椰奶更换代理[1234]$', - fnc: 'proxy' + fnc: 'proxy', + permission: 'master' }, { reg: '^#(增加|减少|查看)头衔屏蔽词.*$', - fnc: 'NoTitle' + fnc: 'NoTitle', + permission: 'master' }, { reg: '^#切换头衔屏蔽词匹配(模式)?$', - fnc: 'NoTitlepattern' + fnc: 'NoTitlepattern', + permission: 'master' }, { reg: '^#查看(sese|涩涩)设置$', - fnc: 'View_Settings' + fnc: 'View_Settings', + permission: 'master' } ] }) @@ -89,7 +97,6 @@ export class NewConfig extends plugin { // 更改配置 async Config_manage(e) { - if (!e.isMaster) return // 解析消息 let regRet = managereg.exec(e.msg) let index = regRet[1] @@ -108,8 +115,6 @@ export class NewConfig extends plugin { // 设置删除缓存时间 async Config_deltime(e) { - if (!e.isMaster) return - let time = deltimereg.exec(e.msg)[1] if (time < 120) return e.reply('❎ 时间不能小于两分钟') @@ -122,7 +127,6 @@ export class NewConfig extends plugin { } //修改全部设置 async SetAll(e) { - if (!e.isMaster) return let yes = /启用/.test(e.msg); //设置的任务 let type = [ @@ -152,7 +156,6 @@ export class NewConfig extends plugin { } //渲染发送图片 async yenaiset(e) { - if (!e.isMaster) return let config = await Config.Notice let data = { @@ -222,7 +225,6 @@ export class NewConfig extends plugin { } //查看涩涩设置 async View_Settings(e) { - if (!e.isMaster) return false; let set = await setu.getSet_up(e) let data = Config.Notice e.reply([ diff --git a/apps/setu.js b/apps/setu.js index 9e54687..71b4702 100644 --- a/apps/setu.js +++ b/apps/setu.js @@ -3,27 +3,11 @@ import lodash from "lodash"; import { Config } from '../components/index.js' import { setu, common } from '../model/index.js' -const startMsg = [ - "正在给你找setu了,你先等等再冲~", - "你先别急,正在找了~", - "马上去给你找涩图,你先憋一会~", - "奴家马上去给你找瑟瑟的图片~" -] +const SWITCH_ERROR = "主人没有开放这个功能哦(*/ω\*)" -const CDMsg = [ - "你这么喜欢色图,还不快点冲!", - "你的色图不出来了!", - "注意身体,色图看多了对身体不太好", - "憋住,不准冲!", - "憋再冲了!", - "呃...好像冲了好多次...感觉不太好呢...", - "憋冲了!你已经冲不出来了!", - "你急啥呢?", - "你是被下半身控制了大脑吗?" -] -let Numreg = "[一壹二两三四五六七八九十百千万亿\\d]+" -let seturdrag = new RegExp(`^#(setu|无内鬼)\\s?((${Numreg})张)?$`) -let setcdreg = new RegExp(`^#?设置cd\\s?(\\d+)\\s(${Numreg})(s|秒)?$`, "i"); +let NumReg = "[一壹二两三四五六七八九十百千万亿\\d]+" +let seturdReg = new RegExp(`^#(setu|无内鬼)\\s?((${NumReg})张)?$`) +let setcdReg = new RegExp(`^#?设置cd\\s?(\\d+)\\s(${NumReg})(s|秒)?$`, "i"); export class sese extends plugin { constructor() { super({ @@ -36,43 +20,53 @@ export class sese extends plugin { fnc: 'setutag' }, { - reg: seturdrag, + reg: seturdReg,//无内鬼 fnc: 'seturd' }, { - reg: `^#撤回间隔(${Numreg})$`, - fnc: 'setrecall' + reg: `^#撤回间隔(${NumReg})$`, + fnc: 'setrecall', + event: 'message.group', + permission: 'master' }, { - reg: `^#群(c|C)(d|D)(${Numreg})$`, - fnc: 'groupcd' + reg: `^#群(c|C)(d|D)(${NumReg})$`, + fnc: 'groupcd', + event: 'message.group', + permission: 'master' }, { reg: '^#(开启|关闭)(私聊)?涩涩$', - fnc: 'setsese' + fnc: 'setsese', + permission: 'master' }, { - reg: `(c|C)(d|D)(${Numreg})(s|秒)?$`, - fnc: 'atcd' + reg: `(c|C)(d|D)(${NumReg})(s|秒)?$`, + fnc: 'atcd', + event: 'message.group', + permission: 'master' }, { - reg: setcdreg, - fnc: 'instsetcd' + reg: setcdReg, + fnc: 'instsetcd', + permission: 'master' } ] }) + this.startMsg = setu.startMsg + this.CDMsg = setu.CDMsg } async seturd(e) { if (!e.isMaster) { - if (!Config.getGroup(e.group_id).sesepro) return e.reply("主人没有开放这个功能哦(*/ω\*)") + if (!Config.getGroup(e.group_id).sesepro) return e.reply(SWITCH_ERROR) } let cds = await setu.getcd(e) - if (cds) return e.reply(` ${lodash.sample(CDMsg)}你的CD还有${cds}`, false, { at: true }) + if (cds) return e.reply(` ${lodash.sample(this.CDMsg)}你的CD还有${cds}`, false, { at: true }) - let num = seturdrag.exec(e.msg) + let num = seturdReg.exec(e.msg) num = num[3] ? common.translateChinaNum(num[3]) : 1 @@ -81,7 +75,7 @@ export class sese extends plugin { } else if (num > 6) { e.reply("你先等等,你冲的有点多~") } else { - e.reply(lodash.sample(startMsg)) + e.reply(lodash.sample(this.startMsg)) } let r18 = await setu.getr18(e) @@ -96,16 +90,16 @@ export class sese extends plugin { //tag搜图 async setutag(e) { if (!e.isMaster) { - if (!Config.getGroup(e.group_id).sesepro) return e.reply("主人没有开放这个功能哦(*/ω\*)") + if (!Config.getGroup(e.group_id).sesepro) return e.reply(SWITCH_ERROR) } let cds = await setu.getcd(e) - if (cds) return e.reply(` ${lodash.sample(CDMsg)}你的CD还有${cds}`, false, { at: true }) + if (cds) return e.reply(` ${lodash.sample(this.CDMsg)}你的CD还有${cds}`, false, { at: true }) let tag = e.msg.replace(/#|椰奶tag/g, "").trim() - let num = e.msg.match(new RegExp(`(${Numreg})张`)) + let num = e.msg.match(new RegExp(`(${NumReg})张`)) if (!num) { num = 1 @@ -119,7 +113,7 @@ export class sese extends plugin { } else if (num > 6) { e.reply("你先等等,你冲的有点多~") } else { - e.reply(lodash.sample(startMsg)) + e.reply(lodash.sample(this.startMsg)) } if (!tag) return e.reply("tag为空!!!", false, { at: true }) @@ -142,10 +136,6 @@ export class sese extends plugin { //设置群撤回间隔 async setrecall(e) { - if (!e.isGroup) return e.reply("❎ 请在群聊使用此指令"); - - if (!e.isMaster) return e.reply("❎ 该命令仅限管理员可用", true); - let recall = e.msg.replace(/#|撤回间隔/g, "").trim() recall = common.translateChinaNum(recall) @@ -162,9 +152,6 @@ export class sese extends plugin { //群CD async groupcd(e) { - if (!e.isGroup) return e.reply("❎ 请在群聊使用此指令"); - if (!e.isMaster) return e.reply("❎ 该命令仅限管理员可用", true); - let cd = e.msg.replace(/#|群cd/gi, "").trim() cd = common.translateChinaNum(cd) @@ -180,8 +167,6 @@ export class sese extends plugin { //开启r18 async setsese(e) { - if (!e.isMaster) return e.reply("❎ 该命令仅限管理员可用", true); - let yes = /开启/.test(e.msg) ? true : false if (/私聊/.test(e.msg) || !e.isGroup) { @@ -193,11 +178,9 @@ export class sese extends plugin { //艾特设置cd async atcd(e) { - if (e.message[0].type != "at" || !e.isGroup) return false; + if (e.message[0].type != "at") return false; - if (!e.isMaster) return e.reply("❎ 该命令仅限管理员可用", true); - - let cd = e.msg.match(new RegExp(Numreg)) + let cd = e.msg.match(new RegExp(NumReg)) if (!cd) return e.reply("❎ CD为空,请检查", true); @@ -210,8 +193,7 @@ export class sese extends plugin { //指令设置 async instsetcd(e) { - if (!e.isMaster) return e.reply("❎ 该命令仅限管理员可用", true); - let cdreg = setcdreg.exec(e.msg); + let cdreg = setcdReg.exec(e.msg); let qq = cdreg[1] let cd = common.translateChinaNum(cdreg[2]) setu.setcd(e, qq, cd) diff --git a/model/common.js b/model/common.js index 871d4e4..5c0762e 100644 --- a/model/common.js +++ b/model/common.js @@ -160,5 +160,12 @@ export default new class common { "60": "Q我吧", }; } - + //权限 + get ROLE_MAP() { + return { + admin: '群管理', + owner: '群主', + member: '群员' + } + } } \ No newline at end of file diff --git a/model/setu.js b/model/setu.js index 753d772..fc928af 100644 --- a/model/setu.js +++ b/model/setu.js @@ -4,37 +4,6 @@ import fs from 'fs' import Cfg from './Config.js'; import lodash from "lodash"; -const sendMsgs = [ - "给大佬递图", - "这是你的🐍图", - "你是大色批", - "看!要色图的色批出现了!", - "?", - "喏,图", - "给给给个🐍图", - "色图有我好冲吗?", - "呐呐呐,欧尼酱别看色图了呐", - "有什么好色图有给发出来让大伙看看!", - "没有,有也不给(骗你的~)", - "天天色图色图的,今天就把你变成色图!", - "咱没有色图(骗你的~)", - "哈?你的脑子一天都在想些什么呢,咱才没有这种东西啦。", - "呀!不要啊!等一...下~", - "呜...不要啦!太色了咱~", - "不要这样子啦(*/ω\*)", - "Hen....Hentai!。", - "讨....讨厌了(脸红)", - "你想...想做什么///", - "啊.....你...你要干什么?!走开.....走开啦大hentai!一巴掌拍飞!(╯‵□′)╯︵┻━┻", - "变态baka死宅?", - "已经可以了,现在很多死宅也都没你这么恶心了", - "噫…你这个死变态想干嘛!居然想叫咱做这种事,死宅真恶心!快离我远点,我怕你污染到周围空气了(嫌弃脸)", - "这么喜欢色图呢?不如来点岛风色图?", - "hso!", - "这么喜欢看色图哦?变态?", - "eee,死肥宅不要啦!恶心心!", -] - export default new class setu { constructor() { //配置文件夹 @@ -98,7 +67,7 @@ export default new class setu { let msg = result.data.map(item => { let { pid, title, tags, author, r18, urls, url } = item return [ - `${lodash.sample(sendMsgs)}\n`, + `${lodash.sample(this.sendMsgs)}\n`, `标题:${title}\n`, `画师:${author}\n`, `pid:${pid}\n`, @@ -169,7 +138,7 @@ export default new class setu { let over = (this.temp[e.user_id + e.group_id] - present) if (over > 0) { - return Secondformat(over) + return this.Secondformat(over) } else return false } else return false @@ -180,7 +149,7 @@ export default new class setu { let over = (this.temp[e.user_id] - present) if (over > 0) { - return Secondformat(over) + return this.Secondformat(over) } else return false } else return false @@ -327,30 +296,86 @@ export default new class setu { set.r18 = await this.getr18(e) return set } + /** + * @description: 格式化秒 + * @param {Number} value 秒 + * @return {String} + */ + Secondformat(value) { + let time = Cfg.getsecond(value) + + let { second, minute, hour, day } = time + // 处理返回消息 + let result = '' + if (second != 0) { + result = parseInt(second) + '秒' + } + if (minute > 0) { + result = parseInt(minute) + '分' + result + } + if (hour > 0) { + result = parseInt(hour) + '小时' + result + } + if (day > 0) { + result = parseInt(day) + '天' + result + } + return result + } + + get startMsg() { + return [ + "正在给你找setu了,你先等等再冲~", + "你先别急,正在找了~", + "马上去给你找涩图,你先憋一会~", + "奴家马上去给你找瑟瑟的图片~" + ] + } + + get CDMsg() { + return [ + "你这么喜欢色图,还不快点冲!", + "你的色图不出来了!", + "注意身体,色图看多了对身体不太好", + "憋住,不准冲!", + "憋再冲了!", + "呃...好像冲了好多次...感觉不太好呢...", + "憋冲了!你已经冲不出来了!", + "你急啥呢?", + "你是被下半身控制了大脑吗?" + ] + } + + get sendMsgs() { + return [ + "给大佬递图", + "这是你的🐍图", + "你是大色批", + "看!要色图的色批出现了!", + "?", + "喏,图", + "给给给个🐍图", + "色图有我好冲吗?", + "呐呐呐,欧尼酱别看色图了呐", + "有什么好色图有给发出来让大伙看看!", + "没有,有也不给(骗你的~)", + "天天色图色图的,今天就把你变成色图!", + "咱没有色图(骗你的~)", + "哈?你的脑子一天都在想些什么呢,咱才没有这种东西啦。", + "呀!不要啊!等一...下~", + "呜...不要啦!太色了咱~", + "不要这样子啦(*/ω\*)", + "Hen....Hentai!。", + "讨....讨厌了(脸红)", + "你想...想做什么///", + "啊.....你...你要干什么?!走开.....走开啦大hentai!一巴掌拍飞!(╯‵□′)╯︵┻━┻", + "变态baka死宅?", + "已经可以了,现在很多死宅也都没你这么恶心了", + "噫…你这个死变态想干嘛!居然想叫咱做这种事,死宅真恶心!快离我远点,我怕你污染到周围空气了(嫌弃脸)", + "这么喜欢色图呢?不如来点岛风色图?", + "hso!", + "这么喜欢看色图哦?变态?", + "eee,死肥宅不要啦!恶心心!", + ] + } } -/** - * @description: 格式化秒 - * @param {Number} value 秒 - * @return {String} - */ -function Secondformat(value) { - let time = Cfg.getsecond(value) - - let { second, minute, hour, day } = time - // 处理返回消息 - let result = '' - if (second != 0) { - result = parseInt(second) + '秒' - } - if (minute > 0) { - result = parseInt(minute) + '分' + result - } - if (hour > 0) { - result = parseInt(hour) + '小时' + result - } - if (day > 0) { - result = parseInt(day) + '天' + result - } - return result -} \ No newline at end of file