From 222239b730f148480ae7cca26ec73cdfdabd38a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=8C=8C?= Date: Thu, 20 Jul 2023 10:10:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20GSUIDCore=20=E4=B8=8D?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=20bot=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/plugins/loader.js | 60 +++++++++++++++--------------------- plugins/adapter/GSUIDCore.js | 3 ++ 2 files changed, 27 insertions(+), 36 deletions(-) diff --git a/lib/plugins/loader.js b/lib/plugins/loader.js index 55f19d2..d37b205 100644 --- a/lib/plugins/loader.js +++ b/lib/plugins/loader.js @@ -478,55 +478,42 @@ class PluginsLoader { let { recallMsg = 0, at = "" } = data - if (at && e.isGroup) { - let text = e.sender.card || e.sender.nickname - if (text) { - text = lodash.truncate(text, { length: 10 }) - } - if (at === true) { + if (at) { + if (at === true) at = e.user_id - } - if (Array.isArray(msg)) { - msg = [segment.at(at, text), ...msg] - } else { - msg = [segment.at(at, text), msg] - } + if (Array.isArray(msg)) + msg = [segment.at(at), ...msg] + else + msg = [segment.at(at), msg] } - if (quote) { - if (Array.isArray(msg)) { + if (quote && e.message_id) { + if (Array.isArray(msg)) msg = [segment.reply(e.message_id), ...msg] - } else { + else msg = [segment.reply(e.message_id), msg] - } } let msgRes try { msgRes = await e.replyNew(msg) } catch (err) { - if (typeof msg != "string") { - if (msg.type == "image" && Buffer.isBuffer(msg?.file)) - msg.file = {} + if (typeof msg != "string") msg = lodash.truncate(JSON.stringify(msg), { length: 300 }) - } - logger.error(`发送消息错误:${msg}`) + logger.error(`发送消息错误:${msg}`) logger.error(err) } if (recallMsg > 0 && msgRes?.message_id) { - if (e.isGroup) { - setTimeout( - () => e.group.recallMsg(msgRes.message_id), - recallMsg * 1000 - ) - } else if (e.friend) { - setTimeout( - () => e.friend.recallMsg(msgRes.message_id), - recallMsg * 1000 - ) - } + if (e.group?.recallMsg) + setTimeout(() => + e.group.recallMsg(msgRes.message_id), + recallMsg * 1000) + else if (e.friend?.recallMsg) + setTimeout(() => + e.friend.recallMsg(msgRes.message_id), + recallMsg * 1000) } this.count(e, msg) @@ -536,16 +523,17 @@ class PluginsLoader { count(e, msg) { let screenshot = false - if (msg && msg?.file && Buffer.isBuffer(msg?.file)) { + if (msg && msg?.file) screenshot = true - } this.saveCount("sendMsg") - if (screenshot) this.saveCount("screenshot") + if (screenshot) + this.saveCount("screenshot") if (e.group_id) { this.saveCount("sendMsg", e.group_id) - if (screenshot) this.saveCount("screenshot", e.group_id) + if (screenshot) + this.saveCount("screenshot", e.group_id) } } diff --git a/plugins/adapter/GSUIDCore.js b/plugins/adapter/GSUIDCore.js index a92097a..f60dd30 100644 --- a/plugins/adapter/GSUIDCore.js +++ b/plugins/adapter/GSUIDCore.js @@ -177,6 +177,9 @@ Bot.adapter.push(new class GSUIDCoreAdapter { } Bot[data.self_id].pickUser = Bot[data.self_id].pickFriend + if (!Bot.uin.includes(data.self_id)) + Bot.uin.push(data.self_id) + logger.mark(`${logger.blue(`[${data.self_id}]`)} ${this.name}(${this.id}) 已连接`) Bot.emit(`connect.${data.self_id}`, Bot[data.self_id]) Bot.emit("connect", Bot[data.self_id])