From dd03e384ce81fb18a89c0c4df617f5f77a2506b0 Mon Sep 17 00:00:00 2001
From: linyuchen <lin.yu.chen@foxmail.com>
Date: Sat, 30 Mar 2024 14:35:43 +0800
Subject: [PATCH] fix: group title fix: http quick action handle friend request

---
 src/ntqqapi/types/group.ts           | 1 +
 src/onebot11/constructor.ts          | 4 ++++
 src/onebot11/server/postOB11Event.ts | 2 +-
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/ntqqapi/types/group.ts b/src/ntqqapi/types/group.ts
index 5e4b690..1daffd1 100644
--- a/src/ntqqapi/types/group.ts
+++ b/src/ntqqapi/types/group.ts
@@ -38,6 +38,7 @@ export enum GroupMemberRole {
 }
 
 export interface GroupMember {
+    memberSpecialTitle: string;
     avatarPath: string;
     cardName: string;
     cardType: number;
diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts
index 80d68e0..fd2a88d 100644
--- a/src/onebot11/constructor.ts
+++ b/src/onebot11/constructor.ts
@@ -371,6 +371,9 @@ export class OB11Constructor {
                     const memberUin = json.items[1].param[0]
                     const title = json.items[3].txt
                     log("收到群成员新头衔消息", json)
+                    getGroupMember(msg.peerUid, memberUin).then(member => {
+                        member.memberSpecialTitle = title
+                    })
                     return new OB11GroupTitleEvent(parseInt(msg.peerUid), parseInt(memberUin), title)
                 }
             }
@@ -434,6 +437,7 @@ export class OB11Constructor {
             is_robot: member.isRobot,
             shut_up_timestamp: member.shutUpTime,
             role: OB11Constructor.groupMemberRole(member.role),
+            title: member.memberSpecialTitle || "",
         }
     }
 
diff --git a/src/onebot11/server/postOB11Event.ts b/src/onebot11/server/postOB11Event.ts
index dc7b026..c7fa65b 100644
--- a/src/onebot11/server/postOB11Event.ts
+++ b/src/onebot11/server/postOB11Event.ts
@@ -156,7 +156,7 @@ export function postOB11Event(msg: PostEventType, reportSelf = false) {
                         resJson = resJson as QuickActionFriendRequest
                         if (!isNull(resJson.approve)) {
                             // todo: set remark
-                            NTQQFriendApi.handleFriendRequest(parseInt((msg as OB11FriendRequestEvent).flag), resJson.approve).then()
+                            NTQQFriendApi.handleFriendRequest(((msg as OB11FriendRequestEvent).flag), resJson.approve).then()
                         }
                     } else if ((msg as OB11GroupRequestEvent).request_type === "group") {
                         resJson = resJson as QuickActionGroupRequest