diff --git a/docs/changelogs/CHANGELOG.v1.7.9.md b/docs/changelogs/CHANGELOG.v1.7.9.md deleted file mode 100644 index cb2a0840..00000000 --- a/docs/changelogs/CHANGELOG.v1.7.9.md +++ /dev/null @@ -1,21 +0,0 @@ -# v1.8.0 - -QQ Version: Windows 9.9.15-26702 / Linux 3.2.12-26702 - -## 启动的方式 -Way03/Way05 - -## 新增与调整 -1. 消息ID映射到UINT32空间 -2. 回复ID验证与修复 -3. 新API /fetch_emoji_like - -```json5 -{ - "message_id": 1557274996,//消息ID - "emojiType": "1",//可以从event事件获取 一般为1或者2 - "emojiId": "76"//可以从event事件获取 一个表情对应一个ID -} -``` - -新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api) diff --git a/docs/changelogs/CHANGELOG.v1.8.1.md b/docs/changelogs/CHANGELOG.v1.8.1.md new file mode 100644 index 00000000..d7c6f01a --- /dev/null +++ b/docs/changelogs/CHANGELOG.v1.8.1.md @@ -0,0 +1,13 @@ +# v1.8.1 + +QQ Version: Windows 9.9.15-26702 / Linux 3.2.12-26702 + +## 启动的方式 +Way03/Way05 + +## 新增与调整 +1. 多层转发消息解析 +2. 撤回消息附带反馈 +3. 文件上传兼容性提升 + +新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api) diff --git a/package.json b/package.json index 27c68093..688b158f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "napcat", "private": true, "type": "module", - "version": "1.8.0", + "version": "1.8.1", "scripts": { "watch:dev": "vite --mode development", "watch:prod": "vite --mode production", diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index 4bd35f84..5fef0bff 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -65,7 +65,7 @@ export class OB11Constructor { real_id: msg.id!, message_type: msg.chatType == ChatType.group ? 'group' : 'private', sender: { - user_id: parseInt(msg.senderUin!), + user_id: parseInt(msg.senderUin || '0'), nickname: msg.sendNickName, card: msg.sendMemberName || '', }, @@ -165,7 +165,10 @@ export class OB11Constructor { if (!replyMsg || records.msgRandom !== replyMsg.msgRandom) { replyMsg = (await NTQQMsgApi.getSingleMsg(peer, element.replyElement.replayMsgSeq)).msgList[0]; } - + if (msg.peerUin == '284840486') { + //合并消息内侧 消息具体定位不到 + message_data['data']['id'] = MessageUnique.createMsg({ peerUid: msg.peerUid, guildId: '', chatType: msg.chatType }, records.msgId)?.toString(); + } if (!replyMsg || records.msgRandom !== replyMsg.msgRandom) { throw new Error('回复消息消息验证失败'); } @@ -221,6 +224,9 @@ export class OB11Constructor { const videoElement: VideoElement = element.videoElement; //读取视频链接并兜底 let videoUrl;//Array + if (msg.peerUin = '284840486') { + //合并消息内部 应该进行特殊处理 + } try { videoUrl = await NTQQFileApi.getVideoUrl({ chatType: msg.chatType, @@ -338,12 +344,15 @@ export class OB11Constructor { //拉取下级消息 if (!MultiMsgs) continue; //拉取失败则跳过 + message_data['data']['content'] = []; for (let MultiMsg of MultiMsgs) { //对每条拉取的消息传递ParentMsgPeer修正Peer MultiMsg.parentMsgPeer = ParentMsgPeer; MultiMsg.parentMsgIdList = msg.parentMsgIdList; + MultiMsg.id = MessageUnique.createMsg(ParentMsgPeer, MultiMsg.msgId);//该ID仅用查看 无法调用 let msgList = await OB11Constructor.message(MultiMsg); - console.log(msgList); + message_data['data']['content'].push(msgList); + //console.log("合并消息", msgList); } } if ((message_data.type as string) !== 'unknown' && message_data.data) { diff --git a/src/onebot11/log.ts b/src/onebot11/log.ts index 30f89841..f95d9870 100644 --- a/src/onebot11/log.ts +++ b/src/onebot11/log.ts @@ -24,8 +24,13 @@ export async function logMessage(ob11Message: OB11Message) { } } if (ob11Message.message_type === 'group') { - group = await getGroup(ob11Message.group_id!); - prefix += `群[${group?.groupName}(${ob11Message.group_id})] `; + if (ob11Message.group_id == 284840486) { + group = await getGroup(ob11Message.group_id!); + prefix += `转发消息[外部来源] `; + } else { + group = await getGroup(ob11Message.group_id!); + prefix += `群[${group?.groupName}(${ob11Message.group_id})] `; + } } let msgChain = ''; if (Array.isArray(ob11Message.message)) { @@ -67,7 +72,11 @@ export async function logMessage(ob11Message: OB11Message) { msgParts.push(spSegColor(`[视频|${segment.data.url}]`)); } else if (segment.type === 'forward') { - msgParts.push(spSegColor(`[转发|${segment.data.id}]`)); + msgParts.push(spSegColor(`[转发|${segment.data.id}|消息开始]`)); + segment.data.content.forEach((msg) => { + logMessage(msg); + }); + msgParts.push(spSegColor(`[转发|${segment.data.id}|消息结束]`)); } else { msgParts.push(spSegColor(`[未实现|${JSON.stringify(segment)}]`)); diff --git a/src/onebot11/types/message.ts b/src/onebot11/types/message.ts index 4ac77859..18cfc25c 100644 --- a/src/onebot11/types/message.ts +++ b/src/onebot11/types/message.ts @@ -181,7 +181,8 @@ export interface OB11MessageMarkdown { export interface OB11MessageForward { type: OB11MessageDataType.forward data: { - id: string + id: string, + content: OB11Message[] } } diff --git a/src/onebot11/version.ts b/src/onebot11/version.ts index 2bbf678a..761984cd 100644 --- a/src/onebot11/version.ts +++ b/src/onebot11/version.ts @@ -1 +1 @@ -export const version = '1.8.0'; +export const version = '1.8.1'; diff --git a/src/webui/ui/NapCat.ts b/src/webui/ui/NapCat.ts index 02a17fbd..66041ff9 100644 --- a/src/webui/ui/NapCat.ts +++ b/src/webui/ui/NapCat.ts @@ -29,7 +29,7 @@ async function onSettingWindowCreated(view: Element) { SettingItem( 'Napcat', undefined, - SettingButton('V1.8.0', 'napcat-update-button', 'secondary') + SettingButton('V1.8.1', 'napcat-update-button', 'secondary') ), ]), SettingList([ diff --git a/static/assets/renderer.js b/static/assets/renderer.js index cf93aa41..ef81a71f 100644 --- a/static/assets/renderer.js +++ b/static/assets/renderer.js @@ -163,7 +163,7 @@ async function onSettingWindowCreated(view) { SettingItem( 'Napcat', void 0, - SettingButton("V1.8.0", "napcat-update-button", "secondary") + SettingButton("V1.8.1", "napcat-update-button", "secondary") ) ]), SettingList([