This commit is contained in:
手瓜一十雪
2025-04-02 21:40:10 +08:00
parent f7a500a8cf
commit 7ec61f089d
2 changed files with 35 additions and 47 deletions

View File

@@ -46,8 +46,6 @@ import { GroupChange, GroupChangeInfo, GroupInvite, PushMsgBody } from '@/core/p
import { OB11GroupRequestEvent } from '../event/request/OB11GroupRequest'; import { OB11GroupRequestEvent } from '../event/request/OB11GroupRequest';
import { LRUCache } from '@/common/lru-cache'; import { LRUCache } from '@/common/lru-cache';
import { cleanTaskQueue } from '@/common/clean-task'; import { cleanTaskQueue } from '@/common/clean-task';
import { PBString, PBUint64, ProtoBuf, ProtoBufBase, ProtoBufIn, UnWrap } from 'napcat.protobuf/src/protobuf';
import { GroupMemberTitle } from '../event/notice/GroupMemberTitle';
type RawToOb11Converters = { type RawToOb11Converters = {
[Key in keyof MessageElement as Key extends `${string}Element` ? Key : never]: ( [Key in keyof MessageElement as Key extends `${string}Element` ? Key : never]: (
@@ -1265,36 +1263,42 @@ export class OneBotMsgApi {
); );
} else if (SysMessage.contentHead.type == 528 && SysMessage.contentHead.subType == 39 && SysMessage.body?.msgContent) { } else if (SysMessage.contentHead.type == 528 && SysMessage.contentHead.subType == 39 && SysMessage.body?.msgContent) {
return await this.obContext.apis.UserApi.parseLikeEvent(SysMessage.body?.msgContent); return await this.obContext.apis.UserApi.parseLikeEvent(SysMessage.body?.msgContent);
} else if (SysMessage.contentHead.type == 732 && SysMessage.contentHead.subType == 16 && SysMessage.body?.msgContent) { }
let data_wrap = PBString(2); // else if (SysMessage.contentHead.type == 732 && SysMessage.contentHead.subType == 16 && SysMessage.body?.msgContent) {
let user_wrap = PBUint64(5); // let data_wrap = PBString(2);
let group_wrap = PBUint64(4); // let user_wrap = PBUint64(5);
// let group_wrap = PBUint64(4);
ProtoBuf(class extends ProtoBufBase { // ProtoBuf(class extends ProtoBufBase {
group = group_wrap; // group = group_wrap;
content = ProtoBufIn(5, { data: data_wrap, user: user_wrap }); // content = ProtoBufIn(5, { data: data_wrap, user: user_wrap });
}).decode(SysMessage.body?.msgContent.slice(7)); // }).decode(SysMessage.body?.msgContent.slice(7));
let xml_data = UnWrap(data_wrap); // let xml_data = UnWrap(data_wrap);
let group = UnWrap(group_wrap).toString(); // let group = UnWrap(group_wrap).toString();
//let user = UnWrap(user_wrap).toString(); // //let user = UnWrap(user_wrap).toString();
const parsedParts = this.parseTextWithJson(xml_data); // const parsedParts = this.parseTextWithJson(xml_data);
//解析JSON // //解析JSON
if (parsedParts[1] && parsedParts[3]) { // if (parsedParts[1] && parsedParts[3]) {
let set_user_id: string = (parsedParts[1].content as { data: string }).data; // let set_user_id: string = (parsedParts[1].content as { data: string }).data;
let uid = await this.core.apis.UserApi.getUidByUinV2(set_user_id); // let uid = await this.core.apis.UserApi.getUidByUinV2(set_user_id);
await this.core.apis.GroupApi.refreshGroupMemberCachePartial(group, uid); // let new_tittle: string = (parsedParts[3].content as { text: string }).text;
//let json_data_1_url_search = new URL((parsedParts[3].content as { url: string }).url).searchParams; // console.log(this.core.apis.GroupApi.groupMemberCache.get(group)?.get(uid)?.memberSpecialTitle, new_tittle)
//let is_new: boolean = json_data_1_url_search.get('isnew') === '1'; // if (this.core.apis.GroupApi.groupMemberCache.get(group)?.get(uid)?.memberSpecialTitle == new_tittle) {
let new_tittle: string = (parsedParts[3].content as { text: string }).text; // return;
//console.log(group, set_user_id, is_new, new_tittle); // }
return new GroupMemberTitle( // await this.core.apis.GroupApi.refreshGroupMemberCachePartial(group, uid);
this.core, // //let json_data_1_url_search = new URL((parsedParts[3].content as { url: string }).url).searchParams;
+group, // //let is_new: boolean = json_data_1_url_search.get('isnew') === '1';
+set_user_id,
new_tittle // //console.log(group, set_user_id, is_new, new_tittle);
); // return new GroupMemberTitle(
} // this.core,
} // +group,
// +set_user_id,
// new_tittle
// );
// }
// }
return undefined; return undefined;
} }
} }

View File

@@ -1,16 +0,0 @@
import { OB11GroupNoticeEvent } from './OB11GroupNoticeEvent';
import { NapCatCore } from '@/core';
export class GroupMemberTitle extends OB11GroupNoticeEvent {
notice_type = 'title';
sub_type: 'set' | 'unset' = 'set';
title: string = '';
constructor(core: NapCatCore, groupId: number, userId: number, title: string) {
super(core, groupId, userId);
this.group_id = groupId;
this.user_id = userId;
this.title = title;
}
}