From 6dc33730b981e9b1cddd1a078c1fd8cf2f0fca47 Mon Sep 17 00:00:00 2001 From: yeyang <746659424@qq.com> Date: Thu, 30 Mar 2023 00:58:55 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E6=A4=B0=E5=A5=B6=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=A2=9E=E5=8A=A0`=E7=BE=A4=E5=8D=95=E7=8B=AC`?= =?UTF-8?q?=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 +++ apps/admin.js | 51 ++++++++++++++++++++++----------------- resources/admin/index.css | 12 +++++++++ resources/admin/sese.html | 2 +- 4 files changed, 45 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da7f748..60229b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # 1.1.7 * 新增由 **@卡丘** 提供的bgg搜索 +* 新增`#椰奶设置xxx单独开启/关闭` + * 在群里发送该指令可单独开启或关闭功能 +* 椰奶设置图片检测到有单独设置的功能增加`群单独`标签 # 1.1.6 diff --git a/apps/admin.js b/apps/admin.js index 9f3f161..387298c 100644 --- a/apps/admin.js +++ b/apps/admin.js @@ -14,7 +14,10 @@ const SeSeCfgType = { 涩涩: 'sese', 涩涩pro: 'sesepro', 匿名: 'anonymous', - 代理: 'switchProxy' + 代理: { + name: 'proxy', + key: 'switchProxy' + } } const NoticeCfgType = { 好友消息: 'privateMessage', @@ -97,26 +100,25 @@ export class Admin extends plugin { async ConfigSwitch (e) { // 解析消息 let regRet = SwitchCfgReg.exec(e.msg) - let index = regRet[1] - let yes = regRet[3] == '开启' + if (!e.group_id && regRet[2]) { + return e.reply('❎ 请在要单独设置的群聊发送单独设置命令') + } + let key = regRet[1] + let is = regRet[3] == '开启' // 单独处理 - if (index == '涩涩pro' && yes) Config.modify('whole', 'sese', yes) + if (key == '涩涩pro' && is) Config.modify('whole', 'sese', is) - if (index == '涩涩' && !yes) Config.modify('whole', 'sesepro', yes) + if (key == '涩涩' && !is) Config.modify('whole', 'sesepro', is) + // 单独设置 if (regRet[2]) { - if (!e.group_id) return e.reply('❎ 请在要单独设置的群聊发送单独设置命令') - Config.aloneModify(e.group_id, SwitchCfgType[index], yes) - return e.reply('✅') - } - // 特殊处理 - if (index == '代理') { - Config.modify('proxy', 'switchProxy', yes) + Config.aloneModify(e.group_id, SwitchCfgType[key], is) } else { - Config.modify('whole', SwitchCfgType[index], yes) + let _key = SwitchCfgType[key] + Config.modify(_key?.name ?? 'whole', _key?.key ?? _key, is) } - if (Object.keys(SeSeCfgType).includes(index)) { + if (Object.keys(SeSeCfgType).includes(key)) { return this.SeSe_Settings(e) } // 渲染图片 @@ -153,11 +155,14 @@ export class Admin extends plugin { async index_Settings (e) { let data = {} const special = ['deltime', 'renderScale'] - for (let key in Config.Notice) { + let _cfg = Config.getGroup(e.group_id) + for (let key in _cfg) { if (special.includes(key)) { data[key] = Number(Config.Notice[key]) } else { - data[key] = getStatus(Config.Notice[key]) + let groupCfg = Config.getConfig('group')[e.group_id] + let isAlone = groupCfg ? groupCfg[key] : undefined + data[key] = getStatus(_cfg[key], isAlone) } } // 渲染图像 @@ -175,10 +180,11 @@ export class Admin extends plugin { let set = setu.getSeSeConfig(e) let { proxy, pixiv, bika } = Config let { sese, sesepro, anonymous } = Config.getGroup(e.group_id) + let { sese: _sese, sesepro: _sesepro, anonymous: _anonymous } = Config.getConfig('group')[e.group_id] ?? {} let data = { - sese: getStatus(sese), - sesepro: getStatus(sesepro), - anonymous: getStatus(anonymous), + sese: getStatus(sese, _sese), + sesepro: getStatus(sesepro, _sesepro), + anonymous: getStatus(anonymous, _anonymous), r18: getStatus(set.r18), cd: Number(set.cd), recall: set.recall ? set.recall : '无', @@ -276,11 +282,12 @@ const rodom = async function () { return imgs } -const getStatus = function (rote) { +const getStatus = function (rote, alone) { + let badge = alone != undefined ? '群单独' : '' if (rote) { - return '
已开启
' + return badge + '
已开启
' } else { - return '
已关闭
' + return badge + '
已关闭
' } } diff --git a/resources/admin/index.css b/resources/admin/index.css index 0fbfd81..0360fed 100644 --- a/resources/admin/index.css +++ b/resources/admin/index.css @@ -90,4 +90,16 @@ body { font-size: 16px; color: white; margin: 5px 0 5px 20px; +} + +.badge { + display: inline-block; + vertical-align: top; + height: 18px; + padding: 0 6px; + border-radius: 3px; + background: #f4cd00; + color: #fff; + font-size: 14px; + line-height: 18px; } \ No newline at end of file diff --git a/resources/admin/sese.html b/resources/admin/sese.html index 116837f..38b8e21 100644 --- a/resources/admin/sese.html +++ b/resources/admin/sese.html @@ -128,7 +128,7 @@
匿名 #椰奶设置匿名 + 开启/关闭 -
{{@anonymous}}
+ {{@anonymous}}
群聊使用匿名发送