Skip to content

Commit

Permalink
refactor: 优化群精华事件解析
Browse files Browse the repository at this point in the history
  • Loading branch information
Redmomn committed Jul 22, 2024
1 parent 4f7d3c0 commit 1b189c3
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 21 deletions.
2 changes: 1 addition & 1 deletion client/event/group.go
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ func ParseGroupMuteEvent(event *message.GroupMute) *GroupMute {
}
}

func ParseGroupDigestEvent(event *message.EssenceNotify) *GroupDigestEvent {
func ParseGroupDigestEvent(event *message.NotifyMessageBody) *GroupDigestEvent {
return &GroupDigestEvent{
GroupUin: event.EssenceMessage.GroupUin,
MessageID: event.EssenceMessage.MsgSequence,
Expand Down
7 changes: 5 additions & 2 deletions client/listener.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,11 @@ func decodeOlPushServicePacket(c *QQClient, pkt *network.Packet) (any, error) {
subType := pkg.ContentHead.SubType.Unwrap()
switch subType {
case 21: // set essence
pb := message.EssenceNotify{}
err = proto.Unmarshal(pkg.Body.MsgContent, &pb)
reader := binary.NewReader(pkg.Body.MsgContent)
_ = reader.ReadU32() // group uin
reader.SkipBytes(1) // unknown byte
pb := message.NotifyMessageBody{}
err = proto.Unmarshal(reader.ReadBytesWithLength("u16", false), &pb)
if err != nil {
return nil, err
}
Expand Down
21 changes: 8 additions & 13 deletions client/packets/pb/message/notify.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 1 addition & 5 deletions client/packets/pb/message/notify.proto
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,8 @@ message NotifyMessageBody {
uint32 Type = 1;
uint32 GroupUin = 4;
GroupRecall Recall = 11;
GeneralGrayTipInfo GrayTipInfo = 26;
}

message EssenceNotify {
// uint32 GroupUin = 4; 有两个4,乐
uint32 Field13 = 13;
GeneralGrayTipInfo GrayTipInfo = 26;
EssenceMessage EssenceMessage = 33;
uint32 MsgSequence = 37;
uint32 Field39 = 39;
Expand Down

0 comments on commit 1b189c3

Please sign in to comment.