This commit is contained in:
idranme 2024-09-05 17:16:42 +08:00
parent ed546ace3d
commit eae6e09e22
No known key found for this signature in database
GPG Key ID: 926F7B5B668E495F
2 changed files with 9 additions and 10 deletions

View File

@ -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

View File

@ -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',