1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-05 03:23:50 +08:00
This commit is contained in:
Mrs4s 2020-10-22 13:07:43 +08:00
parent d0639731db
commit e24921467c
2 changed files with 41 additions and 34 deletions

View File

@ -943,13 +943,14 @@ func decodeSystemMsgGroupPacket(c *QQClient, _ uint16, payload []byte) (interfac
if len(rsp.Groupmsgs) == 0 { if len(rsp.Groupmsgs) == 0 {
return nil, nil return nil, nil
} }
st := rsp.Groupmsgs[0] ret := &GroupSystemMessages{}
for _, st := range rsp.Groupmsgs {
if st.Msg != nil { if st.Msg != nil {
if st.Msg.SubType == 1 { if st.Msg.SubType == 1 {
// 处理被邀请入群 或 处理成员入群申请 // 处理被邀请入群 或 处理成员入群申请
switch st.Msg.GroupMsgType { switch st.Msg.GroupMsgType {
case 1: // 成员申请 case 1: // 成员申请
c.dispatchJoinGroupRequest(&UserJoinGroupRequest{ ret.JoinRequests = append(ret.JoinRequests, &UserJoinGroupRequest{
RequestId: st.MsgSeq, RequestId: st.MsgSeq,
Message: st.Msg.MsgAdditional, Message: st.Msg.MsgAdditional,
RequesterUin: st.ReqUin, RequesterUin: st.ReqUin,
@ -959,7 +960,7 @@ func decodeSystemMsgGroupPacket(c *QQClient, _ uint16, payload []byte) (interfac
client: c, client: c,
}) })
case 2: // 被邀请 case 2: // 被邀请
c.dispatchGroupInvitedEvent(&GroupInvitedRequest{ ret.InvitedRequests = append(ret.InvitedRequests, &GroupInvitedRequest{
RequestId: st.MsgSeq, RequestId: st.MsgSeq,
InvitorUin: st.Msg.ActionUin, InvitorUin: st.Msg.ActionUin,
InvitorNick: st.Msg.ActionUinNick, InvitorNick: st.Msg.ActionUinNick,
@ -980,7 +981,8 @@ func decodeSystemMsgGroupPacket(c *QQClient, _ uint16, payload []byte) (interfac
log.Println("unknown group msg:", st) log.Println("unknown group msg:", st)
} }
} }
return nil, nil }
return ret, nil
} }
// ProfileService.Pb.ReqSystemMsgNew.Friend // ProfileService.Pb.ReqSystemMsgNew.Friend

View File

@ -151,6 +151,11 @@ type (
Message string Message string
} }
GroupSystemMessages struct {
InvitedRequests []*GroupInvitedRequest
JoinRequests []*UserJoinGroupRequest
}
GroupInvitedRequest struct { GroupInvitedRequest struct {
RequestId int64 RequestId int64
InvitorUin int64 InvitorUin int64