mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-02-06 21:10:23 +00:00
feat: 1.4.0-beta8
This commit is contained in:
@@ -98,8 +98,8 @@ export class NapCatOnebot11 {
|
||||
// }
|
||||
// };
|
||||
try {
|
||||
const sysMsg = SysData.fromBinary(Buffer.from(protobufData));
|
||||
//console.log(buf2hex(Buffer.from(protobufData)));
|
||||
const sysMsg = SysData.fromBinary(Buffer.from(protobufData));
|
||||
const peeruin = sysMsg.header[0].peerNumber;
|
||||
const peeruid = sysMsg.header[0].peerString;
|
||||
const MsgType = sysMsg.body[0].msgType;
|
||||
@@ -129,16 +129,17 @@ export class NapCatOnebot11 {
|
||||
postOB11Event(pokeEvent);
|
||||
}
|
||||
}
|
||||
if (MsgType == 34 && subType0 == 0) {
|
||||
const role = (await getGroupMember(peeruin, selfInfo.uin))?.role;
|
||||
const isPrivilege = role === 3 || role === 4;
|
||||
if (!isPrivilege) {
|
||||
const leaveUin = uid2UinMap[sysMsg.other[0].event[0].peerString];
|
||||
log('[群聊] 群组 ', peeruin, ' 成员' + leaveUin + '退出');
|
||||
const groupDecreaseEvent = new OB11GroupDecreaseEvent(peeruin, parseInt(leaveUin), 0, 'leave');// 不知道怎么出去的
|
||||
postOB11Event(groupDecreaseEvent, true);
|
||||
}
|
||||
}
|
||||
// 未区分增加与减少
|
||||
// if (MsgType == 34 && subType0 == 0) {
|
||||
// const role = (await getGroupMember(peeruin, selfInfo.uin))?.role;
|
||||
// const isPrivilege = role === 3 || role === 4;
|
||||
// if (!isPrivilege) {
|
||||
// const leaveUin = uid2UinMap[sysMsg.other[0].event[0].peerString];
|
||||
// log('[群聊] 群组 ', peeruin, ' 成员' + leaveUin + '退出');
|
||||
// const groupDecreaseEvent = new OB11GroupDecreaseEvent(peeruin, parseInt(leaveUin), 0, 'leave');// 不知道怎么出去的
|
||||
// postOB11Event(groupDecreaseEvent, true);
|
||||
// }
|
||||
// }
|
||||
} catch (e) {
|
||||
log('解析SysMsg异常', e);
|
||||
// console.log(e);
|
||||
@@ -200,14 +201,15 @@ export class NapCatOnebot11 {
|
||||
};
|
||||
groupListener.onMemberInfoChange = async (groupCode: string, changeType: number, members: Map<string, GroupMember>) => {
|
||||
// 如果自身是非管理员也许要从这里获取Delete 成员变动 待测试与验证
|
||||
// const role = (await getGroupMember(groupCode, selfInfo.uin))?.role;
|
||||
// const isPrivilege = role === 3 || role === 4;
|
||||
// for (const member of members.values()) {
|
||||
// if (member?.isDelete && !isPrivilege) {
|
||||
// const groupDecreaseEvent = new OB11GroupDecreaseEvent(parseInt(groupCode), parseInt(member.uin), 0, 'leave');// 不知道怎么出去的
|
||||
// postOB11Event(groupDecreaseEvent, true);
|
||||
// }
|
||||
// }
|
||||
const role = (await getGroupMember(groupCode, selfInfo.uin))?.role;
|
||||
const isPrivilege = role === 3 || role === 4;
|
||||
for (const member of members.values()) {
|
||||
if (member?.isDelete && !isPrivilege) {
|
||||
console.log('[群聊] 群组 ', groupCode, ' 成员' + member.uin + '退出');
|
||||
const groupDecreaseEvent = new OB11GroupDecreaseEvent(parseInt(groupCode), parseInt(member.uin), 0, 'leave');// 不知道怎么出去的
|
||||
postOB11Event(groupDecreaseEvent, true);
|
||||
}
|
||||
}
|
||||
};
|
||||
groupListener.onJoinGroupNotify = (...notify) => {
|
||||
// console.log('ob11 onJoinGroupNotify', notify);
|
||||
|
||||
Reference in New Issue
Block a user