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 RequirementToContactEmpty struct {
}
const RequirementToContactEmptyTypeID = 0x50a9839
func (r RequirementToContactEmpty ) construct () RequirementToContactClass { return &r }
var (
_ bin .Encoder = &RequirementToContactEmpty {}
_ bin .Decoder = &RequirementToContactEmpty {}
_ bin .BareEncoder = &RequirementToContactEmpty {}
_ bin .BareDecoder = &RequirementToContactEmpty {}
_ RequirementToContactClass = &RequirementToContactEmpty {}
)
func (r *RequirementToContactEmpty ) Zero () bool {
if r == nil {
return true
}
return true
}
func (r *RequirementToContactEmpty ) String () string {
if r == nil {
return "RequirementToContactEmpty(nil)"
}
type Alias RequirementToContactEmpty
return fmt .Sprintf ("RequirementToContactEmpty%+v" , Alias (*r ))
}
func (*RequirementToContactEmpty ) TypeID () uint32 {
return RequirementToContactEmptyTypeID
}
func (*RequirementToContactEmpty ) TypeName () string {
return "requirementToContactEmpty"
}
func (r *RequirementToContactEmpty ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "requirementToContactEmpty" ,
ID : RequirementToContactEmptyTypeID ,
}
if r == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {}
return typ
}
func (r *RequirementToContactEmpty ) Encode (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't encode requirementToContactEmpty#50a9839 as nil" )
}
b .PutID (RequirementToContactEmptyTypeID )
return r .EncodeBare (b )
}
func (r *RequirementToContactEmpty ) EncodeBare (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't encode requirementToContactEmpty#50a9839 as nil" )
}
return nil
}
func (r *RequirementToContactEmpty ) Decode (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't decode requirementToContactEmpty#50a9839 to nil" )
}
if err := b .ConsumeID (RequirementToContactEmptyTypeID ); err != nil {
return fmt .Errorf ("unable to decode requirementToContactEmpty#50a9839: %w" , err )
}
return r .DecodeBare (b )
}
func (r *RequirementToContactEmpty ) DecodeBare (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't decode requirementToContactEmpty#50a9839 to nil" )
}
return nil
}
type RequirementToContactPremium struct {
}
const RequirementToContactPremiumTypeID = 0xe581e4e9
func (r RequirementToContactPremium ) construct () RequirementToContactClass { return &r }
var (
_ bin .Encoder = &RequirementToContactPremium {}
_ bin .Decoder = &RequirementToContactPremium {}
_ bin .BareEncoder = &RequirementToContactPremium {}
_ bin .BareDecoder = &RequirementToContactPremium {}
_ RequirementToContactClass = &RequirementToContactPremium {}
)
func (r *RequirementToContactPremium ) Zero () bool {
if r == nil {
return true
}
return true
}
func (r *RequirementToContactPremium ) String () string {
if r == nil {
return "RequirementToContactPremium(nil)"
}
type Alias RequirementToContactPremium
return fmt .Sprintf ("RequirementToContactPremium%+v" , Alias (*r ))
}
func (*RequirementToContactPremium ) TypeID () uint32 {
return RequirementToContactPremiumTypeID
}
func (*RequirementToContactPremium ) TypeName () string {
return "requirementToContactPremium"
}
func (r *RequirementToContactPremium ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "requirementToContactPremium" ,
ID : RequirementToContactPremiumTypeID ,
}
if r == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {}
return typ
}
func (r *RequirementToContactPremium ) Encode (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't encode requirementToContactPremium#e581e4e9 as nil" )
}
b .PutID (RequirementToContactPremiumTypeID )
return r .EncodeBare (b )
}
func (r *RequirementToContactPremium ) EncodeBare (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't encode requirementToContactPremium#e581e4e9 as nil" )
}
return nil
}
func (r *RequirementToContactPremium ) Decode (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't decode requirementToContactPremium#e581e4e9 to nil" )
}
if err := b .ConsumeID (RequirementToContactPremiumTypeID ); err != nil {
return fmt .Errorf ("unable to decode requirementToContactPremium#e581e4e9: %w" , err )
}
return r .DecodeBare (b )
}
func (r *RequirementToContactPremium ) DecodeBare (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't decode requirementToContactPremium#e581e4e9 to nil" )
}
return nil
}
type RequirementToContactPaidMessages struct {
StarsAmount int64
}
const RequirementToContactPaidMessagesTypeID = 0xb4f67e93
func (r RequirementToContactPaidMessages ) construct () RequirementToContactClass { return &r }
var (
_ bin .Encoder = &RequirementToContactPaidMessages {}
_ bin .Decoder = &RequirementToContactPaidMessages {}
_ bin .BareEncoder = &RequirementToContactPaidMessages {}
_ bin .BareDecoder = &RequirementToContactPaidMessages {}
_ RequirementToContactClass = &RequirementToContactPaidMessages {}
)
func (r *RequirementToContactPaidMessages ) Zero () bool {
if r == nil {
return true
}
if !(r .StarsAmount == 0 ) {
return false
}
return true
}
func (r *RequirementToContactPaidMessages ) String () string {
if r == nil {
return "RequirementToContactPaidMessages(nil)"
}
type Alias RequirementToContactPaidMessages
return fmt .Sprintf ("RequirementToContactPaidMessages%+v" , Alias (*r ))
}
func (r *RequirementToContactPaidMessages ) FillFrom (from interface {
GetStarsAmount () (value int64 )
}) {
r .StarsAmount = from .GetStarsAmount ()
}
func (*RequirementToContactPaidMessages ) TypeID () uint32 {
return RequirementToContactPaidMessagesTypeID
}
func (*RequirementToContactPaidMessages ) TypeName () string {
return "requirementToContactPaidMessages"
}
func (r *RequirementToContactPaidMessages ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "requirementToContactPaidMessages" ,
ID : RequirementToContactPaidMessagesTypeID ,
}
if r == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "StarsAmount" ,
SchemaName : "stars_amount" ,
},
}
return typ
}
func (r *RequirementToContactPaidMessages ) Encode (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't encode requirementToContactPaidMessages#b4f67e93 as nil" )
}
b .PutID (RequirementToContactPaidMessagesTypeID )
return r .EncodeBare (b )
}
func (r *RequirementToContactPaidMessages ) EncodeBare (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't encode requirementToContactPaidMessages#b4f67e93 as nil" )
}
b .PutLong (r .StarsAmount )
return nil
}
func (r *RequirementToContactPaidMessages ) Decode (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't decode requirementToContactPaidMessages#b4f67e93 to nil" )
}
if err := b .ConsumeID (RequirementToContactPaidMessagesTypeID ); err != nil {
return fmt .Errorf ("unable to decode requirementToContactPaidMessages#b4f67e93: %w" , err )
}
return r .DecodeBare (b )
}
func (r *RequirementToContactPaidMessages ) DecodeBare (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't decode requirementToContactPaidMessages#b4f67e93 to nil" )
}
{
value , err := b .Long ()
if err != nil {
return fmt .Errorf ("unable to decode requirementToContactPaidMessages#b4f67e93: field stars_amount: %w" , err )
}
r .StarsAmount = value
}
return nil
}
func (r *RequirementToContactPaidMessages ) GetStarsAmount () (value int64 ) {
if r == nil {
return
}
return r .StarsAmount
}
const RequirementToContactClassName = "RequirementToContact"
type RequirementToContactClass interface {
bin .Encoder
bin .Decoder
bin .BareEncoder
bin .BareDecoder
construct () RequirementToContactClass
TypeID () uint32
TypeName () string
String () string
Zero () bool
}
func DecodeRequirementToContact (buf *bin .Buffer ) (RequirementToContactClass , error ) {
id , err := buf .PeekID ()
if err != nil {
return nil , err
}
switch id {
case RequirementToContactEmptyTypeID :
v := RequirementToContactEmpty {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode RequirementToContactClass: %w" , err )
}
return &v , nil
case RequirementToContactPremiumTypeID :
v := RequirementToContactPremium {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode RequirementToContactClass: %w" , err )
}
return &v , nil
case RequirementToContactPaidMessagesTypeID :
v := RequirementToContactPaidMessages {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode RequirementToContactClass: %w" , err )
}
return &v , nil
default :
return nil , fmt .Errorf ("unable to decode RequirementToContactClass: %w" , bin .NewUnexpectedID (id ))
}
}
type RequirementToContactBox struct {
RequirementToContact RequirementToContactClass
}
func (b *RequirementToContactBox ) Decode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("unable to decode RequirementToContactBox to nil" )
}
v , err := DecodeRequirementToContact (buf )
if err != nil {
return fmt .Errorf ("unable to decode boxed value: %w" , err )
}
b .RequirementToContact = v
return nil
}
func (b *RequirementToContactBox ) Encode (buf *bin .Buffer ) error {
if b == nil || b .RequirementToContact == nil {
return fmt .Errorf ("unable to encode RequirementToContactClass as nil" )
}
return b .RequirementToContact .Encode (buf )
}
The pages are generated with Golds v0.8.4 . (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 @zigo_101 (reachable from the left QR code) to get the latest news of Golds .