From 0a1037c4d9298ac9f674c9395066a4a6ebfc5468 Mon Sep 17 00:00:00 2001 From: yeyang <746659424@qq.com> Date: Sun, 2 Apr 2023 22:11:53 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E6=89=8B=E8=A1=A8=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=E4=B8=8D=E6=94=AF=E6=8C=81=E7=82=B9=E8=B5=9E=E4=B8=8D?= =?UTF-8?q?=E5=86=8D=E5=8F=91=E9=80=81=EF=BC=8C=E8=80=8C=E6=98=AF=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E5=9C=A8=E6=8E=A7=E5=88=B6=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + apps/fun.js | 7 +++--- apps/setu.js | 69 +++++++++++++++++++--------------------------------- 3 files changed, 30 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdad6ec..f5f964c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ * 新增SauceNAO失败是否自动使用ascii2d配置项 * 新增saucenao相似度过低是否自动使用ascii2d配置项 * 修改SauceNAO超时时间防止timeOut +* `手表协议不支持点赞`不再发送,而是输出在控制台 * 修复批量踢人报错 * 优化部分代码 diff --git a/apps/fun.js b/apps/fun.js index ab4801e..ba8a084 100644 --- a/apps/fun.js +++ b/apps/fun.js @@ -127,7 +127,9 @@ export class Fun extends plugin { /** 点赞 */ async thumbUp (e) { - if (Bot.config.platform == 3) return e.reply('❎ 手表协议暂不支持点赞请更换协议后重试') + if (Bot.config.platform == 3) { + return logger.error(`${e.logFnc}手表协议暂不支持点赞请更换协议后重试`) + } /** 判断是否为好友 */ let isFriend = await Bot.fl.get(e.user_id) let allowLikeByStrangers = Config.Notice.Strangers_love @@ -145,8 +147,7 @@ export class Fun extends plugin { try { res = await QQApi.thumbUp(e.user_id, 10) } catch (error) { - logger.error(error) - return e.reply('❎ 未检测到oicq或icqq无法进行点赞') + return logger.error(`${e.logFnc}未检测到oicq或icqq无法进行点赞`) } logger.debug(`${e.logFnc}给${e.user_id}点赞`, res) if (res.code != 0) { diff --git a/apps/setu.js b/apps/setu.js index e370b4f..89c232e 100644 --- a/apps/setu.js +++ b/apps/setu.js @@ -2,11 +2,10 @@ import plugin from '../../../lib/plugins/plugin.js' import { Config } from '../components/index.js' import { setu, common } from '../model/index.js' import { Admin } from './admin.js' + const SWITCH_ERROR = '主人没有开放这个功能哦(*/ω\*)' -let NumReg = '[一壹二两三四五六七八九十百千万亿\\d]+' -let seturdReg = new RegExp(`^#(setu|无内鬼)\\s?((${NumReg})张)?$`) -let setcdReg = new RegExp(`^#?设置cd\\s?(\\d+)\\s(${NumReg})(s|秒)?$`, 'i') +const NumReg = '[一壹二两三四五六七八九十百千万亿\\d]+' export class SeSe extends plugin { constructor () { super({ @@ -16,11 +15,11 @@ export class SeSe extends plugin { rule: [ { reg: '^#椰奶tag(.*)$', - fnc: 'setutag' + fnc: 'setuTag' }, { - reg: seturdReg, // 无内鬼 - fnc: 'seturd' + reg: `^#(setu|无内鬼)\\s?((${NumReg})张)?$`, // 无内鬼 + fnc: 'setuRandom' }, { reg: `^#(撤回间隔|群(c|C)(d|D))(${NumReg})(s|秒)?$`, @@ -30,17 +29,11 @@ export class SeSe extends plugin { }, { reg: '^#(开启|关闭)(私聊)?涩涩$', - fnc: 'setsese', + fnc: 'setSeSe', permission: 'master' }, { - reg: `^#?(c|C)(d|D)(${NumReg})(s|秒)?$`, - fnc: 'atSetCd', - event: 'message.group', - permission: 'master' - }, - { - reg: setcdReg, // 设置cd + reg: `^#?设置cd\\s?((\\d+)\\s)?(${NumReg})(s|秒)?$`, // 设置cd fnc: 'setCd', permission: 'master' } @@ -48,24 +41,24 @@ export class SeSe extends plugin { }) } - async seturd (e) { + async setuRandom (e) { if (!await this.Authentication(e)) return - let iscd = setu.getRemainingCd(e.user_id, e.group_id) + const cdTime = setu.getRemainingCd(e.user_id, e.group_id) - if (iscd) return e.reply(` ${setu.CDMsg}你的CD还有${iscd}`, false, { at: true }) + if (cdTime) return e.reply(` ${setu.CDMsg}你的CD还有${cdTime}`, false, { at: true }) - let num = seturdReg.exec(e.msg) + let num = e.msg.match(new RegExp(NumReg)) - num = num[3] ? common.translateChinaNum(num[3]) : 1 + num = num ? common.translateChinaNum(num[0]) : 1 if (num > 20) { return e.reply('❎ 最大张数不能大于20张') } else if (num > 6) { e.reply('你先等等,你冲的有点多~') - } else { - e.reply(setu.startMsg) } + // 开始执行 + e.reply(setu.startMsg) await setu.setuApi(setu.getR18(e.group_id), num) .then(res => setu.sendMsgOrSetCd(e, res)) @@ -73,11 +66,11 @@ export class SeSe extends plugin { } // tag搜图 - async setutag (e) { + async setuTag (e) { if (!await this.Authentication(e)) return - let iscd = setu.getRemainingCd(e.user_id, e.group_id) - if (iscd) return e.reply(` ${setu.CDMsg}你的CD还有${iscd}`, false, { at: true }) + let cdTime = setu.getRemainingCd(e.user_id, e.group_id) + if (cdTime) return e.reply(` ${setu.CDMsg}你的CD还有${cdTime}`, false, { at: true }) let tag = e.msg.replace(/#|椰奶tag/g, '').trim() let num = e.msg.match(new RegExp(`(${NumReg})张`)) @@ -132,32 +125,20 @@ export class SeSe extends plugin { } // 开启r18 - async setsese (e) { + async setSeSe (e) { let isopen = !!/开启/.test(e.msg) setu.setR18(e.group_id, isopen) new Admin().SeSe_Settings(e) } - // 艾特设置cd - async atSetCd (e) { - let qq = e.message.find(item => item.type == 'at')?.qq - - if (!qq) return false - - let cd = e.msg.match(new RegExp(NumReg)) - - if (!cd) return e.reply('❎ CD为空,请检查', true) - - cd = common.translateChinaNum(cd[0]) - - setu.setUserCd(e, qq, cd) - } - // 指令设置 async setCd (e) { - let cdreg = setcdReg.exec(e.msg) - let qq = cdreg[1] - let cd = common.translateChinaNum(cdreg[2]) - setu.setUserCd(e, qq, cd) + let reg = `^#?设置cd\\s?((\\d+)\\s)?(${NumReg})(s|秒)?$` + let regRet = e.msg.match(new RegExp(reg)) + let qq = e.message.find(item => item.type == 'at')?.qq ?? regRet[2] + let cd = common.translateChinaNum(regRet[3]) + if (!qq) return e.reply('❎ 请输入要设置QQ', true) + if (!cd) return e.reply('❎ CD为空,请检查', true) + setu.setUserCd(e, qq ?? regRet[2], cd) } }