From eae6e09e227441e81562b007a663fd4536f6d1fc Mon Sep 17 00:00:00 2001 From: idranme Date: Thu, 5 Sep 2024 17:16:42 +0800 Subject: [PATCH] optimize --- src/ntqqapi/api/group.ts | 15 +++++++-------- src/onebot11/adapter.ts | 4 ++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/ntqqapi/api/group.ts b/src/ntqqapi/api/group.ts index 711306f..38603d5 100644 --- a/src/ntqqapi/api/group.ts +++ b/src/ntqqapi/api/group.ts @@ -76,30 +76,29 @@ export class NTQQGroupApi extends Service { async getGroupMember(groupCode: string | number, memberUinOrUid: string | number) { const groupCodeStr = groupCode.toString() const memberUinOrUidStr = memberUinOrUid.toString() - let members = this.groupMembers.get(groupCodeStr) - if (!members) { + if (!this.groupMembers.has(groupCodeStr)) { try { - members = await this.getGroupMembers(groupCodeStr) // 更新群成员列表 - this.groupMembers.set(groupCodeStr, members) + this.groupMembers.set(groupCodeStr, await this.getGroupMembers(groupCodeStr)) } catch (e) { return null } } + let members = this.groupMembers.get(groupCodeStr)! const getMember = () => { let member: GroupMember | undefined = undefined if (isNumeric(memberUinOrUidStr)) { - member = Array.from(members!.values()).find(member => member.uin === memberUinOrUidStr) + member = Array.from(members.values()).find(member => member.uin === memberUinOrUidStr) } else { - member = members!.get(memberUinOrUidStr) + member = members.get(memberUinOrUidStr) } return member } let member = getMember() if (!member) { - members = await this.getGroupMembers(groupCodeStr) - this.groupMembers.set(groupCodeStr, members) + this.groupMembers.set(groupCodeStr, await this.getGroupMembers(groupCodeStr)) + members = this.groupMembers.get(groupCodeStr)! member = getMember() } return member diff --git a/src/onebot11/adapter.ts b/src/onebot11/adapter.ts index c082206..adfa932 100644 --- a/src/onebot11/adapter.ts +++ b/src/onebot11/adapter.ts @@ -356,12 +356,12 @@ class OneBot11Adapter extends Service { for (const member of members) { const existMember = await this.ctx.ntGroupApi.getGroupMember(groupCode, member.uin) if (existMember) { - if (member.cardName != existMember.cardName) { + if (member.cardName !== existMember.cardName) { this.ctx.logger.info('群成员名片变动', `${groupCode}: ${existMember.uin}`, existMember.cardName, '->', member.cardName) this.dispatch( new OB11GroupCardEvent(parseInt(groupCode), parseInt(member.uin), member.cardName, existMember.cardName), ) - } else if (member.role != existMember.role) { + } else if (member.role !== existMember.role) { this.ctx.logger.info('有管理员变动通知') const groupAdminNoticeEvent = new OB11GroupAdminNoticeEvent( member.role == GroupMemberRole.admin ? 'set' : 'unset',