From 0d0d67d88130fd0efaf5b2f06a0aee086c32fb6b Mon Sep 17 00:00:00 2001 From: zhiyu1998 Date: Thu, 29 Dec 2022 22:28:39 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix:=20=E8=A7=A3=E5=86=B3tiktok?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mystery.js | 48 ++++++++++++++++++++++++++++-------------------- apps/tools.js | 1 + 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/apps/mystery.js b/apps/mystery.js index f3737d2..216dfde 100644 --- a/apps/mystery.js +++ b/apps/mystery.js @@ -56,48 +56,56 @@ export class mystery extends plugin { this.mysteryConfig = config.getConfig('mystery') } - // 接受到消息都会先执行一次 - async accept () { - let oldReply = this.e.reply + /** 接受到消息都会先执行一次 */ + async accept() { + if (this.e.isGroup) { + let group = this.e.group; + if (!group.is_owner && (group.is_admin && group.mute_left > 0)) return; + if (!(group.is_owner || group.is_admin) && (group.all_muted || group.mute_left > 0)) return; + } + + let old_reply = this.e.reply; this.e.reply = async function (msgs, quote, data) { - if (!msgs) return false - if (!Array.isArray(msgs)) msgs = [ msgs ] - let result = await oldReply(msgs, quote, data) + if (!msgs) return false; + if (!Array.isArray(msgs)) msgs = [msgs]; + let result = await old_reply(msgs, quote, data); if (!result || !result.message_id) { - let isxml = false + let isxml = false; for (let msg of msgs) { if (msg && msg?.type == 'xml' && msg?.data) { - msg.data = msg.data.replace(/^<\?xml.*update=.*?>/g, '') - isxml = true + msg.data = msg.data.replace(/^<\?xml.*version=.*?>/g, ''); + isxml = true; } } if (isxml) { - result = await oldReply(msgs, quote, data) + result = await old_reply(msgs, quote, data); } else { - let MsgList = [ { - message: msgs, nickname: Bot.nickname, user_id: Bot.user_id - } ] + let MsgList = [{ + message: msgs, + nickname: Bot.nickname, + user_id: Bot.uin + }]; - let forwardMsg = await Bot.makeForwardMsg(MsgList) + let forwardMsg = await Bot.makeForwardMsg(MsgList); forwardMsg.data = forwardMsg.data - .replace('', '') + .replace('', '') .replace(/\n/g, '') .replace(/(.+?)<\/title>/g, '___') - .replace(/___+/, '<title color="#777777" size="26">请点击查看内容') - msgs = forwardMsg - result = await oldReply(msgs, quote, data) + .replace(/___+/, '请点击查看内容'); + msgs = forwardMsg; + result = await old_reply(msgs, quote, data); } if (!result || !result.message_id) { - logger.error('风控消息处理失败,请登录手机QQ查看是否可手动解除风控!') + logger.error('风控消息处理失败,请登录手机QQ查看是否可手动解除风控!'); } } - return result + return result; } } diff --git a/apps/tools.js b/apps/tools.js index 6fe39c7..324fa38 100644 --- a/apps/tools.js +++ b/apps/tools.js @@ -129,6 +129,7 @@ export class tools extends plugin { "User-Agent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Mobile Safari/537.36", "Content-Type": "application/json", + "Accept-Encoding": "gzip,deflate,compress" }, timeout: 10000, proxy: false,