package tg
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"github.com/gotd/td/bin"
"github.com/gotd/td/tdjson"
"github.com/gotd/td/tdp"
"github.com/gotd/td/tgerr"
)
var (
_ = bin .Buffer {}
_ = context .Background ()
_ = fmt .Stringer (nil )
_ = strings .Builder {}
_ = errors .Is
_ = multierr .AppendInto
_ = sort .Ints
_ = tdp .Format
_ = tgerr .Error {}
_ = tdjson .Encoder {}
)
type HelpPeerColorSet struct {
Colors []int
}
const HelpPeerColorSetTypeID = 0x26219a58
func (p HelpPeerColorSet ) construct () HelpPeerColorSetClass { return &p }
var (
_ bin .Encoder = &HelpPeerColorSet {}
_ bin .Decoder = &HelpPeerColorSet {}
_ bin .BareEncoder = &HelpPeerColorSet {}
_ bin .BareDecoder = &HelpPeerColorSet {}
_ HelpPeerColorSetClass = &HelpPeerColorSet {}
)
func (p *HelpPeerColorSet ) Zero () bool {
if p == nil {
return true
}
if !(p .Colors == nil ) {
return false
}
return true
}
func (p *HelpPeerColorSet ) String () string {
if p == nil {
return "HelpPeerColorSet(nil)"
}
type Alias HelpPeerColorSet
return fmt .Sprintf ("HelpPeerColorSet%+v" , Alias (*p ))
}
func (p *HelpPeerColorSet ) FillFrom (from interface {
GetColors () (value []int )
}) {
p .Colors = from .GetColors ()
}
func (*HelpPeerColorSet ) TypeID () uint32 {
return HelpPeerColorSetTypeID
}
func (*HelpPeerColorSet ) TypeName () string {
return "help.peerColorSet"
}
func (p *HelpPeerColorSet ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "help.peerColorSet" ,
ID : HelpPeerColorSetTypeID ,
}
if p == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Colors" ,
SchemaName : "colors" ,
},
}
return typ
}
func (p *HelpPeerColorSet ) Encode (b *bin .Buffer ) error {
if p == nil {
return fmt .Errorf ("can't encode help.peerColorSet#26219a58 as nil" )
}
b .PutID (HelpPeerColorSetTypeID )
return p .EncodeBare (b )
}
func (p *HelpPeerColorSet ) EncodeBare (b *bin .Buffer ) error {
if p == nil {
return fmt .Errorf ("can't encode help.peerColorSet#26219a58 as nil" )
}
b .PutVectorHeader (len (p .Colors ))
for _ , v := range p .Colors {
b .PutInt (v )
}
return nil
}
func (p *HelpPeerColorSet ) Decode (b *bin .Buffer ) error {
if p == nil {
return fmt .Errorf ("can't decode help.peerColorSet#26219a58 to nil" )
}
if err := b .ConsumeID (HelpPeerColorSetTypeID ); err != nil {
return fmt .Errorf ("unable to decode help.peerColorSet#26219a58: %w" , err )
}
return p .DecodeBare (b )
}
func (p *HelpPeerColorSet ) DecodeBare (b *bin .Buffer ) error {
if p == nil {
return fmt .Errorf ("can't decode help.peerColorSet#26219a58 to nil" )
}
{
headerLen , err := b .VectorHeader ()
if err != nil {
return fmt .Errorf ("unable to decode help.peerColorSet#26219a58: field colors: %w" , err )
}
if headerLen > 0 {
p .Colors = make ([]int , 0 , headerLen %bin .PreallocateLimit )
}
for idx := 0 ; idx < headerLen ; idx ++ {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode help.peerColorSet#26219a58: field colors: %w" , err )
}
p .Colors = append (p .Colors , value )
}
}
return nil
}
func (p *HelpPeerColorSet ) GetColors () (value []int ) {
if p == nil {
return
}
return p .Colors
}
type HelpPeerColorProfileSet struct {
PaletteColors []int
BgColors []int
StoryColors []int
}
const HelpPeerColorProfileSetTypeID = 0x767d61eb
func (p HelpPeerColorProfileSet ) construct () HelpPeerColorSetClass { return &p }
var (
_ bin .Encoder = &HelpPeerColorProfileSet {}
_ bin .Decoder = &HelpPeerColorProfileSet {}
_ bin .BareEncoder = &HelpPeerColorProfileSet {}
_ bin .BareDecoder = &HelpPeerColorProfileSet {}
_ HelpPeerColorSetClass = &HelpPeerColorProfileSet {}
)
func (p *HelpPeerColorProfileSet ) Zero () bool {
if p == nil {
return true
}
if !(p .PaletteColors == nil ) {
return false
}
if !(p .BgColors == nil ) {
return false
}
if !(p .StoryColors == nil ) {
return false
}
return true
}
func (p *HelpPeerColorProfileSet ) String () string {
if p == nil {
return "HelpPeerColorProfileSet(nil)"
}
type Alias HelpPeerColorProfileSet
return fmt .Sprintf ("HelpPeerColorProfileSet%+v" , Alias (*p ))
}
func (p *HelpPeerColorProfileSet ) FillFrom (from interface {
GetPaletteColors () (value []int )
GetBgColors () (value []int )
GetStoryColors () (value []int )
}) {
p .PaletteColors = from .GetPaletteColors ()
p .BgColors = from .GetBgColors ()
p .StoryColors = from .GetStoryColors ()
}
func (*HelpPeerColorProfileSet ) TypeID () uint32 {
return HelpPeerColorProfileSetTypeID
}
func (*HelpPeerColorProfileSet ) TypeName () string {
return "help.peerColorProfileSet"
}
func (p *HelpPeerColorProfileSet ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "help.peerColorProfileSet" ,
ID : HelpPeerColorProfileSetTypeID ,
}
if p == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "PaletteColors" ,
SchemaName : "palette_colors" ,
},
{
Name : "BgColors" ,
SchemaName : "bg_colors" ,
},
{
Name : "StoryColors" ,
SchemaName : "story_colors" ,
},
}
return typ
}
func (p *HelpPeerColorProfileSet ) Encode (b *bin .Buffer ) error {
if p == nil {
return fmt .Errorf ("can't encode help.peerColorProfileSet#767d61eb as nil" )
}
b .PutID (HelpPeerColorProfileSetTypeID )
return p .EncodeBare (b )
}
func (p *HelpPeerColorProfileSet ) EncodeBare (b *bin .Buffer ) error {
if p == nil {
return fmt .Errorf ("can't encode help.peerColorProfileSet#767d61eb as nil" )
}
b .PutVectorHeader (len (p .PaletteColors ))
for _ , v := range p .PaletteColors {
b .PutInt (v )
}
b .PutVectorHeader (len (p .BgColors ))
for _ , v := range p .BgColors {
b .PutInt (v )
}
b .PutVectorHeader (len (p .StoryColors ))
for _ , v := range p .StoryColors {
b .PutInt (v )
}
return nil
}
func (p *HelpPeerColorProfileSet ) Decode (b *bin .Buffer ) error {
if p == nil {
return fmt .Errorf ("can't decode help.peerColorProfileSet#767d61eb to nil" )
}
if err := b .ConsumeID (HelpPeerColorProfileSetTypeID ); err != nil {
return fmt .Errorf ("unable to decode help.peerColorProfileSet#767d61eb: %w" , err )
}
return p .DecodeBare (b )
}
func (p *HelpPeerColorProfileSet ) DecodeBare (b *bin .Buffer ) error {
if p == nil {
return fmt .Errorf ("can't decode help.peerColorProfileSet#767d61eb to nil" )
}
{
headerLen , err := b .VectorHeader ()
if err != nil {
return fmt .Errorf ("unable to decode help.peerColorProfileSet#767d61eb: field palette_colors: %w" , err )
}
if headerLen > 0 {
p .PaletteColors = make ([]int , 0 , headerLen %bin .PreallocateLimit )
}
for idx := 0 ; idx < headerLen ; idx ++ {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode help.peerColorProfileSet#767d61eb: field palette_colors: %w" , err )
}
p .PaletteColors = append (p .PaletteColors , value )
}
}
{
headerLen , err := b .VectorHeader ()
if err != nil {
return fmt .Errorf ("unable to decode help.peerColorProfileSet#767d61eb: field bg_colors: %w" , err )
}
if headerLen > 0 {
p .BgColors = make ([]int , 0 , headerLen %bin .PreallocateLimit )
}
for idx := 0 ; idx < headerLen ; idx ++ {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode help.peerColorProfileSet#767d61eb: field bg_colors: %w" , err )
}
p .BgColors = append (p .BgColors , value )
}
}
{
headerLen , err := b .VectorHeader ()
if err != nil {
return fmt .Errorf ("unable to decode help.peerColorProfileSet#767d61eb: field story_colors: %w" , err )
}
if headerLen > 0 {
p .StoryColors = make ([]int , 0 , headerLen %bin .PreallocateLimit )
}
for idx := 0 ; idx < headerLen ; idx ++ {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode help.peerColorProfileSet#767d61eb: field story_colors: %w" , err )
}
p .StoryColors = append (p .StoryColors , value )
}
}
return nil
}
func (p *HelpPeerColorProfileSet ) GetPaletteColors () (value []int ) {
if p == nil {
return
}
return p .PaletteColors
}
func (p *HelpPeerColorProfileSet ) GetBgColors () (value []int ) {
if p == nil {
return
}
return p .BgColors
}
func (p *HelpPeerColorProfileSet ) GetStoryColors () (value []int ) {
if p == nil {
return
}
return p .StoryColors
}
const HelpPeerColorSetClassName = "help.PeerColorSet"
type HelpPeerColorSetClass interface {
bin .Encoder
bin .Decoder
bin .BareEncoder
bin .BareDecoder
construct () HelpPeerColorSetClass
TypeID () uint32
TypeName () string
String () string
Zero () bool
}
func DecodeHelpPeerColorSet (buf *bin .Buffer ) (HelpPeerColorSetClass , error ) {
id , err := buf .PeekID ()
if err != nil {
return nil , err
}
switch id {
case HelpPeerColorSetTypeID :
v := HelpPeerColorSet {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode HelpPeerColorSetClass: %w" , err )
}
return &v , nil
case HelpPeerColorProfileSetTypeID :
v := HelpPeerColorProfileSet {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode HelpPeerColorSetClass: %w" , err )
}
return &v , nil
default :
return nil , fmt .Errorf ("unable to decode HelpPeerColorSetClass: %w" , bin .NewUnexpectedID (id ))
}
}
type HelpPeerColorSetBox struct {
PeerColorSet HelpPeerColorSetClass
}
func (b *HelpPeerColorSetBox ) Decode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("unable to decode HelpPeerColorSetBox to nil" )
}
v , err := DecodeHelpPeerColorSet (buf )
if err != nil {
return fmt .Errorf ("unable to decode boxed value: %w" , err )
}
b .PeerColorSet = v
return nil
}
func (b *HelpPeerColorSetBox ) Encode (buf *bin .Buffer ) error {
if b == nil || b .PeerColorSet == nil {
return fmt .Errorf ("unable to encode HelpPeerColorSetClass as nil" )
}
return b .PeerColorSet .Encode (buf )
}
The pages are generated with Golds v0.6.7 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds .