mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
fix: Notification event not effective
This commit is contained in:
parent
8f48d1d4ca
commit
72b1c906f7
@ -100,65 +100,90 @@ async function updateGroups(_groups: Group[], needUpdate: boolean = true) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
groups.push(group);
|
groups.push(group);
|
||||||
|
existGroup = group;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (needUpdate) {
|
if (needUpdate) {
|
||||||
const members = await NTQQApi.getGroupMembers(group.groupCode);
|
const members = await NTQQApi.getGroupMembers(group.groupCode);
|
||||||
|
|
||||||
if (members) {
|
if (members) {
|
||||||
group.members = members;
|
existGroup.members = members;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function processGroupEvent(payload) {
|
async function processGroupEvent(payload) {
|
||||||
const newGroupList = payload.groupList;
|
try {
|
||||||
for (const group of newGroupList) {
|
const newGroupList = payload.groupList;
|
||||||
let existGroup = groups.find(g => g.groupCode == group.groupCode);
|
for (const group of newGroupList) {
|
||||||
console.log(existGroup.members);
|
let existGroup = groups.find(g => g.groupCode == group.groupCode);
|
||||||
if (existGroup) {
|
if (existGroup) {
|
||||||
if (existGroup.memberCount > group.memberCount) {
|
if (existGroup.memberCount > group.memberCount) {
|
||||||
console.log("群人数减少力!");
|
console.log("群人数减少力!");
|
||||||
const oldMembers = existGroup.members;
|
const oldMembers = existGroup.members;
|
||||||
const newMembers = await NTQQApi.getGroupMembers(group.groupCode);
|
console.log("旧群人员:");
|
||||||
group.members = newMembers;
|
for (const member of oldMembers) {
|
||||||
const newMembersSet = new Set<string>(); // 建立索引降低时间复杂度
|
console.log(member.nick);
|
||||||
|
|
||||||
for (const member of newMembers) {
|
|
||||||
newMembersSet.add(member.uin);
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(oldMembers);
|
|
||||||
for (const member of oldMembers) {
|
|
||||||
if (!newMembersSet.has(member.uin)) {
|
|
||||||
console.log("减少的群员是:" + member.uin);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const newMembers = await NTQQApi.getGroupMembers(group.groupCode);
|
||||||
|
console.log("新群人员:");
|
||||||
|
for (const member of newMembers) {
|
||||||
|
console.log(member.nick);
|
||||||
|
}
|
||||||
|
|
||||||
|
group.members = newMembers;
|
||||||
|
const newMembersSet = new Set<string>(); // 建立索引降低时间复杂度
|
||||||
|
|
||||||
|
for (const member of newMembers) {
|
||||||
|
newMembersSet.add(member.uin);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const member of oldMembers) {
|
||||||
|
if (!newMembersSet.has(member.uin)) {
|
||||||
|
console.log("减少的群员是:" + member.uin);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if (existGroup.memberCount < group.memberCount) {
|
||||||
|
console.log("群人数增加力!");
|
||||||
|
console.log("旧群人员:");
|
||||||
|
for (const member of existGroup.members) {
|
||||||
|
console.log(member.nick);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
const oldMembersSet = new Set<string>();
|
||||||
else if (existGroup.memberCount < group.memberCount) {
|
for (const member of existGroup.members) {
|
||||||
console.log("群人数增加力!");
|
oldMembersSet.add(member.uin);
|
||||||
|
}
|
||||||
|
|
||||||
const oldMembersSet = new Set<string>();
|
const newMembers = await NTQQApi.getGroupMembers(group.groupCode);
|
||||||
for (const member of existGroup.members) {
|
|
||||||
oldMembersSet.add(member.uin);
|
|
||||||
}
|
|
||||||
|
|
||||||
const newMembers = await NTQQApi.getGroupMembers(group.groupCode);
|
console.log("新群人员:");
|
||||||
group.members = newMembers;
|
for (const member of newMembers) {
|
||||||
for (const member of newMembers) {
|
console.log(member.nick);
|
||||||
if (!oldMembersSet.has(member.uin)) {
|
}
|
||||||
console.log("增加的群员是:" + member.uin);
|
|
||||||
break;
|
group.members = newMembers;
|
||||||
|
for (const member of newMembers) {
|
||||||
|
if (!oldMembersSet.has(member.uin)) {
|
||||||
|
console.log("增加的群员是:" + member.uin);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
updateGroups(newGroupList, false).then();
|
updateGroups(newGroupList, false).then();
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
updateGroups(payload.groupList).then();
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
registerReceiveHook<{ groupList: Group[], updateType: number }>(ReceiveCmd.GROUPS, (payload) => {
|
registerReceiveHook<{ groupList: Group[], updateType: number }>(ReceiveCmd.GROUPS, (payload) => {
|
||||||
@ -166,7 +191,9 @@ registerReceiveHook<{ groupList: Group[], updateType: number }>(ReceiveCmd.GROUP
|
|||||||
updateGroups(payload.groupList).then();
|
updateGroups(payload.groupList).then();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
processGroupEvent(payload).then();
|
if (process.platform == "win32") {
|
||||||
|
processGroupEvent(payload).then();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
registerReceiveHook<{ groupList: Group[], updateType: number }>(ReceiveCmd.GROUPS_UNIX, (payload) => {
|
registerReceiveHook<{ groupList: Group[], updateType: number }>(ReceiveCmd.GROUPS_UNIX, (payload) => {
|
||||||
@ -174,7 +201,9 @@ registerReceiveHook<{ groupList: Group[], updateType: number }>(ReceiveCmd.GROUP
|
|||||||
updateGroups(payload.groupList).then();
|
updateGroups(payload.groupList).then();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
processGroupEvent(payload).then();
|
if (process.platform != "win32") {
|
||||||
|
processGroupEvent(payload).then();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
registerReceiveHook<{
|
registerReceiveHook<{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user