1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00

feat: group member shut up timestamp.

Fixes: #174
This commit is contained in:
wdvxdr 2021-08-07 16:43:13 +08:00
parent cb396f0f56
commit 1d900b302d
No known key found for this signature in database
GPG Key ID: 703F8C071DE7A1B6
4 changed files with 7 additions and 4 deletions

View File

@ -739,6 +739,7 @@ func (pkt *TroopMemberInfo) ReadFrom(r *JceReader) {
pkt.Flag = r.ReadInt64(18) pkt.Flag = r.ReadInt64(18)
pkt.SpecialTitle = r.ReadString(23) pkt.SpecialTitle = r.ReadString(23)
pkt.SpecialTitleExpireTime = r.ReadInt64(24) pkt.SpecialTitleExpireTime = r.ReadInt64(24)
pkt.ShutUpTimestap = r.ReadInt64(30)
} }
func (pkt *PushMessageInfo) ReadFrom(r *JceReader) { func (pkt *PushMessageInfo) ReadFrom(r *JceReader) {

View File

@ -662,7 +662,7 @@ func (c *QQClient) GetGroupMembers(group *GroupInfo) ([]*GroupMemberInfo, error)
if data == nil { if data == nil {
return nil, errors.New("group member list unavailable: rsp is nil") return nil, errors.New("group member list unavailable: rsp is nil")
} }
rsp := data.(groupMemberListResponse) rsp := data.(*groupMemberListResponse)
nextUin = rsp.NextUin nextUin = rsp.NextUin
for _, m := range rsp.list { for _, m := range rsp.list {
m.Group = group m.Group = group

View File

@ -464,7 +464,7 @@ func decodeFriendGroupListResponse(_ *QQClient, _ *incomingPacketInfo, payload [
data.ReadFrom(jce.NewJceReader(request.SBuffer)) data.ReadFrom(jce.NewJceReader(request.SBuffer))
r := jce.NewJceReader(data.Map["FLRESP"][1:]) r := jce.NewJceReader(data.Map["FLRESP"][1:])
totalFriendCount := r.ReadInt16(5) totalFriendCount := r.ReadInt16(5)
friends := []jce.FriendInfo{} friends := make([]jce.FriendInfo, 0)
r.ReadSlice(&friends, 7) r.ReadSlice(&friends, 7)
l := make([]*FriendInfo, 0, len(friends)) l := make([]*FriendInfo, 0, len(friends))
for _, f := range friends { for _, f := range friends {
@ -536,7 +536,7 @@ func decodeGroupMemberListResponse(_ *QQClient, _ *incomingPacketInfo, payload [
data := &jce.RequestDataVersion3{} data := &jce.RequestDataVersion3{}
data.ReadFrom(jce.NewJceReader(request.SBuffer)) data.ReadFrom(jce.NewJceReader(request.SBuffer))
r := jce.NewJceReader(data.Map["GTMLRESP"][1:]) r := jce.NewJceReader(data.Map["GTMLRESP"][1:])
members := []jce.TroopMemberInfo{} members := make([]jce.TroopMemberInfo, 0)
r.ReadSlice(&members, 3) r.ReadSlice(&members, 3)
next := r.ReadInt64(4) next := r.ReadInt64(4)
l := make([]*GroupMemberInfo, 0, len(members)) l := make([]*GroupMemberInfo, 0, len(members))
@ -551,6 +551,7 @@ func decodeGroupMemberListResponse(_ *QQClient, _ *incomingPacketInfo, payload [
LastSpeakTime: m.LastSpeakTime, LastSpeakTime: m.LastSpeakTime,
SpecialTitle: m.SpecialTitle, SpecialTitle: m.SpecialTitle,
SpecialTitleExpireTime: m.SpecialTitleExpireTime, SpecialTitleExpireTime: m.SpecialTitleExpireTime,
ShutUpTimestamp: m.ShutUpTimestap,
Permission: func() MemberPermission { Permission: func() MemberPermission {
if m.Flag == 1 { if m.Flag == 1 {
return Administrator return Administrator
@ -559,7 +560,7 @@ func decodeGroupMemberListResponse(_ *QQClient, _ *incomingPacketInfo, payload [
}(), }(),
}) })
} }
return groupMemberListResponse{ return &groupMemberListResponse{
NextUin: next, NextUin: next,
list: l, list: l,
}, nil }, nil

View File

@ -50,6 +50,7 @@ type (
LastSpeakTime int64 LastSpeakTime int64
SpecialTitle string SpecialTitle string
SpecialTitleExpireTime int64 SpecialTitleExpireTime int64
ShutUpTimestamp int64
Permission MemberPermission Permission MemberPermission
} }