mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2024-11-21 09:36:35 +00:00
feat: emit group/admin by member info change
This commit is contained in:
parent
63f37d971c
commit
76d62c4f5a
@ -1,9 +1,9 @@
|
|||||||
import {
|
import {
|
||||||
BuddyReqType,
|
BuddyReqType,
|
||||||
ChatType,
|
ChatType, DataSource,
|
||||||
FileElement,
|
FileElement,
|
||||||
FriendRequest,
|
FriendRequest,
|
||||||
GrayTipElement,
|
GrayTipElement, GroupMemberRole,
|
||||||
GroupNotify,
|
GroupNotify,
|
||||||
GroupNotifyMsgStatus,
|
GroupNotifyMsgStatus,
|
||||||
GroupNotifyMsgType,
|
GroupNotifyMsgType,
|
||||||
@ -297,5 +297,27 @@ export class NapCatEventChannel extends
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
groupListener.onMemberInfoChange = async (groupCode, dataSource, members) => {
|
||||||
|
if (dataSource === DataSource.LOCAL) {
|
||||||
|
const existMembers = this.core.apis.GroupApi.groupMemberCache.get(groupCode);
|
||||||
|
if (!existMembers) return;
|
||||||
|
members.forEach(member => {
|
||||||
|
const existMember = existMembers.get(member.uid);
|
||||||
|
if (!existMember?.isChangeRole) return;
|
||||||
|
this.core.context.logger.logDebug('变动管理员', member);
|
||||||
|
this.emit(
|
||||||
|
'group/admin',
|
||||||
|
groupCode,
|
||||||
|
member.uin,
|
||||||
|
member.role === GroupMemberRole.admin ? 'set' : 'unset',
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.core.context.session.getGroupService().addKernelGroupListener(
|
||||||
|
proxiedListenerOf(groupListener, this.core.context.logger),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user