mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
optimize
This commit is contained in:
parent
ed546ace3d
commit
eae6e09e22
@ -76,30 +76,29 @@ export class NTQQGroupApi extends Service {
|
|||||||
async getGroupMember(groupCode: string | number, memberUinOrUid: string | number) {
|
async getGroupMember(groupCode: string | number, memberUinOrUid: string | number) {
|
||||||
const groupCodeStr = groupCode.toString()
|
const groupCodeStr = groupCode.toString()
|
||||||
const memberUinOrUidStr = memberUinOrUid.toString()
|
const memberUinOrUidStr = memberUinOrUid.toString()
|
||||||
let members = this.groupMembers.get(groupCodeStr)
|
if (!this.groupMembers.has(groupCodeStr)) {
|
||||||
if (!members) {
|
|
||||||
try {
|
try {
|
||||||
members = await this.getGroupMembers(groupCodeStr)
|
|
||||||
// 更新群成员列表
|
// 更新群成员列表
|
||||||
this.groupMembers.set(groupCodeStr, members)
|
this.groupMembers.set(groupCodeStr, await this.getGroupMembers(groupCodeStr))
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
let members = this.groupMembers.get(groupCodeStr)!
|
||||||
const getMember = () => {
|
const getMember = () => {
|
||||||
let member: GroupMember | undefined = undefined
|
let member: GroupMember | undefined = undefined
|
||||||
if (isNumeric(memberUinOrUidStr)) {
|
if (isNumeric(memberUinOrUidStr)) {
|
||||||
member = Array.from(members!.values()).find(member => member.uin === memberUinOrUidStr)
|
member = Array.from(members.values()).find(member => member.uin === memberUinOrUidStr)
|
||||||
} else {
|
} else {
|
||||||
member = members!.get(memberUinOrUidStr)
|
member = members.get(memberUinOrUidStr)
|
||||||
}
|
}
|
||||||
return member
|
return member
|
||||||
}
|
}
|
||||||
let member = getMember()
|
let member = getMember()
|
||||||
if (!member) {
|
if (!member) {
|
||||||
members = await this.getGroupMembers(groupCodeStr)
|
this.groupMembers.set(groupCodeStr, await this.getGroupMembers(groupCodeStr))
|
||||||
this.groupMembers.set(groupCodeStr, members)
|
members = this.groupMembers.get(groupCodeStr)!
|
||||||
member = getMember()
|
member = getMember()
|
||||||
}
|
}
|
||||||
return member
|
return member
|
||||||
|
@ -356,12 +356,12 @@ class OneBot11Adapter extends Service {
|
|||||||
for (const member of members) {
|
for (const member of members) {
|
||||||
const existMember = await this.ctx.ntGroupApi.getGroupMember(groupCode, member.uin)
|
const existMember = await this.ctx.ntGroupApi.getGroupMember(groupCode, member.uin)
|
||||||
if (existMember) {
|
if (existMember) {
|
||||||
if (member.cardName != existMember.cardName) {
|
if (member.cardName !== existMember.cardName) {
|
||||||
this.ctx.logger.info('群成员名片变动', `${groupCode}: ${existMember.uin}`, existMember.cardName, '->', member.cardName)
|
this.ctx.logger.info('群成员名片变动', `${groupCode}: ${existMember.uin}`, existMember.cardName, '->', member.cardName)
|
||||||
this.dispatch(
|
this.dispatch(
|
||||||
new OB11GroupCardEvent(parseInt(groupCode), parseInt(member.uin), member.cardName, existMember.cardName),
|
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('有管理员变动通知')
|
this.ctx.logger.info('有管理员变动通知')
|
||||||
const groupAdminNoticeEvent = new OB11GroupAdminNoticeEvent(
|
const groupAdminNoticeEvent = new OB11GroupAdminNoticeEvent(
|
||||||
member.role == GroupMemberRole.admin ? 'set' : 'unset',
|
member.role == GroupMemberRole.admin ? 'set' : 'unset',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user