fix: friend request flag invalid

This commit is contained in:
linyuchen 2024-03-30 13:48:06 +08:00
parent 23be081d29
commit 016482c9e5
3 changed files with 9 additions and 8 deletions

View File

@ -354,8 +354,9 @@ function onLoad() {
registerReceiveHook<FriendRequestNotify>(ReceiveCmdS.FRIEND_REQUEST, async (payload) => {
for (const req of payload.data.buddyReqs) {
if (req.isUnread && !friendRequests[req.sourceId] && (parseInt(req.reqTime) > startTime / 1000)) {
friendRequests[req.sourceId] = req;
let flag = req.friendUid + req.reqTime;
if (req.isUnread && (parseInt(req.reqTime) > startTime / 1000)) {
friendRequests[flag] = req;
log("有新的好友请求", req);
let friendRequestEvent = new OB11FriendRequestEvent();
try {
@ -364,7 +365,7 @@ function onLoad() {
} catch (e) {
log("获取加好友者QQ号失败", e);
}
friendRequestEvent.flag = req.sourceId.toString();
friendRequestEvent.flag = flag;
friendRequestEvent.comment = req.extWords;
postOB11Event(friendRequestEvent);
}

View File

@ -37,10 +37,10 @@ export class NTQQFriendApi{
}, null]
})
}
static async handleFriendRequest(sourceId: number, accept: boolean,) {
const request: FriendRequest = friendRequests[sourceId]
static async handleFriendRequest(flag: string, accept: boolean,) {
const request: FriendRequest = friendRequests[flag]
if (!request) {
throw `sourceId ${sourceId}, 对应的好友请求不存在`
throw `flat: ${flag}, 对应的好友请求不存在`
}
const result = await callNTQQApi<GeneralCallResult>({
methodName: NTQQApiMethod.HANDLE_FRIEND_REQUEST,
@ -54,7 +54,7 @@ export class NTQQFriendApi{
}
]
})
delete friendRequests[sourceId];
delete friendRequests[flag];
return result;
}

View File

@ -13,7 +13,7 @@ export default class SetFriendAddRequest extends BaseAction<Payload, null> {
protected async _handle(payload: Payload): Promise<null> {
const approve = payload.approve.toString() === "true";
await NTQQFriendApi.handleFriendRequest(parseInt(payload.flag), approve)
await NTQQFriendApi.handleFriendRequest(payload.flag, approve)
return null;
}
}