diff --git a/src/core/proto/Message.ts b/src/core/proto/Message.ts index d4703a79..d88654d6 100644 --- a/src/core/proto/Message.ts +++ b/src/core/proto/Message.ts @@ -19,5 +19,18 @@ export const Message = new pb.Type("Message") .add(MsgHead) .add(new pb.Field("msgHead", 1, "MsgHead")) +export const SubDetail = new pb.Type("SubDetail") + .add(new pb.Field("msgSeq", 1, "uint32")) + .add(new pb.Field("msgTime", 2, "uint32")) + +export const RecallDetails = new pb.Type("RecallDetails") + .add(SubDetail) + .add(new pb.Field("operatorUid", 1, "string")) + .add(new pb.Field("subDetail", 3, "SubDetail")) + export const RecallGroup = new pb.Type("RecallGroup") - .add(new pb.Field("msgSeq", 37, "uint32")) + .add(RecallDetails) + .add(new pb.Field("type", 1, "int32")) + .add(new pb.Field("peerUid", 4, "uint32")) + .add(new pb.Field("recallDetails", 11, "RecallDetails")) + .add(new pb.Field("grayTipsSeq", 37, "uint32")) diff --git a/src/onebot/index.ts b/src/onebot/index.ts index d98c2fcd..1b26fddf 100644 --- a/src/onebot/index.ts +++ b/src/onebot/index.ts @@ -91,7 +91,7 @@ export class NapCatOneBot11Adapter { //跳过 4字节 群号 + 不知道的1字节 +2字节 长度 let uid = RecallData.readUint32BE(); const buffer = Buffer.from(RecallData.toString('hex').slice(14), 'hex'); - let seq: number = (RecallGroup.decode(buffer) as any).msgSeq; + let seq: number = (RecallGroup.decode(buffer) as any).recallDetails.subDetail.msgSeq; let peer: Peer = { chatType: ChatType.KCHATTYPEGROUP, peerUid: uid.toString() }; context.logger.log("[Native] 群消息撤回 Peer: " + uid.toString() + " / MsgSeq:" + seq); let msgs = await core.apis.MsgApi.queryMsgsWithFilterExWithSeq(peer, seq.toString());