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([