mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 19:17:38 +08:00
Merge branch 'master' of github.com:/Mrs4s/MiraiGo
This commit is contained in:
commit
4c60c8ee47
@ -14,8 +14,8 @@ var bufferPool = sync.Pool{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewWriter 从池中取出一个 Writer
|
// SelectWriter 从池中取出一个 Writer
|
||||||
func NewWriter() *Writer {
|
func SelectWriter() *Writer {
|
||||||
w := bufferPool.Get().(*Writer)
|
w := bufferPool.Get().(*Writer)
|
||||||
if w == nil {
|
if w == nil {
|
||||||
return new(Writer)
|
return new(Writer)
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
type Writer bytes.Buffer
|
type Writer bytes.Buffer
|
||||||
|
|
||||||
func NewWriterF(f func(writer *Writer)) []byte {
|
func NewWriterF(f func(writer *Writer)) []byte {
|
||||||
w := NewWriter()
|
w := SelectWriter()
|
||||||
f(w)
|
f(w)
|
||||||
b := append([]byte(nil), w.Bytes()...)
|
b := append([]byte(nil), w.Bytes()...)
|
||||||
PutWriter(w)
|
PutWriter(w)
|
||||||
@ -81,7 +81,7 @@ func (w *Writer) WriteIntLvPacket(offset int, f func(writer *Writer)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *Writer) WriteUniPacket(commandName string, sessionId, extraData, body []byte) {
|
func (w *Writer) WriteUniPacket(commandName string, sessionId, extraData, body []byte) {
|
||||||
w1 := NewWriter()
|
w1 := SelectWriter()
|
||||||
{ // WriteIntLvPacket
|
{ // WriteIntLvPacket
|
||||||
w1.WriteString(commandName)
|
w1.WriteString(commandName)
|
||||||
w1.WriteUInt32(8)
|
w1.WriteUInt32(8)
|
||||||
|
@ -7,8 +7,6 @@ import (
|
|||||||
"math/rand"
|
"math/rand"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/binary/jce"
|
"github.com/Mrs4s/MiraiGo/binary/jce"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb"
|
"github.com/Mrs4s/MiraiGo/client/pb"
|
||||||
@ -20,6 +18,7 @@ import (
|
|||||||
"github.com/Mrs4s/MiraiGo/client/pb/structmsg"
|
"github.com/Mrs4s/MiraiGo/client/pb/structmsg"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/crypto"
|
"github.com/Mrs4s/MiraiGo/internal/crypto"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/tlv"
|
"github.com/Mrs4s/MiraiGo/internal/tlv"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8,11 +8,11 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb"
|
"github.com/Mrs4s/MiraiGo/client/pb"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
@ -11,7 +11,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/binary/jce"
|
"github.com/Mrs4s/MiraiGo/binary/jce"
|
||||||
@ -23,6 +22,7 @@ import (
|
|||||||
"github.com/Mrs4s/MiraiGo/client/pb/profilecard"
|
"github.com/Mrs4s/MiraiGo/client/pb/profilecard"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/qweb"
|
"github.com/Mrs4s/MiraiGo/client/pb/qweb"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/structmsg"
|
"github.com/Mrs4s/MiraiGo/client/pb/structmsg"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -4,10 +4,10 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/faceroam"
|
"github.com/Mrs4s/MiraiGo/client/pb/faceroam"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CustomFace struct {
|
type CustomFace struct {
|
||||||
|
@ -13,13 +13,13 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/binary/jce"
|
"github.com/Mrs4s/MiraiGo/binary/jce"
|
||||||
devinfo "github.com/Mrs4s/MiraiGo/client/pb"
|
devinfo "github.com/Mrs4s/MiraiGo/client/pb"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
@ -10,11 +10,11 @@ import (
|
|||||||
"runtime/debug"
|
"runtime/debug"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/exciting"
|
"github.com/Mrs4s/MiraiGo/client/pb/exciting"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -10,13 +10,13 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/binary/jce"
|
"github.com/Mrs4s/MiraiGo/binary/jce"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/profilecard"
|
"github.com/Mrs4s/MiraiGo/client/pb/profilecard"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -12,13 +12,13 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/longmsg"
|
"github.com/Mrs4s/MiraiGo/client/pb/longmsg"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/multimsg"
|
"github.com/Mrs4s/MiraiGo/client/pb/multimsg"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
@ -6,11 +6,11 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/channel"
|
"github.com/Mrs4s/MiraiGo/client/pb/channel"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -308,8 +308,8 @@ func (s *GuildService) GetGuildRoles(guildId uint64) ([]*GuildRole, error) {
|
|||||||
if err = s.c.unpackOIDBPackage(rsp, body); err != nil {
|
if err = s.c.unpackOIDBPackage(rsp, body); err != nil {
|
||||||
return nil, errors.Wrap(err, "decode packet error")
|
return nil, errors.Wrap(err, "decode packet error")
|
||||||
}
|
}
|
||||||
roles := make([]*GuildRole, 0, len(body.Roles))
|
roles := make([]*GuildRole, 0, len(body.GetRoles()))
|
||||||
for _, role := range body.Roles {
|
for _, role := range body.GetRoles() {
|
||||||
roles = append(roles, &GuildRole{
|
roles = append(roles, &GuildRole{
|
||||||
RoleId: role.GetRoleId(),
|
RoleId: role.GetRoleId(),
|
||||||
RoleName: role.GetName(),
|
RoleName: role.GetName(),
|
||||||
@ -324,6 +324,42 @@ func (s *GuildService) GetGuildRoles(guildId uint64) ([]*GuildRole, error) {
|
|||||||
return roles, nil
|
return roles, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *GuildService) GetUserRoles(guildId uint64, userId uint64) ([]*GuildRole, error) {
|
||||||
|
seq := s.c.nextSeq()
|
||||||
|
u1 := uint32(1)
|
||||||
|
packet := packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0x1017_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key,
|
||||||
|
s.c.packOIDBPackageDynamically(4119, 1, binary.DynamicProtoMessage{
|
||||||
|
1: guildId,
|
||||||
|
2: userId,
|
||||||
|
4: binary.DynamicProtoMessage{
|
||||||
|
1: u1,
|
||||||
|
2: u1,
|
||||||
|
3: u1,
|
||||||
|
},
|
||||||
|
}))
|
||||||
|
rsp, err := s.c.sendAndWaitDynamic(seq, packet)
|
||||||
|
if err != nil {
|
||||||
|
return nil, errors.Wrap(err, "send packet error")
|
||||||
|
}
|
||||||
|
body := new(channel.ChannelOidb0X1017Rsp)
|
||||||
|
if err = s.c.unpackOIDBPackage(rsp, body); err != nil {
|
||||||
|
return nil, errors.Wrap(err, "decode packet error")
|
||||||
|
}
|
||||||
|
p1 := body.GetP1()
|
||||||
|
if p1 == nil {
|
||||||
|
return nil, errors.New("packet OidbSvcTrpcTcp.0x1017_1: decode p1 error")
|
||||||
|
}
|
||||||
|
roles := make([]*GuildRole, 0, len(p1.GetRoles()))
|
||||||
|
for _, role := range p1.GetRoles() {
|
||||||
|
roles = append(roles, &GuildRole{
|
||||||
|
RoleId: role.GetRoleId(),
|
||||||
|
RoleName: role.GetName(),
|
||||||
|
ArgbColor: role.GetArgbColor(),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return roles, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s *GuildService) CreateGuildRole(guildId uint64, name string, color uint32, independent bool, initialUsers []uint64) (uint64, error) {
|
func (s *GuildService) CreateGuildRole(guildId uint64, name string, color uint32, independent bool, initialUsers []uint64) (uint64, error) {
|
||||||
seq := s.c.nextSeq()
|
seq := s.c.nextSeq()
|
||||||
u1 := uint32(1)
|
u1 := uint32(1)
|
||||||
@ -369,7 +405,6 @@ func (s *GuildService) DeleteGuildRole(guildId uint64, roleId uint64) error {
|
|||||||
|
|
||||||
func (s *GuildService) SetUserRoleInGuild(guildId uint64, set bool, roleId uint64, user []uint64) error { // remove => p2 = false
|
func (s *GuildService) SetUserRoleInGuild(guildId uint64, set bool, roleId uint64, user []uint64) error { // remove => p2 = false
|
||||||
seq := s.c.nextSeq()
|
seq := s.c.nextSeq()
|
||||||
var packet []byte
|
|
||||||
setOrRemove := binary.DynamicProtoMessage{
|
setOrRemove := binary.DynamicProtoMessage{
|
||||||
1: roleId,
|
1: roleId,
|
||||||
}
|
}
|
||||||
@ -378,7 +413,7 @@ func (s *GuildService) SetUserRoleInGuild(guildId uint64, set bool, roleId uint6
|
|||||||
} else {
|
} else {
|
||||||
setOrRemove[3] = user
|
setOrRemove[3] = user
|
||||||
}
|
}
|
||||||
packet = packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0x101a_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key,
|
packet := packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0x101a_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key,
|
||||||
s.c.packOIDBPackageDynamically(4122, 1, binary.DynamicProtoMessage{
|
s.c.packOIDBPackageDynamically(4122, 1, binary.DynamicProtoMessage{
|
||||||
1: guildId,
|
1: guildId,
|
||||||
2: setOrRemove,
|
2: setOrRemove,
|
||||||
|
@ -5,11 +5,11 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/channel"
|
"github.com/Mrs4s/MiraiGo/client/pb/channel"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -11,7 +11,6 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/channel"
|
"github.com/Mrs4s/MiraiGo/client/pb/channel"
|
||||||
@ -19,6 +18,7 @@ import (
|
|||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/pttcenter"
|
"github.com/Mrs4s/MiraiGo/client/pb/pttcenter"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
@ -16,10 +16,10 @@ import (
|
|||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"golang.org/x/sync/errgroup"
|
"golang.org/x/sync/errgroup"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb"
|
"github.com/Mrs4s/MiraiGo/client/pb"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ func (c *QQClient) highwayUploadStream(ip uint32, port int, updKey []byte, strea
|
|||||||
chunk := *buf
|
chunk := *buf
|
||||||
defer binary.Put256KBytes(buf)
|
defer binary.Put256KBytes(buf)
|
||||||
|
|
||||||
w := binary.NewWriter()
|
w := binary.SelectWriter()
|
||||||
defer binary.PutWriter(w)
|
defer binary.PutWriter(w)
|
||||||
for {
|
for {
|
||||||
chunk = chunk[:chunkSize]
|
chunk = chunk[:chunkSize]
|
||||||
@ -134,7 +134,7 @@ func (c *QQClient) highwayUploadByBDH(stream io.Reader, length int64, cmdId int3
|
|||||||
chunk := *buf
|
chunk := *buf
|
||||||
defer binary.Put256KBytes(buf)
|
defer binary.Put256KBytes(buf)
|
||||||
|
|
||||||
w := binary.NewWriter()
|
w := binary.SelectWriter()
|
||||||
defer binary.PutWriter(w)
|
defer binary.PutWriter(w)
|
||||||
for {
|
for {
|
||||||
chunk = chunk[:chunkSize]
|
chunk = chunk[:chunkSize]
|
||||||
@ -270,7 +270,7 @@ func (c *QQClient) highwayUploadFileMultiThreadingByBDH(path string, cmdId int32
|
|||||||
return errors.Wrap(err, "echo error")
|
return errors.Wrap(err, "echo error")
|
||||||
}
|
}
|
||||||
buffer := make([]byte, blockSize)
|
buffer := make([]byte, blockSize)
|
||||||
w := binary.NewWriter()
|
w := binary.SelectWriter()
|
||||||
w.Reset()
|
w.Reset()
|
||||||
w.Grow(600 * 1024) // 复用,600k 不要放回池中
|
w.Grow(600 * 1024) // 复用,600k 不要放回池中
|
||||||
for {
|
for {
|
||||||
@ -368,7 +368,7 @@ func (c *QQClient) highwaySendHeartbreak(conn net.Conn) error {
|
|||||||
LocaleId: 2052,
|
LocaleId: 2052,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
w := binary.NewWriter()
|
w := binary.SelectWriter()
|
||||||
w.WriteByte(40)
|
w.WriteByte(40)
|
||||||
w.WriteUInt32(uint32(len(head)))
|
w.WriteUInt32(uint32(len(head)))
|
||||||
w.WriteUInt32(0)
|
w.WriteUInt32(0)
|
||||||
@ -406,7 +406,7 @@ func (c *QQClient) excitingUploadStream(stream io.ReadSeeker, cmdId int32, ticke
|
|||||||
chunkSize = 524288
|
chunkSize = 524288
|
||||||
)
|
)
|
||||||
chunk := make([]byte, chunkSize)
|
chunk := make([]byte, chunkSize)
|
||||||
w := binary.NewWriter()
|
w := binary.SelectWriter()
|
||||||
w.Reset()
|
w.Reset()
|
||||||
w.Grow(600 * 1024) // 复用,600k 不要放回池中
|
w.Grow(600 * 1024) // 复用,600k 不要放回池中
|
||||||
for {
|
for {
|
||||||
|
@ -14,10 +14,10 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/richmedia"
|
"github.com/Mrs4s/MiraiGo/client/pb/richmedia"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -132,7 +132,7 @@ func (c *QQClient) GetTts(text string) ([]byte, error) {
|
|||||||
return nil, errors.Wrap(err, "failed to post to tts server")
|
return nil, errors.Wrap(err, "failed to post to tts server")
|
||||||
}
|
}
|
||||||
ttsReader := binary.NewReader(rsp)
|
ttsReader := binary.NewReader(rsp)
|
||||||
ttsWriter := binary.NewWriter()
|
ttsWriter := binary.SelectWriter()
|
||||||
for {
|
for {
|
||||||
// 数据格式 69e(字符串) 十六进制 数据长度 0 为结尾
|
// 数据格式 69e(字符串) 十六进制 数据长度 0 为结尾
|
||||||
// 0D 0A (分隔符) payload 0D 0A
|
// 0D 0A (分隔符) payload 0D 0A
|
||||||
|
@ -13,13 +13,13 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x388"
|
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x388"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/highway"
|
"github.com/Mrs4s/MiraiGo/client/pb/highway"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
@ -4,13 +4,13 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/longmsg"
|
"github.com/Mrs4s/MiraiGo/client/pb/longmsg"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/multimsg"
|
"github.com/Mrs4s/MiraiGo/client/pb/multimsg"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -2,10 +2,10 @@ package client
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x346"
|
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x346"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -6,13 +6,13 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/binary/jce"
|
"github.com/Mrs4s/MiraiGo/binary/jce"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb"
|
"github.com/Mrs4s/MiraiGo/client/pb"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msgtype0x210"
|
"github.com/Mrs4s/MiraiGo/client/pb/msgtype0x210"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/notify"
|
"github.com/Mrs4s/MiraiGo/client/pb/notify"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
var msg0x210Decoders = map[int64]func(*QQClient, []byte) error{
|
var msg0x210Decoders = map[int64]func(*QQClient, []byte) error{
|
||||||
|
@ -345,6 +345,108 @@ func (x *ChannelOidb0Xf5DRsp) GetRsp() *ChannelListRsp {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ChannelOidb0X1017Rsp struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
P1 *P10X1017 `protobuf:"bytes,1,opt,name=p1" json:"p1,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ChannelOidb0X1017Rsp) Reset() {
|
||||||
|
*x = ChannelOidb0X1017Rsp{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_pb_channel_unknown_proto_msgTypes[6]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ChannelOidb0X1017Rsp) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*ChannelOidb0X1017Rsp) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *ChannelOidb0X1017Rsp) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_pb_channel_unknown_proto_msgTypes[6]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use ChannelOidb0X1017Rsp.ProtoReflect.Descriptor instead.
|
||||||
|
func (*ChannelOidb0X1017Rsp) Descriptor() ([]byte, []int) {
|
||||||
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{6}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ChannelOidb0X1017Rsp) GetP1() *P10X1017 {
|
||||||
|
if x != nil {
|
||||||
|
return x.P1
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type P10X1017 struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
UserId *uint64 `protobuf:"varint,1,opt,name=userId" json:"userId,omitempty"`
|
||||||
|
Roles []*GuildRole `protobuf:"bytes,3,rep,name=roles" json:"roles,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *P10X1017) Reset() {
|
||||||
|
*x = P10X1017{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_pb_channel_unknown_proto_msgTypes[7]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *P10X1017) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*P10X1017) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *P10X1017) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_pb_channel_unknown_proto_msgTypes[7]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use P10X1017.ProtoReflect.Descriptor instead.
|
||||||
|
func (*P10X1017) Descriptor() ([]byte, []int) {
|
||||||
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{7}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *P10X1017) GetUserId() uint64 {
|
||||||
|
if x != nil && x.UserId != nil {
|
||||||
|
return *x.UserId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *P10X1017) GetRoles() []*GuildRole {
|
||||||
|
if x != nil {
|
||||||
|
return x.Roles
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type ChannelOidb0X1019Rsp struct {
|
type ChannelOidb0X1019Rsp struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@ -357,7 +459,7 @@ type ChannelOidb0X1019Rsp struct {
|
|||||||
func (x *ChannelOidb0X1019Rsp) Reset() {
|
func (x *ChannelOidb0X1019Rsp) Reset() {
|
||||||
*x = ChannelOidb0X1019Rsp{}
|
*x = ChannelOidb0X1019Rsp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[6]
|
mi := &file_pb_channel_unknown_proto_msgTypes[8]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -370,7 +472,7 @@ func (x *ChannelOidb0X1019Rsp) String() string {
|
|||||||
func (*ChannelOidb0X1019Rsp) ProtoMessage() {}
|
func (*ChannelOidb0X1019Rsp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ChannelOidb0X1019Rsp) ProtoReflect() protoreflect.Message {
|
func (x *ChannelOidb0X1019Rsp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[6]
|
mi := &file_pb_channel_unknown_proto_msgTypes[8]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -383,7 +485,7 @@ func (x *ChannelOidb0X1019Rsp) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ChannelOidb0X1019Rsp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ChannelOidb0X1019Rsp.ProtoReflect.Descriptor instead.
|
||||||
func (*ChannelOidb0X1019Rsp) Descriptor() ([]byte, []int) {
|
func (*ChannelOidb0X1019Rsp) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{6}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{8}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ChannelOidb0X1019Rsp) GetGuildId() uint64 {
|
func (x *ChannelOidb0X1019Rsp) GetGuildId() uint64 {
|
||||||
@ -411,7 +513,7 @@ type ChannelOidb0X1016Rsp struct {
|
|||||||
func (x *ChannelOidb0X1016Rsp) Reset() {
|
func (x *ChannelOidb0X1016Rsp) Reset() {
|
||||||
*x = ChannelOidb0X1016Rsp{}
|
*x = ChannelOidb0X1016Rsp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[7]
|
mi := &file_pb_channel_unknown_proto_msgTypes[9]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -424,7 +526,7 @@ func (x *ChannelOidb0X1016Rsp) String() string {
|
|||||||
func (*ChannelOidb0X1016Rsp) ProtoMessage() {}
|
func (*ChannelOidb0X1016Rsp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ChannelOidb0X1016Rsp) ProtoReflect() protoreflect.Message {
|
func (x *ChannelOidb0X1016Rsp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[7]
|
mi := &file_pb_channel_unknown_proto_msgTypes[9]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -437,7 +539,7 @@ func (x *ChannelOidb0X1016Rsp) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ChannelOidb0X1016Rsp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ChannelOidb0X1016Rsp.ProtoReflect.Descriptor instead.
|
||||||
func (*ChannelOidb0X1016Rsp) Descriptor() ([]byte, []int) {
|
func (*ChannelOidb0X1016Rsp) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{7}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{9}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ChannelOidb0X1016Rsp) GetRoleId() uint64 {
|
func (x *ChannelOidb0X1016Rsp) GetRoleId() uint64 {
|
||||||
@ -459,7 +561,7 @@ type GuildMetaRsp struct {
|
|||||||
func (x *GuildMetaRsp) Reset() {
|
func (x *GuildMetaRsp) Reset() {
|
||||||
*x = GuildMetaRsp{}
|
*x = GuildMetaRsp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[8]
|
mi := &file_pb_channel_unknown_proto_msgTypes[10]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -472,7 +574,7 @@ func (x *GuildMetaRsp) String() string {
|
|||||||
func (*GuildMetaRsp) ProtoMessage() {}
|
func (*GuildMetaRsp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GuildMetaRsp) ProtoReflect() protoreflect.Message {
|
func (x *GuildMetaRsp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[8]
|
mi := &file_pb_channel_unknown_proto_msgTypes[10]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -485,7 +587,7 @@ func (x *GuildMetaRsp) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GuildMetaRsp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GuildMetaRsp.ProtoReflect.Descriptor instead.
|
||||||
func (*GuildMetaRsp) Descriptor() ([]byte, []int) {
|
func (*GuildMetaRsp) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{8}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{10}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildMetaRsp) GetGuildId() uint64 {
|
func (x *GuildMetaRsp) GetGuildId() uint64 {
|
||||||
@ -514,7 +616,7 @@ type ChannelListRsp struct {
|
|||||||
func (x *ChannelListRsp) Reset() {
|
func (x *ChannelListRsp) Reset() {
|
||||||
*x = ChannelListRsp{}
|
*x = ChannelListRsp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[9]
|
mi := &file_pb_channel_unknown_proto_msgTypes[11]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -527,7 +629,7 @@ func (x *ChannelListRsp) String() string {
|
|||||||
func (*ChannelListRsp) ProtoMessage() {}
|
func (*ChannelListRsp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ChannelListRsp) ProtoReflect() protoreflect.Message {
|
func (x *ChannelListRsp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[9]
|
mi := &file_pb_channel_unknown_proto_msgTypes[11]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -540,7 +642,7 @@ func (x *ChannelListRsp) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ChannelListRsp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ChannelListRsp.ProtoReflect.Descriptor instead.
|
||||||
func (*ChannelListRsp) Descriptor() ([]byte, []int) {
|
func (*ChannelListRsp) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{9}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{11}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ChannelListRsp) GetGuildId() uint64 {
|
func (x *ChannelListRsp) GetGuildId() uint64 {
|
||||||
@ -568,7 +670,7 @@ type GuildAdminInfo struct {
|
|||||||
func (x *GuildAdminInfo) Reset() {
|
func (x *GuildAdminInfo) Reset() {
|
||||||
*x = GuildAdminInfo{}
|
*x = GuildAdminInfo{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[10]
|
mi := &file_pb_channel_unknown_proto_msgTypes[12]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -581,7 +683,7 @@ func (x *GuildAdminInfo) String() string {
|
|||||||
func (*GuildAdminInfo) ProtoMessage() {}
|
func (*GuildAdminInfo) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GuildAdminInfo) ProtoReflect() protoreflect.Message {
|
func (x *GuildAdminInfo) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[10]
|
mi := &file_pb_channel_unknown_proto_msgTypes[12]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -594,7 +696,7 @@ func (x *GuildAdminInfo) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GuildAdminInfo.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GuildAdminInfo.ProtoReflect.Descriptor instead.
|
||||||
func (*GuildAdminInfo) Descriptor() ([]byte, []int) {
|
func (*GuildAdminInfo) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{10}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{12}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildAdminInfo) GetAdmins() []*GuildMemberInfo {
|
func (x *GuildAdminInfo) GetAdmins() []*GuildMemberInfo {
|
||||||
@ -619,7 +721,7 @@ type GuildMemberInfo struct {
|
|||||||
func (x *GuildMemberInfo) Reset() {
|
func (x *GuildMemberInfo) Reset() {
|
||||||
*x = GuildMemberInfo{}
|
*x = GuildMemberInfo{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[11]
|
mi := &file_pb_channel_unknown_proto_msgTypes[13]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -632,7 +734,7 @@ func (x *GuildMemberInfo) String() string {
|
|||||||
func (*GuildMemberInfo) ProtoMessage() {}
|
func (*GuildMemberInfo) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GuildMemberInfo) ProtoReflect() protoreflect.Message {
|
func (x *GuildMemberInfo) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[11]
|
mi := &file_pb_channel_unknown_proto_msgTypes[13]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -645,7 +747,7 @@ func (x *GuildMemberInfo) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GuildMemberInfo.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GuildMemberInfo.ProtoReflect.Descriptor instead.
|
||||||
func (*GuildMemberInfo) Descriptor() ([]byte, []int) {
|
func (*GuildMemberInfo) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{11}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{13}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildMemberInfo) GetTitle() string {
|
func (x *GuildMemberInfo) GetTitle() string {
|
||||||
@ -699,7 +801,7 @@ type GuildUserProfile struct {
|
|||||||
func (x *GuildUserProfile) Reset() {
|
func (x *GuildUserProfile) Reset() {
|
||||||
*x = GuildUserProfile{}
|
*x = GuildUserProfile{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[12]
|
mi := &file_pb_channel_unknown_proto_msgTypes[14]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -712,7 +814,7 @@ func (x *GuildUserProfile) String() string {
|
|||||||
func (*GuildUserProfile) ProtoMessage() {}
|
func (*GuildUserProfile) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GuildUserProfile) ProtoReflect() protoreflect.Message {
|
func (x *GuildUserProfile) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[12]
|
mi := &file_pb_channel_unknown_proto_msgTypes[14]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -725,7 +827,7 @@ func (x *GuildUserProfile) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GuildUserProfile.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GuildUserProfile.ProtoReflect.Descriptor instead.
|
||||||
func (*GuildUserProfile) Descriptor() ([]byte, []int) {
|
func (*GuildUserProfile) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{12}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{14}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildUserProfile) GetTinyId() uint64 {
|
func (x *GuildUserProfile) GetTinyId() uint64 {
|
||||||
@ -774,7 +876,7 @@ type GuildRole struct {
|
|||||||
func (x *GuildRole) Reset() {
|
func (x *GuildRole) Reset() {
|
||||||
*x = GuildRole{}
|
*x = GuildRole{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[13]
|
mi := &file_pb_channel_unknown_proto_msgTypes[15]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -787,7 +889,7 @@ func (x *GuildRole) String() string {
|
|||||||
func (*GuildRole) ProtoMessage() {}
|
func (*GuildRole) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GuildRole) ProtoReflect() protoreflect.Message {
|
func (x *GuildRole) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[13]
|
mi := &file_pb_channel_unknown_proto_msgTypes[15]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -800,7 +902,7 @@ func (x *GuildRole) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GuildRole.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GuildRole.ProtoReflect.Descriptor instead.
|
||||||
func (*GuildRole) Descriptor() ([]byte, []int) {
|
func (*GuildRole) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{13}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{15}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildRole) GetRoleId() uint64 {
|
func (x *GuildRole) GetRoleId() uint64 {
|
||||||
@ -881,7 +983,7 @@ type GuildMeta struct {
|
|||||||
func (x *GuildMeta) Reset() {
|
func (x *GuildMeta) Reset() {
|
||||||
*x = GuildMeta{}
|
*x = GuildMeta{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[14]
|
mi := &file_pb_channel_unknown_proto_msgTypes[16]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -894,7 +996,7 @@ func (x *GuildMeta) String() string {
|
|||||||
func (*GuildMeta) ProtoMessage() {}
|
func (*GuildMeta) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GuildMeta) ProtoReflect() protoreflect.Message {
|
func (x *GuildMeta) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[14]
|
mi := &file_pb_channel_unknown_proto_msgTypes[16]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -907,7 +1009,7 @@ func (x *GuildMeta) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GuildMeta.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GuildMeta.ProtoReflect.Descriptor instead.
|
||||||
func (*GuildMeta) Descriptor() ([]byte, []int) {
|
func (*GuildMeta) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{14}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{16}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildMeta) GetGuildCode() uint64 {
|
func (x *GuildMeta) GetGuildCode() uint64 {
|
||||||
@ -1019,7 +1121,7 @@ type GuildChannelInfo struct {
|
|||||||
func (x *GuildChannelInfo) Reset() {
|
func (x *GuildChannelInfo) Reset() {
|
||||||
*x = GuildChannelInfo{}
|
*x = GuildChannelInfo{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[15]
|
mi := &file_pb_channel_unknown_proto_msgTypes[17]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -1032,7 +1134,7 @@ func (x *GuildChannelInfo) String() string {
|
|||||||
func (*GuildChannelInfo) ProtoMessage() {}
|
func (*GuildChannelInfo) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GuildChannelInfo) ProtoReflect() protoreflect.Message {
|
func (x *GuildChannelInfo) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[15]
|
mi := &file_pb_channel_unknown_proto_msgTypes[17]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -1045,7 +1147,7 @@ func (x *GuildChannelInfo) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GuildChannelInfo.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GuildChannelInfo.ProtoReflect.Descriptor instead.
|
||||||
func (*GuildChannelInfo) Descriptor() ([]byte, []int) {
|
func (*GuildChannelInfo) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{15}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{17}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildChannelInfo) GetChannelId() uint64 {
|
func (x *GuildChannelInfo) GetChannelId() uint64 {
|
||||||
@ -1153,7 +1255,7 @@ type GuildChannelSlowModeInfo struct {
|
|||||||
func (x *GuildChannelSlowModeInfo) Reset() {
|
func (x *GuildChannelSlowModeInfo) Reset() {
|
||||||
*x = GuildChannelSlowModeInfo{}
|
*x = GuildChannelSlowModeInfo{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[16]
|
mi := &file_pb_channel_unknown_proto_msgTypes[18]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -1166,7 +1268,7 @@ func (x *GuildChannelSlowModeInfo) String() string {
|
|||||||
func (*GuildChannelSlowModeInfo) ProtoMessage() {}
|
func (*GuildChannelSlowModeInfo) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GuildChannelSlowModeInfo) ProtoReflect() protoreflect.Message {
|
func (x *GuildChannelSlowModeInfo) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[16]
|
mi := &file_pb_channel_unknown_proto_msgTypes[18]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -1179,7 +1281,7 @@ func (x *GuildChannelSlowModeInfo) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GuildChannelSlowModeInfo.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GuildChannelSlowModeInfo.ProtoReflect.Descriptor instead.
|
||||||
func (*GuildChannelSlowModeInfo) Descriptor() ([]byte, []int) {
|
func (*GuildChannelSlowModeInfo) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{16}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{18}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildChannelSlowModeInfo) GetSlowModeKey() int32 {
|
func (x *GuildChannelSlowModeInfo) GetSlowModeKey() int32 {
|
||||||
@ -1223,7 +1325,7 @@ type GuildChannelTopMsgInfo struct {
|
|||||||
func (x *GuildChannelTopMsgInfo) Reset() {
|
func (x *GuildChannelTopMsgInfo) Reset() {
|
||||||
*x = GuildChannelTopMsgInfo{}
|
*x = GuildChannelTopMsgInfo{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[17]
|
mi := &file_pb_channel_unknown_proto_msgTypes[19]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -1236,7 +1338,7 @@ func (x *GuildChannelTopMsgInfo) String() string {
|
|||||||
func (*GuildChannelTopMsgInfo) ProtoMessage() {}
|
func (*GuildChannelTopMsgInfo) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GuildChannelTopMsgInfo) ProtoReflect() protoreflect.Message {
|
func (x *GuildChannelTopMsgInfo) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_channel_unknown_proto_msgTypes[17]
|
mi := &file_pb_channel_unknown_proto_msgTypes[19]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -1249,7 +1351,7 @@ func (x *GuildChannelTopMsgInfo) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GuildChannelTopMsgInfo.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GuildChannelTopMsgInfo.ProtoReflect.Descriptor instead.
|
||||||
func (*GuildChannelTopMsgInfo) Descriptor() ([]byte, []int) {
|
func (*GuildChannelTopMsgInfo) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{17}
|
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{19}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildChannelTopMsgInfo) GetTopMsgSeq() uint64 {
|
func (x *GuildChannelTopMsgInfo) GetTopMsgSeq() uint64 {
|
||||||
@ -1317,141 +1419,149 @@ var file_pb_channel_unknown_proto_rawDesc = []byte{
|
|||||||
0x69, 0x64, 0x62, 0x30, 0x78, 0x66, 0x35, 0x64, 0x52, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x03, 0x72,
|
0x69, 0x64, 0x62, 0x30, 0x78, 0x66, 0x35, 0x64, 0x52, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x03, 0x72,
|
||||||
0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
|
0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
|
||||||
0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73,
|
0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73,
|
||||||
0x70, 0x52, 0x03, 0x72, 0x73, 0x70, 0x22, 0x5a, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
|
0x70, 0x52, 0x03, 0x72, 0x73, 0x70, 0x22, 0x39, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
|
||||||
0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x31, 0x30, 0x31, 0x39, 0x52, 0x73, 0x70, 0x12, 0x18,
|
0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x31, 0x30, 0x31, 0x37, 0x52, 0x73, 0x70, 0x12, 0x21,
|
||||||
0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
|
0x0a, 0x02, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x68, 0x61,
|
||||||
0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65,
|
0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x50, 0x31, 0x30, 0x78, 0x31, 0x30, 0x31, 0x37, 0x52, 0x02, 0x70,
|
||||||
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
|
0x31, 0x22, 0x4c, 0x0a, 0x08, 0x50, 0x31, 0x30, 0x78, 0x31, 0x30, 0x31, 0x37, 0x12, 0x16, 0x0a,
|
||||||
0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c,
|
0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75,
|
||||||
0x65, 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x69, 0x64,
|
0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03,
|
||||||
0x62, 0x30, 0x78, 0x31, 0x30, 0x31, 0x36, 0x52, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f,
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47,
|
||||||
0x6c, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65,
|
0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22,
|
||||||
0x49, 0x64, 0x22, 0x50, 0x0a, 0x0c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52,
|
0x5a, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78,
|
||||||
0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20,
|
0x31, 0x30, 0x31, 0x39, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64,
|
||||||
0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04,
|
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49,
|
||||||
0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61,
|
0x64, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
|
||||||
0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04,
|
0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64,
|
||||||
0x6d, 0x65, 0x74, 0x61, 0x22, 0x61, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c,
|
0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x43,
|
||||||
0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49,
|
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x31, 0x30, 0x31, 0x36,
|
||||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64,
|
0x52, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20,
|
||||||
0x12, 0x35, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03,
|
0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x0c, 0x47,
|
||||||
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69,
|
0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67,
|
||||||
0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63,
|
0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75,
|
||||||
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x42, 0x0a, 0x0e, 0x47, 0x75, 0x69, 0x6c, 0x64,
|
0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20,
|
||||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x64, 0x6d,
|
0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75,
|
||||||
0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e,
|
0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x61, 0x0a,
|
||||||
0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49,
|
0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12,
|
||||||
0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x0f,
|
0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
|
||||||
0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
|
0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x63, 0x68, 0x61,
|
||||||
0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x68,
|
||||||
0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d,
|
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e,
|
||||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d,
|
0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73,
|
||||||
0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x69,
|
0x22, 0x42, 0x0a, 0x0e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e,
|
||||||
0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x70,
|
0x66, 0x6f, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03,
|
||||||
0x65, 0x61, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18,
|
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69,
|
||||||
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74,
|
0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x64,
|
||||||
0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e,
|
0x6d, 0x69, 0x6e, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65,
|
||||||
0x79, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x73, 0x65,
|
0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c,
|
||||||
0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79,
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a,
|
||||||
0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64,
|
0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
|
0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61,
|
||||||
0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09,
|
0x73, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||||
0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x69, 0x6d, 0x65,
|
||||||
0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f,
|
0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
|
||||||
0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f,
|
0x72, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x08,
|
||||||
0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64,
|
0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a,
|
||||||
0x52, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x01,
|
0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||||
0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
|
0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63,
|
||||||
0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x62, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20,
|
0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63,
|
||||||
0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x72, 0x67, 0x62, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x20,
|
0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55,
|
||||||
0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20,
|
0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74,
|
0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18,
|
||||||
0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e,
|
0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22,
|
||||||
0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
|
0xd3, 0x01, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a,
|
||||||
0x05, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61,
|
0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72,
|
||||||
0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61,
|
0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
|
||||||
0x62, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x08,
|
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67,
|
||||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x22, 0xf5, 0x02, 0x0a,
|
0x62, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x72,
|
||||||
0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75,
|
0x67, 0x62, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x70,
|
||||||
0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67,
|
0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e,
|
||||||
0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
|
0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d,
|
||||||
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72,
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6f,
|
||||||
0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x4d,
|
0x77, 0x6e, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65,
|
||||||
0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
|
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20,
|
||||||
0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a,
|
||||||
0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
0x06, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d,
|
||||||
0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75,
|
0x61, 0x78, 0x4e, 0x75, 0x6d, 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d,
|
||||||
0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
|
0x65, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65,
|
||||||
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64,
|
||||||
0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x6f, 0x62,
|
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
|
||||||
0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69,
|
0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
|
||||||
0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61,
|
0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f,
|
||||||
0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72,
|
0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65,
|
||||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f,
|
0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d,
|
||||||
0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65,
|
0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
|
||||||
0x71, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53,
|
0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
|
||||||
0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x12, 0x20,
|
0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
||||||
0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08,
|
0x20, 0x0a, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x0b,
|
||||||
0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75,
|
||||||
0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65,
|
0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d,
|
||||||
0x6e, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65,
|
0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78,
|
||||||
0x6e, 0x74, 0x49, 0x64, 0x22, 0x9a, 0x04, 0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68,
|
0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d,
|
||||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a,
|
||||||
0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68,
|
0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03,
|
||||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e,
|
0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6f,
|
||||||
0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68,
|
0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x77,
|
||||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65,
|
0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65,
|
||||||
0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63,
|
0x71, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65,
|
||||||
0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65,
|
0x71, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20,
|
||||||
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63,
|
0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x9a, 0x04,
|
||||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69,
|
0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e,
|
||||||
0x6c, 0x64, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c,
|
0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18,
|
||||||
0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69,
|
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64,
|
||||||
0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x66, 0x69,
|
0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18,
|
||||||
0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a,
|
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61,
|
||||||
0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01,
|
0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e,
|
||||||
0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12,
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55,
|
||||||
0x26, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
|
0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
|
||||||
0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x50, 0x65, 0x72,
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
|
||||||
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74,
|
0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x05, 0x20,
|
||||||
0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d,
|
0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f,
|
||||||
0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a,
|
0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18,
|
||||||
0x0b, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01,
|
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69,
|
||||||
0x28, 0x05, 0x52, 0x0b, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
|
0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
|
||||||
0x37, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x61,
|
||||||
0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43,
|
0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x6b,
|
||||||
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f,
|
0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
|
||||||
0x52, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72,
|
0x52, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x1f,
|
0x12, 0x24, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49,
|
||||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f,
|
0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
|
||||||
0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77,
|
0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c,
|
||||||
0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x76, 0x69, 0x73,
|
||||||
0x21, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43,
|
0x69, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x4d,
|
||||||
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e,
|
0x73, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
|
||||||
0x66, 0x6f, 0x52, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f,
|
0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54,
|
||||||
0x73, 0x22, 0xb0, 0x01, 0x0a, 0x18, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e,
|
0x6f, 0x70, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73,
|
||||||
0x65, 0x6c, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20,
|
0x67, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77,
|
||||||
0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x63,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79,
|
0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65,
|
||||||
0x12, 0x26, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e,
|
0x79, 0x12, 0x47, 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
|
||||||
0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x46,
|
0x6f, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
|
||||||
0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6c, 0x6f, 0x77,
|
0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53,
|
||||||
0x4d, 0x6f, 0x64, 0x65, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
|
0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x6c, 0x6f,
|
||||||
0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65,
|
0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x18, 0x47,
|
||||||
0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x78, 0x74,
|
0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x6c, 0x6f, 0x77, 0x4d,
|
||||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65,
|
0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x77, 0x4d,
|
||||||
0x54, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68,
|
0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x6c,
|
||||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12,
|
0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x70, 0x65,
|
||||||
0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01,
|
0x61, 0x6b, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x28, 0x04, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x1e, 0x0a,
|
0x05, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
|
||||||
0x0a, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
0x79, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x69, 0x72,
|
||||||
0x03, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a,
|
0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x4d,
|
||||||
0x14, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54,
|
0x6f, 0x64, 0x65, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6c, 0x6f,
|
||||||
0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x70,
|
0x77, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x4d, 0x73, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49,
|
0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01,
|
||||||
0x64, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b,
|
0x0a, 0x16, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x6f,
|
||||||
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
|
0x70, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x4d,
|
||||||
|
0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x6f, 0x70,
|
||||||
|
0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67,
|
||||||
|
0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x4d,
|
||||||
|
0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67,
|
||||||
|
0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x03,
|
||||||
|
0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x65, 0x72,
|
||||||
|
0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62,
|
||||||
|
0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -1466,7 +1576,7 @@ func file_pb_channel_unknown_proto_rawDescGZIP() []byte {
|
|||||||
return file_pb_channel_unknown_proto_rawDescData
|
return file_pb_channel_unknown_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_pb_channel_unknown_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
|
var file_pb_channel_unknown_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
|
||||||
var file_pb_channel_unknown_proto_goTypes = []interface{}{
|
var file_pb_channel_unknown_proto_goTypes = []interface{}{
|
||||||
(*ChannelOidb0Xf5BRsp)(nil), // 0: channel.ChannelOidb0xf5bRsp
|
(*ChannelOidb0Xf5BRsp)(nil), // 0: channel.ChannelOidb0xf5bRsp
|
||||||
(*ChannelOidb0Xf88Rsp)(nil), // 1: channel.ChannelOidb0xf88Rsp
|
(*ChannelOidb0Xf88Rsp)(nil), // 1: channel.ChannelOidb0xf88Rsp
|
||||||
@ -1474,39 +1584,43 @@ var file_pb_channel_unknown_proto_goTypes = []interface{}{
|
|||||||
(*ChannelOidb0Xf57Rsp)(nil), // 3: channel.ChannelOidb0xf57Rsp
|
(*ChannelOidb0Xf57Rsp)(nil), // 3: channel.ChannelOidb0xf57Rsp
|
||||||
(*ChannelOidb0Xf55Rsp)(nil), // 4: channel.ChannelOidb0xf55Rsp
|
(*ChannelOidb0Xf55Rsp)(nil), // 4: channel.ChannelOidb0xf55Rsp
|
||||||
(*ChannelOidb0Xf5DRsp)(nil), // 5: channel.ChannelOidb0xf5dRsp
|
(*ChannelOidb0Xf5DRsp)(nil), // 5: channel.ChannelOidb0xf5dRsp
|
||||||
(*ChannelOidb0X1019Rsp)(nil), // 6: channel.ChannelOidb0x1019Rsp
|
(*ChannelOidb0X1017Rsp)(nil), // 6: channel.ChannelOidb0x1017Rsp
|
||||||
(*ChannelOidb0X1016Rsp)(nil), // 7: channel.ChannelOidb0x1016Rsp
|
(*P10X1017)(nil), // 7: channel.P10x1017
|
||||||
(*GuildMetaRsp)(nil), // 8: channel.GuildMetaRsp
|
(*ChannelOidb0X1019Rsp)(nil), // 8: channel.ChannelOidb0x1019Rsp
|
||||||
(*ChannelListRsp)(nil), // 9: channel.ChannelListRsp
|
(*ChannelOidb0X1016Rsp)(nil), // 9: channel.ChannelOidb0x1016Rsp
|
||||||
(*GuildAdminInfo)(nil), // 10: channel.GuildAdminInfo
|
(*GuildMetaRsp)(nil), // 10: channel.GuildMetaRsp
|
||||||
(*GuildMemberInfo)(nil), // 11: channel.GuildMemberInfo
|
(*ChannelListRsp)(nil), // 11: channel.ChannelListRsp
|
||||||
(*GuildUserProfile)(nil), // 12: channel.GuildUserProfile
|
(*GuildAdminInfo)(nil), // 12: channel.GuildAdminInfo
|
||||||
(*GuildRole)(nil), // 13: channel.GuildRole
|
(*GuildMemberInfo)(nil), // 13: channel.GuildMemberInfo
|
||||||
(*GuildMeta)(nil), // 14: channel.GuildMeta
|
(*GuildUserProfile)(nil), // 14: channel.GuildUserProfile
|
||||||
(*GuildChannelInfo)(nil), // 15: channel.GuildChannelInfo
|
(*GuildRole)(nil), // 15: channel.GuildRole
|
||||||
(*GuildChannelSlowModeInfo)(nil), // 16: channel.GuildChannelSlowModeInfo
|
(*GuildMeta)(nil), // 16: channel.GuildMeta
|
||||||
(*GuildChannelTopMsgInfo)(nil), // 17: channel.GuildChannelTopMsgInfo
|
(*GuildChannelInfo)(nil), // 17: channel.GuildChannelInfo
|
||||||
|
(*GuildChannelSlowModeInfo)(nil), // 18: channel.GuildChannelSlowModeInfo
|
||||||
|
(*GuildChannelTopMsgInfo)(nil), // 19: channel.GuildChannelTopMsgInfo
|
||||||
}
|
}
|
||||||
var file_pb_channel_unknown_proto_depIdxs = []int32{
|
var file_pb_channel_unknown_proto_depIdxs = []int32{
|
||||||
11, // 0: channel.ChannelOidb0xf5bRsp.bots:type_name -> channel.GuildMemberInfo
|
13, // 0: channel.ChannelOidb0xf5bRsp.bots:type_name -> channel.GuildMemberInfo
|
||||||
11, // 1: channel.ChannelOidb0xf5bRsp.members:type_name -> channel.GuildMemberInfo
|
13, // 1: channel.ChannelOidb0xf5bRsp.members:type_name -> channel.GuildMemberInfo
|
||||||
10, // 2: channel.ChannelOidb0xf5bRsp.adminInfo:type_name -> channel.GuildAdminInfo
|
12, // 2: channel.ChannelOidb0xf5bRsp.adminInfo:type_name -> channel.GuildAdminInfo
|
||||||
12, // 3: channel.ChannelOidb0xf88Rsp.profile:type_name -> channel.GuildUserProfile
|
14, // 3: channel.ChannelOidb0xf88Rsp.profile:type_name -> channel.GuildUserProfile
|
||||||
12, // 4: channel.ChannelOidb0xfc9Rsp.profile:type_name -> channel.GuildUserProfile
|
14, // 4: channel.ChannelOidb0xfc9Rsp.profile:type_name -> channel.GuildUserProfile
|
||||||
8, // 5: channel.ChannelOidb0xf57Rsp.rsp:type_name -> channel.GuildMetaRsp
|
10, // 5: channel.ChannelOidb0xf57Rsp.rsp:type_name -> channel.GuildMetaRsp
|
||||||
15, // 6: channel.ChannelOidb0xf55Rsp.info:type_name -> channel.GuildChannelInfo
|
17, // 6: channel.ChannelOidb0xf55Rsp.info:type_name -> channel.GuildChannelInfo
|
||||||
9, // 7: channel.ChannelOidb0xf5dRsp.rsp:type_name -> channel.ChannelListRsp
|
11, // 7: channel.ChannelOidb0xf5dRsp.rsp:type_name -> channel.ChannelListRsp
|
||||||
13, // 8: channel.ChannelOidb0x1019Rsp.roles:type_name -> channel.GuildRole
|
7, // 8: channel.ChannelOidb0x1017Rsp.p1:type_name -> channel.P10x1017
|
||||||
14, // 9: channel.GuildMetaRsp.meta:type_name -> channel.GuildMeta
|
15, // 9: channel.P10x1017.roles:type_name -> channel.GuildRole
|
||||||
15, // 10: channel.ChannelListRsp.channels:type_name -> channel.GuildChannelInfo
|
15, // 10: channel.ChannelOidb0x1019Rsp.roles:type_name -> channel.GuildRole
|
||||||
11, // 11: channel.GuildAdminInfo.admins:type_name -> channel.GuildMemberInfo
|
16, // 11: channel.GuildMetaRsp.meta:type_name -> channel.GuildMeta
|
||||||
17, // 12: channel.GuildChannelInfo.topMsg:type_name -> channel.GuildChannelTopMsgInfo
|
17, // 12: channel.ChannelListRsp.channels:type_name -> channel.GuildChannelInfo
|
||||||
16, // 13: channel.GuildChannelInfo.slowModeInfos:type_name -> channel.GuildChannelSlowModeInfo
|
13, // 13: channel.GuildAdminInfo.admins:type_name -> channel.GuildMemberInfo
|
||||||
14, // [14:14] is the sub-list for method output_type
|
19, // 14: channel.GuildChannelInfo.topMsg:type_name -> channel.GuildChannelTopMsgInfo
|
||||||
14, // [14:14] is the sub-list for method input_type
|
18, // 15: channel.GuildChannelInfo.slowModeInfos:type_name -> channel.GuildChannelSlowModeInfo
|
||||||
14, // [14:14] is the sub-list for extension type_name
|
16, // [16:16] is the sub-list for method output_type
|
||||||
14, // [14:14] is the sub-list for extension extendee
|
16, // [16:16] is the sub-list for method input_type
|
||||||
0, // [0:14] is the sub-list for field type_name
|
16, // [16:16] is the sub-list for extension type_name
|
||||||
|
16, // [16:16] is the sub-list for extension extendee
|
||||||
|
0, // [0:16] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_pb_channel_unknown_proto_init() }
|
func init() { file_pb_channel_unknown_proto_init() }
|
||||||
@ -1588,7 +1702,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ChannelOidb0X1019Rsp); i {
|
switch v := v.(*ChannelOidb0X1017Rsp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1600,7 +1714,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ChannelOidb0X1016Rsp); i {
|
switch v := v.(*P10X1017); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1612,7 +1726,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GuildMetaRsp); i {
|
switch v := v.(*ChannelOidb0X1019Rsp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1624,7 +1738,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ChannelListRsp); i {
|
switch v := v.(*ChannelOidb0X1016Rsp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1636,7 +1750,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GuildAdminInfo); i {
|
switch v := v.(*GuildMetaRsp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1648,7 +1762,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GuildMemberInfo); i {
|
switch v := v.(*ChannelListRsp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1660,7 +1774,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GuildUserProfile); i {
|
switch v := v.(*GuildAdminInfo); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1672,7 +1786,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GuildRole); i {
|
switch v := v.(*GuildMemberInfo); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1684,7 +1798,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GuildMeta); i {
|
switch v := v.(*GuildUserProfile); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1696,7 +1810,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GuildChannelInfo); i {
|
switch v := v.(*GuildRole); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1708,7 +1822,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GuildChannelSlowModeInfo); i {
|
switch v := v.(*GuildMeta); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1720,6 +1834,30 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_channel_unknown_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_channel_unknown_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*GuildChannelInfo); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_pb_channel_unknown_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*GuildChannelSlowModeInfo); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_pb_channel_unknown_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GuildChannelTopMsgInfo); i {
|
switch v := v.(*GuildChannelTopMsgInfo); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -1738,7 +1876,7 @@ func file_pb_channel_unknown_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_pb_channel_unknown_proto_rawDesc,
|
RawDescriptor: file_pb_channel_unknown_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 18,
|
NumMessages: 20,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
@ -34,6 +34,15 @@ message ChannelOidb0xf5dRsp {
|
|||||||
optional ChannelListRsp rsp = 1;
|
optional ChannelListRsp rsp = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message ChannelOidb0x1017Rsp {
|
||||||
|
optional P10x1017 p1 = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message P10x1017 {
|
||||||
|
optional uint64 userId = 1;
|
||||||
|
repeated GuildRole roles = 3;
|
||||||
|
}
|
||||||
|
|
||||||
message ChannelOidb0x1019Rsp {
|
message ChannelOidb0x1019Rsp {
|
||||||
optional uint64 guildId = 1;
|
optional uint64 guildId = 1;
|
||||||
repeated GuildRole roles = 2;
|
repeated GuildRole roles = 2;
|
||||||
|
@ -6,10 +6,10 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x346"
|
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x346"
|
||||||
@ -15,6 +14,7 @@ import (
|
|||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/pttcenter"
|
"github.com/Mrs4s/MiraiGo/client/pb/pttcenter"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
// 企点协议相关特殊逻辑
|
// 企点协议相关特殊逻辑
|
||||||
|
|
||||||
package client
|
package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -8,13 +9,13 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x3f6"
|
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x3f6"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x6ff"
|
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x6ff"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -2,10 +2,10 @@ package client
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -5,10 +5,10 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
@ -2,10 +2,10 @@ package client
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
303
client/stash.go
Normal file
303
client/stash.go
Normal file
@ -0,0 +1,303 @@
|
|||||||
|
// UNCHECKED
|
||||||
|
|
||||||
|
package client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/binary"
|
||||||
|
"io"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Stash will store the data for the client, this will speed up booting
|
||||||
|
// the QQ client but some data may not sync with the server. So it is
|
||||||
|
// recommended to use this in development mode only.
|
||||||
|
|
||||||
|
//go:generate stringer -type=syncMarker -trimprefix=syncMarker
|
||||||
|
type syncMarker int8
|
||||||
|
|
||||||
|
const (
|
||||||
|
syncMarkerNone syncMarker = iota
|
||||||
|
syncMarkerFriendList
|
||||||
|
syncMarkerFriendInfo
|
||||||
|
syncMarkerGroupList
|
||||||
|
syncMarkerGroupInfo
|
||||||
|
syncMarkerGroupMemberList
|
||||||
|
syncMarkerGroupMemberInfo
|
||||||
|
)
|
||||||
|
|
||||||
|
type StashSyncMarkerError struct {
|
||||||
|
marker syncMarker
|
||||||
|
expected syncMarker
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e *StashSyncMarkerError) Error() string {
|
||||||
|
return "stash sync marker error: expected " + e.expected.String() + ", got " + e.marker.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteStash will write the stash to the given writer.
|
||||||
|
func WriteStash(client *QQClient, writer io.Writer) {
|
||||||
|
var out intWriter
|
||||||
|
w := stashWriter{
|
||||||
|
stringIndex: make(map[string]uint64),
|
||||||
|
}
|
||||||
|
|
||||||
|
w.friendList(client.FriendList)
|
||||||
|
w.groupList(client.GroupList)
|
||||||
|
|
||||||
|
out.uvarint(uint64(w.strings.Len()))
|
||||||
|
out.uvarint(uint64(w.data.Len()))
|
||||||
|
_, _ = io.Copy(&out, &w.strings)
|
||||||
|
_, _ = io.Copy(&out, &w.data)
|
||||||
|
_, _ = io.Copy(writer, &out)
|
||||||
|
}
|
||||||
|
|
||||||
|
type stashWriter struct {
|
||||||
|
data intWriter
|
||||||
|
strings intWriter
|
||||||
|
stringIndex map[string]uint64
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *stashWriter) string(s string) {
|
||||||
|
off, ok := w.stringIndex[s]
|
||||||
|
if !ok {
|
||||||
|
off = uint64(w.strings.Len())
|
||||||
|
w.strings.uvarint(uint64(len(s)))
|
||||||
|
_, _ = w.strings.WriteString(s)
|
||||||
|
w.stringIndex[s] = off
|
||||||
|
}
|
||||||
|
w.uvarint(off)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *stashWriter) sync(marker syncMarker) { w.data.uvarint(uint64(marker)) }
|
||||||
|
func (w *stashWriter) uvarint(v uint64) { w.data.uvarint(v) }
|
||||||
|
func (w *stashWriter) svarint(v int64) { w.data.svarint(v) }
|
||||||
|
|
||||||
|
func (w *stashWriter) int64(v int64) {
|
||||||
|
var buf [8]byte
|
||||||
|
binary.LittleEndian.PutUint64(buf[:], uint64(v))
|
||||||
|
_, _ = w.data.Write(buf[:])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *stashWriter) friendList(list []*FriendInfo) {
|
||||||
|
w.sync(syncMarkerFriendList)
|
||||||
|
w.uvarint(uint64(len(list)))
|
||||||
|
for _, friend := range list {
|
||||||
|
w.sync(syncMarkerFriendInfo)
|
||||||
|
w.int64(friend.Uin)
|
||||||
|
w.string(friend.Nickname)
|
||||||
|
w.string(friend.Remark)
|
||||||
|
w.svarint(int64(friend.FaceId))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *stashWriter) groupList(list []*GroupInfo) {
|
||||||
|
w.sync(syncMarkerGroupList)
|
||||||
|
w.uvarint(uint64(len(list)))
|
||||||
|
for _, group := range list {
|
||||||
|
w.sync(syncMarkerGroupInfo)
|
||||||
|
w.int64(group.Uin)
|
||||||
|
w.int64(group.Code)
|
||||||
|
w.string(group.Name)
|
||||||
|
w.string(group.Memo)
|
||||||
|
w.int64(group.OwnerUin)
|
||||||
|
w.uvarint(uint64(group.GroupCreateTime))
|
||||||
|
w.uvarint(uint64(group.MemberCount))
|
||||||
|
w.uvarint(uint64(group.MaxMemberCount))
|
||||||
|
w.svarint(group.LastMsgSeq)
|
||||||
|
|
||||||
|
w.groupMemberList(group.Members)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *stashWriter) groupMemberList(list []*GroupMemberInfo) {
|
||||||
|
w.sync(syncMarkerGroupMemberList)
|
||||||
|
w.uvarint(uint64(len(list)))
|
||||||
|
for _, member := range list {
|
||||||
|
w.sync(syncMarkerGroupMemberInfo)
|
||||||
|
w.int64(member.Uin)
|
||||||
|
w.uvarint(uint64(member.Gender))
|
||||||
|
w.string(member.Nickname)
|
||||||
|
w.string(member.CardName)
|
||||||
|
w.uvarint(uint64(member.Level))
|
||||||
|
w.int64(member.JoinTime)
|
||||||
|
w.int64(member.LastSpeakTime)
|
||||||
|
w.string(member.SpecialTitle)
|
||||||
|
w.svarint(member.SpecialTitleExpireTime)
|
||||||
|
w.svarint(member.ShutUpTimestamp)
|
||||||
|
w.uvarint(uint64(member.Permission))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type intWriter struct {
|
||||||
|
bytes.Buffer
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *intWriter) svarint(x int64) {
|
||||||
|
w.uvarint(uint64(x)<<1 ^ uint64(x>>63))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *intWriter) uvarint(x uint64) {
|
||||||
|
var buf [binary.MaxVarintLen64]byte
|
||||||
|
n := binary.PutUvarint(buf[:], x)
|
||||||
|
_, _ = w.Write(buf[:n])
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadStash will read the stash from the given reader and apply to the given QQClient.
|
||||||
|
func ReadStash(client *QQClient, data string) (err error) {
|
||||||
|
in := newIntReader(data)
|
||||||
|
sl := int64(in.uvarint())
|
||||||
|
dl := int64(in.uvarint())
|
||||||
|
whence, err := in.Seek(0, io.SeekCurrent)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
sData := data[whence : whence+sl]
|
||||||
|
dData := data[whence+sl : whence+sl+dl]
|
||||||
|
|
||||||
|
r := stashReader{
|
||||||
|
data: newIntReader(dData),
|
||||||
|
strings: newIntReader(sData),
|
||||||
|
stringIndex: make(map[uint64]string),
|
||||||
|
}
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
if e, ok := r.(error); ok {
|
||||||
|
err = e
|
||||||
|
return
|
||||||
|
}
|
||||||
|
panic(r)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
client.FriendList = r.friendList()
|
||||||
|
client.GroupList = r.groupList(client)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type stashReader struct {
|
||||||
|
data intReader
|
||||||
|
strings intReader
|
||||||
|
stringIndex map[uint64]string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *stashReader) string() string {
|
||||||
|
off := r.data.uvarint()
|
||||||
|
if off == 0 {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
if s, ok := r.stringIndex[off]; ok {
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
_, _ = r.strings.Seek(int64(off), io.SeekStart)
|
||||||
|
l := int64(r.strings.uvarint())
|
||||||
|
whence, _ := r.strings.Seek(0, io.SeekCurrent)
|
||||||
|
s := r.strings.data[whence : whence+l]
|
||||||
|
r.stringIndex[off] = s
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *stashReader) sync(marker syncMarker) {
|
||||||
|
got := syncMarker(r.data.uvarint())
|
||||||
|
if got != marker {
|
||||||
|
panic(&StashSyncMarkerError{
|
||||||
|
marker: got,
|
||||||
|
expected: marker,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *stashReader) friendList() []*FriendInfo {
|
||||||
|
r.sync(syncMarkerFriendList)
|
||||||
|
l := r.uvarint()
|
||||||
|
list := make([]*FriendInfo, l)
|
||||||
|
for i := uint64(0); i < l; i++ {
|
||||||
|
r.sync(syncMarkerFriendInfo)
|
||||||
|
list[i] = &FriendInfo{
|
||||||
|
Uin: r.int64(),
|
||||||
|
Nickname: r.string(),
|
||||||
|
Remark: r.string(),
|
||||||
|
FaceId: int16(r.svarint()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *stashReader) groupList(client *QQClient) []*GroupInfo {
|
||||||
|
r.sync(syncMarkerGroupList)
|
||||||
|
l := r.uvarint()
|
||||||
|
list := make([]*GroupInfo, l)
|
||||||
|
for i := uint64(0); i < l; i++ {
|
||||||
|
r.sync(syncMarkerGroupInfo)
|
||||||
|
list[i] = &GroupInfo{
|
||||||
|
Uin: r.int64(),
|
||||||
|
Code: r.int64(),
|
||||||
|
Name: r.string(),
|
||||||
|
Memo: r.string(),
|
||||||
|
OwnerUin: r.int64(),
|
||||||
|
GroupCreateTime: uint32(r.uvarint()),
|
||||||
|
GroupLevel: uint32(r.uvarint()),
|
||||||
|
MemberCount: uint16(r.uvarint()),
|
||||||
|
MaxMemberCount: uint16(r.uvarint()),
|
||||||
|
client: client,
|
||||||
|
}
|
||||||
|
list[i].Members = r.groupMemberList(list[i])
|
||||||
|
list[i].LastMsgSeq = r.svarint()
|
||||||
|
}
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *stashReader) groupMemberList(group *GroupInfo) []*GroupMemberInfo {
|
||||||
|
r.sync(syncMarkerGroupMemberList)
|
||||||
|
l := r.uvarint()
|
||||||
|
list := make([]*GroupMemberInfo, l)
|
||||||
|
for i := uint64(0); i < l; i++ {
|
||||||
|
r.sync(syncMarkerGroupMemberInfo)
|
||||||
|
list[i] = &GroupMemberInfo{
|
||||||
|
Group: group,
|
||||||
|
Uin: r.int64(),
|
||||||
|
Gender: byte(r.uvarint()),
|
||||||
|
Nickname: r.string(),
|
||||||
|
CardName: r.string(),
|
||||||
|
Level: uint16(r.uvarint()),
|
||||||
|
JoinTime: r.int64(),
|
||||||
|
LastSpeakTime: r.int64(),
|
||||||
|
SpecialTitle: r.string(),
|
||||||
|
SpecialTitleExpireTime: r.svarint(),
|
||||||
|
ShutUpTimestamp: r.svarint(),
|
||||||
|
Permission: MemberPermission(r.uvarint()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *stashReader) uvarint() uint64 { return r.data.uvarint() }
|
||||||
|
func (r *stashReader) svarint() int64 { return r.data.svarint() }
|
||||||
|
|
||||||
|
func (r *stashReader) int64() int64 {
|
||||||
|
var buf [8]byte
|
||||||
|
_, _ = r.data.Read(buf[:])
|
||||||
|
return int64(binary.LittleEndian.Uint64(buf[:]))
|
||||||
|
}
|
||||||
|
|
||||||
|
type intReader struct {
|
||||||
|
data string
|
||||||
|
*strings.Reader
|
||||||
|
}
|
||||||
|
|
||||||
|
func newIntReader(s string) intReader {
|
||||||
|
return intReader{
|
||||||
|
data: s,
|
||||||
|
Reader: strings.NewReader(s),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *intReader) svarint() int64 {
|
||||||
|
i, _ := binary.ReadVarint(r)
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *intReader) uvarint() uint64 {
|
||||||
|
i, _ := binary.ReadUvarint(r)
|
||||||
|
return i
|
||||||
|
}
|
@ -7,13 +7,13 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary/jce"
|
"github.com/Mrs4s/MiraiGo/binary/jce"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msf"
|
"github.com/Mrs4s/MiraiGo/client/pb/msf"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
29
client/syncmarker_string.go
Normal file
29
client/syncmarker_string.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Code generated by "stringer -type=syncMarker -trimprefix=syncMarker"; DO NOT EDIT.
|
||||||
|
|
||||||
|
package client
|
||||||
|
|
||||||
|
import "strconv"
|
||||||
|
|
||||||
|
func _() {
|
||||||
|
// An "invalid array index" compiler error signifies that the constant values have changed.
|
||||||
|
// Re-run the stringer command to generate them again.
|
||||||
|
var x [1]struct{}
|
||||||
|
_ = x[syncMarkerNone-0]
|
||||||
|
_ = x[syncMarkerFriendList-1]
|
||||||
|
_ = x[syncMarkerFriendInfo-2]
|
||||||
|
_ = x[syncMarkerGroupList-3]
|
||||||
|
_ = x[syncMarkerGroupInfo-4]
|
||||||
|
_ = x[syncMarkerGroupMemberList-5]
|
||||||
|
_ = x[syncMarkerGroupMemberInfo-6]
|
||||||
|
}
|
||||||
|
|
||||||
|
const _syncMarker_name = "NoneFriendListFriendInfoGroupListGroupInfoGroupMemberListGroupMemberInfo"
|
||||||
|
|
||||||
|
var _syncMarker_index = [...]uint8{0, 4, 14, 24, 33, 42, 57, 72}
|
||||||
|
|
||||||
|
func (i syncMarker) String() string {
|
||||||
|
if i < 0 || i >= syncMarker(len(_syncMarker_index)-1) {
|
||||||
|
return "syncMarker(" + strconv.FormatInt(int64(i), 10) + ")"
|
||||||
|
}
|
||||||
|
return _syncMarker_name[_syncMarker_index[i]:_syncMarker_index[i+1]]
|
||||||
|
}
|
@ -1,10 +1,9 @@
|
|||||||
package client
|
package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/structmsg"
|
"github.com/Mrs4s/MiraiGo/client/pb/structmsg"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
@ -2,10 +2,10 @@ package client
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
"github.com/Mrs4s/MiraiGo/client/pb/oidb"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (c *QQClient) buildTranslatePacket(src, dst, text string) (uint16, []byte) {
|
func (c *QQClient) buildTranslatePacket(src, dst, text string) (uint16, []byte) {
|
||||||
|
@ -7,10 +7,10 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/web"
|
"github.com/Mrs4s/MiraiGo/client/pb/web"
|
||||||
"github.com/Mrs4s/MiraiGo/internal/packets"
|
"github.com/Mrs4s/MiraiGo/internal/packets"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ func (e *EncryptECDH) generateKey(sPubKey string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (e *EncryptECDH) DoEncrypt(d, k []byte) []byte {
|
func (e *EncryptECDH) DoEncrypt(d, k []byte) []byte {
|
||||||
w := binary.NewWriter()
|
w := binary.SelectWriter()
|
||||||
w.WriteByte(0x02)
|
w.WriteByte(0x02)
|
||||||
w.WriteByte(0x01)
|
w.WriteByte(0x01)
|
||||||
w.Write(k)
|
w.Write(k)
|
||||||
|
@ -27,7 +27,7 @@ func BuildLoginPacket(uin int64, bodyType byte, key, body, extraData []byte) []b
|
|||||||
|
|
||||||
func BuildUniPacket(uin int64, seq uint16, commandName string, encryptType byte, sessionID, extraData, key, body []byte) []byte {
|
func BuildUniPacket(uin int64, seq uint16, commandName string, encryptType byte, sessionID, extraData, key, body []byte) []byte {
|
||||||
return binary.NewWriterF(func(w *binary.Writer) {
|
return binary.NewWriterF(func(w *binary.Writer) {
|
||||||
w2 := binary.NewWriter()
|
w2 := binary.SelectWriter()
|
||||||
{ // w.WriteIntLvPacket
|
{ // w.WriteIntLvPacket
|
||||||
w2.WriteUInt32(0x0B)
|
w2.WriteUInt32(0x0B)
|
||||||
w2.WriteByte(encryptType)
|
w2.WriteByte(encryptType)
|
||||||
@ -36,7 +36,7 @@ func BuildUniPacket(uin int64, seq uint16, commandName string, encryptType byte,
|
|||||||
w2.WriteString(strconv.FormatInt(uin, 10))
|
w2.WriteString(strconv.FormatInt(uin, 10))
|
||||||
|
|
||||||
// inline NewWriterF
|
// inline NewWriterF
|
||||||
w3 := binary.NewWriter()
|
w3 := binary.SelectWriter()
|
||||||
w3.WriteUniPacket(commandName, sessionID, extraData, body)
|
w3.WriteUniPacket(commandName, sessionID, extraData, body)
|
||||||
w2.EncryptAndWrite(key, w3.Bytes())
|
w2.EncryptAndWrite(key, w3.Bytes())
|
||||||
binary.PutWriter(w3)
|
binary.PutWriter(w3)
|
||||||
|
37
internal/proto/wrapper.go
Normal file
37
internal/proto/wrapper.go
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
package proto
|
||||||
|
|
||||||
|
import "google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
|
type Message = proto.Message
|
||||||
|
|
||||||
|
func Marshal(m Message) ([]byte, error) {
|
||||||
|
return proto.Marshal(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Unmarshal(b []byte, m Message) error {
|
||||||
|
return proto.Unmarshal(b, m)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bool stores v in a new bool value and returns a pointer to it.
|
||||||
|
func Bool(v bool) *bool { return &v }
|
||||||
|
|
||||||
|
// Int32 stores v in a new int32 value and returns a pointer to it.
|
||||||
|
func Int32(v int32) *int32 { return &v }
|
||||||
|
|
||||||
|
// Int64 stores v in a new int64 value and returns a pointer to it.
|
||||||
|
func Int64(v int64) *int64 { return &v }
|
||||||
|
|
||||||
|
// Float32 stores v in a new float32 value and returns a pointer to it.
|
||||||
|
func Float32(v float32) *float32 { return &v }
|
||||||
|
|
||||||
|
// Float64 stores v in a new float64 value and returns a pointer to it.
|
||||||
|
func Float64(v float64) *float64 { return &v }
|
||||||
|
|
||||||
|
// Uint32 stores v in a new uint32 value and returns a pointer to it.
|
||||||
|
func Uint32(v uint32) *uint32 { return &v }
|
||||||
|
|
||||||
|
// Uint64 stores v in a new uint64 value and returns a pointer to it.
|
||||||
|
func Uint64(v uint64) *uint64 { return &v }
|
||||||
|
|
||||||
|
// String stores v in a new string value and returns a pointer to it.
|
||||||
|
func String(v string) *string { return &v }
|
@ -4,10 +4,9 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"crypto/md5"
|
"crypto/md5"
|
||||||
|
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -3,10 +3,9 @@ package message
|
|||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
/* -------- Definitions -------- */
|
/* -------- Definitions -------- */
|
||||||
|
@ -4,8 +4,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type MarketFaceElement struct {
|
type MarketFaceElement struct {
|
||||||
|
@ -7,10 +7,9 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -4,10 +4,9 @@ import (
|
|||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
"github.com/Mrs4s/MiraiGo/client/pb/msg"
|
||||||
|
"github.com/Mrs4s/MiraiGo/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user