From d8b2ebc01e14133b0b7c3f2e25ab16e531af6604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Sun, 23 Mar 2025 11:49:49 +0800 Subject: [PATCH] x --- src/plugin/index.ts | 116 +++++++++++++++++++++++--------------------- 1 file changed, 60 insertions(+), 56 deletions(-) diff --git a/src/plugin/index.ts b/src/plugin/index.ts index de4542cd..3ac2a50c 100644 --- a/src/plugin/index.ts +++ b/src/plugin/index.ts @@ -9,67 +9,71 @@ import appidList from "@/core/external/appid.json"; export const plugin_onmessage = async (adapter: string, _core: NapCatCore, _obCtx: NapCatOneBot11Adapter, message: OB11Message, action: ActionMap, instance: OB11PluginAdapter) => { if (typeof message.message === 'string' || !message.raw) return; - if (!message.message.find(e => e.type == 'text' && e.data.text == '#取')) return; + if (!message.message.find(e => e.type == 'text' && e.data.text == '#取')) { - let reply = message.raw.elements.find(e => e.replyElement)?.replyElement?.replayMsgSeq; - if (!reply) return; + let reply = message.raw.elements.find(e => e.replyElement)?.replyElement?.replayMsgSeq; + if (!reply) return; - let msg_id = message.group_id?.toString() + "_" + reply; - let hex_data = MsgData.get(msg_id); - if (!hex_data) { - console.log('未找到' + msg_id); - return; - } - - let decodedData: any = ProtoBufDecode(new Uint8Array(Buffer.from(hex_data, 'hex')), (data) => Buffer.from(data).toString('hex')); - let msgList = []; - for (const keyData of decodedData['1']['3']['1']['2']) { - let mdInner = JSON.stringify(keyData, (_key, value) => typeof value === 'bigint' ? value.toString() : value, 2); - msgList.push({ - type: OB11MessageDataType.node, - data: { - content: [ - { - type: OB11MessageDataType.image, - data: { - file: await drawJsonContent(mdInner) - } - } - ] - } - }); - } - - let now_appid = decodedData['1']['1']['4']; - console.log(now_appid); - let versionList = Object.entries(appidList).filter(([_, appidData]) => appidData.appid == now_appid).map(([version, appidData]) => ({ version, appidData })); - - if (versionList.length > 0) { - let msg = `用户应用号: ${now_appid}`; - if (versionList.length > 1) { - versionList.forEach(version => { - msg += `\n可能的客户端版本: ${version.version}\n可能的客户端识别码: ${version.appidData.qua}`; - }); - } else { - msg += `\n客户端版本: ${versionList[0]?.version}\n客户端识别码: ${versionList[0]?.appidData.qua}`; + let msg_id = message.group_id?.toString() + "_" + reply; + let hex_data = MsgData.get(msg_id); + if (!hex_data) { + console.log('未找到' + msg_id); + return; } - msgList.push({ - type: OB11MessageDataType.node, - data: { - content: [ - { - type: OB11MessageDataType.image, - data: { - file: await drawJsonContent(msg) + let decodedData: any = ProtoBufDecode(new Uint8Array(Buffer.from(hex_data, 'hex')), (data) => Buffer.from(data).toString('hex')); + let msgList = []; + for (const keyData of decodedData['1']['3']['1']['2']) { + let mdInner = JSON.stringify(keyData, (_key, value) => typeof value === 'bigint' ? value.toString() : value, 2); + msgList.push({ + type: OB11MessageDataType.node, + data: { + content: [ + { + type: OB11MessageDataType.image, + data: { + file: await drawJsonContent(mdInner) + } } - } - ] + ] + } + }); + } + + let now_appid = decodedData['1']['1']['4']; + console.log(now_appid); + let versionList = Object.entries(appidList).filter(([_, appidData]) => appidData.appid == now_appid).map(([version, appidData]) => ({ version, appidData })); + + if (versionList.length > 0) { + let msg = `用户应用号: ${now_appid}`; + if (versionList.length > 1) { + versionList.forEach(version => { + msg += `\n可能的客户端版本: ${version.version}\n可能的客户端识别码: ${version.appidData.qua}`; + }); + } else { + msg += `\n客户端版本: ${versionList[0]?.version}\n客户端识别码: ${versionList[0]?.appidData.qua}`; } - }); + + msgList.push({ + type: OB11MessageDataType.node, + data: { + content: [ + { + type: OB11MessageDataType.image, + data: { + file: await drawJsonContent(msg) + } + } + ] + } + }); + } + await action.get('send_group_msg')?.handle({ + group_id: String(message.group_id), + message: msgList as any + }, adapter, instance.config); + } + if(!message.message.find(e => e.type == 'text' && e.data.text.startsWith('#谁说过'))){ + } - await action.get('send_group_msg')?.handle({ - group_id: String(message.group_id), - message: msgList as any - }, adapter, instance.config); }; \ No newline at end of file