diff --git a/src/core/apis/friend.ts b/src/core/apis/friend.ts index 66733cbc..4c0d387e 100644 --- a/src/core/apis/friend.ts +++ b/src/core/apis/friend.ts @@ -10,7 +10,9 @@ export class NTQQFriendApi { this.context = context; this.core = core; } - + async setBuddyRemark(uid: string, remark: string) { + return this.context.session.getBuddyService().setBuddyRemark(uid, remark); + } async getBuddyV2SimpleInfoMap(refresh = false) { const buddyService = this.context.session.getBuddyService(); const buddyListV2 = refresh ? await buddyService.getBuddyListV2('0', BuddyListReqType.KNOMAL) : await buddyService.getBuddyListV2('0', BuddyListReqType.KNOMAL); diff --git a/src/core/services/NodeIKernelBuddyService.ts b/src/core/services/NodeIKernelBuddyService.ts index ac96b5a3..882cfcb2 100644 --- a/src/core/services/NodeIKernelBuddyService.ts +++ b/src/core/services/NodeIKernelBuddyService.ts @@ -36,7 +36,7 @@ export interface NodeIKernelBuddyService { getBuddyRemark(uid: number): string; - setBuddyRemark(uid: number, remark: string): void; + setBuddyRemark(uid: string, remark: string): void; getAvatarUrl(uid: number): string; diff --git a/src/onebot/action/user/SetFriendAddRequest.ts b/src/onebot/action/user/SetFriendAddRequest.ts index 02eb0661..a06f0fb2 100644 --- a/src/onebot/action/user/SetFriendAddRequest.ts +++ b/src/onebot/action/user/SetFriendAddRequest.ts @@ -21,6 +21,14 @@ export default class SetFriendAddRequest extends BaseAction { async _handle(payload: Payload): Promise { const approve = payload.approve?.toString() !== 'false'; await this.core.apis.FriendApi.handleFriendRequest(payload.flag, approve); + if (payload.remark) { + const data = payload.flag.split('|'); + if (data.length < 2) { + throw new Error('Invalid flag'); + } + const friendUid = data[0]; + await this.core.apis.FriendApi.setBuddyRemark(friendUid, payload.remark); + } return null; } }