notification

pull/131/head
wenxu12345 3 years ago
parent d40e1e47fd
commit e64bc40ca9

@ -1,7 +1,7 @@
package friend package friend
import ( import (
"Open_IM/internal/rpc/chat" chat "Open_IM/internal/rpc/msg"
"Open_IM/pkg/common/config" "Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant" "Open_IM/pkg/common/constant"
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
@ -124,7 +124,7 @@ func (s *friendServer) AddBlacklist(ctx context.Context, req *pbFriend.AddBlackl
return &pbFriend.CommonResp{ErrCode: constant.ErrMysql.ErrCode, ErrMsg: constant.ErrMysql.ErrMsg}, nil return &pbFriend.CommonResp{ErrCode: constant.ErrMysql.ErrCode, ErrMsg: constant.ErrMysql.ErrMsg}, nil
} }
log.NewInfo(req.CommID.OperationID, "InsertInToUserBlackList ok ", req.CommID.FromUserID, req.CommID.ToUserID) log.NewInfo(req.CommID.OperationID, "InsertInToUserBlackList ok ", req.CommID.FromUserID, req.CommID.ToUserID)
chat.BlackAddedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID) chat.BlackAddedNotification(req)
return &pbFriend.CommonResp{}, nil return &pbFriend.CommonResp{}, nil
} }
@ -148,7 +148,7 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq
return &pbFriend.CommonResp{ErrCode: constant.ErrAddFriend.ErrCode, ErrMsg: constant.ErrAddFriend.ErrMsg}, nil return &pbFriend.CommonResp{ErrCode: constant.ErrAddFriend.ErrCode, ErrMsg: constant.ErrAddFriend.ErrMsg}, nil
} }
chat.FriendApplicationAddedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID, req.ReqMessage) chat.FriendApplicationAddedNotification(req)
return &pbFriend.CommonResp{}, nil return &pbFriend.CommonResp{}, nil
} }
@ -195,8 +195,11 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
c.ErrCode = 408 c.ErrCode = 408
continue continue
} }
for _, v := range req.FriendUserIDList {
chat.FriendAddedNotification(req.OperationID, req.OpUserID, req.FromUserID, v) chat.FriendAddedNotification(req.OperationID, req.OpUserID, req.FromUserID, v)
} }
}
} }
} }
resp.CommonResp = &c resp.CommonResp = &c
@ -204,10 +207,11 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
return &resp, nil return &resp, nil
} }
//process Friend application
func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddFriendResponseReq) (*pbFriend.CommonResp, error) { func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddFriendResponseReq) (*pbFriend.CommonResp, error) {
log.NewInfo(req.CommID.OperationID, "AddFriendResponse args ", req.String()) log.NewInfo(req.CommID.OperationID, "AddFriendResponse args ", req.String())
if !token_verify.CheckAccess(rreq.CommID.FromUserID, req.CommID.ToUserID) { if !token_verify.CheckAccess(req.CommID.FromUserID, req.CommID.ToUserID) {
log.NewError(req.CommID.OperationID, "CheckAccess failed ", req.CommID.FromUserID, req.CommID.ToUserID) log.NewError(req.CommID.OperationID, "CheckAccess failed ", req.CommID.FromUserID, req.CommID.ToUserID)
return &pbFriend.CommonResp{ErrCode: constant.ErrAgreeToAddFriend.ErrCode, ErrMsg: constant.ErrAgreeToAddFriend.ErrMsg}, nil return &pbFriend.CommonResp{ErrCode: constant.ErrAgreeToAddFriend.ErrCode, ErrMsg: constant.ErrAgreeToAddFriend.ErrMsg}, nil
} }
@ -253,7 +257,8 @@ func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddF
} }
} }
chat.FriendApplicationProcessedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID, req.Flag) chat.FriendApplicationProcessedNotification(req)
chat.FriendAddedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID)
return &pbFriend.CommonResp{}, nil return &pbFriend.CommonResp{}, nil
} }
@ -271,7 +276,7 @@ func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFri
return &pbFriend.CommonResp{ErrCode: constant.ErrMysql.ErrCode, ErrMsg: constant.ErrMysql.ErrMsg}, nil return &pbFriend.CommonResp{ErrCode: constant.ErrMysql.ErrCode, ErrMsg: constant.ErrMysql.ErrMsg}, nil
} }
log.NewInfo(req.CommID.OperationID, "DeleteFriend rpc ok") log.NewInfo(req.CommID.OperationID, "DeleteFriend rpc ok")
chat.FriendDeletedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID) chat.FriendDeletedNotification(req)
return &pbFriend.CommonResp{}, nil return &pbFriend.CommonResp{}, nil
} }
@ -322,7 +327,7 @@ func (s *friendServer) SetFriendComment(ctx context.Context, req *pbFriend.SetFr
return &pbFriend.CommonResp{ErrCode: constant.ErrSetFriendComment.ErrCode, ErrMsg: constant.ErrSetFriendComment.ErrMsg}, nil return &pbFriend.CommonResp{ErrCode: constant.ErrSetFriendComment.ErrCode, ErrMsg: constant.ErrSetFriendComment.ErrMsg}, nil
} }
log.NewInfo(req.CommID.OperationID, "rpc SetFriendComment ok") log.NewInfo(req.CommID.OperationID, "rpc SetFriendComment ok")
chat.FriendInfoChangedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID) chat.FriendInfoChangedNotification(req)
return &pbFriend.CommonResp{}, nil return &pbFriend.CommonResp{}, nil
} }
@ -339,7 +344,7 @@ func (s *friendServer) RemoveBlacklist(ctx context.Context, req *pbFriend.Remove
return &pbFriend.CommonResp{ErrCode: constant.ErrMysql.ErrCode, ErrMsg: constant.ErrMysql.ErrMsg}, nil return &pbFriend.CommonResp{ErrCode: constant.ErrMysql.ErrCode, ErrMsg: constant.ErrMysql.ErrMsg}, nil
} }
log.NewInfo(req.CommID.OperationID, "rpc RemoveBlacklist ok") log.NewInfo(req.CommID.OperationID, "rpc RemoveBlacklist ok")
chat.BlackDeletedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID) chat.BlackDeletedNotification(req)
return &pbFriend.CommonResp{}, nil return &pbFriend.CommonResp{}, nil
} }

@ -11,11 +11,9 @@ import (
"Open_IM/pkg/common/token_verify" "Open_IM/pkg/common/token_verify"
"Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/grpc-etcdv3/getcdv3"
pbGroup "Open_IM/pkg/proto/group" pbGroup "Open_IM/pkg/proto/group"
"Open_IM/pkg/proto/sdk_ws" open_im_sdk "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils" "Open_IM/pkg/utils"
"context" "context"
"encoding/json"
"fmt"
"google.golang.org/grpc" "google.golang.org/grpc"
"net" "net"
"strconv" "strconv"
@ -39,6 +37,7 @@ func NewGroupServer(port int) *groupServer {
etcdAddr: config.Config.Etcd.EtcdAddr, etcdAddr: config.Config.Etcd.EtcdAddr,
} }
} }
func (s *groupServer) Run() { func (s *groupServer) Run() {
log.Info("", "", "rpc group init....") log.Info("", "", "rpc group init....")
@ -78,6 +77,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
} }
//Time stamp + MD5 to generate group chat id //Time stamp + MD5 to generate group chat id
groupId := utils.Md5(strconv.FormatInt(time.Now().UnixNano(), 10)) groupId := utils.Md5(strconv.FormatInt(time.Now().UnixNano(), 10))
//to group
err := im_mysql_model.InsertIntoGroup(groupId, req.GroupName, req.Introduction, req.Notification, req.FaceUrl, req.Ext) err := im_mysql_model.InsertIntoGroup(groupId, req.GroupName, req.Introduction, req.Notification, req.FaceUrl, req.Ext)
if err != nil { if err != nil {
log.NewError(req.OperationID, "InsertIntoGroup failed, ", err.Error(), groupId, req.GroupName, req.Introduction, req.Notification, req.FaceUrl, req.Ext) log.NewError(req.OperationID, "InsertIntoGroup failed, ", err.Error(), groupId, req.GroupName, req.Introduction, req.Notification, req.FaceUrl, req.Ext)
@ -90,7 +90,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
return &pbGroup.CreateGroupResp{ErrCode: constant.ErrCreateGroup.ErrCode, ErrMsg: constant.ErrCreateGroup.ErrMsg}, nil return &pbGroup.CreateGroupResp{ErrCode: constant.ErrCreateGroup.ErrCode, ErrMsg: constant.ErrCreateGroup.ErrMsg}, nil
} }
//Add the group owner to the group first, otherwise the group creation will fail //to group member
err = im_mysql_model.InsertIntoGroupMember(groupId, us.UserID, us.Nickname, us.FaceUrl, constant.GroupOwner) err = im_mysql_model.InsertIntoGroupMember(groupId, us.UserID, us.Nickname, us.FaceUrl, constant.GroupOwner)
if err != nil { if err != nil {
log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error()) log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error())
@ -103,7 +103,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
// return &pbGroup.CreateGroupResp{ErrCode: constant.ErrCreateGroup.ErrCode, ErrMsg: constant.ErrCreateGroup.ErrMsg}, nil // return &pbGroup.CreateGroupResp{ErrCode: constant.ErrCreateGroup.ErrCode, ErrMsg: constant.ErrCreateGroup.ErrMsg}, nil
} }
//Binding group id and member id //to group member
for _, user := range req.InitMemberList { for _, user := range req.InitMemberList {
us, err := im_mysql_model.FindUserByUID(user.UserID) us, err := im_mysql_model.FindUserByUID(user.UserID)
if err != nil { if err != nil {
@ -123,8 +123,8 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
log.NewError(req.OperationID, "add mongo group member failed, db.DB.AddGroupMember failed ", err.Error()) log.NewError(req.OperationID, "add mongo group member failed, db.DB.AddGroupMember failed ", err.Error())
} }
} }
resp := &pbGroup.CreateGroupResp{}
resp := &pbGroup.CreateGroupResp{}
group, err := im_mysql_model.FindGroupInfoByGroupId(groupId) group, err := im_mysql_model.FindGroupInfoByGroupId(groupId)
if err != nil { if err != nil {
log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", err.Error(), groupId) log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", err.Error(), groupId)
@ -145,6 +145,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
return &pbGroup.GetJoinedGroupListResp{ErrCode: constant.ErrParseToken.ErrCode, ErrMsg: constant.ErrParseToken.ErrMsg}, nil return &pbGroup.GetJoinedGroupListResp{ErrCode: constant.ErrParseToken.ErrCode, ErrMsg: constant.ErrParseToken.ErrMsg}, nil
} }
//group list
joinedGroupList, err := imdb.GetJoinedGroupIdListByMemberId(req.FromUserID) joinedGroupList, err := imdb.GetJoinedGroupIdListByMemberId(req.FromUserID)
if err != nil { if err != nil {
log.NewError(req.OperationID, "GetJoinedGroupIdListByMemberId failed ", err.Error(), req.FromUserID) log.NewError(req.OperationID, "GetJoinedGroupIdListByMemberId failed ", err.Error(), req.FromUserID)
@ -152,7 +153,6 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
} }
var resp pbGroup.GetJoinedGroupListResp var resp pbGroup.GetJoinedGroupListResp
for _, v := range joinedGroupList { for _, v := range joinedGroupList {
var groupNode open_im_sdk.GroupInfo var groupNode open_im_sdk.GroupInfo
num := imdb.GetGroupMemberNumByGroupId(v.GroupID) num := imdb.GetGroupMemberNumByGroupId(v.GroupID)
@ -160,6 +160,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
group, err := imdb.FindGroupInfoByGroupId(v.GroupID) group, err := imdb.FindGroupInfoByGroupId(v.GroupID)
if num > 0 && owner != nil && err2 == nil && group != nil && err == nil { if num > 0 && owner != nil && err2 == nil && group != nil && err == nil {
utils.CopyStructFields(&groupNode, group) utils.CopyStructFields(&groupNode, group)
groupNode.CreateTime = group.CreateTime
utils.CopyStructFields(groupNode.Owner, owner) utils.CopyStructFields(groupNode.Owner, owner)
groupNode.MemberCount = uint32(num) groupNode.MemberCount = uint32(num)
resp.GroupList = append(resp.GroupList, &groupNode) resp.GroupList = append(resp.GroupList, &groupNode)
@ -177,7 +178,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.InviteUserToGroupReq) (*pbGroup.InviteUserToGroupResp, error) { func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.InviteUserToGroupReq) (*pbGroup.InviteUserToGroupResp, error) {
log.NewInfo(req.OperationID, "InviteUserToGroup args ", req.String()) log.NewInfo(req.OperationID, "InviteUserToGroup args ", req.String())
if !imdb.IsExistGroupMember(req.GroupID, req.OpUserID) && !utils.IsContain(req.OpUserID, config.Config.Manager.AppManagerUid) { if !imdb.IsExistGroupMember(req.GroupID, req.OpUserID) && !token_verify.IsMangerUserID(req.OpUserID) {
log.NewError(req.OperationID, "no permission InviteUserToGroup ", req.GroupID, req.OpUserID) log.NewError(req.OperationID, "no permission InviteUserToGroup ", req.GroupID, req.OpUserID)
return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil
} }
@ -191,6 +192,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
//from User: invite: applicant //from User: invite: applicant
//to user: invite: invited //to user: invite: invited
var resp pbGroup.InviteUserToGroupResp var resp pbGroup.InviteUserToGroupResp
var okUserIDList []string
for _, v := range req.InvitedUserIDList { for _, v := range req.InvitedUserIDList {
var resultNode pbGroup.Id2Result var resultNode pbGroup.Id2Result
resultNode.UserID = v resultNode.UserID = v
@ -217,7 +219,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) resp.Id2ResultList = append(resp.Id2ResultList, &resultNode)
continue continue
} }
chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, v) okUserIDList = append(okUserIDList, v)
err = db.DB.AddGroupMember(req.GroupID, toUserInfo.UserID) err = db.DB.AddGroupMember(req.GroupID, toUserInfo.UserID)
if err != nil { if err != nil {
log.NewError(req.OperationID, "AddGroupMember failed ", err.Error(), req.GroupID, toUserInfo.UserID) log.NewError(req.OperationID, "AddGroupMember failed ", err.Error(), req.GroupID, toUserInfo.UserID)
@ -225,8 +227,9 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) resp.Id2ResultList = append(resp.Id2ResultList, &resultNode)
} }
chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, req.Reason, okUserIDList)
resp.ErrCode = 0 resp.ErrCode = 0
log.NewInfo(req.OperationID, "InviteUserToGroup rpc return ", resp) log.NewInfo(req.OperationID, "InviteUserToGroup rpc return ", resp.String())
return &resp, nil return &resp, nil
} }
@ -308,6 +311,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
} }
} }
//op is app manager
if flag != 1 { if flag != 1 {
if token_verify.IsMangerUserID(req.OpUserID) { if token_verify.IsMangerUserID(req.OpUserID) {
flag = 1 flag = 1
@ -332,6 +336,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
} }
} }
var okUserIDList []string
//remove //remove
var resp pbGroup.KickGroupMemberResp var resp pbGroup.KickGroupMemberResp
for _, v := range req.KickedUserIDList { for _, v := range req.KickedUserIDList {
@ -347,19 +352,17 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
resp.Id2ResultList = append(resp.Id2ResultList, &pbGroup.Id2Result{UserID: v, Result: -1}) resp.Id2ResultList = append(resp.Id2ResultList, &pbGroup.Id2Result{UserID: v, Result: -1})
} else { } else {
resp.Id2ResultList = append(resp.Id2ResultList, &pbGroup.Id2Result{UserID: v, Result: 0}) resp.Id2ResultList = append(resp.Id2ResultList, &pbGroup.Id2Result{UserID: v, Result: 0})
okUserIDList = append(okUserIDList, v)
} }
err = db.DB.DelGroupMember(req.GroupID, v) err = db.DB.DelGroupMember(req.GroupID, v)
if err != nil { if err != nil {
log.NewError(req.OperationID, "DelGroupMember failed ", err.Error(), req.GroupID, v.UserId) log.NewError(req.OperationID, "DelGroupMember failed ", err.Error(), req.GroupID, v)
} }
} }
chat.MemberKickedNotification(req, okUserIDList)
for _, v := range req.KickedUserIDList {
chat.MemberKickedNotification(req.OperationID, req.GroupID, req.OpUserID, v, req.Reason)
}
resp.ErrCode = 0 resp.ErrCode = 0
log.NewInfo(req.OperationID, "GetGroupMemberList rpc return ", resp) log.NewInfo(req.OperationID, "GetGroupMemberList rpc return ", resp.String())
return &resp, nil return &resp, nil
} }
@ -377,11 +380,12 @@ func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetG
continue continue
} else { } else {
utils.CopyStructFields(&memberNode, memberInfo) utils.CopyStructFields(&memberNode, memberInfo)
memberNode.JoinTime = memberInfo.JoinTime
resp.MemberList = append(resp.MemberList, &memberNode) resp.MemberList = append(resp.MemberList, &memberNode)
} }
} }
resp.ErrCode = 0 resp.ErrCode = 0
log.NewInfo(req.OperationID, "GetGroupMembersInfo rpc return ", resp) log.NewInfo(req.OperationID, "GetGroupMembersInfo rpc return ", resp.String())
return &resp, nil return &resp, nil
} }
@ -407,6 +411,7 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI
} }
var groupInfo open_im_sdk.GroupInfo var groupInfo open_im_sdk.GroupInfo
utils.CopyStructFields(&groupInfo, groupInfoFromMysql) utils.CopyStructFields(&groupInfo, groupInfoFromMysql)
groupInfo.CreateTime = groupInfoFromMysql.CreateTime
groupsInfoList = append(groupsInfoList, &groupInfo) groupsInfoList = append(groupsInfoList, &groupInfo)
} }
@ -437,24 +442,24 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G
} }
} }
if req.ToUserID == "0" { if req.ToUserID == "0" {
group, err := imdb.FindGroupInfoByGroupId(req.GroupID) //group, err := imdb.FindGroupInfoByGroupId(req.GroupID)
if err != nil { //if err != nil {
log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", req.GroupID) // log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", req.GroupID)
return reply, nil // return reply, nil
} //}
member, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.OpUserID) //member, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.OpUserID)
if err != nil { //if err != nil {
log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", req.GroupID, req.OpUserID) // log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", req.GroupID, req.OpUserID)
return reply, nil // return reply, nil
} //}
chat.ApplicationProcessedNotification(req.OperationID, req.FromUserID, *group, *member, req.HandleResult, req.HandledMsg) chat.ApplicationProcessedNotification(req)
if req.HandleResult == 1 { if req.HandleResult == 1 {
entrantUser, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.FromUserID) // entrantUser, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.FromUserID)
if err != nil { // if err != nil {
log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), req.GroupID, req.FromUserID) // log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), req.GroupID, req.FromUserID)
return reply, nil // return reply, nil
} // }
chat.MemberEnterNotification(req.OperationID, req.GroupID, entrantUser) chat.MemberEnterNotification(req)
} }
} else { } else {
log.NewError(req.OperationID, "args failed ", req.String()) log.NewError(req.OperationID, "args failed ", req.String())
@ -466,25 +471,20 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G
func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) (*pbGroup.CommonResp, error) { func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) (*pbGroup.CommonResp, error) {
log.NewInfo(req.OperationID, "JoinGroup args ", req.String()) log.NewInfo(req.OperationID, "JoinGroup args ", req.String())
//Parse token, to find current user information
//claims, err := token_verify.ParseToken(req.Token) applicationUserInfo, err := im_mysql_model.FindUserByUID(req.OpUserID)
//if err != nil {
// log.NewError(req.OperationID, "ParseToken failed", err.Error(), req.String())
// return &pbGroup.CommonResp{ErrCode: constant.ErrParseToken.ErrCode, ErrMsg: constant.ErrParseToken.ErrMsg}, nil
//}
applicationUserInfo, err := im_mysql_model.FindUserByUID(req.FromUserID)
if err != nil { if err != nil {
log.NewError(req.OperationID, "FindUserByUID failed ", err.Error(), req.FromUserID) log.NewError(req.OperationID, "FindUserByUID failed ", err.Error(), req.OpUserID)
return &pbGroup.CommonResp{ErrCode: constant.ErrSearchUserInfo.ErrCode, ErrMsg: constant.ErrSearchUserInfo.ErrMsg}, nil return &pbGroup.CommonResp{ErrCode: constant.ErrSearchUserInfo.ErrCode, ErrMsg: constant.ErrSearchUserInfo.ErrMsg}, nil
} }
_, err = im_mysql_model.FindGroupRequestUserInfoByGroupIDAndUid(req.GroupID, req.FromUserID) _, err = im_mysql_model.FindGroupRequestUserInfoByGroupIDAndUid(req.GroupID, req.OpUserID)
if err == nil { if err == nil {
err = im_mysql_model.DelGroupRequest(req.GroupID, req.FromUserID, "0") err = im_mysql_model.DelGroupRequest(req.GroupID, req.OpUserID, "0")
} }
if err = im_mysql_model.InsertIntoGroupRequest(req.GroupID, req.FromUserID, "0", req.ReqMessage, applicationUserInfo.Nickname, applicationUserInfo.FaceUrl); err != nil { if err = im_mysql_model.InsertIntoGroupRequest(req.GroupID, req.OpUserID, "0", req.ReqMessage, applicationUserInfo.Nickname, applicationUserInfo.FaceUrl); err != nil {
log.NewError(req.OperationID, "InsertIntoGroupRequest ", err.Error(), req.GroupID, req.FromUserID, "0", req.ReqMessage, applicationUserInfo.Nickname, applicationUserInfo.FaceUrl) log.NewError(req.OperationID, "InsertIntoGroupRequest ", err.Error(), req.GroupID, req.OpUserID, "0", req.ReqMessage, applicationUserInfo.Nickname, applicationUserInfo.FaceUrl)
return &pbGroup.CommonResp{ErrCode: constant.ErrJoinGroupApplication.ErrCode, ErrMsg: constant.ErrJoinGroupApplication.ErrMsg}, nil return &pbGroup.CommonResp{ErrCode: constant.ErrJoinGroupApplication.ErrCode, ErrMsg: constant.ErrJoinGroupApplication.ErrMsg}, nil
} }
@ -493,12 +493,8 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq)
log.NewError(req.OperationID, "FindGroupMemberListByGroupIdAndFilterInfo failed ", req.GroupID, constant.GroupOwner, err) log.NewError(req.OperationID, "FindGroupMemberListByGroupIdAndFilterInfo failed ", req.GroupID, constant.GroupOwner, err)
return &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}, nil return &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}, nil
} }
group, err := im_mysql_model.FindGroupInfoByGroupId(req.GroupID)
if err != nil { chat.ReceiveJoinApplicationNotification(req)
log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", req.GroupID)
return &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}, nil
}
chat.ReceiveJoinApplicationNotification(req.OperationID, memberList[0].UserID, applicationUserInfo, group)
log.NewInfo(req.OperationID, "ReceiveJoinApplicationNotification rpc JoinGroup success return") log.NewInfo(req.OperationID, "ReceiveJoinApplicationNotification rpc JoinGroup success return")
return &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}, nil return &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}, nil
@ -525,7 +521,7 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq)
// return &pbGroup.CommonResp{ErrorCode: constant.ErrQuitGroup.ErrCode, ErrorMsg: constant.ErrQuitGroup.ErrMsg}, nil // return &pbGroup.CommonResp{ErrorCode: constant.ErrQuitGroup.ErrCode, ErrorMsg: constant.ErrQuitGroup.ErrMsg}, nil
} }
chat.MemberLeaveNotification(req.OperationID, req.GroupID, req.OpUserID) chat.MemberLeaveNotification(req)
log.NewInfo(req.OperationID, "rpc quit group is success return") log.NewInfo(req.OperationID, "rpc quit group is success return")
return &pbGroup.CommonResp{}, nil return &pbGroup.CommonResp{}, nil
} }
@ -578,7 +574,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf
} }
if changedType != 0 { if changedType != 0 {
chat.GroupInfoChangedNotification(req.OperationID, changedType, req.GroupInfo.GroupID, req.OpUserID) chat.GroupInfoChangedNotification(req)
} }
return &pbGroup.CommonResp{}, nil return &pbGroup.CommonResp{}, nil

@ -10,6 +10,7 @@ import (
"Open_IM/pkg/common/token_verify" "Open_IM/pkg/common/token_verify"
"Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/grpc-etcdv3/getcdv3"
pbChat "Open_IM/pkg/proto/chat" pbChat "Open_IM/pkg/proto/chat"
pbFriend "Open_IM/pkg/proto/friend"
pbGroup "Open_IM/pkg/proto/group" pbGroup "Open_IM/pkg/proto/group"
open_im_sdk "Open_IM/pkg/proto/sdk_ws" open_im_sdk "Open_IM/pkg/proto/sdk_ws"
sdk_ws "Open_IM/pkg/proto/sdk_ws" sdk_ws "Open_IM/pkg/proto/sdk_ws"
@ -308,51 +309,82 @@ func Notification(n *NotificationMsg, onlineUserOnly bool) {
// repeated GroupMemberFullInfo MemberList = 3; // repeated GroupMemberFullInfo MemberList = 3;
// uint64 OperationTime = 4; // uint64 OperationTime = 4;
//} creator->group //} creator->group
func GroupCreatedNotification(req *pbGroup.CreateGroupReq, groupID string) {
var n NotificationMsg
n.SendID = req.OpUserID
n.RecvID = groupID
n.ContentType = constant.CreateGroupTip
n.SessionType = constant.GroupChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.OperationID
var groupCreated open_im_sdk.GroupCreatedTips func setOpUserInfo(operationID, opUserID, groupID string, groupMemberInfo *open_im_sdk.GroupMemberFullInfo) {
groupCreated.Group = &open_im_sdk.GroupInfo{} if token_verify.IsMangerUserID(opUserID) {
u, err := imdb.FindUserByUID(opUserID)
if token_verify.IsMangerUserID(req.OpUserID) { if err != nil {
u, err := imdb.FindUserByUID(req.OpUserID) log.NewError(operationID, "FindUserByUID failed ", err.Error(), opUserID)
if err != nil || u == nil {
return return
} }
utils.CopyStructFields(groupCreated.Creator, u) utils.CopyStructFields(groupMemberInfo, u)
groupCreated.Creator.AppMangerLevel = 1 groupMemberInfo.AppMangerLevel = 1
} else { } else {
u, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(groupID, req.OpUserID) u, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(groupID, opUserID)
if err != nil || u == nil { if err != nil {
log.NewError(operationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), groupID, opUserID)
return return
} }
utils.CopyStructFields(groupCreated.Creator, u) utils.CopyStructFields(groupMemberInfo, u)
}
} }
func setGroupInfo(operationID, groupID string, groupInfo *open_im_sdk.GroupInfo, ownerUserID string) {
group, err := imdb.FindGroupInfoByGroupId(groupID) group, err := imdb.FindGroupInfoByGroupId(groupID)
if err != nil || group == nil { if err != nil {
log.NewError(operationID, "FindGroupInfoByGroupId failed ", err.Error(), groupID)
return return
} }
utils.CopyStructFields(groupCreated.Group, group) utils.CopyStructFields(groupInfo, group)
groupCreated.Creator = &open_im_sdk.GroupMemberFullInfo{}
for _, v := range req.InitMemberList { if ownerUserID != "" {
var groupMemberInfo open_im_sdk.GroupMemberFullInfo groupInfo.Owner = &open_im_sdk.PublicUserInfo{}
member, err := imdb.GetMemberInfoById(groupID, v.UserID) setGroupPublicUserInfo(operationID, groupID, ownerUserID, groupInfo.Owner)
}
}
func setGroupMemberInfo(operationID, groupID, userID string, groupMemberInfo *open_im_sdk.GroupMemberFullInfo) {
group, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(groupID, userID)
if err != nil { if err != nil {
utils.CopyStructFields(&groupMemberInfo, member) log.NewError(operationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), groupID, userID)
return
}
utils.CopyStructFields(groupMemberInfo, group)
} }
groupCreated.MemberList = append(groupCreated.MemberList, &groupMemberInfo)
func setGroupPublicUserInfo(operationID, groupID, userID string, publicUserInfo *open_im_sdk.PublicUserInfo) {
group, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(groupID, userID)
if err != nil {
log.NewError(operationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), groupID, userID)
return
}
utils.CopyStructFields(publicUserInfo, group)
}
//创建群后调用
func GroupCreatedNotification(operationID, opUserID, OwnerUserID, groupID string, initMemberList []string) {
var n NotificationMsg
n.SendID = opUserID
n.RecvID = groupID
n.ContentType = constant.GroupCreatedNotification
n.SessionType = constant.GroupChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = operationID
GroupCreatedTips := open_im_sdk.GroupCreatedTips{Group: &open_im_sdk.GroupInfo{},
Creator: &open_im_sdk.GroupMemberFullInfo{}}
setOpUserInfo(operationID, GroupCreatedTips.Creator.UserID, groupID, GroupCreatedTips.Creator)
setGroupInfo(operationID, groupID, GroupCreatedTips.Group, OwnerUserID)
for _, v := range initMemberList {
var groupMemberInfo open_im_sdk.GroupMemberFullInfo
setGroupMemberInfo(operationID, groupID, v, &groupMemberInfo)
GroupCreatedTips.MemberList = append(GroupCreatedTips.MemberList, &groupMemberInfo)
} }
var tips open_im_sdk.TipsComm var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(groupCreated) tips.Detail, _ = json.Marshal(GroupCreatedTips)
tips.DefaultTips = config.Config.Notification.GroupCreated.DefaultTips.Tips tips.DefaultTips = config.Config.Notification.GroupCreated.DefaultTips.Tips
n.Content, _ = json.Marshal(tips) n.Content, _ = json.Marshal(tips)
Notification(&n, false) Notification(&n, false)
@ -362,27 +394,44 @@ func GroupCreatedNotification(req *pbGroup.CreateGroupReq, groupID string) {
// GroupInfo Group = 1; // GroupInfo Group = 1;
// PublicUserInfo Applicant = 2; // PublicUserInfo Applicant = 2;
// string Reason = 3; // string Reason = 3;
//} //} apply->all managers GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"`
func ReceiveJoinApplicationNotification(operationID, RecvID string, applicant *immysql.User, group *immysql.Group) { // ReqMessage string `protobuf:"bytes,2,opt,name=ReqMessage" json:"ReqMessage,omitempty"`
// OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"`
// OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"`
//申请进群后调用
func JoinApplicationNotification(req *pbGroup.JoinGroupReq) {
managerList, err := imdb.GetOwnerManagerByGroupId(req.GroupID)
if err != nil {
log.NewError(req.OperationID, "GetOwnerManagerByGroupId failed ", err.Error(), req.GroupID)
return
}
var n NotificationMsg var n NotificationMsg
n.SendID = applicant.UserID n.SendID = req.OpUserID
n.RecvID = RecvID n.ContentType = constant.JoinApplicationNotification
n.ContentType = constant.ApplyJoinGroupTip
n.SessionType = constant.SingleChatType n.SessionType = constant.SingleChatType
n.MsgFrom = constant.SysMsgType n.MsgFrom = constant.SysMsgType
n.OperationID = operationID n.OperationID = req.OperationID
var joniGroup open_im_sdk.ReceiveJoinApplicationTips JoinGroupApplicationTips := open_im_sdk.JoinGroupApplicationTips{Group: &open_im_sdk.GroupInfo{}, Applicant: &open_im_sdk.PublicUserInfo{}}
joniGroup.Group = &open_im_sdk.GroupInfo{} setGroupInfo(req.OperationID, req.GroupID, JoinGroupApplicationTips.Group, "")
utils.CopyStructFields(joniGroup.Group, group)
joniGroup.Applicant = &open_im_sdk.PublicUserInfo{} apply, err := imdb.FindUserByUID(req.OpUserID)
utils.CopyStructFields(joniGroup.Applicant, applicant) if err != nil {
log.NewError(req.OperationID, "FindUserByUID failed ", err.Error(), req.OpUserID)
return
}
utils.CopyStructFields(JoinGroupApplicationTips.Applicant, apply)
JoinGroupApplicationTips.Reason = req.ReqMessage
var tips open_im_sdk.TipsComm var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(joniGroup) tips.Detail, _ = json.Marshal(JoinGroupApplicationTips)
tips.DefaultTips = config.Config.Notification.ApplyJoinGroup.DefaultTips.Tips tips.DefaultTips = "JoinGroupApplicationTips"
n.Content, _ = json.Marshal(tips) n.Content, _ = json.Marshal(tips)
Notification(&n, false) for _, v := range managerList {
n.RecvID = v.UserID
Notification(&n, true)
}
} }
//message ApplicationProcessedTips{ //message ApplicationProcessedTips{
@ -391,8 +440,28 @@ func ReceiveJoinApplicationNotification(operationID, RecvID string, applicant *i
// int32 Result = 3; // int32 Result = 3;
// string Reason = 4; // string Reason = 4;
//} //}
func ApplicationProcessedNotification(operationID, RecvID string, group immysql.Group, opUser immysql.GroupMember, result int32, Reason string) { //处理进群请求后调用
func ApplicationProcessedNotification(req *pbGroup.GroupApplicationResponseReq) {
var n NotificationMsg
n.SendID = req.OpUserID
n.ContentType = constant.ApplicationProcessedNotification
n.SessionType = constant.SingleChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.OperationID
n.RecvID = req.ToUserID
ApplicationProcessedTips := open_im_sdk.ApplicationProcessedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}}
setGroupInfo(req.OperationID, req.GroupID, ApplicationProcessedTips.Group, "")
setOpUserInfo(req.OperationID, req.OpUserID, req.GroupID, ApplicationProcessedTips.OpUser)
ApplicationProcessedTips.Reason = req.HandledMsg
ApplicationProcessedTips.Result = req.HandleResult
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(ApplicationProcessedTips)
tips.DefaultTips = "ApplicationProcessedNotification"
n.Content, _ = json.Marshal(tips)
Notification(&n, true)
} }
//message MemberInvitedTips{ //message MemberInvitedTips{
@ -401,8 +470,29 @@ func ApplicationProcessedNotification(operationID, RecvID string, group immysql.
// GroupMemberFullInfo InvitedUser = 3; // GroupMemberFullInfo InvitedUser = 3;
// uint64 OperationTime = 4; // uint64 OperationTime = 4;
//} //}
func MemberInvitedNotification(operationID string, group immysql.Group, opUser immysql.User, invitedUser immysql.GroupMember) { //被邀请进群后调用
func MemberInvitedNotification(operationID, groupID, opUserID, reason string, invitedUserIDList []string) {
var n NotificationMsg
n.SendID = opUserID
n.ContentType = constant.MemberInvitedNotification
n.SessionType = constant.GroupChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = operationID
ApplicationProcessedTips := open_im_sdk.MemberInvitedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}}
setGroupInfo(operationID, groupID, ApplicationProcessedTips.Group, "")
setOpUserInfo(operationID, opUserID, groupID, ApplicationProcessedTips.OpUser)
for _, v := range invitedUserIDList {
var groupMemberInfo open_im_sdk.GroupMemberFullInfo
setGroupMemberInfo(operationID, groupID, v, &groupMemberInfo)
ApplicationProcessedTips.InvitedUserList = append(ApplicationProcessedTips.InvitedUserList, &groupMemberInfo)
}
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(ApplicationProcessedTips)
tips.DefaultTips = "MemberInvitedNotification"
n.Content, _ = json.Marshal(tips)
n.RecvID = groupID
Notification(&n, true)
} }
//message MemberKickedTips{ //message MemberKickedTips{
@ -411,12 +501,35 @@ func MemberInvitedNotification(operationID string, group immysql.Group, opUser i
// GroupMemberFullInfo KickedUser = 3; // GroupMemberFullInfo KickedUser = 3;
// uint64 OperationTime = 4; // uint64 OperationTime = 4;
//} //}
//被踢后调用
func MemberKickedNotification(req *pbGroup.KickGroupMemberReq, kickedUserIDList []string) {
var n NotificationMsg
n.SendID = req.OpUserID
n.ContentType = constant.MemberKickedNotification
n.SessionType = constant.GroupChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.OperationID
func MemberKickedNotificationID(operationID, GroupID, opUserID, kickedUserID, reason string) { MemberKickedTips := open_im_sdk.MemberKickedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}}
setGroupInfo(req.OperationID, req.GroupID, MemberKickedTips.Group, "")
setOpUserInfo(req.OperationID, req.OpUserID, req.GroupID, MemberKickedTips.OpUser)
for _, v := range kickedUserIDList {
var groupMemberInfo open_im_sdk.GroupMemberFullInfo
setGroupMemberInfo(req.OperationID, req.GroupID, v, &groupMemberInfo)
MemberKickedTips.KickedUserList = append(MemberKickedTips.KickedUserList, &groupMemberInfo)
} }
func MemberKickedNotification(operationID string, group immysql.Group, opUser immysql.GroupMember, KickedUser immysql.GroupMember) { var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(MemberKickedTips)
tips.DefaultTips = "MemberKickedNotification"
n.Content, _ = json.Marshal(tips)
n.RecvID = req.GroupID
Notification(&n, true)
for _, v := range kickedUserIDList {
n.SessionType = constant.SingleChatType
n.RecvID = v
Notification(&n, true)
}
} }
//message GroupInfoChangedTips{ //message GroupInfoChangedTips{
@ -424,8 +537,26 @@ func MemberKickedNotification(operationID string, group immysql.Group, opUser im
// GroupInfo Group = 2; // GroupInfo Group = 2;
// GroupMemberFullInfo OpUser = 3; // GroupMemberFullInfo OpUser = 3;
//} //}
func GroupInfoChangedNotification(operationID string, changedType int32, groupID string, opUserID string) {
//群信息改变后掉用
func GroupInfoChangedNotification(req *pbGroup.SetGroupInfoReq) {
var n NotificationMsg
n.SendID = req.OpUserID
n.ContentType = constant.GroupInfoChangedNotification
n.SessionType = constant.GroupChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.OperationID
GroupInfoChangedTips := open_im_sdk.GroupInfoChangedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}}
setGroupInfo(req.OperationID, req.GroupInfo.GroupID, GroupInfoChangedTips.Group, "")
setOpUserInfo(req.OperationID, req.OpUserID, req.GroupInfo.GroupID, GroupInfoChangedTips.OpUser)
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(GroupInfoChangedTips)
tips.DefaultTips = "GroupInfoChangedNotification"
n.Content, _ = json.Marshal(tips)
n.RecvID = req.GroupInfo.GroupID
Notification(&n, true)
} }
/* /*
@ -458,8 +589,30 @@ func GroupInfoChangedNotification(operationID string, changedType int32, group *
// GroupMemberFullInfo LeaverUser = 2; // GroupMemberFullInfo LeaverUser = 2;
// uint64 OperationTime = 3; // uint64 OperationTime = 3;
//} //}
func MemberLeaveNotification(operationID, groupID, leaverUserID string) {
//群成员退群后调用
func MemberLeaveNotification(req *pbGroup.QuitGroupReq) {
var n NotificationMsg
n.SendID = req.OpUserID
n.ContentType = constant.MemberLeaveNotification
n.SessionType = constant.GroupChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.OperationID
MemberLeaveTips := open_im_sdk.MemberLeaveTips{Group: &open_im_sdk.GroupInfo{}, LeaverUser: &open_im_sdk.GroupMemberFullInfo{}}
setGroupInfo(req.OperationID, req.GroupID, MemberLeaveTips.Group, "")
setOpUserInfo(req.OperationID, req.OpUserID, req.GroupID, MemberLeaveTips.LeaverUser)
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(MemberLeaveTips)
tips.DefaultTips = "MemberLeaveNotification"
n.Content, _ = json.Marshal(tips)
n.RecvID = req.GroupID
Notification(&n, true)
n.SessionType = constant.SingleChatType
n.RecvID = req.OpUserID
Notification(&n, true)
} }
//message MemberEnterTips{ //message MemberEnterTips{
@ -467,7 +620,25 @@ func MemberLeaveNotification(operationID, groupID, leaverUserID string) {
// GroupMemberFullInfo EntrantUser = 2; // GroupMemberFullInfo EntrantUser = 2;
// uint64 OperationTime = 3; // uint64 OperationTime = 3;
//} //}
func MemberEnterNotification(operationID string, group *immysql.Group, entrantUser *immysql.GroupMember) { //群成员主动申请进群,管理员同意后调用,
func MemberEnterNotification(req *pbGroup.GroupApplicationResponseReq) {
var n NotificationMsg
n.SendID = req.OpUserID
n.ContentType = constant.MemberEnterNotification
n.SessionType = constant.GroupChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.OperationID
MemberLeaveTips := open_im_sdk.MemberEnterTips{Group: &open_im_sdk.GroupInfo{}, EntrantUser: &open_im_sdk.GroupMemberFullInfo{}}
setGroupInfo(req.OperationID, req.GroupID, MemberLeaveTips.Group, "")
setOpUserInfo(req.OperationID, req.OpUserID, req.GroupID, MemberLeaveTips.EntrantUser)
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(MemberLeaveTips)
tips.DefaultTips = "MemberEnterNotification"
n.Content, _ = json.Marshal(tips)
n.RecvID = req.GroupID
Notification(&n, true)
} }
@ -478,47 +649,143 @@ func MemberEnterNotification(operationID string, group *immysql.Group, entrantUs
// uint64 MuteTime = 4; // uint64 MuteTime = 4;
// GroupInfo Group = 5; // GroupInfo Group = 5;
//} //}
func MemberInfoChangedNotification(operationID string, group *immysql.Group, opUser *immysql.GroupMember, userFinalInfo *immysql.GroupMember) { //func MemberInfoChangedNotification(operationID string, group *immysql.Group, opUser *immysql.GroupMember, userFinalInfo *immysql.GroupMember) {
} //}
//message FriendApplicationAddedTips{ //message FriendApplicationAddedTips{
// PublicUserInfo OpUser = 1; //user1 // PublicUserInfo OpUser = 1; //user1
// FriendApplication Application = 2; // FriendApplication Application = 2;
// PublicUserInfo OpedUser = 3; //user2 // PublicUserInfo OpedUser = 3; //user2
//} //}
func FriendApplicationAddedNotification(operationID string, opUser *immysql.User, opedUser *immysql.User, application *immysql.FriendRequest) {
func getFromToUserNickname(operationID, fromUserID, toUserID string) (string, string) {
from, err1 := imdb.FindUserByUID(fromUserID)
to, err2 := imdb.FindUserByUID(toUserID)
if err1 != nil || err2 != nil {
log.NewError("FindUserByUID failed ", err1, err2, fromUserID, toUserID)
}
fromNickname, toNickname := "", ""
if from != nil {
fromNickname = from.Nickname
}
if to != nil {
toNickname = to.Nickname
}
return fromNickname, toNickname
} }
//message FriendApplicationProcessedTips{ func FriendApplicationAddedNotification(req *pbFriend.AddFriendReq) {
// PublicUserInfo OpUser = 1; //user2 var n NotificationMsg
// PublicUserInfo OpedUser = 2; //user1 n.SendID = req.CommID.FromUserID
// int32 result = 3; //1: accept; -1: reject n.RecvID = req.CommID.ToUserID
//} n.ContentType = constant.FriendApplicationAddedNotification
func FriendApplicationProcessedNotification(operationID string, opUser *immysql.User, OpedUser *immysql.User, result int32) { n.SessionType = constant.SingleChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.CommID.OperationID
var FriendApplicationAddedTips open_im_sdk.FriendApplicationAddedTips
FriendApplicationAddedTips.FromToUserID.FromUserID = req.CommID.FromUserID
FriendApplicationAddedTips.FromToUserID.ToUserID = req.CommID.ToUserID
fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID)
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(FriendApplicationAddedTips)
tips.DefaultTips = fromUserNickname + " FriendApplicationAddedNotification " + toUserNickname
n.Content, _ = json.Marshal(tips)
Notification(&n, true)
}
func FriendApplicationProcessedNotification(req *pbFriend.AddFriendResponseReq) {
var n NotificationMsg
n.SendID = req.CommID.FromUserID
n.RecvID = req.CommID.ToUserID
n.ContentType = constant.FriendApplicationProcessedNotification
n.SessionType = constant.SingleChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.CommID.OperationID
var FriendApplicationProcessedTips open_im_sdk.FriendApplicationProcessedTips
FriendApplicationProcessedTips.FromToUserID.FromUserID = req.CommID.FromUserID
FriendApplicationProcessedTips.FromToUserID.ToUserID = req.CommID.ToUserID
fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID)
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(FriendApplicationProcessedTips)
tips.DefaultTips = fromUserNickname + " FriendApplicationProcessedNotification " + toUserNickname
n.Content, _ = json.Marshal(tips)
Notification(&n, true)
} }
//message FriendAddedTips{ func FriendAddedNotification(operationID, opUserID, fromUserID, toUserID string) {
// FriendInfo Friend = 1; var n NotificationMsg
//} n.SendID = fromUserID
//message FriendInfo{ n.RecvID = toUserID
// UserInfo OwnerUser = 1; n.ContentType = constant.FriendAddedNotification
// string Remark = 2; n.SessionType = constant.SingleChatType
// uint64 CreateTime = 3; n.MsgFrom = constant.SysMsgType
// UserInfo FriendUser = 4; n.OperationID = operationID
//}
func FriendAddedNotification(operationID string, opUser *immysql.User, friendUser *immysql.Friend) { var FriendAddedTips open_im_sdk.FriendAddedTips
user, err := imdb.FindUserByUID(opUserID)
if err != nil {
log.NewError(operationID, "FindUserByUID failed ", err.Error(), opUserID)
} else {
utils.CopyStructFields(FriendAddedTips.OpUser, user)
}
friend, err := imdb.FindFriendRelationshipFromFriend(fromUserID, toUserID)
if err != nil {
log.NewError(operationID, "FindUserByUID failed ", err.Error(), fromUserID, toUserID)
} else {
FriendAddedTips.Friend.Remark = friend.Remark
}
from, err := imdb.FindUserByUID(fromUserID)
if err != nil {
log.NewError(operationID, "FindUserByUID failed ", err.Error(), fromUserID)
} else {
utils.CopyStructFields(FriendAddedTips.Friend.OwnerUser, from)
}
to, err := imdb.FindUserByUID(toUserID)
if err != nil {
log.NewError(operationID, "FindUserByUID failed ", err.Error(), toUserID)
} else {
utils.CopyStructFields(FriendAddedTips.Friend.FriendUser, to)
}
fromUserNickname, toUserNickname := FriendAddedTips.Friend.OwnerUser.Nickname, FriendAddedTips.Friend.FriendUser.Nickname
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(FriendAddedTips)
tips.DefaultTips = fromUserNickname + " FriendAddedNotification " + toUserNickname
n.Content, _ = json.Marshal(tips)
Notification(&n, true)
} }
//message FriendDeletedTips{ //message FriendDeletedTips{
// FriendInfo Friend = 1; // FriendInfo Friend = 1;
//} //}
func FriendDeletedNotification(operationID string, opUser *immysql.User, friendUser *immysql.Friend) { func FriendDeletedNotification(req *pbFriend.DeleteFriendReq) {
var n NotificationMsg
n.SendID = req.CommID.FromUserID
n.RecvID = req.CommID.ToUserID
n.ContentType = constant.FriendDeletedNotification
n.SessionType = constant.SingleChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.CommID.OperationID
var FriendDeletedTips open_im_sdk.FriendDeletedTips
FriendDeletedTips.FromToUserID.FromUserID = req.CommID.FromUserID
FriendDeletedTips.FromToUserID.ToUserID = req.CommID.ToUserID
fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID)
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(FriendDeletedTips)
tips.DefaultTips = fromUserNickname + " FriendDeletedNotification " + toUserNickname
n.Content, _ = json.Marshal(tips)
Notification(&n, true)
} }
//message FriendInfoChangedTips{ //message FriendInfoChangedTips{
@ -526,8 +793,24 @@ func FriendDeletedNotification(operationID string, opUser *immysql.User, friendU
// PublicUserInfo OpUser = 2; // PublicUserInfo OpUser = 2;
// uint64 OperationTime = 3; // uint64 OperationTime = 3;
//} //}
func FriendInfoChangedNotification(operationID string, opUser *immysql.User, friendUser *immysql.Friend) { func FriendInfoChangedNotification(req *pbFriend.SetFriendCommentReq) {
var n NotificationMsg
n.SendID = req.CommID.FromUserID
n.RecvID = req.CommID.ToUserID
n.ContentType = constant.FriendInfoChangedNotification
n.SessionType = constant.SingleChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.CommID.OperationID
var FriendInfoChangedTips open_im_sdk.FriendInfoChangedTips
FriendInfoChangedTips.FromToUserID.FromUserID = req.CommID.FromUserID
FriendInfoChangedTips.FromToUserID.ToUserID = req.CommID.ToUserID
fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID)
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(FriendInfoChangedTips)
tips.DefaultTips = fromUserNickname + " FriendDeletedNotification " + toUserNickname
n.Content, _ = json.Marshal(tips)
Notification(&n, true)
} }
//message BlackAddedTips{ //message BlackAddedTips{
@ -539,15 +822,47 @@ func FriendInfoChangedNotification(operationID string, opUser *immysql.User, fri
// uint64 CreateTime = 3; // uint64 CreateTime = 3;
// PublicUserInfo BlackUser = 4; // PublicUserInfo BlackUser = 4;
//} //}
func BlackAddedNotification(operationID string, opUser *immysql.User, blackUser *immysql.User) { func BlackAddedNotification(req *pbFriend.AddBlacklistReq) {
var n NotificationMsg
n.SendID = req.CommID.FromUserID
n.RecvID = req.CommID.ToUserID
n.ContentType = constant.BlackAddedNotification
n.SessionType = constant.SingleChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.CommID.OperationID
var BlackAddedTips open_im_sdk.BlackAddedTips
BlackAddedTips.FromToUserID.FromUserID = req.CommID.FromUserID
BlackAddedTips.FromToUserID.ToUserID = req.CommID.ToUserID
fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID)
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(BlackAddedTips)
tips.DefaultTips = fromUserNickname + " BlackAddedNotification " + toUserNickname
n.Content, _ = json.Marshal(tips)
Notification(&n, true)
} }
//message BlackDeletedTips{ //message BlackDeletedTips{
// BlackInfo Black = 1; // BlackInfo Black = 1;
//} //}
func BlackDeletedNotification(operationID string, opUser *immysql.User, blackUser *immysql.User) { func BlackDeletedNotification(req *pbFriend.RemoveBlacklistReq) {
var n NotificationMsg
n.SendID = req.CommID.FromUserID
n.RecvID = req.CommID.ToUserID
n.ContentType = constant.BlackDeletedNotification
n.SessionType = constant.SingleChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = req.CommID.OperationID
var BlackDeletedTips open_im_sdk.BlackDeletedTips
BlackDeletedTips.FromToUserID.FromUserID = req.CommID.FromUserID
BlackDeletedTips.FromToUserID.ToUserID = req.CommID.ToUserID
fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID)
var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(BlackDeletedTips)
tips.DefaultTips = fromUserNickname + " BlackDeletedNotification " + toUserNickname
n.Content, _ = json.Marshal(tips)
Notification(&n, true)
} }
//message SelfInfoUpdatedTips{ //message SelfInfoUpdatedTips{
@ -555,6 +870,26 @@ func BlackDeletedNotification(operationID string, opUser *immysql.User, blackUse
// PublicUserInfo OpUser = 2; // PublicUserInfo OpUser = 2;
// uint64 OperationTime = 3; // uint64 OperationTime = 3;
//} //}
func SelfInfoUpdatedNotification(operationID string, opUser *immysql.User, selfUser *immysql.User) { func SelfInfoUpdatedNotification(operationID, userID string) {
var n NotificationMsg
n.SendID = userID
n.RecvID = userID
n.ContentType = constant.SelfInfoUpdatedNotification
n.SessionType = constant.SingleChatType
n.MsgFrom = constant.SysMsgType
n.OperationID = operationID
var SelfInfoUpdatedTips open_im_sdk.SelfInfoUpdatedTips
SelfInfoUpdatedTips.UserID = userID
var tips open_im_sdk.TipsComm
u, err := imdb.FindUserByUID(userID)
if err != nil {
log.NewError(operationID, "FindUserByUID failed ", err.Error(), userID)
}
tips.Detail, _ = json.Marshal(SelfInfoUpdatedTips)
tips.DefaultTips = u.Nickname + " SelfInfoUpdatedNotification "
n.Content, _ = json.Marshal(tips)
Notification(&n, true)
} }

@ -75,14 +75,7 @@ func (s *userServer) GetUserInfo(ctx context.Context, req *pbUser.GetUserInfoReq
log.ErrorByKv("search userinfo failed", req.OperationID, "userID", userID, "err=%s", err.Error()) log.ErrorByKv("search userinfo failed", req.OperationID, "userID", userID, "err=%s", err.Error())
continue continue
} }
userInfo.Uid = user.UID utils.CopyStructFields(&userInfo, user)
userInfo.Icon = user.Icon
userInfo.Name = user.Name
userInfo.Gender = user.Gender
userInfo.Mobile = user.Mobile
userInfo.Birth = user.Birth
userInfo.Email = user.Email
userInfo.Ex = user.Ex
userInfoList = append(userInfoList, &userInfo) userInfoList = append(userInfoList, &userInfo)
} }
} else { } else {

@ -2,6 +2,7 @@ package user
import ( import (
"Open_IM/internal/push/logic" "Open_IM/internal/push/logic"
chat "Open_IM/internal/rpc/msg"
"Open_IM/pkg/common/config" "Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant" "Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
@ -49,7 +50,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
log.ErrorByKv("get friend list rpc server failed", req.OperationID, "err", err.Error(), "req", req.String()) log.ErrorByKv("get friend list rpc server failed", req.OperationID, "err", err.Error(), "req", req.String())
return &pbUser.CommonResp{}, nil return &pbUser.CommonResp{}, nil
} }
if RpcResp.ErrorCode != 0 { if RpcResp.ErrCode != 0 {
log.ErrorByKv("get friend list rpc server failed", req.OperationID, "err", err.Error(), "req", req.String()) log.ErrorByKv("get friend list rpc server failed", req.OperationID, "err", err.Error(), "req", req.String())
return &pbUser.CommonResp{}, nil return &pbUser.CommonResp{}, nil
} }
@ -62,6 +63,8 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
if self != nil { if self != nil {
name, faceUrl = self.Name, self.Icon name, faceUrl = self.Name, self.Icon
} }
chat.SelfInfoUpdatedNotification(req.OperationID, req.Uid)
for _, v := range RpcResp.Data { for _, v := range RpcResp.Data {
logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{ logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
SendID: ownerUid, SendID: ownerUid,

@ -45,22 +45,38 @@ const (
GroupMsg = 201 GroupMsg = 201
//SysRelated //SysRelated
AcceptFriendApplicationTip = 201 FriendApplicationAddedNotification = 201
AddFriendTip = 202 FriendApplicationProcessedNotification = 202
RefuseFriendApplicationTip = 203 FriendAddedNotification = 203
SetSelfInfoTip = 204 FriendDeletedNotification = 204
FriendInfoChangedNotification = 205
TransferGroupOwnerTip = 501 BlackAddedNotification = 206
CreateGroupTip = 502 BlackDeletedNotification = 207
GroupApplicationResponseTip = 503 //AcceptFriendApplicationTip = 201
ApplyJoinGroupTip = 504 //AddFriendTip = 202
QuitGroupTip = 505 //RefuseFriendApplicationTip = 203
SetGroupInfoTip = 506
AcceptGroupApplicationTip = 507 SelfInfoUpdatedNotification = 301
RefuseGroupApplicationTip = 508
KickGroupMemberTip = 509 GroupCreatedNotification = 501
InviteUserToGroupTip = 510 JoinApplicationNotification = 502
ChangeGroupInfoTip = 511 ApplicationProcessedNotification = 503
MemberInvitedNotification = 504
MemberKickedNotification = 505
GroupInfoChangedNotification = 506
MemberLeaveNotification = 507
MemberEnterNotification = 508
//TransferGroupOwnerTip = 501
//CreateGroupTip = 502
//GroupApplicationResponseTip = 503
//ApplyJoinGroupTip = 504
//QuitGroupTip = 505
//SetGroupInfoTip = 506
//AcceptGroupApplicationTip = 507
//RefuseGroupApplicationTip = 508
//KickGroupMemberTip = 509
//InviteUserToGroupTip = 510
//ChangeGroupInfoTip = 511
//MsgFrom //MsgFrom
UserMsgType = 100 UserMsgType = 100

@ -91,18 +91,6 @@ func initMysqlDB() {
panic(err.Error()) panic(err.Error())
} }
sqlTable = "CREATE TABLE IF NOT EXISTS `black_list` (" +
" `uid` varchar(32) NOT NULL COMMENT 'uid'," +
" `begin_disable_time` datetime DEFAULT NULL," +
" `end_disable_time` datetime DEFAULT NULL," +
" `ex` varchar(1024) DEFAULT NULL," +
" PRIMARY KEY (`uid`) USING BTREE" +
" ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;"
err = db.Exec(sqlTable).Error
if err != nil {
panic(err.Error())
}
sqlTable = "CREATE TABLE IF NOT EXISTS `user_black_list` (" + sqlTable = "CREATE TABLE IF NOT EXISTS `user_black_list` (" +
" `owner_id` varchar(64) NOT NULL," + " `owner_id` varchar(64) NOT NULL," +
" `block_id` varchar(64) NOT NULL," + " `block_id` varchar(64) NOT NULL," +

@ -15,7 +15,7 @@ func InsertIntoGroup(groupId, name, introduction, notification, faceUrl, ex stri
} }
//Default group name //Default group name
if name == "" { if name == "" {
name = "groupChat" name = "Group Chat"
} }
toInsertInfo := Group{GroupID: groupId, GroupName: name, Introduction: introduction, Notification: notification, FaceUrl: faceUrl, CreateTime: time.Now(), Ex: ex} toInsertInfo := Group{GroupID: groupId, GroupName: name, Introduction: introduction, Notification: notification, FaceUrl: faceUrl, CreateTime: time.Now(), Ex: ex}
err = dbConn.Table("group").Create(toInsertInfo).Error err = dbConn.Table("group").Create(toInsertInfo).Error

@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} }
func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (m *CommonResp) String() string { return proto.CompactTextString(m) }
func (*CommonResp) ProtoMessage() {} func (*CommonResp) ProtoMessage() {}
func (*CommonResp) Descriptor() ([]byte, []int) { func (*CommonResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{0} return fileDescriptor_group_95297d6a59bab850, []int{0}
} }
func (m *CommonResp) XXX_Unmarshal(b []byte) error { func (m *CommonResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommonResp.Unmarshal(m, b) return xxx_messageInfo_CommonResp.Unmarshal(m, b)
@ -82,7 +82,7 @@ func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} }
func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) }
func (*GroupAddMemberInfo) ProtoMessage() {} func (*GroupAddMemberInfo) ProtoMessage() {}
func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{1} return fileDescriptor_group_95297d6a59bab850, []int{1}
} }
func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b)
@ -135,7 +135,7 @@ func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} }
func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) }
func (*CreateGroupReq) ProtoMessage() {} func (*CreateGroupReq) ProtoMessage() {}
func (*CreateGroupReq) Descriptor() ([]byte, []int) { func (*CreateGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{2} return fileDescriptor_group_95297d6a59bab850, []int{2}
} }
func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b)
@ -231,7 +231,7 @@ func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} }
func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) }
func (*CreateGroupResp) ProtoMessage() {} func (*CreateGroupResp) ProtoMessage() {}
func (*CreateGroupResp) Descriptor() ([]byte, []int) { func (*CreateGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{3} return fileDescriptor_group_95297d6a59bab850, []int{3}
} }
func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b)
@ -285,7 +285,7 @@ func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} }
func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupsInfoReq) ProtoMessage() {} func (*GetGroupsInfoReq) ProtoMessage() {}
func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{4} return fileDescriptor_group_95297d6a59bab850, []int{4}
} }
func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b)
@ -339,7 +339,7 @@ func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} }
func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupsInfoResp) ProtoMessage() {} func (*GetGroupsInfoResp) ProtoMessage() {}
func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{5} return fileDescriptor_group_95297d6a59bab850, []int{5}
} }
func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b)
@ -383,8 +383,7 @@ func (m *GetGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo {
type SetGroupInfoReq struct { type SetGroupInfoReq struct {
GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo" json:"GroupInfo,omitempty"` GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo" json:"GroupInfo,omitempty"`
OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"`
FromUserID string `protobuf:"bytes,3,opt,name=FromUserID" json:"FromUserID,omitempty"` OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"`
OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -394,7 +393,7 @@ func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} }
func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) }
func (*SetGroupInfoReq) ProtoMessage() {} func (*SetGroupInfoReq) ProtoMessage() {}
func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { func (*SetGroupInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{6} return fileDescriptor_group_95297d6a59bab850, []int{6}
} }
func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b)
@ -428,13 +427,6 @@ func (m *SetGroupInfoReq) GetOpUserID() string {
return "" return ""
} }
func (m *SetGroupInfoReq) GetFromUserID() string {
if m != nil {
return m.FromUserID
}
return ""
}
func (m *SetGroupInfoReq) GetOperationID() string { func (m *SetGroupInfoReq) GetOperationID() string {
if m != nil { if m != nil {
return m.OperationID return m.OperationID
@ -442,7 +434,6 @@ func (m *SetGroupInfoReq) GetOperationID() string {
return "" return ""
} }
// owner or manager
type GetGroupApplicationListReq struct { type GetGroupApplicationListReq struct {
OpUserID string `protobuf:"bytes,1,opt,name=OpUserID" json:"OpUserID,omitempty"` OpUserID string `protobuf:"bytes,1,opt,name=OpUserID" json:"OpUserID,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"`
@ -456,7 +447,7 @@ func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationL
func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationListReq) ProtoMessage() {} func (*GetGroupApplicationListReq) ProtoMessage() {}
func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{7} return fileDescriptor_group_95297d6a59bab850, []int{7}
} }
func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b)
@ -523,7 +514,7 @@ func (m *GetGroupApplicationList_Data_User) Reset() { *m = GetGroupAppli
func (m *GetGroupApplicationList_Data_User) String() string { return proto.CompactTextString(m) } func (m *GetGroupApplicationList_Data_User) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationList_Data_User) ProtoMessage() {} func (*GetGroupApplicationList_Data_User) ProtoMessage() {}
func (*GetGroupApplicationList_Data_User) Descriptor() ([]byte, []int) { func (*GetGroupApplicationList_Data_User) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{8} return fileDescriptor_group_95297d6a59bab850, []int{8}
} }
func (m *GetGroupApplicationList_Data_User) XXX_Unmarshal(b []byte) error { func (m *GetGroupApplicationList_Data_User) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationList_Data_User.Unmarshal(m, b) return xxx_messageInfo_GetGroupApplicationList_Data_User.Unmarshal(m, b)
@ -667,7 +658,7 @@ func (m *GetGroupApplicationListData) Reset() { *m = GetGroupApplication
func (m *GetGroupApplicationListData) String() string { return proto.CompactTextString(m) } func (m *GetGroupApplicationListData) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationListData) ProtoMessage() {} func (*GetGroupApplicationListData) ProtoMessage() {}
func (*GetGroupApplicationListData) Descriptor() ([]byte, []int) { func (*GetGroupApplicationListData) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{9} return fileDescriptor_group_95297d6a59bab850, []int{9}
} }
func (m *GetGroupApplicationListData) XXX_Unmarshal(b []byte) error { func (m *GetGroupApplicationListData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationListData.Unmarshal(m, b) return xxx_messageInfo_GetGroupApplicationListData.Unmarshal(m, b)
@ -714,7 +705,7 @@ func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplication
func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationListResp) ProtoMessage() {} func (*GetGroupApplicationListResp) ProtoMessage() {}
func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{10} return fileDescriptor_group_95297d6a59bab850, []int{10}
} }
func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b)
@ -770,7 +761,7 @@ func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} }
func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) }
func (*TransferGroupOwnerReq) ProtoMessage() {} func (*TransferGroupOwnerReq) ProtoMessage() {}
func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{11} return fileDescriptor_group_95297d6a59bab850, []int{11}
} }
func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b)
@ -828,9 +819,8 @@ func (m *TransferGroupOwnerReq) GetOpUserID() string {
type JoinGroupReq struct { type JoinGroupReq struct {
GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"`
ReqMessage string `protobuf:"bytes,2,opt,name=ReqMessage" json:"ReqMessage,omitempty"` ReqMessage string `protobuf:"bytes,2,opt,name=ReqMessage" json:"ReqMessage,omitempty"`
FromUserID string `protobuf:"bytes,3,opt,name=FromUserID" json:"FromUserID,omitempty"` OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"`
OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"`
OpUserID string `protobuf:"bytes,5,opt,name=OpUserID" json:"OpUserID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -840,7 +830,7 @@ func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} }
func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) }
func (*JoinGroupReq) ProtoMessage() {} func (*JoinGroupReq) ProtoMessage() {}
func (*JoinGroupReq) Descriptor() ([]byte, []int) { func (*JoinGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{12} return fileDescriptor_group_95297d6a59bab850, []int{12}
} }
func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b)
@ -874,9 +864,9 @@ func (m *JoinGroupReq) GetReqMessage() string {
return "" return ""
} }
func (m *JoinGroupReq) GetFromUserID() string { func (m *JoinGroupReq) GetOpUserID() string {
if m != nil { if m != nil {
return m.FromUserID return m.OpUserID
} }
return "" return ""
} }
@ -888,24 +878,15 @@ func (m *JoinGroupReq) GetOperationID() string {
return "" return ""
} }
func (m *JoinGroupReq) GetOpUserID() string {
if m != nil {
return m.OpUserID
}
return ""
}
type GroupApplicationResponseReq struct { type GroupApplicationResponseReq struct {
OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"`
OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"`
GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,omitempty"` GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,omitempty"`
FromUserID string `protobuf:"bytes,4,opt,name=FromUserID" json:"FromUserID,omitempty"` FromUserID string `protobuf:"bytes,4,opt,name=FromUserID" json:"FromUserID,omitempty"`
ToUserID string `protobuf:"bytes,7,opt,name=ToUserID" json:"ToUserID,omitempty"` ToUserID string `protobuf:"bytes,5,opt,name=ToUserID" json:"ToUserID,omitempty"`
AddTime int64 `protobuf:"varint,10,opt,name=AddTime" json:"AddTime,omitempty"` AddTime int64 `protobuf:"varint,6,opt,name=AddTime" json:"AddTime,omitempty"`
HandledMsg string `protobuf:"bytes,12,opt,name=HandledMsg" json:"HandledMsg,omitempty"` HandledMsg string `protobuf:"bytes,7,opt,name=HandledMsg" json:"HandledMsg,omitempty"`
// int32 Type = 13; HandleResult int32 `protobuf:"varint,8,opt,name=HandleResult" json:"HandleResult,omitempty"`
// int32 HandleStatus = 14;
HandleResult int32 `protobuf:"varint,15,opt,name=HandleResult" json:"HandleResult,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -915,7 +896,7 @@ func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationRes
func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) }
func (*GroupApplicationResponseReq) ProtoMessage() {} func (*GroupApplicationResponseReq) ProtoMessage() {}
func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{13} return fileDescriptor_group_95297d6a59bab850, []int{13}
} }
func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b)
@ -1006,7 +987,7 @@ func (m *SetOwnerGroupNickNameReq) Reset() { *m = SetOwnerGroupNickNameR
func (m *SetOwnerGroupNickNameReq) String() string { return proto.CompactTextString(m) } func (m *SetOwnerGroupNickNameReq) String() string { return proto.CompactTextString(m) }
func (*SetOwnerGroupNickNameReq) ProtoMessage() {} func (*SetOwnerGroupNickNameReq) ProtoMessage() {}
func (*SetOwnerGroupNickNameReq) Descriptor() ([]byte, []int) { func (*SetOwnerGroupNickNameReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{14} return fileDescriptor_group_95297d6a59bab850, []int{14}
} }
func (m *SetOwnerGroupNickNameReq) XXX_Unmarshal(b []byte) error { func (m *SetOwnerGroupNickNameReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetOwnerGroupNickNameReq.Unmarshal(m, b) return xxx_messageInfo_SetOwnerGroupNickNameReq.Unmarshal(m, b)
@ -1064,8 +1045,7 @@ func (m *SetOwnerGroupNickNameReq) GetOpUserID() string {
type QuitGroupReq struct { type QuitGroupReq struct {
GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"`
FromUserID string `protobuf:"bytes,3,opt,name=FromUserID" json:"FromUserID,omitempty"` OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"`
OpUserID string `protobuf:"bytes,4,opt,name=OpUserID" json:"OpUserID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -1075,7 +1055,7 @@ func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} }
func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) }
func (*QuitGroupReq) ProtoMessage() {} func (*QuitGroupReq) ProtoMessage() {}
func (*QuitGroupReq) Descriptor() ([]byte, []int) { func (*QuitGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{15} return fileDescriptor_group_95297d6a59bab850, []int{15}
} }
func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b)
@ -1109,13 +1089,6 @@ func (m *QuitGroupReq) GetOperationID() string {
return "" return ""
} }
func (m *QuitGroupReq) GetFromUserID() string {
if m != nil {
return m.FromUserID
}
return ""
}
func (m *QuitGroupReq) GetOpUserID() string { func (m *QuitGroupReq) GetOpUserID() string {
if m != nil { if m != nil {
return m.OpUserID return m.OpUserID
@ -1138,7 +1111,7 @@ func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} }
func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupMemberListReq) ProtoMessage() {} func (*GetGroupMemberListReq) ProtoMessage() {}
func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{16} return fileDescriptor_group_95297d6a59bab850, []int{16}
} }
func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b)
@ -1207,7 +1180,7 @@ func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{}
func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupMemberListResp) ProtoMessage() {} func (*GetGroupMemberListResp) ProtoMessage() {}
func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{17} return fileDescriptor_group_95297d6a59bab850, []int{17}
} }
func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b)
@ -1269,7 +1242,7 @@ func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{}
func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupMembersInfoReq) ProtoMessage() {} func (*GetGroupMembersInfoReq) ProtoMessage() {}
func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{18} return fileDescriptor_group_95297d6a59bab850, []int{18}
} }
func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b)
@ -1330,7 +1303,7 @@ func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp
func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupMembersInfoResp) ProtoMessage() {} func (*GetGroupMembersInfoResp) ProtoMessage() {}
func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{19} return fileDescriptor_group_95297d6a59bab850, []int{19}
} }
func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b)
@ -1386,7 +1359,7 @@ func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} }
func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) }
func (*KickGroupMemberReq) ProtoMessage() {} func (*KickGroupMemberReq) ProtoMessage() {}
func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { func (*KickGroupMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{20} return fileDescriptor_group_95297d6a59bab850, []int{20}
} }
func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b)
@ -1453,7 +1426,7 @@ func (m *Id2Result) Reset() { *m = Id2Result{} }
func (m *Id2Result) String() string { return proto.CompactTextString(m) } func (m *Id2Result) String() string { return proto.CompactTextString(m) }
func (*Id2Result) ProtoMessage() {} func (*Id2Result) ProtoMessage() {}
func (*Id2Result) Descriptor() ([]byte, []int) { func (*Id2Result) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{21} return fileDescriptor_group_95297d6a59bab850, []int{21}
} }
func (m *Id2Result) XXX_Unmarshal(b []byte) error { func (m *Id2Result) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Id2Result.Unmarshal(m, b) return xxx_messageInfo_Id2Result.Unmarshal(m, b)
@ -1500,7 +1473,7 @@ func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} }
func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) }
func (*KickGroupMemberResp) ProtoMessage() {} func (*KickGroupMemberResp) ProtoMessage() {}
func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { func (*KickGroupMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{22} return fileDescriptor_group_95297d6a59bab850, []int{22}
} }
func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b)
@ -1554,7 +1527,7 @@ func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} }
func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) }
func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) ProtoMessage() {}
func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{23} return fileDescriptor_group_95297d6a59bab850, []int{23}
} }
func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b)
@ -1608,7 +1581,7 @@ func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{}
func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) }
func (*GetJoinedGroupListResp) ProtoMessage() {} func (*GetJoinedGroupListResp) ProtoMessage() {}
func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{24} return fileDescriptor_group_95297d6a59bab850, []int{24}
} }
func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b)
@ -1664,7 +1637,7 @@ func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} }
func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) }
func (*InviteUserToGroupReq) ProtoMessage() {} func (*InviteUserToGroupReq) ProtoMessage() {}
func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{25} return fileDescriptor_group_95297d6a59bab850, []int{25}
} }
func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b)
@ -1732,7 +1705,7 @@ func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} }
func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) }
func (*InviteUserToGroupResp) ProtoMessage() {} func (*InviteUserToGroupResp) ProtoMessage() {}
func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{26} return fileDescriptor_group_95297d6a59bab850, []int{26}
} }
func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b)
@ -1786,7 +1759,7 @@ func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} }
func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupAllMemberReq) ProtoMessage() {} func (*GetGroupAllMemberReq) ProtoMessage() {}
func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{27} return fileDescriptor_group_95297d6a59bab850, []int{27}
} }
func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b)
@ -1840,7 +1813,7 @@ func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} }
func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupAllMemberResp) ProtoMessage() {} func (*GetGroupAllMemberResp) ProtoMessage() {}
func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_2ff972788727c811, []int{28} return fileDescriptor_group_95297d6a59bab850, []int{28}
} }
func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b)
@ -2416,101 +2389,100 @@ var _Group_serviceDesc = grpc.ServiceDesc{
Metadata: "group/group.proto", Metadata: "group/group.proto",
} }
func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_2ff972788727c811) } func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_95297d6a59bab850) }
var fileDescriptor_group_2ff972788727c811 = []byte{ var fileDescriptor_group_95297d6a59bab850 = []byte{
// 1480 bytes of a gzipped FileDescriptorProto // 1464 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6f, 0xdc, 0x44, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6f, 0x1b, 0x45,
0x14, 0x97, 0xf7, 0x23, 0xcd, 0xbe, 0x7c, 0x6c, 0x32, 0x6d, 0x52, 0xe3, 0x86, 0x2a, 0xb5, 0x50, 0x14, 0xd7, 0xfa, 0x23, 0x8d, 0x5f, 0xbe, 0x9c, 0x69, 0x93, 0x2e, 0xdb, 0x50, 0xb9, 0x2b, 0x54,
0x15, 0x55, 0x28, 0x91, 0x52, 0x84, 0x84, 0x5a, 0xa1, 0xa6, 0xf9, 0x68, 0x17, 0x48, 0xa2, 0x3a, 0x45, 0x15, 0x4a, 0xa4, 0x14, 0x21, 0xa1, 0x46, 0xa8, 0x69, 0x3e, 0x5a, 0x03, 0x71, 0xd4, 0x8d,
0xdb, 0x0b, 0x97, 0xe0, 0xae, 0xa7, 0x2b, 0xb3, 0x5e, 0xdb, 0xeb, 0xf1, 0x92, 0x96, 0x0b, 0x20, 0x7b, 0xe1, 0x12, 0xb6, 0xde, 0x89, 0xb5, 0x78, 0xbd, 0xbb, 0xde, 0x59, 0x93, 0x96, 0x0b, 0x20,
0x24, 0x38, 0x20, 0x44, 0xaf, 0x1c, 0x39, 0xc0, 0x11, 0x71, 0xe0, 0xce, 0x81, 0x7f, 0x0c, 0xcd, 0x04, 0x1c, 0x10, 0xa2, 0x57, 0x8e, 0x5c, 0x38, 0x22, 0x0e, 0xdc, 0x39, 0xf0, 0x8f, 0xa1, 0xf9,
0x87, 0xbd, 0xe3, 0xf1, 0xc7, 0xae, 0x12, 0x89, 0x5e, 0x56, 0x3b, 0xef, 0xbd, 0x99, 0xf7, 0x31, 0xd8, 0xf5, 0xec, 0xa7, 0x2d, 0x47, 0xa2, 0x17, 0xcb, 0xf3, 0xde, 0x9b, 0x79, 0x1f, 0xf3, 0xde,
0xef, 0xfd, 0xde, 0x1b, 0xc3, 0x6a, 0x3f, 0x0a, 0xc6, 0xe1, 0x0e, 0xfb, 0xdd, 0x0e, 0xa3, 0x20, 0xef, 0xbd, 0x59, 0x58, 0xef, 0x07, 0xde, 0xd8, 0xdf, 0x65, 0xbf, 0x3b, 0x7e, 0xe0, 0x85, 0x1e,
0x0e, 0x50, 0x93, 0x2d, 0x8c, 0x3b, 0xa7, 0x21, 0xf6, 0xcf, 0x3b, 0xc7, 0x3b, 0xe1, 0xa0, 0xbf, 0xaa, 0xb3, 0x85, 0x76, 0xef, 0xcc, 0xc7, 0xee, 0x45, 0xfb, 0x74, 0xd7, 0x1f, 0xf4, 0x77, 0x19,
0xc3, 0x38, 0x3b, 0xc4, 0x19, 0x9c, 0x5f, 0x90, 0x9d, 0x0b, 0xc2, 0x25, 0xcd, 0x8f, 0x01, 0xf6, 0x67, 0x97, 0x58, 0x83, 0x8b, 0x2b, 0xb2, 0x7b, 0x45, 0xb8, 0xa4, 0xfe, 0x31, 0xc0, 0xa1, 0x37,
0x83, 0xe1, 0x30, 0xf0, 0x2d, 0x4c, 0x42, 0xa4, 0xc3, 0xb5, 0xc3, 0x28, 0xda, 0x0f, 0x1c, 0xac, 0x1c, 0x7a, 0xae, 0x81, 0x89, 0x8f, 0x54, 0xb8, 0x71, 0x1c, 0x04, 0x87, 0x9e, 0x85, 0x55, 0xa5,
0x6b, 0x9b, 0xda, 0x56, 0xd3, 0x4a, 0x96, 0x68, 0x1d, 0xe6, 0x0e, 0xa3, 0xe8, 0x98, 0xf4, 0xf5, 0xa5, 0x6c, 0xd7, 0x8d, 0x68, 0x89, 0x36, 0x61, 0xe1, 0x38, 0x08, 0x4e, 0x49, 0x5f, 0xad, 0xb4,
0xda, 0xa6, 0xb6, 0xd5, 0xb2, 0xc4, 0xca, 0x7c, 0x04, 0xe8, 0x09, 0xd5, 0xb5, 0xe7, 0x38, 0xc7, 0x94, 0xed, 0x86, 0x21, 0x56, 0xfa, 0x63, 0x40, 0x4f, 0xa9, 0xae, 0x03, 0xcb, 0x3a, 0xc5, 0xc3,
0x78, 0xf8, 0x02, 0x47, 0x1d, 0xff, 0x65, 0x40, 0xa5, 0x9f, 0x13, 0x1c, 0x75, 0x0e, 0xd8, 0x31, 0x97, 0x38, 0x68, 0xbb, 0x97, 0x1e, 0x95, 0x7e, 0x41, 0x70, 0xd0, 0x3e, 0x62, 0xc7, 0x34, 0x0c,
0x2d, 0x4b, 0xac, 0x10, 0x82, 0x86, 0x15, 0x78, 0x98, 0x9d, 0xd1, 0xb4, 0xd8, 0x7f, 0xf3, 0xdf, 0xb1, 0x42, 0x08, 0x6a, 0x86, 0xe7, 0x60, 0x76, 0x46, 0xdd, 0x60, 0xff, 0xf5, 0x7f, 0x2b, 0xb0,
0x1a, 0x2c, 0xef, 0x47, 0xd8, 0x8e, 0x31, 0x3b, 0xc8, 0xc2, 0x23, 0xb4, 0x07, 0xcb, 0x1d, 0xdf, 0x7a, 0x18, 0x60, 0x33, 0xc4, 0xec, 0x20, 0x03, 0x8f, 0xd0, 0x01, 0xac, 0xb6, 0x5d, 0x3b, 0xe4,
0x8d, 0xf9, 0x81, 0x9f, 0xb9, 0x24, 0xd6, 0xb5, 0xcd, 0xfa, 0xd6, 0xc2, 0xee, 0x3b, 0xdb, 0xdc, 0x07, 0x7e, 0x66, 0x93, 0x50, 0x55, 0x5a, 0xd5, 0xed, 0xa5, 0xbd, 0x77, 0x76, 0xb8, 0x93, 0x59,
0xc9, 0xbc, 0x46, 0x4b, 0xd9, 0x80, 0x36, 0xa0, 0xc5, 0xa4, 0x4e, 0xec, 0x21, 0x16, 0x26, 0x4f, 0x8d, 0x46, 0x6a, 0x03, 0xda, 0x82, 0x06, 0x93, 0xea, 0x98, 0x43, 0x2c, 0x4c, 0x9e, 0x10, 0x90,
0x08, 0xc8, 0x84, 0xc5, 0x8e, 0x1f, 0x47, 0x81, 0x33, 0xee, 0xc5, 0x6e, 0xe0, 0xeb, 0x75, 0x26, 0x0e, 0xcb, 0x6d, 0x37, 0x0c, 0x3c, 0x6b, 0xdc, 0x0b, 0x6d, 0xcf, 0x55, 0xab, 0x4c, 0x20, 0x41,
0x90, 0xa1, 0x51, 0x99, 0x93, 0x20, 0x76, 0x5f, 0xba, 0x3d, 0x9b, 0xc9, 0x34, 0xb8, 0x8c, 0x4c, 0xa3, 0x32, 0x1d, 0x2f, 0xb4, 0x2f, 0xed, 0x9e, 0xc9, 0x64, 0x6a, 0x5c, 0x46, 0xa6, 0xd1, 0x78,
0xa3, 0xf1, 0x3a, 0xb2, 0x7b, 0xf8, 0x79, 0xe4, 0xe9, 0x4d, 0xc6, 0x4e, 0x96, 0x68, 0x05, 0xea, 0x9d, 0x98, 0x3d, 0xfc, 0x22, 0x70, 0xd4, 0x3a, 0x63, 0x47, 0x4b, 0xd4, 0x84, 0xea, 0xf1, 0xab,
0x87, 0xaf, 0x62, 0x7d, 0x8e, 0x51, 0xe9, 0x5f, 0xb4, 0x09, 0x0b, 0xa7, 0x21, 0x8e, 0xd8, 0xc6, 0x50, 0x5d, 0x60, 0x54, 0xfa, 0x17, 0xb5, 0x60, 0xe9, 0xcc, 0xc7, 0x01, 0xdb, 0xd8, 0x3e, 0x52,
0xce, 0x81, 0x7e, 0x8d, 0x71, 0x64, 0x12, 0x32, 0x60, 0xfe, 0x34, 0x14, 0x71, 0x9b, 0x67, 0xec, 0x6f, 0x30, 0x8e, 0x4c, 0x42, 0x1a, 0x2c, 0x9e, 0xf9, 0x22, 0x6e, 0x8b, 0x8c, 0x1d, 0xaf, 0xd1,
0x74, 0x8d, 0x6e, 0x03, 0x1c, 0x45, 0xc1, 0x50, 0x70, 0x5b, 0x8c, 0x2b, 0x51, 0xcc, 0xd7, 0xd0, 0x5d, 0x80, 0x93, 0xc0, 0x1b, 0x0a, 0x6e, 0x83, 0x71, 0x25, 0x8a, 0xfe, 0x1a, 0xd6, 0x12, 0x41,
0xce, 0x04, 0xf1, 0x32, 0x97, 0x89, 0x3e, 0x10, 0x41, 0xa3, 0x11, 0x65, 0x31, 0x59, 0xd8, 0x5d, 0x9c, 0xe7, 0x32, 0xd1, 0x07, 0x22, 0x68, 0x34, 0xa2, 0x2c, 0x26, 0x4b, 0x7b, 0x9b, 0x3b, 0x1e,
0xdf, 0x0e, 0x68, 0x0e, 0xb9, 0xc3, 0x73, 0xe2, 0x0c, 0xb6, 0x53, 0xae, 0x35, 0x11, 0x34, 0x23, 0xcd, 0x21, 0x7b, 0x78, 0x41, 0xac, 0xc1, 0x4e, 0xcc, 0x35, 0x26, 0x82, 0x7a, 0x00, 0xcd, 0xa7,
0x58, 0x79, 0x82, 0x63, 0xb6, 0x26, 0x8c, 0x87, 0x47, 0xd4, 0x59, 0x2e, 0x70, 0x90, 0x5e, 0x5f, 0x38, 0x64, 0x6b, 0xc2, 0x78, 0x78, 0x44, 0x9d, 0xe5, 0x02, 0x47, 0xf1, 0xf5, 0x35, 0x0c, 0x99,
0xcb, 0x92, 0x49, 0x6a, 0x38, 0x6a, 0xd5, 0xe1, 0xa8, 0x67, 0xc3, 0x61, 0x7e, 0xaf, 0xc1, 0xaa, 0x94, 0x0e, 0x47, 0xa5, 0x3c, 0x1c, 0xd5, 0x64, 0x38, 0xf4, 0xef, 0x15, 0x58, 0x4f, 0x29, 0x9d,
0xa2, 0xf4, 0x52, 0x1e, 0x3f, 0x84, 0xa5, 0xd4, 0x11, 0x66, 0x69, 0x9d, 0x25, 0x5a, 0x99, 0xd7, 0xcb, 0xe3, 0x7d, 0x58, 0x89, 0x1d, 0x61, 0x96, 0x56, 0x59, 0xa2, 0x15, 0x79, 0x9d, 0x14, 0xd6,
0x59, 0x61, 0xf3, 0x77, 0x0d, 0xda, 0x67, 0xc2, 0x8a, 0xc4, 0xf3, 0x4c, 0x0c, 0xb5, 0x19, 0x63, 0x7f, 0x50, 0x60, 0xed, 0x5c, 0x58, 0x11, 0x79, 0x9e, 0x88, 0xa1, 0x32, 0x63, 0x0c, 0x13, 0xbe,
0x98, 0xf1, 0xb5, 0x56, 0x79, 0xf5, 0x75, 0xf5, 0xea, 0xd5, 0x48, 0x36, 0x72, 0x91, 0x34, 0xbf, 0x56, 0x52, 0x57, 0x9f, 0x8a, 0x54, 0x35, 0x13, 0x29, 0xfd, 0x6b, 0xd0, 0xa2, 0x60, 0x1c, 0xf8,
0x06, 0x23, 0x09, 0xd6, 0x5e, 0x18, 0x7a, 0x22, 0x7b, 0xa9, 0x0b, 0xd4, 0x62, 0x59, 0xb7, 0xa6, 0xbe, 0x23, 0xb2, 0x93, 0x9a, 0x48, 0x2d, 0x92, 0xcf, 0x56, 0xca, 0xcf, 0xce, 0xb9, 0x85, 0x64,
0xe8, 0x9e, 0x7e, 0x4b, 0x53, 0xac, 0x33, 0x7f, 0x6d, 0xc0, 0x9d, 0x12, 0xe5, 0xe7, 0x07, 0x76, 0xe2, 0x55, 0x33, 0x89, 0xf7, 0x5b, 0x0d, 0xee, 0x15, 0x28, 0xbf, 0x38, 0x32, 0x43, 0xf3, 0x82,
0x6c, 0x9f, 0x53, 0x39, 0xb4, 0x0c, 0xb5, 0x54, 0x7b, 0xad, 0x73, 0x40, 0x6f, 0x52, 0x24, 0x8b, 0xca, 0xa1, 0x55, 0xa8, 0xc4, 0xda, 0x2b, 0xed, 0x23, 0x7a, 0x53, 0x22, 0x19, 0x84, 0xce, 0x68,
0xd0, 0x99, 0x2c, 0xa7, 0x46, 0xc3, 0x80, 0xf9, 0x6e, 0x20, 0xb8, 0x3c, 0x14, 0xe9, 0x9a, 0xc2, 0x39, 0x4d, 0x1f, 0xf5, 0xa6, 0xeb, 0x09, 0x2e, 0x2f, 0xc9, 0x78, 0x4d, 0xe1, 0xe5, 0xc4, 0x31,
0xcf, 0x91, 0x67, 0xf7, 0x59, 0xad, 0x36, 0x2d, 0xf6, 0x9f, 0x9e, 0x67, 0xe1, 0xd1, 0x18, 0x93, 0xfb, 0xac, 0x16, 0xeb, 0x06, 0xfb, 0x4f, 0xcf, 0x33, 0xf0, 0x68, 0x8c, 0x49, 0x48, 0x6f, 0x9f,
0x98, 0x66, 0x07, 0xaf, 0x57, 0x89, 0x42, 0xf9, 0x4f, 0x6d, 0xdf, 0xf1, 0xb0, 0x43, 0xf9, 0xbc, 0xd7, 0xa3, 0x44, 0xa1, 0xfc, 0x67, 0xa6, 0x6b, 0x39, 0xd8, 0xa2, 0x7c, 0x5e, 0x95, 0x12, 0x85,
0x6a, 0x25, 0x0a, 0xb5, 0x74, 0xcf, 0x71, 0xba, 0xee, 0x10, 0xb3, 0x9a, 0xad, 0x5b, 0xc9, 0x12, 0x5a, 0x7a, 0x60, 0x59, 0x5d, 0x7b, 0x88, 0x59, 0x4d, 0x56, 0x8d, 0x68, 0x89, 0x1e, 0x40, 0x33,
0xdd, 0x83, 0x95, 0xc4, 0xae, 0x13, 0xb7, 0x37, 0xf0, 0x29, 0x12, 0xf1, 0xc2, 0xcd, 0xd1, 0xd1, 0xb2, 0xab, 0x63, 0xf7, 0x06, 0x2e, 0x45, 0x1a, 0x5e, 0x98, 0x19, 0x3a, 0xba, 0x0f, 0xab, 0xdc,
0x5d, 0x58, 0xe6, 0x56, 0xa6, 0x92, 0xc0, 0x24, 0x15, 0x2a, 0xda, 0x82, 0x76, 0xb2, 0x37, 0x01, 0xca, 0x58, 0x12, 0x98, 0x64, 0x8a, 0x8a, 0xb6, 0x61, 0x2d, 0xda, 0x1b, 0x01, 0xcb, 0x12, 0x13,
0x9e, 0x05, 0x26, 0xa8, 0x92, 0xd1, 0x7b, 0xb0, 0xc4, 0xf7, 0x26, 0x72, 0x8b, 0x4c, 0x2e, 0x4b, 0x4c, 0x93, 0xd1, 0x7b, 0xb0, 0xc2, 0xf7, 0x46, 0x72, 0xcb, 0x4c, 0x2e, 0x49, 0xa4, 0xf7, 0x2b,
0xa4, 0xf7, 0x2b, 0x7c, 0xa1, 0x54, 0x7d, 0x89, 0xdf, 0xaf, 0x44, 0xa2, 0x31, 0xeb, 0xbe, 0x0e, 0x7c, 0xa1, 0x54, 0x75, 0x85, 0xdf, 0xaf, 0x44, 0xa2, 0x31, 0xeb, 0xbe, 0xf6, 0xb1, 0xba, 0xca,
0xb1, 0xbe, 0xcc, 0x63, 0x46, 0xff, 0x53, 0x68, 0xe4, 0x22, 0x67, 0xb1, 0x1d, 0x8f, 0x89, 0xde, 0x63, 0x46, 0xff, 0x53, 0xe8, 0xe3, 0x22, 0xe7, 0xa1, 0x19, 0x8e, 0x89, 0xba, 0xc6, 0x78, 0x09,
0x66, 0xbc, 0x0c, 0x6d, 0x22, 0x63, 0x61, 0x32, 0xf6, 0x62, 0x7d, 0x45, 0x96, 0xe1, 0x34, 0x73, 0xda, 0x44, 0xc6, 0xc0, 0x64, 0xec, 0x84, 0x6a, 0x53, 0x96, 0xe1, 0x34, 0x7d, 0x04, 0x77, 0x0a,
0x04, 0xb7, 0x4a, 0x52, 0x83, 0x66, 0x06, 0xba, 0x01, 0xcd, 0xfd, 0x60, 0xec, 0xc7, 0xa2, 0x98, 0x52, 0x83, 0x66, 0x06, 0xba, 0x05, 0xf5, 0x43, 0x6f, 0xec, 0x86, 0xa2, 0x58, 0xf9, 0x02, 0xed,
0xf9, 0x02, 0x3d, 0x84, 0x06, 0xb3, 0xb5, 0xc6, 0x2a, 0x75, 0x2b, 0x69, 0x09, 0xd3, 0x52, 0xcc, 0x43, 0x8d, 0xd9, 0x5a, 0x61, 0x95, 0xb8, 0x1d, 0x41, 0xfe, 0xb4, 0x14, 0x33, 0xd8, 0x2e, 0xfd,
0x62, 0xbb, 0xcc, 0x1f, 0xb5, 0x52, 0x9d, 0x97, 0x84, 0x90, 0x0f, 0xa1, 0x41, 0x95, 0x08, 0xbc, 0x27, 0xa5, 0x50, 0xe7, 0x9c, 0x10, 0xf1, 0x21, 0xd4, 0xa8, 0x12, 0x81, 0x87, 0x7a, 0xb9, 0x3d,
0x34, 0xab, 0xed, 0xa1, 0x92, 0x16, 0x93, 0x37, 0xff, 0xd1, 0x60, 0xad, 0x1b, 0xd9, 0x3e, 0x79, 0x54, 0xd2, 0x60, 0xf2, 0xfa, 0x3f, 0x0a, 0x6c, 0x74, 0x03, 0xd3, 0x25, 0x97, 0x38, 0x60, 0xa2,
0x89, 0x23, 0x26, 0x7a, 0x7a, 0xe1, 0xe3, 0x88, 0x16, 0xa4, 0x94, 0xfc, 0x5a, 0x36, 0xf9, 0xef, 0x67, 0x57, 0x2e, 0x0e, 0x68, 0x41, 0x4a, 0xc9, 0xaf, 0x24, 0x93, 0xff, 0x3e, 0xac, 0x9e, 0x39,
0xc2, 0xf2, 0xa9, 0xe7, 0x30, 0xc1, 0x0c, 0x58, 0x28, 0x54, 0x2a, 0x77, 0x82, 0x2f, 0x64, 0x39, 0x16, 0x13, 0x4c, 0x80, 0x41, 0x8a, 0x4a, 0xe5, 0x3a, 0xf8, 0x4a, 0x96, 0xe3, 0x85, 0x92, 0xa2,
0x5e, 0x28, 0x0a, 0x75, 0x3a, 0x74, 0x64, 0xc0, 0xa1, 0xa9, 0x80, 0xf0, 0x1f, 0x1a, 0x2c, 0x7e, 0xa6, 0xcb, 0xbb, 0x56, 0x0e, 0xb2, 0xf5, 0x14, 0xc8, 0xfe, 0xa8, 0xc0, 0xf2, 0x27, 0x9e, 0xed,
0x12, 0xb8, 0x7e, 0xda, 0xb7, 0xcb, 0x0d, 0xe7, 0x55, 0x76, 0x8c, 0x09, 0xb1, 0xfb, 0x49, 0x3f, 0xc6, 0x7d, 0xb9, 0xd8, 0x70, 0x5e, 0x65, 0xa7, 0x98, 0x10, 0xb3, 0x1f, 0xf5, 0x5b, 0x89, 0x52,
0x96, 0x28, 0x57, 0xc7, 0xb8, 0x4a, 0x43, 0x7f, 0xa9, 0xc1, 0x2d, 0xf5, 0x36, 0xe8, 0x6d, 0x07, 0x86, 0xe5, 0xd3, 0x8d, 0xd4, 0x7f, 0xad, 0xc0, 0x9d, 0x74, 0xb4, 0xe9, 0x6d, 0x7a, 0x2e, 0xc1,
0x3e, 0xc1, 0xa2, 0x5b, 0xc9, 0xa7, 0x6b, 0xd5, 0xa7, 0xab, 0xf8, 0x2c, 0x79, 0x5d, 0xaf, 0xc2, 0xa2, 0xdb, 0xc8, 0x27, 0x28, 0xe5, 0x6e, 0xa6, 0xf1, 0x55, 0xf2, 0xaa, 0x5a, 0x86, 0x45, 0xb5,
0xaa, 0x46, 0x25, 0x56, 0x5d, 0x53, 0xb0, 0x4a, 0xc2, 0x15, 0xc8, 0xe2, 0x4a, 0x16, 0x91, 0x16, 0x52, 0x2c, 0xaa, 0xa7, 0xb0, 0x48, 0xc2, 0x8d, 0x85, 0x24, 0x6e, 0x4c, 0x43, 0x9c, 0x74, 0x65,
0x73, 0x88, 0xa4, 0x56, 0x5e, 0xbb, 0xa0, 0xf2, 0xfe, 0xd4, 0x40, 0x3f, 0xc3, 0x31, 0xcb, 0x05, 0x2d, 0xe6, 0x54, 0xd6, 0x9f, 0x0a, 0xa8, 0xe7, 0x38, 0x64, 0x77, 0xcd, 0xc7, 0x1a, 0xbb, 0x37,
0x3e, 0x16, 0xb9, 0xbd, 0x01, 0x1d, 0x8d, 0xaa, 0xaf, 0xd1, 0x80, 0xf9, 0x14, 0xa0, 0x44, 0x18, 0xa0, 0xa3, 0x4d, 0xf9, 0x35, 0x69, 0xb0, 0x18, 0x03, 0x90, 0x08, 0x43, 0x0c, 0x3d, 0x53, 0xdb,
0x52, 0x68, 0x52, 0x82, 0x58, 0x9f, 0xd6, 0x2a, 0x0a, 0xc3, 0x51, 0x7a, 0x85, 0x3f, 0x68, 0xb0, 0xcc, 0x2c, 0xe1, 0x28, 0xcc, 0xa5, 0x4b, 0x58, 0x7e, 0x3e, 0xb6, 0xc3, 0x19, 0x52, 0xe9, 0x7a,
0xf8, 0x6c, 0xec, 0xc6, 0x33, 0xe4, 0xda, 0x95, 0x7b, 0x56, 0xc6, 0x90, 0x86, 0x62, 0xc8, 0x6f, 0x83, 0xc1, 0xef, 0x0a, 0x6c, 0x44, 0xb5, 0x39, 0x19, 0x07, 0xa7, 0x46, 0x65, 0xfe, 0xe6, 0x4b,
0x1a, 0xac, 0x25, 0xc5, 0x3d, 0x99, 0x37, 0xa7, 0x86, 0xad, 0x34, 0x7b, 0xa6, 0x87, 0x6d, 0x1d, 0x71, 0xe3, 0xc4, 0x76, 0x42, 0x1c, 0xb0, 0x88, 0xd4, 0x0d, 0xb1, 0xa2, 0xfa, 0x3a, 0xf8, 0x55,
0xe6, 0x8e, 0x5c, 0x2f, 0xc6, 0x11, 0xb3, 0xa5, 0x69, 0x89, 0x15, 0xd5, 0x77, 0x82, 0x5f, 0xc5, 0x78, 0x8e, 0x47, 0xa2, 0x1f, 0x45, 0x4b, 0xfd, 0x0f, 0x05, 0x36, 0xf3, 0x6c, 0x9c, 0x0b, 0x9e,
0x67, 0x78, 0x24, 0x1a, 0x5a, 0xb2, 0xa4, 0x85, 0xb9, 0x5e, 0x64, 0xe3, 0xa5, 0xf0, 0xed, 0x11, 0x1e, 0x03, 0x0c, 0x27, 0x73, 0x32, 0x1f, 0x5f, 0x5a, 0xd9, 0x81, 0x83, 0xeb, 0x39, 0x19, 0x3b,
0xc0, 0x70, 0x32, 0x88, 0xf3, 0xf9, 0x68, 0x33, 0x3f, 0xd1, 0x70, 0x3d, 0x47, 0x63, 0xcf, 0x63, 0x0e, 0x1b, 0x3d, 0xa4, 0x3d, 0x54, 0xa7, 0x2b, 0x0c, 0xe5, 0x1e, 0x44, 0x4b, 0xfd, 0x4d, 0xc6,
0xb3, 0x8d, 0xb4, 0x87, 0xea, 0xf4, 0x85, 0xa1, 0xdc, 0x83, 0x64, 0x69, 0xbe, 0xc9, 0x19, 0x9a, 0xd0, 0x78, 0xc0, 0x2b, 0x85, 0x02, 0xc9, 0xa0, 0x0a, 0x9b, 0xfc, 0x64, 0x75, 0xd7, 0x83, 0x82,
0x4e, 0x90, 0x95, 0x58, 0x22, 0x19, 0x54, 0x63, 0xa3, 0xa5, 0xac, 0xae, 0x62, 0x6e, 0x9c, 0x61, 0x5f, 0x14, 0xb8, 0x9d, 0x6b, 0xd2, 0xdb, 0x09, 0x9e, 0xfe, 0x97, 0x02, 0xe8, 0x53, 0xbb, 0x37,
0x56, 0xfa, 0x59, 0x83, 0x9b, 0x85, 0x26, 0xbd, 0x9d, 0xe0, 0x99, 0x7f, 0x69, 0x80, 0x3e, 0x75, 0x90, 0xe4, 0xca, 0xc3, 0xf3, 0x00, 0x9a, 0x54, 0x9e, 0x77, 0x5f, 0x31, 0x1e, 0xf3, 0x20, 0x65,
0x7b, 0x03, 0x49, 0xae, 0x3a, 0x3c, 0xf7, 0x60, 0x85, 0xca, 0xf3, 0xf6, 0x2d, 0xe6, 0x6f, 0x1e, 0xe8, 0xd4, 0x6c, 0x03, 0x9b, 0x24, 0x7e, 0xa0, 0x88, 0x55, 0x3a, 0x4c, 0xf5, 0xf2, 0x12, 0x59,
0xa4, 0x1c, 0x9d, 0x9a, 0x6d, 0x61, 0x9b, 0xa4, 0x2f, 0x20, 0xb1, 0x52, 0xc3, 0xd4, 0xac, 0x06, 0x48, 0x95, 0xc8, 0x23, 0x68, 0xb4, 0xad, 0x3d, 0x0e, 0x24, 0x85, 0x2f, 0x35, 0xa6, 0x9a, 0xc1,
0xc4, 0x39, 0xa5, 0x44, 0x1e, 0x40, 0xab, 0xe3, 0xec, 0x72, 0xa4, 0x29, 0x7d, 0x0a, 0x32, 0xd5, 0x0f, 0x7f, 0xab, 0x89, 0x95, 0xfe, 0x0d, 0xdc, 0xcc, 0xb8, 0x3b, 0x67, 0x5b, 0x5d, 0x89, 0xad,
0x0c, 0x9f, 0xf8, 0x63, 0x50, 0xac, 0xcc, 0x6f, 0xe0, 0x7a, 0xce, 0xdd, 0x4b, 0xf6, 0xe5, 0xa5, 0x90, 0xa2, 0xdf, 0x14, 0xfd, 0x35, 0xe6, 0x19, 0x49, 0x31, 0x7d, 0xcc, 0xea, 0x9b, 0xb6, 0x25,
0xd4, 0x0a, 0x29, 0xfa, 0x2b, 0xa2, 0x41, 0xa7, 0x3c, 0x2b, 0x2b, 0x66, 0x8e, 0x59, 0x7d, 0xd3, 0x6c, 0x31, 0x2b, 0xa2, 0xfa, 0x4e, 0xa2, 0x93, 0x92, 0x41, 0xa7, 0x16, 0x2c, 0x79, 0x59, 0x5c,
0xbe, 0x86, 0x1d, 0x66, 0x45, 0x52, 0xdf, 0x59, 0xd4, 0xd0, 0x8a, 0x7a, 0x54, 0x90, 0xc7, 0x9d, 0xf1, 0x66, 0xc4, 0x95, 0x6f, 0x79, 0x29, 0x64, 0xf4, 0x5e, 0xeb, 0x9d, 0x35, 0xc3, 0x8b, 0x63,
0x60, 0xc6, 0x17, 0xcd, 0xb7, 0xbc, 0x14, 0x72, 0x7a, 0xaf, 0xf4, 0x90, 0x9b, 0xe1, 0x49, 0x33, 0x22, 0xa8, 0xff, 0xad, 0xc0, 0xad, 0xb6, 0xfb, 0x95, 0x1d, 0x62, 0x6a, 0x53, 0xd7, 0x8b, 0xb1,
0x11, 0x34, 0xff, 0xd6, 0xe0, 0x46, 0xc7, 0xff, 0xca, 0x8d, 0x31, 0xb5, 0xa9, 0x1b, 0xa4, 0x58, 0x74, 0x3a, 0x62, 0x16, 0xb7, 0xb8, 0x49, 0x8a, 0xd5, 0x12, 0x29, 0xf6, 0x3e, 0xac, 0x73, 0x5d,
0x3b, 0x1d, 0x51, 0xcb, 0x7b, 0xe0, 0x24, 0xc5, 0x1a, 0x99, 0x14, 0x7b, 0x1f, 0x56, 0xb9, 0x2e, 0x72, 0x9e, 0xd6, 0x59, 0x9e, 0x66, 0x19, 0xa5, 0xe9, 0xf6, 0x9d, 0x02, 0x1b, 0x39, 0x66, 0xff,
0x39, 0x4f, 0x9b, 0x2c, 0x4f, 0xf3, 0x8c, 0xca, 0x74, 0xfb, 0x4e, 0x83, 0xb5, 0x02, 0xb3, 0xff, 0xaf, 0x49, 0xe3, 0xc2, 0xad, 0x78, 0x60, 0x73, 0x9c, 0x59, 0xca, 0xf4, 0x7a, 0x0f, 0xb2, 0x9f,
0xd7, 0xa4, 0xf1, 0xe1, 0x46, 0x3a, 0xf1, 0x79, 0xde, 0x2c, 0x65, 0x7a, 0xa5, 0x9e, 0x60, 0xfe, 0xa5, 0x2e, 0x24, 0x29, 0x7c, 0x3b, 0x18, 0xb5, 0xf7, 0x66, 0x11, 0xf8, 0x07, 0x21, 0xb4, 0x0f,
0x24, 0x75, 0x21, 0x49, 0xe1, 0xdb, 0xc1, 0xa8, 0xdd, 0x37, 0xf3, 0xc0, 0xbf, 0x38, 0xa1, 0x87, 0x4b, 0xbd, 0xc9, 0x57, 0x02, 0xb4, 0x21, 0xe2, 0x96, 0xfc, 0xfc, 0xa2, 0x6d, 0xe6, 0x91, 0x89,
0xb0, 0xd0, 0x9b, 0x7c, 0x86, 0x40, 0x6b, 0x22, 0x6e, 0xd9, 0xef, 0x3b, 0xc6, 0x7a, 0x11, 0x99, 0x8f, 0x1e, 0x42, 0xe3, 0xcb, 0x68, 0x1c, 0x44, 0x37, 0x85, 0x90, 0x3c, 0x20, 0x6a, 0xeb, 0xd1,
0x84, 0xe8, 0x3e, 0xb4, 0xbe, 0x4c, 0xe6, 0x49, 0x74, 0x5d, 0x08, 0xc9, 0x13, 0xa6, 0xb1, 0x9a, 0xce, 0xc9, 0x27, 0xa5, 0x87, 0xd0, 0x18, 0x45, 0x8d, 0x3f, 0xde, 0x24, 0x8f, 0x02, 0x79, 0x9b,
0xec, 0x9c, 0x7c, 0xb3, 0xba, 0x0f, 0xad, 0x51, 0x32, 0x18, 0xa4, 0x9b, 0xe4, 0x51, 0xa1, 0x68, 0x9e, 0xc0, 0x4a, 0x5f, 0x7e, 0xdd, 0xa3, 0xdb, 0xa9, 0xb1, 0x3b, 0xea, 0x43, 0x9a, 0x9a, 0xcf,
0xd3, 0x63, 0x58, 0xea, 0xcb, 0x9f, 0x0f, 0xd0, 0x4d, 0x65, 0x6e, 0x4f, 0xfa, 0x90, 0xa1, 0x17, 0x20, 0x3e, 0xfa, 0x08, 0x96, 0x89, 0xf4, 0x36, 0x47, 0x91, 0x57, 0xa9, 0x07, 0x7b, 0x9e, 0xfa,
0x33, 0x48, 0x88, 0x3e, 0x82, 0x45, 0x22, 0x3d, 0xfe, 0x51, 0xe2, 0x95, 0xf2, 0x45, 0xa0, 0x48, 0x2f, 0xe0, 0x76, 0x3f, 0x7f, 0xbe, 0x47, 0xf7, 0xca, 0xe7, 0x7f, 0x7a, 0xa0, 0x3e, 0x4d, 0x84,
0xfd, 0x17, 0x70, 0xb3, 0x5f, 0xfc, 0x40, 0x40, 0x77, 0xaa, 0x1f, 0x10, 0xf4, 0x40, 0x73, 0x9a, 0xf8, 0xe8, 0x18, 0x50, 0x98, 0x79, 0x1b, 0xa0, 0x2d, 0xb1, 0x33, 0xf7, 0xd9, 0x90, 0x67, 0xe8,
0x08, 0x09, 0xd1, 0x21, 0xa0, 0x38, 0xf7, 0xb8, 0x40, 0x1b, 0x62, 0x67, 0xe1, 0xbb, 0xa3, 0xc8, 0x73, 0x50, 0xfb, 0x05, 0x73, 0x31, 0xd2, 0x13, 0x1f, 0xcb, 0x72, 0x07, 0xe7, 0xfc, 0x23, 0x51,
0xd0, 0x67, 0xa0, 0xf7, 0x4b, 0x06, 0x67, 0x64, 0x66, 0xbe, 0xc6, 0x15, 0x4e, 0xd6, 0xc5, 0x47, 0x3f, 0x33, 0x9b, 0xc4, 0x96, 0xe5, 0x8e, 0x56, 0xda, 0xbb, 0x25, 0x5c, 0xe2, 0xa3, 0x2e, 0xdc,
0xa2, 0x7e, 0x6e, 0x36, 0x49, 0x2d, 0x2b, 0x1c, 0xad, 0x8c, 0x77, 0x2b, 0xb8, 0x24, 0x44, 0x5d, 0xec, 0x67, 0x5b, 0x36, 0xca, 0xdf, 0x15, 0xdf, 0xec, 0xdd, 0x32, 0x36, 0xf1, 0xd1, 0x33, 0x58,
0xb8, 0xde, 0xcf, 0xb7, 0x6c, 0x54, 0xbc, 0x2b, 0xbd, 0xd9, 0xdb, 0x55, 0x6c, 0x12, 0xa2, 0xa7, 0x1b, 0x24, 0x3b, 0x11, 0x8a, 0xbe, 0x0f, 0x66, 0x1b, 0xb2, 0xa6, 0x15, 0xb1, 0x62, 0x97, 0x53,
0xd0, 0x1e, 0x64, 0x3b, 0x11, 0x4a, 0x3e, 0x40, 0xe6, 0x1b, 0xb2, 0x61, 0x94, 0xb1, 0x52, 0x97, 0xd0, 0x2e, 0xbb, 0x9c, 0xed, 0x36, 0xb2, 0xcb, 0x79, 0x3d, 0xa1, 0x03, 0xeb, 0x76, 0x1a, 0xf3,
0x15, 0x68, 0x97, 0x5d, 0xce, 0x77, 0x1b, 0xd9, 0xe5, 0xa2, 0x9e, 0x70, 0x02, 0xab, 0xae, 0x8a, 0xd0, 0x9d, 0x08, 0xa6, 0x72, 0x40, 0x5c, 0xdb, 0x2a, 0x66, 0xf2, 0xf3, 0xfa, 0x69, 0x3c, 0x89,
0x79, 0xe8, 0x56, 0x02, 0x53, 0x05, 0x20, 0x6e, 0x6c, 0x94, 0x33, 0xf9, 0x79, 0x7d, 0x15, 0x4f, 0xcf, 0xcb, 0x83, 0x36, 0x6d, 0xab, 0x98, 0x49, 0xfc, 0x27, 0x6b, 0x9f, 0xaf, 0xec, 0xf0, 0x2f,
0xd2, 0xf3, 0x8a, 0xa0, 0xcd, 0xd8, 0x28, 0x67, 0x92, 0xf0, 0x71, 0xfb, 0xf3, 0xa5, 0x6d, 0xfe, 0xc6, 0x8f, 0xd8, 0xef, 0xcb, 0x05, 0xf6, 0x39, 0xf8, 0xe1, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff,
0x49, 0xfa, 0x01, 0xfb, 0x7d, 0x31, 0xc7, 0xbe, 0x37, 0xdf, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x22, 0xaf, 0xfb, 0xc7, 0x4d, 0x16, 0x00, 0x00,
0x77, 0xc5, 0xd1, 0xfe, 0xae, 0x16, 0x00, 0x00,
} }

@ -34,7 +34,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe
func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) ProtoMessage() {}
func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{0} return fileDescriptor_ws_1ed69884ac12b8b9, []int{0}
} }
func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b)
@ -109,7 +109,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq
func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) ProtoMessage() {}
func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{1} return fileDescriptor_ws_1ed69884ac12b8b9, []int{1}
} }
func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b)
@ -164,7 +164,7 @@ func (m *PullMessageReq) Reset() { *m = PullMessageReq{} }
func (m *PullMessageReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageReq) ProtoMessage() {} func (*PullMessageReq) ProtoMessage() {}
func (*PullMessageReq) Descriptor() ([]byte, []int) { func (*PullMessageReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{2} return fileDescriptor_ws_1ed69884ac12b8b9, []int{2}
} }
func (m *PullMessageReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageReq.Unmarshal(m, b)
@ -228,7 +228,7 @@ func (m *PullMessageResp) Reset() { *m = PullMessageResp{} }
func (m *PullMessageResp) String() string { return proto.CompactTextString(m) } func (m *PullMessageResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageResp) ProtoMessage() {} func (*PullMessageResp) ProtoMessage() {}
func (*PullMessageResp) Descriptor() ([]byte, []int) { func (*PullMessageResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{3} return fileDescriptor_ws_1ed69884ac12b8b9, []int{3}
} }
func (m *PullMessageResp) XXX_Unmarshal(b []byte) error { func (m *PullMessageResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageResp.Unmarshal(m, b) return xxx_messageInfo_PullMessageResp.Unmarshal(m, b)
@ -300,7 +300,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{4} return fileDescriptor_ws_1ed69884ac12b8b9, []int{4}
} }
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@ -332,7 +332,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{5} return fileDescriptor_ws_1ed69884ac12b8b9, []int{5}
} }
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@ -380,7 +380,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} }
func (m *GatherFormat) String() string { return proto.CompactTextString(m) } func (m *GatherFormat) String() string { return proto.CompactTextString(m) }
func (*GatherFormat) ProtoMessage() {} func (*GatherFormat) ProtoMessage() {}
func (*GatherFormat) Descriptor() ([]byte, []int) { func (*GatherFormat) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{6} return fileDescriptor_ws_1ed69884ac12b8b9, []int{6}
} }
func (m *GatherFormat) XXX_Unmarshal(b []byte) error { func (m *GatherFormat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GatherFormat.Unmarshal(m, b) return xxx_messageInfo_GatherFormat.Unmarshal(m, b)
@ -427,7 +427,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} }
func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) ProtoMessage() {}
func (*UserSendMsgResp) Descriptor() ([]byte, []int) { func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{7} return fileDescriptor_ws_1ed69884ac12b8b9, []int{7}
} }
func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b)
@ -496,7 +496,7 @@ func (m *MsgData) Reset() { *m = MsgData{} }
func (m *MsgData) String() string { return proto.CompactTextString(m) } func (m *MsgData) String() string { return proto.CompactTextString(m) }
func (*MsgData) ProtoMessage() {} func (*MsgData) ProtoMessage() {}
func (*MsgData) Descriptor() ([]byte, []int) { func (*MsgData) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{8} return fileDescriptor_ws_1ed69884ac12b8b9, []int{8}
} }
func (m *MsgData) XXX_Unmarshal(b []byte) error { func (m *MsgData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgData.Unmarshal(m, b) return xxx_messageInfo_MsgData.Unmarshal(m, b)
@ -657,7 +657,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} }
func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) }
func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) ProtoMessage() {}
func (*OfflinePushInfo) Descriptor() ([]byte, []int) { func (*OfflinePushInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{9} return fileDescriptor_ws_1ed69884ac12b8b9, []int{9}
} }
func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b)
@ -732,7 +732,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} }
func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (m *GroupInfo) String() string { return proto.CompactTextString(m) }
func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) ProtoMessage() {}
func (*GroupInfo) Descriptor() ([]byte, []int) { func (*GroupInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{10} return fileDescriptor_ws_1ed69884ac12b8b9, []int{10}
} }
func (m *GroupInfo) XXX_Unmarshal(b []byte) error { func (m *GroupInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfo.Unmarshal(m, b) return xxx_messageInfo_GroupInfo.Unmarshal(m, b)
@ -834,7 +834,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} }
func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) }
func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) ProtoMessage() {}
func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{11} return fileDescriptor_ws_1ed69884ac12b8b9, []int{11}
} }
func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b)
@ -929,7 +929,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} }
func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (m *UserInfo) String() string { return proto.CompactTextString(m) }
func (*UserInfo) ProtoMessage() {} func (*UserInfo) ProtoMessage() {}
func (*UserInfo) Descriptor() ([]byte, []int) { func (*UserInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{12} return fileDescriptor_ws_1ed69884ac12b8b9, []int{12}
} }
func (m *UserInfo) XXX_Unmarshal(b []byte) error { func (m *UserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInfo.Unmarshal(m, b) return xxx_messageInfo_UserInfo.Unmarshal(m, b)
@ -1020,7 +1020,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} }
func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) }
func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) ProtoMessage() {}
func (*PublicUserInfo) Descriptor() ([]byte, []int) { func (*PublicUserInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{13} return fileDescriptor_ws_1ed69884ac12b8b9, []int{13}
} }
func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b)
@ -1080,7 +1080,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} }
func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (m *TipsComm) String() string { return proto.CompactTextString(m) }
func (*TipsComm) ProtoMessage() {} func (*TipsComm) ProtoMessage() {}
func (*TipsComm) Descriptor() ([]byte, []int) { func (*TipsComm) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{14} return fileDescriptor_ws_1ed69884ac12b8b9, []int{14}
} }
func (m *TipsComm) XXX_Unmarshal(b []byte) error { func (m *TipsComm) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TipsComm.Unmarshal(m, b) return xxx_messageInfo_TipsComm.Unmarshal(m, b)
@ -1129,7 +1129,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} }
func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) }
func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) ProtoMessage() {}
func (*MemberEnterTips) Descriptor() ([]byte, []int) { func (*MemberEnterTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{15} return fileDescriptor_ws_1ed69884ac12b8b9, []int{15}
} }
func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b)
@ -1184,7 +1184,7 @@ func (m *MemberLeaveTips) Reset() { *m = MemberLeaveTips{} }
func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) } func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) }
func (*MemberLeaveTips) ProtoMessage() {} func (*MemberLeaveTips) ProtoMessage() {}
func (*MemberLeaveTips) Descriptor() ([]byte, []int) { func (*MemberLeaveTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{16} return fileDescriptor_ws_1ed69884ac12b8b9, []int{16}
} }
func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error { func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b) return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b)
@ -1228,7 +1228,7 @@ func (m *MemberLeaveTips) GetOperationTime() uint64 {
type MemberInvitedTips struct { type MemberInvitedTips struct {
Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"`
InvitedUser *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=InvitedUser" json:"InvitedUser,omitempty"` InvitedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=InvitedUserList" json:"InvitedUserList,omitempty"`
OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"` OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
@ -1239,7 +1239,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} }
func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) ProtoMessage() {}
func (*MemberInvitedTips) Descriptor() ([]byte, []int) { func (*MemberInvitedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{17} return fileDescriptor_ws_1ed69884ac12b8b9, []int{17}
} }
func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b)
@ -1273,9 +1273,9 @@ func (m *MemberInvitedTips) GetOpUser() *GroupMemberFullInfo {
return nil return nil
} }
func (m *MemberInvitedTips) GetInvitedUser() *GroupMemberFullInfo { func (m *MemberInvitedTips) GetInvitedUserList() []*GroupMemberFullInfo {
if m != nil { if m != nil {
return m.InvitedUser return m.InvitedUserList
} }
return nil return nil
} }
@ -1290,7 +1290,7 @@ func (m *MemberInvitedTips) GetOperationTime() uint64 {
type MemberKickedTips struct { type MemberKickedTips struct {
Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"`
KickedUser *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=KickedUser" json:"KickedUser,omitempty"` KickedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=KickedUserList" json:"KickedUserList,omitempty"`
OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"` OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
@ -1301,7 +1301,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} }
func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) }
func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) ProtoMessage() {}
func (*MemberKickedTips) Descriptor() ([]byte, []int) { func (*MemberKickedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{18} return fileDescriptor_ws_1ed69884ac12b8b9, []int{18}
} }
func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b)
@ -1335,9 +1335,9 @@ func (m *MemberKickedTips) GetOpUser() *GroupMemberFullInfo {
return nil return nil
} }
func (m *MemberKickedTips) GetKickedUser() *GroupMemberFullInfo { func (m *MemberKickedTips) GetKickedUserList() []*GroupMemberFullInfo {
if m != nil { if m != nil {
return m.KickedUser return m.KickedUserList
} }
return nil return nil
} }
@ -1364,7 +1364,7 @@ func (m *MemberInfoChangedTips) Reset() { *m = MemberInfoChangedTips{} }
func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInfoChangedTips) ProtoMessage() {} func (*MemberInfoChangedTips) ProtoMessage() {}
func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) { func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{19} return fileDescriptor_ws_1ed69884ac12b8b9, []int{19}
} }
func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b)
@ -1433,7 +1433,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} }
func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) }
func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) ProtoMessage() {}
func (*GroupCreatedTips) Descriptor() ([]byte, []int) { func (*GroupCreatedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{20} return fileDescriptor_ws_1ed69884ac12b8b9, []int{20}
} }
func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b)
@ -1494,7 +1494,7 @@ func (m *GroupInfoChangedTips) Reset() { *m = GroupInfoChangedTips{} }
func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*GroupInfoChangedTips) ProtoMessage() {} func (*GroupInfoChangedTips) ProtoMessage() {}
func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) { func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{21} return fileDescriptor_ws_1ed69884ac12b8b9, []int{21}
} }
func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b)
@ -1535,7 +1535,7 @@ func (m *GroupInfoChangedTips) GetOpUser() *GroupMemberFullInfo {
return nil return nil
} }
type ReceiveJoinApplicationTips struct { type JoinGroupApplicationTips struct {
Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
Applicant *PublicUserInfo `protobuf:"bytes,2,opt,name=Applicant" json:"Applicant,omitempty"` Applicant *PublicUserInfo `protobuf:"bytes,2,opt,name=Applicant" json:"Applicant,omitempty"`
Reason string `protobuf:"bytes,3,opt,name=Reason" json:"Reason,omitempty"` Reason string `protobuf:"bytes,3,opt,name=Reason" json:"Reason,omitempty"`
@ -1544,45 +1544,45 @@ type ReceiveJoinApplicationTips struct {
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
} }
func (m *ReceiveJoinApplicationTips) Reset() { *m = ReceiveJoinApplicationTips{} } func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTips{} }
func (m *ReceiveJoinApplicationTips) String() string { return proto.CompactTextString(m) } func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) }
func (*ReceiveJoinApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) ProtoMessage() {}
func (*ReceiveJoinApplicationTips) Descriptor() ([]byte, []int) { func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{22} return fileDescriptor_ws_1ed69884ac12b8b9, []int{22}
} }
func (m *ReceiveJoinApplicationTips) XXX_Unmarshal(b []byte) error { func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiveJoinApplicationTips.Unmarshal(m, b) return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b)
} }
func (m *ReceiveJoinApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *JoinGroupApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiveJoinApplicationTips.Marshal(b, m, deterministic) return xxx_messageInfo_JoinGroupApplicationTips.Marshal(b, m, deterministic)
} }
func (dst *ReceiveJoinApplicationTips) XXX_Merge(src proto.Message) { func (dst *JoinGroupApplicationTips) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiveJoinApplicationTips.Merge(dst, src) xxx_messageInfo_JoinGroupApplicationTips.Merge(dst, src)
} }
func (m *ReceiveJoinApplicationTips) XXX_Size() int { func (m *JoinGroupApplicationTips) XXX_Size() int {
return xxx_messageInfo_ReceiveJoinApplicationTips.Size(m) return xxx_messageInfo_JoinGroupApplicationTips.Size(m)
} }
func (m *ReceiveJoinApplicationTips) XXX_DiscardUnknown() { func (m *JoinGroupApplicationTips) XXX_DiscardUnknown() {
xxx_messageInfo_ReceiveJoinApplicationTips.DiscardUnknown(m) xxx_messageInfo_JoinGroupApplicationTips.DiscardUnknown(m)
} }
var xxx_messageInfo_ReceiveJoinApplicationTips proto.InternalMessageInfo var xxx_messageInfo_JoinGroupApplicationTips proto.InternalMessageInfo
func (m *ReceiveJoinApplicationTips) GetGroup() *GroupInfo { func (m *JoinGroupApplicationTips) GetGroup() *GroupInfo {
if m != nil { if m != nil {
return m.Group return m.Group
} }
return nil return nil
} }
func (m *ReceiveJoinApplicationTips) GetApplicant() *PublicUserInfo { func (m *JoinGroupApplicationTips) GetApplicant() *PublicUserInfo {
if m != nil { if m != nil {
return m.Applicant return m.Applicant
} }
return nil return nil
} }
func (m *ReceiveJoinApplicationTips) GetReason() string { func (m *JoinGroupApplicationTips) GetReason() string {
if m != nil { if m != nil {
return m.Reason return m.Reason
} }
@ -1603,7 +1603,7 @@ func (m *ApplicationProcessedTips) Reset() { *m = ApplicationProcessedTi
func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) }
func (*ApplicationProcessedTips) ProtoMessage() {} func (*ApplicationProcessedTips) ProtoMessage() {}
func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) { func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{23} return fileDescriptor_ws_1ed69884ac12b8b9, []int{23}
} }
func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error { func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b) return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b)
@ -1666,7 +1666,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} }
func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (m *FriendInfo) String() string { return proto.CompactTextString(m) }
func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) ProtoMessage() {}
func (*FriendInfo) Descriptor() ([]byte, []int) { func (*FriendInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{24} return fileDescriptor_ws_1ed69884ac12b8b9, []int{24}
} }
func (m *FriendInfo) XXX_Unmarshal(b []byte) error { func (m *FriendInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfo.Unmarshal(m, b) return xxx_messageInfo_FriendInfo.Unmarshal(m, b)
@ -1727,7 +1727,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} }
func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (m *FriendApplication) String() string { return proto.CompactTextString(m) }
func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) ProtoMessage() {}
func (*FriendApplication) Descriptor() ([]byte, []int) { func (*FriendApplication) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{25} return fileDescriptor_ws_1ed69884ac12b8b9, []int{25}
} }
func (m *FriendApplication) XXX_Unmarshal(b []byte) error { func (m *FriendApplication) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplication.Unmarshal(m, b) return xxx_messageInfo_FriendApplication.Unmarshal(m, b)
@ -1768,12 +1768,55 @@ func (m *FriendApplication) GetAddWording() string {
return "" return ""
} }
// user1 add user2 type FromToUserID struct {
FromUserID string `protobuf:"bytes,1,opt,name=FromUserID" json:"FromUserID,omitempty"`
ToUserID string `protobuf:"bytes,2,opt,name=ToUserID" json:"ToUserID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FromToUserID) Reset() { *m = FromToUserID{} }
func (m *FromToUserID) String() string { return proto.CompactTextString(m) }
func (*FromToUserID) ProtoMessage() {}
func (*FromToUserID) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_1ed69884ac12b8b9, []int{26}
}
func (m *FromToUserID) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FromToUserID.Unmarshal(m, b)
}
func (m *FromToUserID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FromToUserID.Marshal(b, m, deterministic)
}
func (dst *FromToUserID) XXX_Merge(src proto.Message) {
xxx_messageInfo_FromToUserID.Merge(dst, src)
}
func (m *FromToUserID) XXX_Size() int {
return xxx_messageInfo_FromToUserID.Size(m)
}
func (m *FromToUserID) XXX_DiscardUnknown() {
xxx_messageInfo_FromToUserID.DiscardUnknown(m)
}
var xxx_messageInfo_FromToUserID proto.InternalMessageInfo
func (m *FromToUserID) GetFromUserID() string {
if m != nil {
return m.FromUserID
}
return ""
}
func (m *FromToUserID) GetToUserID() string {
if m != nil {
return m.ToUserID
}
return ""
}
// FromUserID apply to add ToUserID
type FriendApplicationAddedTips struct { type FriendApplicationAddedTips struct {
OpUser *PublicUserInfo `protobuf:"bytes,1,opt,name=OpUser" json:"OpUser,omitempty"` FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
Application *FriendApplication `protobuf:"bytes,2,opt,name=Application" json:"Application,omitempty"`
OpedUser *PublicUserInfo `protobuf:"bytes,3,opt,name=OpedUser" json:"OpedUser,omitempty"`
OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -1783,7 +1826,7 @@ func (m *FriendApplicationAddedTips) Reset() { *m = FriendApplicationAdd
func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) } func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationAddedTips) ProtoMessage() {} func (*FriendApplicationAddedTips) ProtoMessage() {}
func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) { func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{26} return fileDescriptor_ws_1ed69884ac12b8b9, []int{27}
} }
func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error { func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b) return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b)
@ -1803,40 +1846,16 @@ func (m *FriendApplicationAddedTips) XXX_DiscardUnknown() {
var xxx_messageInfo_FriendApplicationAddedTips proto.InternalMessageInfo var xxx_messageInfo_FriendApplicationAddedTips proto.InternalMessageInfo
func (m *FriendApplicationAddedTips) GetOpUser() *PublicUserInfo { func (m *FriendApplicationAddedTips) GetFromToUserID() *FromToUserID {
if m != nil { if m != nil {
return m.OpUser return m.FromToUserID
} }
return nil return nil
} }
func (m *FriendApplicationAddedTips) GetApplication() *FriendApplication { // FromUserID accept or reject ToUserID
if m != nil {
return m.Application
}
return nil
}
func (m *FriendApplicationAddedTips) GetOpedUser() *PublicUserInfo {
if m != nil {
return m.OpedUser
}
return nil
}
func (m *FriendApplicationAddedTips) GetOperationTime() uint64 {
if m != nil {
return m.OperationTime
}
return 0
}
// user2 accept or reject
type FriendApplicationProcessedTips struct { type FriendApplicationProcessedTips struct {
OpUser *PublicUserInfo `protobuf:"bytes,1,opt,name=OpUser" json:"OpUser,omitempty"` FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
OpedUser *PublicUserInfo `protobuf:"bytes,2,opt,name=OpedUser" json:"OpedUser,omitempty"`
Result int32 `protobuf:"varint,3,opt,name=result" json:"result,omitempty"`
OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -1846,7 +1865,7 @@ func (m *FriendApplicationProcessedTips) Reset() { *m = FriendApplicatio
func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationProcessedTips) ProtoMessage() {} func (*FriendApplicationProcessedTips) ProtoMessage() {}
func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) { func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{27} return fileDescriptor_ws_1ed69884ac12b8b9, []int{28}
} }
func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error { func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b) return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b)
@ -1866,37 +1885,18 @@ func (m *FriendApplicationProcessedTips) XXX_DiscardUnknown() {
var xxx_messageInfo_FriendApplicationProcessedTips proto.InternalMessageInfo var xxx_messageInfo_FriendApplicationProcessedTips proto.InternalMessageInfo
func (m *FriendApplicationProcessedTips) GetOpUser() *PublicUserInfo { func (m *FriendApplicationProcessedTips) GetFromToUserID() *FromToUserID {
if m != nil {
return m.OpUser
}
return nil
}
func (m *FriendApplicationProcessedTips) GetOpedUser() *PublicUserInfo {
if m != nil { if m != nil {
return m.OpedUser return m.FromToUserID
} }
return nil return nil
} }
func (m *FriendApplicationProcessedTips) GetResult() int32 { // FromUserID Added a friend ToUserID
if m != nil {
return m.Result
}
return 0
}
func (m *FriendApplicationProcessedTips) GetOperationTime() uint64 {
if m != nil {
return m.OperationTime
}
return 0
}
type FriendAddedTips struct { type FriendAddedTips struct {
Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"`
OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"` OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"`
OpUser *PublicUserInfo `protobuf:"bytes,3,opt,name=OpUser" json:"OpUser,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -1906,7 +1906,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} }
func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) ProtoMessage() {}
func (*FriendAddedTips) Descriptor() ([]byte, []int) { func (*FriendAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{28} return fileDescriptor_ws_1ed69884ac12b8b9, []int{29}
} }
func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b)
@ -1940,9 +1940,16 @@ func (m *FriendAddedTips) GetOperationTime() uint64 {
return 0 return 0
} }
func (m *FriendAddedTips) GetOpUser() *PublicUserInfo {
if m != nil {
return m.OpUser
}
return nil
}
// FromUserID deleted a friend ToUserID
type FriendDeletedTips struct { type FriendDeletedTips struct {
Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -1952,7 +1959,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} }
func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) }
func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) ProtoMessage() {}
func (*FriendDeletedTips) Descriptor() ([]byte, []int) { func (*FriendDeletedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{29} return fileDescriptor_ws_1ed69884ac12b8b9, []int{30}
} }
func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b)
@ -1972,77 +1979,15 @@ func (m *FriendDeletedTips) XXX_DiscardUnknown() {
var xxx_messageInfo_FriendDeletedTips proto.InternalMessageInfo var xxx_messageInfo_FriendDeletedTips proto.InternalMessageInfo
func (m *FriendDeletedTips) GetFriend() *FriendInfo { func (m *FriendDeletedTips) GetFromToUserID() *FromToUserID {
if m != nil {
return m.Friend
}
return nil
}
func (m *FriendDeletedTips) GetOperationTime() uint64 {
if m != nil {
return m.OperationTime
}
return 0
}
type BlackInfo struct {
OwnerUser *PublicUserInfo `protobuf:"bytes,1,opt,name=OwnerUser" json:"OwnerUser,omitempty"`
CreateTime uint64 `protobuf:"varint,3,opt,name=CreateTime" json:"CreateTime,omitempty"`
BlackUser *PublicUserInfo `protobuf:"bytes,4,opt,name=BlackUser" json:"BlackUser,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BlackInfo) Reset() { *m = BlackInfo{} }
func (m *BlackInfo) String() string { return proto.CompactTextString(m) }
func (*BlackInfo) ProtoMessage() {}
func (*BlackInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{30}
}
func (m *BlackInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackInfo.Unmarshal(m, b)
}
func (m *BlackInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BlackInfo.Marshal(b, m, deterministic)
}
func (dst *BlackInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_BlackInfo.Merge(dst, src)
}
func (m *BlackInfo) XXX_Size() int {
return xxx_messageInfo_BlackInfo.Size(m)
}
func (m *BlackInfo) XXX_DiscardUnknown() {
xxx_messageInfo_BlackInfo.DiscardUnknown(m)
}
var xxx_messageInfo_BlackInfo proto.InternalMessageInfo
func (m *BlackInfo) GetOwnerUser() *PublicUserInfo {
if m != nil {
return m.OwnerUser
}
return nil
}
func (m *BlackInfo) GetCreateTime() uint64 {
if m != nil { if m != nil {
return m.CreateTime return m.FromToUserID
}
return 0
}
func (m *BlackInfo) GetBlackUser() *PublicUserInfo {
if m != nil {
return m.BlackUser
} }
return nil return nil
} }
type BlackAddedTips struct { type BlackAddedTips struct {
Black *BlackInfo `protobuf:"bytes,1,opt,name=Black" json:"Black,omitempty"` FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -2052,7 +1997,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} }
func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) }
func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) ProtoMessage() {}
func (*BlackAddedTips) Descriptor() ([]byte, []int) { func (*BlackAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{31} return fileDescriptor_ws_1ed69884ac12b8b9, []int{31}
} }
func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b)
@ -2072,23 +2017,15 @@ func (m *BlackAddedTips) XXX_DiscardUnknown() {
var xxx_messageInfo_BlackAddedTips proto.InternalMessageInfo var xxx_messageInfo_BlackAddedTips proto.InternalMessageInfo
func (m *BlackAddedTips) GetBlack() *BlackInfo { func (m *BlackAddedTips) GetFromToUserID() *FromToUserID {
if m != nil { if m != nil {
return m.Black return m.FromToUserID
} }
return nil return nil
} }
func (m *BlackAddedTips) GetOperationTime() uint64 {
if m != nil {
return m.OperationTime
}
return 0
}
type BlackDeletedTips struct { type BlackDeletedTips struct {
Black *BlackInfo `protobuf:"bytes,1,opt,name=Black" json:"Black,omitempty"` FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -2098,7 +2035,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} }
func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) }
func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) ProtoMessage() {}
func (*BlackDeletedTips) Descriptor() ([]byte, []int) { func (*BlackDeletedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{32} return fileDescriptor_ws_1ed69884ac12b8b9, []int{32}
} }
func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b)
@ -2118,24 +2055,15 @@ func (m *BlackDeletedTips) XXX_DiscardUnknown() {
var xxx_messageInfo_BlackDeletedTips proto.InternalMessageInfo var xxx_messageInfo_BlackDeletedTips proto.InternalMessageInfo
func (m *BlackDeletedTips) GetBlack() *BlackInfo { func (m *BlackDeletedTips) GetFromToUserID() *FromToUserID {
if m != nil { if m != nil {
return m.Black return m.FromToUserID
} }
return nil return nil
} }
func (m *BlackDeletedTips) GetOperationTime() uint64 {
if m != nil {
return m.OperationTime
}
return 0
}
type FriendInfoChangedTips struct { type FriendInfoChangedTips struct {
Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
OpUser *PublicUserInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"`
OperationTime uint64 `protobuf:"varint,3,opt,name=OperationTime" json:"OperationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -2145,7 +2073,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} }
func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) ProtoMessage() {}
func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{33} return fileDescriptor_ws_1ed69884ac12b8b9, []int{33}
} }
func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b)
@ -2165,32 +2093,16 @@ func (m *FriendInfoChangedTips) XXX_DiscardUnknown() {
var xxx_messageInfo_FriendInfoChangedTips proto.InternalMessageInfo var xxx_messageInfo_FriendInfoChangedTips proto.InternalMessageInfo
func (m *FriendInfoChangedTips) GetFriend() *FriendInfo { func (m *FriendInfoChangedTips) GetFromToUserID() *FromToUserID {
if m != nil { if m != nil {
return m.Friend return m.FromToUserID
} }
return nil return nil
} }
func (m *FriendInfoChangedTips) GetOpUser() *PublicUserInfo {
if m != nil {
return m.OpUser
}
return nil
}
func (m *FriendInfoChangedTips) GetOperationTime() uint64 {
if m != nil {
return m.OperationTime
}
return 0
}
// ////////////////////user///////////////////// // ////////////////////user/////////////////////
type SelfInfoUpdatedTips struct { type SelfInfoUpdatedTips struct {
SelfUserInfo *UserInfo `protobuf:"bytes,1,opt,name=SelfUserInfo" json:"SelfUserInfo,omitempty"` UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"`
OpUser *PublicUserInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"`
OperationTime uint64 `protobuf:"varint,3,opt,name=OperationTime" json:"OperationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -2200,7 +2112,7 @@ func (m *SelfInfoUpdatedTips) Reset() { *m = SelfInfoUpdatedTips{} }
func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) }
func (*SelfInfoUpdatedTips) ProtoMessage() {} func (*SelfInfoUpdatedTips) ProtoMessage() {}
func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) { func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_3380b8a9bc5ee255, []int{34} return fileDescriptor_ws_1ed69884ac12b8b9, []int{34}
} }
func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error { func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b) return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b)
@ -2220,25 +2132,11 @@ func (m *SelfInfoUpdatedTips) XXX_DiscardUnknown() {
var xxx_messageInfo_SelfInfoUpdatedTips proto.InternalMessageInfo var xxx_messageInfo_SelfInfoUpdatedTips proto.InternalMessageInfo
func (m *SelfInfoUpdatedTips) GetSelfUserInfo() *UserInfo { func (m *SelfInfoUpdatedTips) GetUserID() string {
if m != nil {
return m.SelfUserInfo
}
return nil
}
func (m *SelfInfoUpdatedTips) GetOpUser() *PublicUserInfo {
if m != nil { if m != nil {
return m.OpUser return m.UserID
}
return nil
}
func (m *SelfInfoUpdatedTips) GetOperationTime() uint64 {
if m != nil {
return m.OperationTime
} }
return 0 return ""
} }
func init() { func init() {
@ -2265,134 +2163,130 @@ func init() {
proto.RegisterType((*MemberInfoChangedTips)(nil), "open_im_sdk.MemberInfoChangedTips") proto.RegisterType((*MemberInfoChangedTips)(nil), "open_im_sdk.MemberInfoChangedTips")
proto.RegisterType((*GroupCreatedTips)(nil), "open_im_sdk.GroupCreatedTips") proto.RegisterType((*GroupCreatedTips)(nil), "open_im_sdk.GroupCreatedTips")
proto.RegisterType((*GroupInfoChangedTips)(nil), "open_im_sdk.GroupInfoChangedTips") proto.RegisterType((*GroupInfoChangedTips)(nil), "open_im_sdk.GroupInfoChangedTips")
proto.RegisterType((*ReceiveJoinApplicationTips)(nil), "open_im_sdk.ReceiveJoinApplicationTips") proto.RegisterType((*JoinGroupApplicationTips)(nil), "open_im_sdk.JoinGroupApplicationTips")
proto.RegisterType((*ApplicationProcessedTips)(nil), "open_im_sdk.ApplicationProcessedTips") proto.RegisterType((*ApplicationProcessedTips)(nil), "open_im_sdk.ApplicationProcessedTips")
proto.RegisterType((*FriendInfo)(nil), "open_im_sdk.FriendInfo") proto.RegisterType((*FriendInfo)(nil), "open_im_sdk.FriendInfo")
proto.RegisterType((*FriendApplication)(nil), "open_im_sdk.FriendApplication") proto.RegisterType((*FriendApplication)(nil), "open_im_sdk.FriendApplication")
proto.RegisterType((*FromToUserID)(nil), "open_im_sdk.FromToUserID")
proto.RegisterType((*FriendApplicationAddedTips)(nil), "open_im_sdk.FriendApplicationAddedTips") proto.RegisterType((*FriendApplicationAddedTips)(nil), "open_im_sdk.FriendApplicationAddedTips")
proto.RegisterType((*FriendApplicationProcessedTips)(nil), "open_im_sdk.FriendApplicationProcessedTips") proto.RegisterType((*FriendApplicationProcessedTips)(nil), "open_im_sdk.FriendApplicationProcessedTips")
proto.RegisterType((*FriendAddedTips)(nil), "open_im_sdk.FriendAddedTips") proto.RegisterType((*FriendAddedTips)(nil), "open_im_sdk.FriendAddedTips")
proto.RegisterType((*FriendDeletedTips)(nil), "open_im_sdk.FriendDeletedTips") proto.RegisterType((*FriendDeletedTips)(nil), "open_im_sdk.FriendDeletedTips")
proto.RegisterType((*BlackInfo)(nil), "open_im_sdk.BlackInfo")
proto.RegisterType((*BlackAddedTips)(nil), "open_im_sdk.BlackAddedTips") proto.RegisterType((*BlackAddedTips)(nil), "open_im_sdk.BlackAddedTips")
proto.RegisterType((*BlackDeletedTips)(nil), "open_im_sdk.BlackDeletedTips") proto.RegisterType((*BlackDeletedTips)(nil), "open_im_sdk.BlackDeletedTips")
proto.RegisterType((*FriendInfoChangedTips)(nil), "open_im_sdk.FriendInfoChangedTips") proto.RegisterType((*FriendInfoChangedTips)(nil), "open_im_sdk.FriendInfoChangedTips")
proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips") proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips")
} }
func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_3380b8a9bc5ee255) } func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_1ed69884ac12b8b9) }
var fileDescriptor_ws_3380b8a9bc5ee255 = []byte{ var fileDescriptor_ws_1ed69884ac12b8b9 = []byte{
// 1769 bytes of a gzipped FileDescriptorProto // 1703 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0x4f, 0x6f, 0x23, 0x4b, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4f, 0x6f, 0x23, 0x4b,
0x11, 0xd7, 0xf8, 0x5f, 0xec, 0xb2, 0x37, 0xce, 0xce, 0xfe, 0x79, 0xc3, 0xf2, 0xb4, 0x32, 0x23, 0x11, 0xd7, 0xf8, 0x5f, 0xec, 0x72, 0x36, 0xce, 0xce, 0xfe, 0x79, 0xc3, 0xf2, 0xb4, 0x32, 0x23,
0x84, 0x2c, 0xf4, 0x94, 0x27, 0x12, 0x21, 0x5e, 0x16, 0x01, 0xeb, 0xc4, 0x49, 0x08, 0xc4, 0xeb, 0x84, 0x2c, 0x04, 0x79, 0x22, 0x2b, 0xa4, 0xc7, 0xa2, 0x07, 0x38, 0x71, 0x92, 0x97, 0x65, 0xbd,
0x68, 0x9c, 0x88, 0xe3, 0x6a, 0xe2, 0x69, 0x3b, 0x8d, 0xc7, 0x3d, 0x4e, 0xf7, 0xd8, 0xbb, 0xb9, 0x0e, 0xe3, 0x2c, 0x1c, 0x38, 0x44, 0x13, 0x4f, 0xdb, 0x19, 0x79, 0xa6, 0xc7, 0xe9, 0x1e, 0x67,
0xf0, 0x2d, 0x10, 0x27, 0x24, 0x10, 0x07, 0x84, 0xe0, 0x80, 0x38, 0xf0, 0x11, 0x38, 0xf1, 0x29, 0x37, 0x17, 0xbe, 0x05, 0xe2, 0x80, 0x90, 0xb8, 0x21, 0x24, 0x0e, 0x88, 0x03, 0x1f, 0x81, 0x4f,
0x10, 0x7c, 0x01, 0x38, 0xc2, 0x01, 0x75, 0x75, 0xcf, 0x4c, 0x4f, 0x1c, 0x12, 0x27, 0x68, 0xf7, 0xc2, 0x09, 0x89, 0x13, 0x47, 0x38, 0xa0, 0xaa, 0xee, 0x19, 0xf7, 0xd8, 0x79, 0xd9, 0x24, 0xbb,
0xf2, 0x6e, 0x53, 0x3f, 0x57, 0x75, 0xfd, 0xea, 0x4f, 0xd7, 0xd4, 0x24, 0xd0, 0x14, 0xc1, 0xe4, 0xda, 0xcb, 0xbb, 0x4d, 0xfd, 0x5c, 0x5d, 0xf5, 0xab, 0x3f, 0x5d, 0x5d, 0x09, 0xb4, 0x64, 0x30,
0xed, 0x3b, 0xf1, 0xf9, 0x3b, 0xb1, 0x39, 0xe3, 0x51, 0x1c, 0xd9, 0xf5, 0x68, 0x46, 0xd8, 0x5b, 0x3d, 0x79, 0x23, 0x3f, 0x7b, 0x23, 0xb7, 0x66, 0x22, 0x49, 0x13, 0xbb, 0x99, 0xcc, 0x18, 0x3f,
0x3a, 0x7d, 0x2b, 0x82, 0x89, 0xfb, 0x1f, 0x0b, 0x9c, 0x93, 0x79, 0x18, 0xf6, 0x88, 0x10, 0xfe, 0x09, 0xe3, 0x13, 0x19, 0x4c, 0xdd, 0xff, 0x59, 0xe0, 0x1c, 0xcd, 0xa3, 0xa8, 0xcf, 0xa4, 0xf4,
0x98, 0xec, 0x5e, 0x0d, 0xc8, 0xe5, 0x31, 0x15, 0xb1, 0x47, 0xc4, 0xcc, 0x76, 0x60, 0x8d, 0x70, 0x27, 0x6c, 0xe7, 0x72, 0xc8, 0xce, 0x5f, 0x86, 0x32, 0xf5, 0x98, 0x9c, 0xd9, 0x0e, 0xac, 0x31,
0xbe, 0x17, 0x05, 0xc4, 0xb1, 0x5a, 0x56, 0xbb, 0xec, 0x25, 0xa2, 0xfd, 0x1c, 0x2a, 0x84, 0xf3, 0x21, 0x76, 0x93, 0x80, 0x39, 0x56, 0xdb, 0xea, 0x54, 0xbd, 0x4c, 0xb4, 0x1f, 0x43, 0x8d, 0x09,
0x9e, 0x18, 0x3b, 0x85, 0x96, 0xd5, 0xae, 0x79, 0x5a, 0x92, 0xf8, 0xd4, 0x7f, 0x3f, 0x20, 0x97, 0xd1, 0x97, 0x13, 0xa7, 0xd4, 0xb6, 0x3a, 0x0d, 0x4f, 0x4b, 0x88, 0xc7, 0xfe, 0xdb, 0x21, 0x3b,
0x4e, 0xb1, 0x65, 0xb5, 0x8b, 0x9e, 0x96, 0x10, 0xa7, 0x4c, 0xe2, 0x25, 0x8d, 0xa3, 0x64, 0xff, 0x77, 0xca, 0x6d, 0xab, 0x53, 0xf6, 0xb4, 0x44, 0x78, 0xc8, 0x11, 0xaf, 0x68, 0x9c, 0x24, 0xfb,
0x00, 0x1e, 0x09, 0xca, 0xc6, 0x21, 0x39, 0x13, 0x04, 0x8f, 0x2b, 0xb7, 0x8a, 0xed, 0xfa, 0xd6, 0xa7, 0x70, 0x4f, 0x86, 0x7c, 0x12, 0xb1, 0xd7, 0x92, 0x91, 0xb9, 0x6a, 0xbb, 0xdc, 0x69, 0x6e,
0x57, 0x36, 0x0d, 0x8e, 0x9b, 0x87, 0x7e, 0x7c, 0x41, 0xf8, 0x41, 0xc4, 0xa7, 0x7e, 0xec, 0xe5, 0x7f, 0x63, 0xcb, 0xe0, 0xb8, 0x75, 0xe0, 0xa7, 0x67, 0x4c, 0xec, 0x27, 0x22, 0xf6, 0x53, 0xaf,
0xf5, 0xed, 0xef, 0x41, 0x63, 0xcc, 0xa3, 0xf9, 0x2c, 0xb1, 0xaf, 0xdc, 0x65, 0x9f, 0x53, 0x77, 0xa8, 0x6f, 0x7f, 0x01, 0xeb, 0x13, 0x91, 0xcc, 0x67, 0xd9, 0xf9, 0xda, 0xbb, 0xce, 0x17, 0xd4,
0xa7, 0xf0, 0xc9, 0xcd, 0xd1, 0x23, 0xe5, 0xb9, 0x20, 0xfc, 0xa8, 0x8b, 0xb1, 0xd7, 0x3c, 0x2d, 0xdd, 0x18, 0x3e, 0xb9, 0x3a, 0x7a, 0xa2, 0x3c, 0x97, 0x4c, 0x1c, 0xf6, 0x28, 0xf6, 0x86, 0xa7,
0xd9, 0x2d, 0x90, 0x09, 0xe4, 0x7e, 0x4c, 0x23, 0x76, 0xd4, 0xd5, 0xf1, 0x9b, 0x90, 0x4c, 0x9b, 0x25, 0xbb, 0x0d, 0x98, 0x40, 0xe1, 0xa7, 0x61, 0xc2, 0x0f, 0x7b, 0x3a, 0x7e, 0x13, 0xc2, 0xb4,
0x50, 0xe7, 0x38, 0xc5, 0x56, 0xb1, 0x5d, 0xf4, 0x12, 0xd1, 0xfd, 0x19, 0xac, 0x1b, 0xee, 0x6e, 0x49, 0x65, 0xc7, 0x29, 0xb7, 0xcb, 0x9d, 0xb2, 0x97, 0x89, 0xee, 0x6f, 0x60, 0xc3, 0x70, 0x77,
0xf3, 0xf2, 0x02, 0xaa, 0x82, 0x5c, 0xee, 0x92, 0x31, 0x65, 0xe8, 0xa2, 0xe8, 0xa5, 0xb2, 0xb4, 0x9d, 0x97, 0x27, 0x50, 0x97, 0xec, 0x7c, 0x87, 0x4d, 0x42, 0x4e, 0x2e, 0xca, 0x5e, 0x2e, 0xe3,
0x11, 0xe4, 0x72, 0x9f, 0x05, 0x49, 0x92, 0x95, 0x74, 0x9d, 0x59, 0x69, 0x89, 0x99, 0xfb, 0x2f, 0x19, 0xc9, 0xce, 0xf7, 0x78, 0x90, 0x25, 0x59, 0x49, 0xcb, 0xcc, 0x2a, 0x2b, 0xcc, 0xdc, 0xff,
0x0b, 0x9a, 0x39, 0x02, 0x5f, 0x8a, 0x22, 0x3f, 0x05, 0xfb, 0x90, 0xc4, 0x3d, 0xff, 0x7d, 0x87, 0x58, 0xd0, 0x2a, 0x10, 0xf8, 0x5a, 0x14, 0xf9, 0x21, 0xd8, 0x07, 0x2c, 0xed, 0xfb, 0x6f, 0xbb,
0x05, 0x3d, 0xa4, 0xe4, 0x91, 0x4b, 0x77, 0x1f, 0x9e, 0x2c, 0xa1, 0x62, 0x66, 0x04, 0x67, 0xfd, 0x3c, 0xe8, 0x13, 0x25, 0x8f, 0x9d, 0xbb, 0x7b, 0xf0, 0x60, 0x05, 0x95, 0x33, 0x23, 0x38, 0xeb,
0x8f, 0xe0, 0x0a, 0x66, 0x70, 0xee, 0x0f, 0xa1, 0x61, 0xba, 0xb6, 0xd7, 0xa1, 0x40, 0x03, 0x5d, 0x2b, 0x82, 0x2b, 0x99, 0xc1, 0xb9, 0x5f, 0xc2, 0xba, 0xe9, 0xda, 0xde, 0x80, 0x52, 0x18, 0xe8,
0xcc, 0x02, 0x0d, 0xec, 0x36, 0x94, 0x42, 0xd9, 0x09, 0x05, 0xe4, 0xfc, 0x34, 0xc7, 0xb9, 0x27, 0x62, 0x96, 0xc2, 0xc0, 0xee, 0x40, 0x25, 0xc2, 0x4e, 0x28, 0x11, 0xe7, 0x87, 0x05, 0xce, 0x7d,
0xc6, 0x5d, 0x3f, 0xf6, 0x3d, 0xd4, 0x70, 0x2f, 0xa1, 0x29, 0x19, 0x0f, 0x08, 0x0b, 0x7a, 0x62, 0x39, 0xe9, 0xf9, 0xa9, 0xef, 0x91, 0x86, 0x7b, 0x0e, 0x2d, 0x64, 0x3c, 0x64, 0x3c, 0xe8, 0xcb,
0x8c, 0x64, 0x5a, 0x50, 0x1f, 0x10, 0xbe, 0xc0, 0x30, 0xd2, 0x16, 0x31, 0x21, 0xa9, 0xb1, 0x17, 0x09, 0x91, 0x69, 0x43, 0x73, 0xc8, 0xc4, 0x05, 0x85, 0x91, 0xb7, 0x88, 0x09, 0xa1, 0xc6, 0x6e,
0x52, 0xc2, 0x62, 0xa5, 0xa1, 0xbb, 0xd1, 0x80, 0x54, 0x27, 0xb1, 0xe0, 0x94, 0x4e, 0x89, 0xae, 0x14, 0x32, 0x9e, 0x2a, 0x0d, 0xdd, 0x8d, 0x06, 0xa4, 0x3a, 0x89, 0x07, 0xc7, 0x61, 0xcc, 0x74,
0x57, 0x2a, 0xbb, 0x7f, 0x2e, 0xc3, 0x9a, 0x26, 0xa1, 0xba, 0x8a, 0x05, 0x59, 0x27, 0x2a, 0x49, 0xbd, 0x72, 0xd9, 0xfd, 0x7b, 0x15, 0xd6, 0x34, 0x09, 0xd5, 0x55, 0x3c, 0x58, 0x74, 0xa2, 0x92,
0xe2, 0x9c, 0x0c, 0x17, 0xe9, 0xe1, 0x5a, 0x92, 0x7d, 0x83, 0x59, 0x3e, 0xea, 0xe2, 0xb1, 0x35, 0x10, 0x17, 0x6c, 0x74, 0x91, 0x1b, 0xd7, 0x12, 0xf6, 0x0d, 0x65, 0xf9, 0xb0, 0x47, 0x66, 0x1b,
0x2f, 0x11, 0x25, 0xa7, 0xa1, 0xc1, 0x49, 0xf7, 0xa1, 0x01, 0x49, 0x0d, 0x61, 0xc4, 0x55, 0x56, 0x5e, 0x26, 0x22, 0xa7, 0x91, 0xc1, 0x49, 0xf7, 0xa1, 0x01, 0xa1, 0x86, 0x34, 0xe2, 0xaa, 0x2a,
0x1a, 0x06, 0x64, 0x7f, 0x13, 0x36, 0xa4, 0x7f, 0xc2, 0x4f, 0x42, 0x3f, 0x1e, 0x45, 0x7c, 0x7a, 0x0d, 0x03, 0xb2, 0xbf, 0x0b, 0x9b, 0xe8, 0x9f, 0x89, 0xa3, 0xc8, 0x4f, 0xc7, 0x89, 0x88, 0x0f,
0xd4, 0x75, 0x2a, 0xd8, 0x9e, 0x4b, 0xb8, 0xfd, 0x0d, 0x58, 0x57, 0xd8, 0x1b, 0x3a, 0x9c, 0xbc, 0x7b, 0x4e, 0x8d, 0xda, 0x73, 0x05, 0xb7, 0xbf, 0x03, 0x1b, 0x0a, 0x7b, 0x15, 0x8e, 0xa6, 0xaf,
0xf1, 0xa7, 0xc4, 0x59, 0xc3, 0x03, 0xaf, 0xa1, 0xf6, 0xd7, 0xe1, 0x91, 0x42, 0x0e, 0xfc, 0x21, 0xfc, 0x98, 0x39, 0x6b, 0x64, 0x70, 0x09, 0xb5, 0xbf, 0x0d, 0xf7, 0x14, 0xb2, 0xef, 0x8f, 0xd8,
0x39, 0xf3, 0x8e, 0x9d, 0x2a, 0xaa, 0xe5, 0x41, 0xc5, 0x4d, 0x08, 0x1a, 0xb1, 0xd3, 0xab, 0x19, 0x6b, 0xef, 0xa5, 0x53, 0x27, 0xb5, 0x22, 0xa8, 0xb8, 0x49, 0x19, 0x26, 0xfc, 0xf8, 0x72, 0xc6,
0x71, 0x6a, 0xe8, 0xd4, 0x84, 0x64, 0xe4, 0x53, 0x31, 0x3e, 0xe0, 0xd1, 0xd4, 0x01, 0x75, 0x63, 0x9c, 0x06, 0x39, 0x35, 0x21, 0x8c, 0x3c, 0x96, 0x93, 0x7d, 0x91, 0xc4, 0x0e, 0xa8, 0x1b, 0xa3,
0xb4, 0x88, 0x91, 0x47, 0x2c, 0x26, 0x2c, 0x46, 0xdb, 0xba, 0xb2, 0x35, 0x20, 0x69, 0xab, 0x45, 0x45, 0x8a, 0x3c, 0xe1, 0x29, 0xe3, 0x29, 0x9d, 0x6d, 0xaa, 0xb3, 0x06, 0x84, 0x67, 0xb5, 0xe8,
0xa7, 0xd1, 0xb2, 0xda, 0x0d, 0x2f, 0x11, 0xed, 0x4f, 0xa1, 0x36, 0x8a, 0xf8, 0x90, 0xe0, 0xdc, 0xac, 0xb7, 0xad, 0xce, 0xba, 0x97, 0x89, 0xf6, 0xa7, 0xd0, 0x18, 0x27, 0x62, 0xc4, 0x68, 0x6e,
0x78, 0xd4, 0x2a, 0xb6, 0x6b, 0x5e, 0x06, 0xd8, 0x1b, 0x50, 0x14, 0xe4, 0xd2, 0x59, 0xc7, 0x02, 0xdc, 0x6b, 0x97, 0x3b, 0x0d, 0x6f, 0x01, 0xd8, 0x9b, 0x50, 0x96, 0xec, 0xdc, 0xd9, 0xa0, 0x02,
0xca, 0xc7, 0x5c, 0x5d, 0x9b, 0xf9, 0xba, 0xda, 0x2f, 0x01, 0x86, 0x9c, 0xf8, 0x31, 0xc1, 0x5f, 0xe2, 0x67, 0xa1, 0xae, 0xad, 0x62, 0x5d, 0xed, 0xa7, 0x00, 0x23, 0xc1, 0xfc, 0x94, 0xd1, 0xaf,
0x37, 0xf0, 0x57, 0x03, 0xb1, 0xbf, 0x0b, 0x6b, 0xfd, 0x99, 0x9c, 0x09, 0xc2, 0x79, 0x8c, 0x7d, 0x9b, 0xf4, 0xab, 0x81, 0xd8, 0x3f, 0x86, 0xb5, 0xc1, 0x0c, 0x67, 0x82, 0x74, 0xee, 0x53, 0x5f,
0xf9, 0xb5, 0x9b, 0xfa, 0x72, 0x53, 0xeb, 0xec, 0xb3, 0x98, 0x5f, 0x79, 0x89, 0x85, 0x7d, 0x00, 0x7e, 0xeb, 0xaa, 0xbe, 0xdc, 0xd2, 0x3a, 0x7b, 0x3c, 0x15, 0x97, 0x5e, 0x76, 0xc2, 0xde, 0x87,
0xcd, 0x68, 0x34, 0x0a, 0x29, 0x23, 0x27, 0x73, 0x71, 0x71, 0xc4, 0x46, 0x91, 0x63, 0xb7, 0xac, 0x56, 0x32, 0x1e, 0x47, 0x21, 0x67, 0x47, 0x73, 0x79, 0x76, 0xc8, 0xc7, 0x89, 0x63, 0xb7, 0xad,
0x76, 0x7d, 0xeb, 0xd3, 0xdc, 0x21, 0xfd, 0xbc, 0x8e, 0x77, 0xdd, 0xe8, 0xc5, 0x2b, 0x68, 0x98, 0x4e, 0x73, 0xfb, 0xd3, 0x82, 0x91, 0x41, 0x51, 0xc7, 0x5b, 0x3e, 0xf4, 0xe4, 0x39, 0xac, 0x9b,
0x0e, 0x64, 0x88, 0x13, 0x72, 0xa5, 0xbb, 0x4f, 0x3e, 0xda, 0x4f, 0xa1, 0xbc, 0xf0, 0xc3, 0x39, 0x0e, 0x30, 0xc4, 0x29, 0xbb, 0xd4, 0xdd, 0x87, 0x9f, 0xf6, 0x43, 0xa8, 0x5e, 0xf8, 0xd1, 0x9c,
0xc1, 0xce, 0xab, 0x7a, 0x4a, 0x78, 0x55, 0xf8, 0xc2, 0x72, 0x7f, 0x61, 0x41, 0xf3, 0x9a, 0x03, 0x51, 0xe7, 0xd5, 0x3d, 0x25, 0x3c, 0x2f, 0x7d, 0x6e, 0xb9, 0xbf, 0xb3, 0xa0, 0xb5, 0xe4, 0x00,
0xa9, 0x7d, 0x4a, 0xe3, 0x90, 0xe8, 0x13, 0x94, 0x60, 0xdb, 0x50, 0xea, 0x12, 0x31, 0xd4, 0xcd, 0xb5, 0x8f, 0xc3, 0x34, 0x62, 0xda, 0x82, 0x12, 0x6c, 0x1b, 0x2a, 0x3d, 0x26, 0x47, 0xba, 0x79,
0x8b, 0xcf, 0xd2, 0xd3, 0xfe, 0xfb, 0x58, 0xb7, 0xad, 0x7c, 0xb4, 0x5d, 0x68, 0xd0, 0xfe, 0x40, 0xe9, 0x1b, 0x3d, 0xed, 0xbd, 0x4d, 0x75, 0xdb, 0xe2, 0xa7, 0xed, 0xc2, 0x7a, 0x38, 0x18, 0xa2,
0x1e, 0x35, 0x88, 0xe6, 0x2c, 0xd0, 0x3d, 0x9b, 0xc3, 0x64, 0xfb, 0xd0, 0xfe, 0x60, 0xd7, 0x0f, 0xa9, 0x61, 0x32, 0xe7, 0x81, 0xee, 0xd9, 0x02, 0x86, 0xed, 0x13, 0x0e, 0x86, 0x3b, 0x7e, 0x30,
0xc6, 0x64, 0x2f, 0x9a, 0xb3, 0x18, 0xdb, 0xb6, 0xea, 0xe5, 0x41, 0xf7, 0x0f, 0x05, 0xa8, 0x1d, 0x61, 0xbb, 0xc9, 0x9c, 0xa7, 0xd4, 0xb6, 0x75, 0xaf, 0x08, 0xba, 0x7f, 0x29, 0x41, 0xe3, 0x80,
0xe2, 0x45, 0x90, 0x9c, 0x1c, 0x58, 0x3b, 0xd4, 0x97, 0x44, 0xb1, 0x4a, 0x44, 0x59, 0x6e, 0x7c, 0x2e, 0x02, 0x72, 0x72, 0x60, 0xed, 0x40, 0x5f, 0x12, 0xc5, 0x2a, 0x13, 0xb1, 0xdc, 0xf4, 0x49,
0xc4, 0x7e, 0x55, 0xe4, 0x32, 0x40, 0xf2, 0x79, 0x13, 0xc5, 0x74, 0x44, 0x87, 0x38, 0xba, 0x35, 0xfd, 0xaa, 0xc8, 0x2d, 0x00, 0xe4, 0xf3, 0x2a, 0x49, 0xc3, 0x71, 0x38, 0xa2, 0xd1, 0xad, 0xa9,
0xd5, 0x1c, 0x26, 0x75, 0x8e, 0x58, 0xcc, 0xa3, 0x60, 0x3e, 0x44, 0x1d, 0xcd, 0xd9, 0xc4, 0xa4, 0x16, 0x30, 0xd4, 0x39, 0xe4, 0xa9, 0x48, 0x82, 0xf9, 0x88, 0x74, 0x34, 0x67, 0x13, 0x43, 0xff,
0x7f, 0xec, 0x6b, 0x1e, 0xea, 0x4b, 0x96, 0x88, 0xf6, 0xb7, 0xa0, 0xdc, 0x7f, 0xc7, 0x08, 0xc7, 0xd4, 0xd7, 0x22, 0xd2, 0x97, 0x2c, 0x13, 0xed, 0x1f, 0x40, 0x75, 0xf0, 0x86, 0x33, 0x41, 0xb7,
0x5b, 0x55, 0xdf, 0xfa, 0x6a, 0xae, 0x76, 0x27, 0xf3, 0xf3, 0x90, 0x0e, 0xe5, 0x34, 0xc2, 0xd2, 0xaa, 0xb9, 0xfd, 0xcd, 0x42, 0xed, 0x8e, 0xe6, 0xa7, 0x51, 0x38, 0xc2, 0x69, 0x44, 0xa5, 0x53,
0x29, 0x4d, 0xd9, 0x55, 0x7b, 0x59, 0x57, 0xc9, 0x3b, 0x56, 0xf2, 0x0c, 0x44, 0x76, 0x7f, 0x8f, 0x9a, 0xd8, 0x55, 0xbb, 0x8b, 0xae, 0xc2, 0x3b, 0x56, 0xf1, 0x0c, 0x04, 0xbb, 0xbf, 0xcf, 0xe2,
0x4c, 0xcf, 0x09, 0x57, 0xe9, 0x91, 0xb7, 0xeb, 0x91, 0x67, 0x42, 0x49, 0xe2, 0x6b, 0x69, 0xe2, 0x53, 0x26, 0x54, 0x7a, 0xf0, 0x76, 0xdd, 0xf3, 0x4c, 0x28, 0x4b, 0x7c, 0x23, 0x4f, 0xbc, 0xfb,
0xdd, 0x9f, 0x17, 0xe0, 0x09, 0x86, 0xad, 0xd4, 0x0e, 0xe6, 0x61, 0x78, 0x47, 0xe2, 0x9e, 0x43, 0xdb, 0x12, 0x3c, 0xa0, 0xb0, 0x95, 0xda, 0xfe, 0x3c, 0x8a, 0xde, 0x91, 0xb8, 0xc7, 0x50, 0x7b,
0xe5, 0x4c, 0xbd, 0x31, 0xf5, 0x3c, 0x52, 0x92, 0xbd, 0x09, 0x76, 0x27, 0x98, 0x52, 0x46, 0x45, 0xad, 0x5e, 0x4c, 0x3d, 0x8f, 0x94, 0x64, 0x6f, 0x81, 0xdd, 0x0d, 0xe2, 0x90, 0x87, 0x32, 0x15,
0xcc, 0xfd, 0x38, 0xe2, 0xc7, 0x64, 0x41, 0x42, 0x4c, 0x5c, 0xd9, 0xbb, 0xe1, 0x17, 0x79, 0x7f, 0x7e, 0x9a, 0x88, 0x97, 0xec, 0x82, 0x45, 0x94, 0xb8, 0xaa, 0x77, 0xc5, 0x2f, 0x78, 0x7f, 0x5e,
0x7e, 0x14, 0x51, 0x86, 0xb1, 0x94, 0x30, 0x96, 0x54, 0x96, 0xbf, 0xa5, 0xb3, 0x44, 0xe5, 0x2d, 0x24, 0x21, 0xa7, 0x58, 0x2a, 0x14, 0x4b, 0x2e, 0xe3, 0x6f, 0xf9, 0x2c, 0x51, 0x79, 0xcb, 0x65,
0x95, 0xcd, 0x94, 0x56, 0xf2, 0x29, 0x75, 0xa1, 0x71, 0xc0, 0x29, 0x61, 0x81, 0x47, 0xa6, 0x3e, 0x33, 0xa5, 0xb5, 0x62, 0x4a, 0x5d, 0x58, 0xdf, 0x17, 0x21, 0xe3, 0x81, 0xc7, 0x62, 0x5f, 0x4c,
0x9f, 0xe8, 0x29, 0x94, 0xc3, 0xe4, 0xac, 0xea, 0xcc, 0x66, 0x3d, 0x9f, 0x8d, 0x89, 0x66, 0x58, 0xf5, 0x14, 0x2a, 0x60, 0x38, 0xab, 0xba, 0xb3, 0x59, 0xdf, 0xe7, 0x13, 0xa6, 0x19, 0xd6, 0x89,
0x45, 0x86, 0xd7, 0x50, 0xf7, 0x2f, 0x16, 0x54, 0x93, 0xfc, 0x1b, 0x21, 0x5b, 0xb9, 0x90, 0x35, 0xe1, 0x12, 0xea, 0xfe, 0xc3, 0x82, 0x7a, 0x96, 0x7f, 0x23, 0x64, 0xab, 0x10, 0xb2, 0xa6, 0xc9,
0x4d, 0x96, 0xb5, 0x50, 0x2a, 0x9b, 0x34, 0x8b, 0x79, 0x9a, 0xcf, 0xa1, 0x72, 0x88, 0x13, 0x0f, 0x17, 0x2d, 0x94, 0xcb, 0x26, 0xcd, 0x72, 0x91, 0xe6, 0x63, 0xa8, 0x1d, 0xd0, 0xc4, 0xa3, 0xb0,
0xc3, 0x2e, 0x7b, 0x5a, 0x92, 0x78, 0x2f, 0x3a, 0xa7, 0x61, 0x12, 0xb2, 0x96, 0xe4, 0xbd, 0xda, 0xab, 0x9e, 0x96, 0x10, 0xef, 0x27, 0xa7, 0x61, 0x94, 0x85, 0xac, 0x25, 0xbc, 0x57, 0x3b, 0xa1,
0xa5, 0x3c, 0xbe, 0xd0, 0xe1, 0x2a, 0x41, 0xa2, 0xfb, 0x53, 0x9f, 0x86, 0x3a, 0x4a, 0x25, 0x24, 0x48, 0xcf, 0x74, 0xb8, 0x4a, 0x40, 0x74, 0x2f, 0xf6, 0xc3, 0x48, 0x47, 0xa9, 0x84, 0xac, 0xc0,
0x05, 0xae, 0x66, 0x05, 0x5e, 0xc8, 0x95, 0xc7, 0xec, 0xa6, 0x8f, 0x13, 0x8d, 0xdb, 0x85, 0xea, 0xf5, 0x45, 0x81, 0x2f, 0x70, 0xe5, 0x31, 0xbb, 0xe9, 0xe3, 0x44, 0xe3, 0xf6, 0xa0, 0x7e, 0x1c,
0x29, 0x9d, 0x89, 0xbd, 0x68, 0x3a, 0x95, 0x3a, 0x5d, 0x12, 0x4b, 0xb2, 0x16, 0xce, 0x5c, 0x2d, 0xce, 0xe4, 0x6e, 0x12, 0xc7, 0xa8, 0xd3, 0x63, 0x29, 0x92, 0xb5, 0x68, 0xe6, 0x6a, 0x09, 0x1b,
0xc9, 0x86, 0xed, 0x92, 0x91, 0x3f, 0x0f, 0x63, 0xa9, 0x9a, 0xbc, 0x3c, 0x0d, 0xc8, 0xfd, 0x9d, 0xb6, 0xc7, 0xc6, 0xfe, 0x3c, 0x4a, 0x51, 0x35, 0x7b, 0x3c, 0x0d, 0xc8, 0xfd, 0xb3, 0x05, 0x2d,
0x05, 0x4d, 0xd5, 0x99, 0xfb, 0x2c, 0x26, 0x5c, 0x62, 0xf6, 0x67, 0x50, 0xc6, 0x5e, 0xc4, 0xc3, 0xd5, 0x99, 0x7b, 0x3c, 0x65, 0x02, 0x31, 0xfb, 0x7b, 0x50, 0xa5, 0x5e, 0x24, 0x63, 0xcd, 0xed,
0xea, 0x5b, 0xcf, 0xf3, 0x6b, 0x48, 0x72, 0xf5, 0x3d, 0xa5, 0x64, 0xef, 0x42, 0x5d, 0x8e, 0x37, 0xc7, 0xc5, 0x35, 0x24, 0xbb, 0xfa, 0x9e, 0x52, 0xb2, 0x77, 0xa0, 0x89, 0xe3, 0xcd, 0xe7, 0x29,
0x9f, 0xc5, 0x32, 0x4c, 0xf4, 0x51, 0xdf, 0x6a, 0x2d, 0xdb, 0xe4, 0xfb, 0xdf, 0x33, 0x8d, 0xe4, 0x86, 0x49, 0x3e, 0x9a, 0xdb, 0xed, 0xd5, 0x33, 0xc5, 0xfe, 0xf7, 0xcc, 0x43, 0x38, 0x79, 0x06,
0xe4, 0xe9, 0x27, 0x5b, 0x5c, 0xfa, 0x1e, 0x2f, 0x79, 0x79, 0xd0, 0xfd, 0x6d, 0xca, 0xf5, 0x98, 0xd9, 0x16, 0x97, 0xbf, 0xe3, 0x15, 0xaf, 0x08, 0xba, 0x7f, 0xca, 0xb9, 0xbe, 0x64, 0xfe, 0x05,
0xf8, 0x0b, 0xf2, 0x00, 0xae, 0xaf, 0x01, 0xd0, 0x94, 0xdf, 0x8b, 0xaa, 0x61, 0xb3, 0x22, 0xd3, 0xbb, 0x03, 0xd7, 0x9f, 0x01, 0xd0, 0x51, 0x71, 0x2b, 0xaa, 0xc6, 0x99, 0x1b, 0x32, 0xfd, 0xb7,
0x7f, 0x58, 0xf0, 0x58, 0x1d, 0x72, 0xc4, 0x16, 0x34, 0x26, 0xc1, 0x03, 0xb8, 0x7e, 0x01, 0x95, 0x05, 0xf7, 0x95, 0x91, 0x43, 0x7e, 0x11, 0xa6, 0x2c, 0xb8, 0x03, 0xd7, 0xcf, 0xa1, 0x36, 0x98,
0xfe, 0xec, 0x5e, 0x3c, 0xb5, 0xbe, 0xac, 0x88, 0x76, 0x8b, 0xe6, 0xc5, 0x55, 0x2b, 0x62, 0x18, 0xdd, 0x8a, 0xa7, 0xd6, 0xb7, 0x5f, 0x40, 0x4b, 0xbb, 0x45, 0x31, 0x5f, 0xd3, 0x6f, 0x62, 0x62,
0x2d, 0xc7, 0x59, 0xba, 0x29, 0xce, 0xbf, 0x59, 0xb0, 0xa1, 0x4e, 0xf9, 0x31, 0x1d, 0x4e, 0x3e, 0xf9, 0xe0, 0x6a, 0xbc, 0x95, 0xab, 0xe2, 0xfd, 0x97, 0x05, 0x9b, 0xca, 0xd2, 0xcf, 0xc3, 0xd1,
0x72, 0x98, 0xaf, 0x01, 0x94, 0xd7, 0x7b, 0x45, 0x69, 0xd8, 0xac, 0x18, 0xe4, 0xbf, 0x2d, 0x78, 0xf4, 0x23, 0x87, 0xfb, 0x25, 0x6c, 0x28, 0xaf, 0xb7, 0x8e, 0x76, 0xe9, 0xdc, 0x0d, 0x83, 0xfd,
0x96, 0x14, 0x73, 0x14, 0xed, 0x5d, 0xc8, 0x21, 0xa6, 0x22, 0x95, 0xef, 0x0b, 0x14, 0x71, 0x19, 0xaf, 0x05, 0x8f, 0xb2, 0xe2, 0x8e, 0x93, 0xdd, 0x33, 0x1c, 0x6a, 0x2a, 0x62, 0x7c, 0x3f, 0x48,
0x52, 0x1f, 0x17, 0x06, 0xf2, 0x7f, 0xc4, 0xf6, 0x7d, 0xa8, 0x1d, 0x50, 0xe6, 0x23, 0xb8, 0x72, 0xa4, 0xe5, 0x48, 0xfd, 0xb1, 0x61, 0x20, 0xef, 0x11, 0xe3, 0x4f, 0xa0, 0xb1, 0x1f, 0x72, 0x9f,
0x68, 0x99, 0x89, 0x1c, 0x35, 0xbd, 0xb9, 0x7e, 0x8f, 0xe9, 0xd9, 0x9f, 0xc8, 0x59, 0x7d, 0xca, 0x40, 0x6a, 0xb9, 0x9b, 0x1c, 0x5e, 0x1c, 0xc1, 0xd1, 0xd3, 0x9f, 0xeb, 0x77, 0x4d, 0xbf, 0x05,
0x2b, 0xd4, 0xc7, 0xfd, 0xbb, 0x05, 0x1b, 0xf8, 0xa4, 0xde, 0x83, 0x0f, 0x29, 0xf1, 0x2b, 0x58, 0x99, 0xbc, 0xa8, 0x53, 0xf5, 0x06, 0x75, 0x72, 0xff, 0x69, 0xc1, 0x26, 0x7d, 0xa9, 0x77, 0xf1,
0x43, 0xe3, 0x68, 0xf5, 0x3c, 0x24, 0x06, 0xb2, 0xc8, 0xfa, 0xca, 0x27, 0x5f, 0x9b, 0x2b, 0x15, 0x2e, 0xa5, 0x7e, 0x0e, 0x6b, 0x74, 0x38, 0xb9, 0x79, 0x1e, 0xb2, 0x03, 0x78, 0x83, 0xf5, 0x08,
0x39, 0xb3, 0x59, 0xb1, 0xc8, 0xbf, 0xb2, 0xe0, 0x69, 0x4a, 0xdc, 0xac, 0xb1, 0xfc, 0xfe, 0xd0, 0xb8, 0x4d, 0xa1, 0x8d, 0x33, 0x37, 0x2c, 0xf2, 0x1f, 0x2d, 0x78, 0x98, 0x13, 0x37, 0x6b, 0x8c,
0x62, 0x56, 0x64, 0x13, 0xca, 0x92, 0x51, 0xb8, 0x5f, 0xbf, 0x17, 0xef, 0xd7, 0x13, 0xee, 0x2f, 0x7f, 0x8f, 0x68, 0x71, 0x51, 0x64, 0x13, 0x5a, 0x24, 0xa3, 0x74, 0xbb, 0xbe, 0x2f, 0xdf, 0xae,
0x2d, 0x78, 0xe1, 0x91, 0x21, 0xa1, 0x0b, 0x22, 0xdf, 0xe3, 0x9d, 0xd9, 0x2c, 0xd4, 0x9b, 0xd2, 0x27, 0xdc, 0xdf, 0x5b, 0xe0, 0xe0, 0x83, 0x4e, 0x3a, 0xdd, 0xd9, 0x2c, 0xd2, 0x7b, 0xd3, 0x1d,
0x03, 0x6a, 0xb2, 0x03, 0x35, 0x7d, 0x00, 0x8b, 0x35, 0xf1, 0x5b, 0x37, 0xa4, 0x4c, 0x5b, 0xbe, 0x2a, 0xf2, 0x23, 0x68, 0x68, 0x03, 0x3c, 0xd5, 0xb4, 0xaf, 0xdd, 0x97, 0x16, 0xda, 0xf8, 0xf4,
0x6c, 0x3c, 0xe2, 0x8b, 0x74, 0x69, 0xd3, 0x92, 0xfb, 0x27, 0x0b, 0x1c, 0x83, 0xd4, 0x09, 0x8f, 0x78, 0xcc, 0x97, 0xf9, 0x0a, 0xa7, 0x25, 0xf7, 0x6f, 0x16, 0x38, 0x06, 0xa9, 0x23, 0x91, 0x8c,
0x86, 0x44, 0x88, 0x8f, 0x3c, 0x14, 0x90, 0x9c, 0x98, 0x87, 0xb1, 0x5e, 0x8c, 0xb4, 0x64, 0x90, 0x98, 0x94, 0x1f, 0x79, 0x34, 0x10, 0x39, 0x39, 0x8f, 0x52, 0xbd, 0x26, 0x69, 0xc9, 0x20, 0x5d,
0x2e, 0xe5, 0x48, 0xff, 0xd1, 0x02, 0x50, 0xfb, 0x0b, 0xde, 0x9b, 0x6d, 0xa8, 0xe1, 0x2a, 0x88, 0x29, 0x90, 0xfe, 0xab, 0x05, 0xa0, 0xb6, 0x19, 0xba, 0x35, 0xcf, 0xa0, 0x41, 0x8b, 0x21, 0xf9,
0xbe, 0x15, 0xd5, 0x67, 0x39, 0xdf, 0x59, 0x42, 0x52, 0x3d, 0x75, 0x36, 0x2e, 0x44, 0x85, 0xe4, 0x56, 0x54, 0x1f, 0x15, 0x7c, 0x2f, 0x12, 0x92, 0xeb, 0x29, 0xdb, 0xb4, 0x1e, 0x95, 0x32, 0xdb,
0x6c, 0x5c, 0x85, 0xf2, 0xeb, 0x64, 0x71, 0x69, 0x9d, 0xfc, 0x76, 0xe2, 0x1a, 0xbd, 0x95, 0x6e, 0xb4, 0x18, 0x15, 0x97, 0xcb, 0xf2, 0xca, 0x72, 0xf9, 0xc3, 0xcc, 0x35, 0x79, 0xab, 0x5c, 0xe7,
0xf3, 0x66, 0x28, 0xba, 0x13, 0x78, 0xac, 0x24, 0x23, 0xd9, 0x72, 0x7f, 0xe8, 0x04, 0xea, 0x5b, 0xcd, 0x50, 0x74, 0xa7, 0x70, 0x5f, 0x49, 0x46, 0xb2, 0x71, 0x9b, 0xe8, 0x06, 0xea, 0x2f, 0x27,
0xc9, 0x42, 0x47, 0x89, 0x28, 0xf7, 0xf0, 0x4e, 0x10, 0x0c, 0xa2, 0x39, 0x1f, 0xa6, 0x7b, 0x78, 0x8b, 0x1c, 0x65, 0x22, 0x6e, 0xe5, 0xdd, 0x20, 0x18, 0x26, 0x73, 0x31, 0xca, 0xb7, 0xf2, 0x1c,
0x0a, 0x48, 0x8e, 0x9d, 0x20, 0xf8, 0x49, 0xc4, 0x03, 0xca, 0xc6, 0xba, 0xa0, 0x06, 0xe2, 0xfe, 0x40, 0x8e, 0xdd, 0x20, 0xf8, 0x55, 0x22, 0x82, 0x90, 0x4f, 0x74, 0x41, 0x0d, 0xc4, 0x7d, 0x81,
0xd3, 0x82, 0x17, 0x4b, 0xde, 0x3a, 0x41, 0xa0, 0xcb, 0xba, 0x9d, 0x16, 0xca, 0xba, 0xbb, 0x87, 0x0b, 0x60, 0x12, 0x1f, 0x27, 0x7a, 0xa3, 0x79, 0x8a, 0x9c, 0x93, 0xb8, 0xb0, 0xed, 0x18, 0x08,
0xb2, 0xc1, 0x5d, 0x37, 0x0e, 0xd3, 0x25, 0x7e, 0x99, 0xb3, 0x5c, 0x72, 0xe9, 0x99, 0x26, 0xf6, 0x8e, 0x9d, 0x4c, 0x37, 0xdb, 0x78, 0x32, 0xd9, 0xfd, 0x35, 0x3c, 0x59, 0x21, 0xde, 0x0d, 0x02,
0x77, 0xa0, 0xda, 0x9f, 0xe5, 0x06, 0xff, 0xad, 0x8e, 0x53, 0xe5, 0x15, 0x87, 0xc1, 0x5f, 0x2d, 0xdd, 0x21, 0x5f, 0x14, 0x3d, 0xe9, 0xec, 0x17, 0xff, 0x23, 0x62, 0x2a, 0x78, 0x05, 0x75, 0xf7,
0x78, 0xb9, 0xc4, 0x20, 0xdf, 0xcf, 0x0f, 0x0a, 0xdc, 0xa4, 0x5d, 0xb8, 0x0f, 0x6d, 0xfc, 0x13, 0x04, 0x9e, 0xae, 0x18, 0x2f, 0xb6, 0xe0, 0x7b, 0x3a, 0xf8, 0x83, 0x05, 0x2d, 0xed, 0x21, 0xe7,
0x85, 0xd9, 0xd5, 0x4a, 0x5a, 0x31, 0x9c, 0x0b, 0x68, 0xea, 0x68, 0xd2, 0xba, 0x7d, 0x0e, 0x15, 0xfc, 0x19, 0xd4, 0x14, 0xa4, 0x8d, 0x7d, 0xb2, 0x64, 0x2c, 0xeb, 0x2b, 0x4f, 0xab, 0xad, 0x8e,
0x05, 0x69, 0xfa, 0x9f, 0xdc, 0x90, 0x7d, 0x45, 0x5d, 0x3d, 0x2f, 0x7b, 0x2a, 0xdc, 0xe4, 0xe9, 0xa2, 0xd2, 0x15, 0xa3, 0xc8, 0x7e, 0xb6, 0x34, 0x21, 0xae, 0xbd, 0x99, 0xd9, 0x70, 0xf0, 0xb2,
0xa7, 0x49, 0x6b, 0x76, 0x49, 0x48, 0xe2, 0x0f, 0xeb, 0xeb, 0xd7, 0x16, 0xd4, 0x76, 0x43, 0x7f, 0xb6, 0xe8, 0xb1, 0x88, 0xa5, 0x1f, 0x26, 0xe6, 0x01, 0x6c, 0xec, 0x44, 0xfe, 0x68, 0xfa, 0xc1,
0x38, 0xc1, 0x8b, 0xbb, 0xb3, 0x7c, 0x71, 0x6f, 0x9f, 0x67, 0xd9, 0xf5, 0xbd, 0xeb, 0x9a, 0xee, 0xaa, 0xf4, 0x0b, 0xd8, 0x24, 0x83, 0x1f, 0x90, 0xe3, 0x2f, 0xe1, 0xd1, 0x22, 0xd1, 0xe6, 0xdc,
0x68, 0x3f, 0xc6, 0x2d, 0xbd, 0xfd, 0xe8, 0x54, 0xdb, 0x0d, 0x60, 0x1d, 0x85, 0x2c, 0xf1, 0x9f, 0x7e, 0x4f, 0xbb, 0xdf, 0x87, 0x07, 0x43, 0x16, 0x8d, 0xd1, 0xea, 0xeb, 0x59, 0x90, 0x3f, 0x7c,
0x41, 0x19, 0x91, 0x1b, 0xe7, 0x60, 0x1a, 0x8e, 0xa7, 0x94, 0x56, 0xcc, 0xc4, 0x08, 0x36, 0x50, 0x5f, 0xb1, 0xea, 0x9f, 0xd6, 0xe8, 0x3f, 0xd1, 0xcf, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x45,
0xdd, 0x4c, 0xfa, 0x87, 0xf0, 0xf3, 0x1b, 0x0b, 0x9e, 0x65, 0xe5, 0x32, 0x5f, 0x92, 0xf7, 0x2e, 0x62, 0x8c, 0xef, 0x9c, 0x16, 0x00, 0x00,
0xf1, 0xf6, 0xb5, 0x01, 0xbf, 0xd2, 0xf5, 0x59, 0x6d, 0xf7, 0xfe, 0xbd, 0x05, 0x4f, 0x06, 0x24,
0x1c, 0x49, 0xd3, 0xb3, 0x59, 0x90, 0xee, 0x2c, 0x3b, 0xd0, 0x90, 0x70, 0x72, 0xea, 0xed, 0xd3,
0x3d, 0xa7, 0xfa, 0x01, 0xd9, 0x9e, 0x57, 0xf0, 0x5f, 0x16, 0xdb, 0xff, 0x0d, 0x00, 0x00, 0xff,
0xff, 0x73, 0x31, 0x8b, 0x68, 0xc5, 0x18, 0x00, 0x00,
} }

@ -164,7 +164,6 @@ message MemberEnterTips{
uint64 OperationTime = 3; uint64 OperationTime = 3;
} }
//Actively leave the group //Actively leave the group
message MemberLeaveTips{ message MemberLeaveTips{
GroupInfo Group = 1; GroupInfo Group = 1;
@ -175,20 +174,19 @@ message MemberLeaveTips{
message MemberInvitedTips{ message MemberInvitedTips{
GroupInfo Group = 1; GroupInfo Group = 1;
GroupMemberFullInfo OpUser = 2; GroupMemberFullInfo OpUser = 2;
GroupMemberFullInfo InvitedUser = 3; repeated GroupMemberFullInfo InvitedUserList = 3;
uint64 OperationTime = 4; uint64 OperationTime = 4;
} }
message MemberKickedTips{ message MemberKickedTips{
GroupInfo Group = 1; GroupInfo Group = 1;
GroupMemberFullInfo OpUser = 2; GroupMemberFullInfo OpUser = 2;
GroupMemberFullInfo KickedUser = 3; repeated GroupMemberFullInfo KickedUserList = 3;
uint64 OperationTime = 4; uint64 OperationTime = 4;
} }
message MemberInfoChangedTips{ message MemberInfoChangedTips{
int32 ChangeType = 1; //1:info changed; 2:mute int32 ChangeType = 1; ///bitwise operators 0001:member info changed; 0010:mute ;
GroupMemberFullInfo OpUser = 2; //who do this GroupMemberFullInfo OpUser = 2; //who do this
GroupMemberFullInfo FinalInfo = 3; // GroupMemberFullInfo FinalInfo = 3; //
uint64 MuteTime = 4; uint64 MuteTime = 4;
@ -203,12 +201,12 @@ message GroupCreatedTips{
} }
message GroupInfoChangedTips{ message GroupInfoChangedTips{
int32 ChangedType = 1; //bitwise operators: 1:groupName; 10:Notification 100:Introduction; 1000:FaceUrl int32 ChangedType = 1; //bitwise operators: 0001:groupName; 0010:Notification 0100:Introduction; 1000:FaceUrl
GroupInfo Group = 2; GroupInfo Group = 2;
GroupMemberFullInfo OpUser = 3; GroupMemberFullInfo OpUser = 3;
} }
message ReceiveJoinApplicationTips{ message JoinGroupApplicationTips{
GroupInfo Group = 1; GroupInfo Group = 1;
PublicUserInfo Applicant = 2; PublicUserInfo Applicant = 2;
string Reason = 3; string Reason = 3;
@ -235,56 +233,52 @@ message FriendApplication{
string AddWording = 3; string AddWording = 3;
} }
//user1 add user2 message FromToUserID{
string FromUserID = 1;
string ToUserID = 2;
}
//FromUserID apply to add ToUserID
message FriendApplicationAddedTips{ message FriendApplicationAddedTips{
PublicUserInfo OpUser = 1; //user1 FromToUserID FromToUserID = 1;
FriendApplication Application = 2;
PublicUserInfo OpedUser = 3; //user2
uint64 OperationTime = 4;
} }
// user2 accept or reject //FromUserID accept or reject ToUserID
message FriendApplicationProcessedTips{ message FriendApplicationProcessedTips{
PublicUserInfo OpUser = 1; //user2 FromToUserID FromToUserID = 1;
PublicUserInfo OpedUser = 2; //user1
int32 result = 3; //1: accept; -1: reject
uint64 OperationTime = 4;
} }
// FromUserID Added a friend ToUserID
message FriendAddedTips{ message FriendAddedTips{
FriendInfo Friend = 1; FriendInfo Friend = 1;
uint64 OperationTime = 2; uint64 OperationTime = 2;
PublicUserInfo OpUser = 3; //who do this
} }
// FromUserID deleted a friend ToUserID
message FriendDeletedTips{ message FriendDeletedTips{
FriendInfo Friend = 1; FromToUserID FromToUserID = 1;
uint64 OperationTime = 2;
} }
message BlackInfo{ //message BlackInfo{
PublicUserInfo OwnerUser = 1; // PublicUserInfo OwnerUser = 1;
uint64 CreateTime = 3; // uint64 CreateTime = 3;
PublicUserInfo BlackUser = 4; // PublicUserInfo BlackUser = 4;
} //}
message BlackAddedTips{ message BlackAddedTips{
BlackInfo Black = 1; FromToUserID FromToUserID = 1;
uint64 OperationTime = 2;
} }
message BlackDeletedTips{ message BlackDeletedTips{
BlackInfo Black = 1; FromToUserID FromToUserID = 1;
uint64 OperationTime = 2;
} }
message FriendInfoChangedTips{ message FriendInfoChangedTips{
FriendInfo Friend = 1; FromToUserID FromToUserID = 1;
PublicUserInfo OpUser = 2;
uint64 OperationTime = 3;
} }
//////////////////////user///////////////////// //////////////////////user/////////////////////
message SelfInfoUpdatedTips{ message SelfInfoUpdatedTips{
UserInfo SelfUserInfo = 1; string UserID = 1;
PublicUserInfo OpUser = 2;
uint64 OperationTime = 3;
} }

Loading…
Cancel
Save