Files
mautrix-telegram/pkg/gotd/tdapi/tl_authorization_state_gen.go
T
2025-06-27 20:03:37 -07:00

2532 lines
77 KiB
Go

// Code generated by gotdgen, DO NOT EDIT.
package tdapi
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"go.mau.fi/mautrix-telegram/pkg/gotd/bin"
"go.mau.fi/mautrix-telegram/pkg/gotd/tdjson"
"go.mau.fi/mautrix-telegram/pkg/gotd/tdp"
"go.mau.fi/mautrix-telegram/pkg/gotd/tgerr"
)
// No-op definition for keeping imports.
var (
_ = bin.Buffer{}
_ = context.Background()
_ = fmt.Stringer(nil)
_ = strings.Builder{}
_ = errors.Is
_ = multierr.AppendInto
_ = sort.Ints
_ = tdp.Format
_ = tgerr.Error{}
_ = tdjson.Encoder{}
)
// AuthorizationStateWaitTdlibParameters represents TL type `authorizationStateWaitTdlibParameters#35ecf25c`.
type AuthorizationStateWaitTdlibParameters struct {
}
// AuthorizationStateWaitTdlibParametersTypeID is TL type id of AuthorizationStateWaitTdlibParameters.
const AuthorizationStateWaitTdlibParametersTypeID = 0x35ecf25c
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateWaitTdlibParameters) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateWaitTdlibParameters.
var (
_ bin.Encoder = &AuthorizationStateWaitTdlibParameters{}
_ bin.Decoder = &AuthorizationStateWaitTdlibParameters{}
_ bin.BareEncoder = &AuthorizationStateWaitTdlibParameters{}
_ bin.BareDecoder = &AuthorizationStateWaitTdlibParameters{}
_ AuthorizationStateClass = &AuthorizationStateWaitTdlibParameters{}
)
func (a *AuthorizationStateWaitTdlibParameters) Zero() bool {
if a == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateWaitTdlibParameters) String() string {
if a == nil {
return "AuthorizationStateWaitTdlibParameters(nil)"
}
type Alias AuthorizationStateWaitTdlibParameters
return fmt.Sprintf("AuthorizationStateWaitTdlibParameters%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateWaitTdlibParameters) TypeID() uint32 {
return AuthorizationStateWaitTdlibParametersTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateWaitTdlibParameters) TypeName() string {
return "authorizationStateWaitTdlibParameters"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateWaitTdlibParameters) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateWaitTdlibParameters",
ID: AuthorizationStateWaitTdlibParametersTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateWaitTdlibParameters) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitTdlibParameters#35ecf25c as nil")
}
b.PutID(AuthorizationStateWaitTdlibParametersTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateWaitTdlibParameters) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitTdlibParameters#35ecf25c as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateWaitTdlibParameters) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitTdlibParameters#35ecf25c to nil")
}
if err := b.ConsumeID(AuthorizationStateWaitTdlibParametersTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitTdlibParameters#35ecf25c: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateWaitTdlibParameters) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitTdlibParameters#35ecf25c to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateWaitTdlibParameters) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitTdlibParameters#35ecf25c as nil")
}
b.ObjStart()
b.PutID("authorizationStateWaitTdlibParameters")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateWaitTdlibParameters) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitTdlibParameters#35ecf25c to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateWaitTdlibParameters"); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitTdlibParameters#35ecf25c: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// AuthorizationStateWaitPhoneNumber represents TL type `authorizationStateWaitPhoneNumber#124354e3`.
type AuthorizationStateWaitPhoneNumber struct {
}
// AuthorizationStateWaitPhoneNumberTypeID is TL type id of AuthorizationStateWaitPhoneNumber.
const AuthorizationStateWaitPhoneNumberTypeID = 0x124354e3
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateWaitPhoneNumber) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateWaitPhoneNumber.
var (
_ bin.Encoder = &AuthorizationStateWaitPhoneNumber{}
_ bin.Decoder = &AuthorizationStateWaitPhoneNumber{}
_ bin.BareEncoder = &AuthorizationStateWaitPhoneNumber{}
_ bin.BareDecoder = &AuthorizationStateWaitPhoneNumber{}
_ AuthorizationStateClass = &AuthorizationStateWaitPhoneNumber{}
)
func (a *AuthorizationStateWaitPhoneNumber) Zero() bool {
if a == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateWaitPhoneNumber) String() string {
if a == nil {
return "AuthorizationStateWaitPhoneNumber(nil)"
}
type Alias AuthorizationStateWaitPhoneNumber
return fmt.Sprintf("AuthorizationStateWaitPhoneNumber%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateWaitPhoneNumber) TypeID() uint32 {
return AuthorizationStateWaitPhoneNumberTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateWaitPhoneNumber) TypeName() string {
return "authorizationStateWaitPhoneNumber"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateWaitPhoneNumber) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateWaitPhoneNumber",
ID: AuthorizationStateWaitPhoneNumberTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateWaitPhoneNumber) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitPhoneNumber#124354e3 as nil")
}
b.PutID(AuthorizationStateWaitPhoneNumberTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateWaitPhoneNumber) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitPhoneNumber#124354e3 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateWaitPhoneNumber) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitPhoneNumber#124354e3 to nil")
}
if err := b.ConsumeID(AuthorizationStateWaitPhoneNumberTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPhoneNumber#124354e3: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateWaitPhoneNumber) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitPhoneNumber#124354e3 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateWaitPhoneNumber) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitPhoneNumber#124354e3 as nil")
}
b.ObjStart()
b.PutID("authorizationStateWaitPhoneNumber")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateWaitPhoneNumber) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitPhoneNumber#124354e3 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateWaitPhoneNumber"); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPhoneNumber#124354e3: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// AuthorizationStateWaitPremiumPurchase represents TL type `authorizationStateWaitPremiumPurchase#cc977b41`.
type AuthorizationStateWaitPremiumPurchase struct {
// Identifier of the store product that must be bought
StoreProductID string
}
// AuthorizationStateWaitPremiumPurchaseTypeID is TL type id of AuthorizationStateWaitPremiumPurchase.
const AuthorizationStateWaitPremiumPurchaseTypeID = 0xcc977b41
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateWaitPremiumPurchase) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateWaitPremiumPurchase.
var (
_ bin.Encoder = &AuthorizationStateWaitPremiumPurchase{}
_ bin.Decoder = &AuthorizationStateWaitPremiumPurchase{}
_ bin.BareEncoder = &AuthorizationStateWaitPremiumPurchase{}
_ bin.BareDecoder = &AuthorizationStateWaitPremiumPurchase{}
_ AuthorizationStateClass = &AuthorizationStateWaitPremiumPurchase{}
)
func (a *AuthorizationStateWaitPremiumPurchase) Zero() bool {
if a == nil {
return true
}
if !(a.StoreProductID == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateWaitPremiumPurchase) String() string {
if a == nil {
return "AuthorizationStateWaitPremiumPurchase(nil)"
}
type Alias AuthorizationStateWaitPremiumPurchase
return fmt.Sprintf("AuthorizationStateWaitPremiumPurchase%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateWaitPremiumPurchase) TypeID() uint32 {
return AuthorizationStateWaitPremiumPurchaseTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateWaitPremiumPurchase) TypeName() string {
return "authorizationStateWaitPremiumPurchase"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateWaitPremiumPurchase) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateWaitPremiumPurchase",
ID: AuthorizationStateWaitPremiumPurchaseTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StoreProductID",
SchemaName: "store_product_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateWaitPremiumPurchase) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitPremiumPurchase#cc977b41 as nil")
}
b.PutID(AuthorizationStateWaitPremiumPurchaseTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateWaitPremiumPurchase) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitPremiumPurchase#cc977b41 as nil")
}
b.PutString(a.StoreProductID)
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateWaitPremiumPurchase) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitPremiumPurchase#cc977b41 to nil")
}
if err := b.ConsumeID(AuthorizationStateWaitPremiumPurchaseTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPremiumPurchase#cc977b41: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateWaitPremiumPurchase) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitPremiumPurchase#cc977b41 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPremiumPurchase#cc977b41: field store_product_id: %w", err)
}
a.StoreProductID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateWaitPremiumPurchase) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitPremiumPurchase#cc977b41 as nil")
}
b.ObjStart()
b.PutID("authorizationStateWaitPremiumPurchase")
b.Comma()
b.FieldStart("store_product_id")
b.PutString(a.StoreProductID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateWaitPremiumPurchase) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitPremiumPurchase#cc977b41 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateWaitPremiumPurchase"); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPremiumPurchase#cc977b41: %w", err)
}
case "store_product_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPremiumPurchase#cc977b41: field store_product_id: %w", err)
}
a.StoreProductID = value
default:
return b.Skip()
}
return nil
})
}
// GetStoreProductID returns value of StoreProductID field.
func (a *AuthorizationStateWaitPremiumPurchase) GetStoreProductID() (value string) {
if a == nil {
return
}
return a.StoreProductID
}
// AuthorizationStateWaitEmailAddress represents TL type `authorizationStateWaitEmailAddress#3e0471c7`.
type AuthorizationStateWaitEmailAddress struct {
// True, if authorization through Apple ID is allowed
AllowAppleID bool
// True, if authorization through Google ID is allowed
AllowGoogleID bool
}
// AuthorizationStateWaitEmailAddressTypeID is TL type id of AuthorizationStateWaitEmailAddress.
const AuthorizationStateWaitEmailAddressTypeID = 0x3e0471c7
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateWaitEmailAddress) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateWaitEmailAddress.
var (
_ bin.Encoder = &AuthorizationStateWaitEmailAddress{}
_ bin.Decoder = &AuthorizationStateWaitEmailAddress{}
_ bin.BareEncoder = &AuthorizationStateWaitEmailAddress{}
_ bin.BareDecoder = &AuthorizationStateWaitEmailAddress{}
_ AuthorizationStateClass = &AuthorizationStateWaitEmailAddress{}
)
func (a *AuthorizationStateWaitEmailAddress) Zero() bool {
if a == nil {
return true
}
if !(a.AllowAppleID == false) {
return false
}
if !(a.AllowGoogleID == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateWaitEmailAddress) String() string {
if a == nil {
return "AuthorizationStateWaitEmailAddress(nil)"
}
type Alias AuthorizationStateWaitEmailAddress
return fmt.Sprintf("AuthorizationStateWaitEmailAddress%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateWaitEmailAddress) TypeID() uint32 {
return AuthorizationStateWaitEmailAddressTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateWaitEmailAddress) TypeName() string {
return "authorizationStateWaitEmailAddress"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateWaitEmailAddress) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateWaitEmailAddress",
ID: AuthorizationStateWaitEmailAddressTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "AllowAppleID",
SchemaName: "allow_apple_id",
},
{
Name: "AllowGoogleID",
SchemaName: "allow_google_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateWaitEmailAddress) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitEmailAddress#3e0471c7 as nil")
}
b.PutID(AuthorizationStateWaitEmailAddressTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateWaitEmailAddress) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitEmailAddress#3e0471c7 as nil")
}
b.PutBool(a.AllowAppleID)
b.PutBool(a.AllowGoogleID)
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateWaitEmailAddress) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitEmailAddress#3e0471c7 to nil")
}
if err := b.ConsumeID(AuthorizationStateWaitEmailAddressTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailAddress#3e0471c7: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateWaitEmailAddress) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitEmailAddress#3e0471c7 to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailAddress#3e0471c7: field allow_apple_id: %w", err)
}
a.AllowAppleID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailAddress#3e0471c7: field allow_google_id: %w", err)
}
a.AllowGoogleID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateWaitEmailAddress) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitEmailAddress#3e0471c7 as nil")
}
b.ObjStart()
b.PutID("authorizationStateWaitEmailAddress")
b.Comma()
b.FieldStart("allow_apple_id")
b.PutBool(a.AllowAppleID)
b.Comma()
b.FieldStart("allow_google_id")
b.PutBool(a.AllowGoogleID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateWaitEmailAddress) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitEmailAddress#3e0471c7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateWaitEmailAddress"); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailAddress#3e0471c7: %w", err)
}
case "allow_apple_id":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailAddress#3e0471c7: field allow_apple_id: %w", err)
}
a.AllowAppleID = value
case "allow_google_id":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailAddress#3e0471c7: field allow_google_id: %w", err)
}
a.AllowGoogleID = value
default:
return b.Skip()
}
return nil
})
}
// GetAllowAppleID returns value of AllowAppleID field.
func (a *AuthorizationStateWaitEmailAddress) GetAllowAppleID() (value bool) {
if a == nil {
return
}
return a.AllowAppleID
}
// GetAllowGoogleID returns value of AllowGoogleID field.
func (a *AuthorizationStateWaitEmailAddress) GetAllowGoogleID() (value bool) {
if a == nil {
return
}
return a.AllowGoogleID
}
// AuthorizationStateWaitEmailCode represents TL type `authorizationStateWaitEmailCode#909f025b`.
type AuthorizationStateWaitEmailCode struct {
// True, if authorization through Apple ID is allowed
AllowAppleID bool
// True, if authorization through Google ID is allowed
AllowGoogleID bool
// Information about the sent authentication code
CodeInfo EmailAddressAuthenticationCodeInfo
// Reset state of the email address; may be null if the email address can't be reset
EmailAddressResetState EmailAddressResetStateClass
}
// AuthorizationStateWaitEmailCodeTypeID is TL type id of AuthorizationStateWaitEmailCode.
const AuthorizationStateWaitEmailCodeTypeID = 0x909f025b
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateWaitEmailCode) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateWaitEmailCode.
var (
_ bin.Encoder = &AuthorizationStateWaitEmailCode{}
_ bin.Decoder = &AuthorizationStateWaitEmailCode{}
_ bin.BareEncoder = &AuthorizationStateWaitEmailCode{}
_ bin.BareDecoder = &AuthorizationStateWaitEmailCode{}
_ AuthorizationStateClass = &AuthorizationStateWaitEmailCode{}
)
func (a *AuthorizationStateWaitEmailCode) Zero() bool {
if a == nil {
return true
}
if !(a.AllowAppleID == false) {
return false
}
if !(a.AllowGoogleID == false) {
return false
}
if !(a.CodeInfo.Zero()) {
return false
}
if !(a.EmailAddressResetState == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateWaitEmailCode) String() string {
if a == nil {
return "AuthorizationStateWaitEmailCode(nil)"
}
type Alias AuthorizationStateWaitEmailCode
return fmt.Sprintf("AuthorizationStateWaitEmailCode%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateWaitEmailCode) TypeID() uint32 {
return AuthorizationStateWaitEmailCodeTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateWaitEmailCode) TypeName() string {
return "authorizationStateWaitEmailCode"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateWaitEmailCode) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateWaitEmailCode",
ID: AuthorizationStateWaitEmailCodeTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "AllowAppleID",
SchemaName: "allow_apple_id",
},
{
Name: "AllowGoogleID",
SchemaName: "allow_google_id",
},
{
Name: "CodeInfo",
SchemaName: "code_info",
},
{
Name: "EmailAddressResetState",
SchemaName: "email_address_reset_state",
},
}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateWaitEmailCode) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitEmailCode#909f025b as nil")
}
b.PutID(AuthorizationStateWaitEmailCodeTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateWaitEmailCode) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitEmailCode#909f025b as nil")
}
b.PutBool(a.AllowAppleID)
b.PutBool(a.AllowGoogleID)
if err := a.CodeInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode authorizationStateWaitEmailCode#909f025b: field code_info: %w", err)
}
if a.EmailAddressResetState == nil {
return fmt.Errorf("unable to encode authorizationStateWaitEmailCode#909f025b: field email_address_reset_state is nil")
}
if err := a.EmailAddressResetState.Encode(b); err != nil {
return fmt.Errorf("unable to encode authorizationStateWaitEmailCode#909f025b: field email_address_reset_state: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateWaitEmailCode) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitEmailCode#909f025b to nil")
}
if err := b.ConsumeID(AuthorizationStateWaitEmailCodeTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateWaitEmailCode) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitEmailCode#909f025b to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: field allow_apple_id: %w", err)
}
a.AllowAppleID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: field allow_google_id: %w", err)
}
a.AllowGoogleID = value
}
{
if err := a.CodeInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: field code_info: %w", err)
}
}
{
value, err := DecodeEmailAddressResetState(b)
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: field email_address_reset_state: %w", err)
}
a.EmailAddressResetState = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateWaitEmailCode) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitEmailCode#909f025b as nil")
}
b.ObjStart()
b.PutID("authorizationStateWaitEmailCode")
b.Comma()
b.FieldStart("allow_apple_id")
b.PutBool(a.AllowAppleID)
b.Comma()
b.FieldStart("allow_google_id")
b.PutBool(a.AllowGoogleID)
b.Comma()
b.FieldStart("code_info")
if err := a.CodeInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode authorizationStateWaitEmailCode#909f025b: field code_info: %w", err)
}
b.Comma()
b.FieldStart("email_address_reset_state")
if a.EmailAddressResetState == nil {
return fmt.Errorf("unable to encode authorizationStateWaitEmailCode#909f025b: field email_address_reset_state is nil")
}
if err := a.EmailAddressResetState.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode authorizationStateWaitEmailCode#909f025b: field email_address_reset_state: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateWaitEmailCode) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitEmailCode#909f025b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateWaitEmailCode"); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: %w", err)
}
case "allow_apple_id":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: field allow_apple_id: %w", err)
}
a.AllowAppleID = value
case "allow_google_id":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: field allow_google_id: %w", err)
}
a.AllowGoogleID = value
case "code_info":
if err := a.CodeInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: field code_info: %w", err)
}
case "email_address_reset_state":
value, err := DecodeTDLibJSONEmailAddressResetState(b)
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitEmailCode#909f025b: field email_address_reset_state: %w", err)
}
a.EmailAddressResetState = value
default:
return b.Skip()
}
return nil
})
}
// GetAllowAppleID returns value of AllowAppleID field.
func (a *AuthorizationStateWaitEmailCode) GetAllowAppleID() (value bool) {
if a == nil {
return
}
return a.AllowAppleID
}
// GetAllowGoogleID returns value of AllowGoogleID field.
func (a *AuthorizationStateWaitEmailCode) GetAllowGoogleID() (value bool) {
if a == nil {
return
}
return a.AllowGoogleID
}
// GetCodeInfo returns value of CodeInfo field.
func (a *AuthorizationStateWaitEmailCode) GetCodeInfo() (value EmailAddressAuthenticationCodeInfo) {
if a == nil {
return
}
return a.CodeInfo
}
// GetEmailAddressResetState returns value of EmailAddressResetState field.
func (a *AuthorizationStateWaitEmailCode) GetEmailAddressResetState() (value EmailAddressResetStateClass) {
if a == nil {
return
}
return a.EmailAddressResetState
}
// AuthorizationStateWaitCode represents TL type `authorizationStateWaitCode#3234501`.
type AuthorizationStateWaitCode struct {
// Information about the authorization code that was sent
CodeInfo AuthenticationCodeInfo
}
// AuthorizationStateWaitCodeTypeID is TL type id of AuthorizationStateWaitCode.
const AuthorizationStateWaitCodeTypeID = 0x3234501
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateWaitCode) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateWaitCode.
var (
_ bin.Encoder = &AuthorizationStateWaitCode{}
_ bin.Decoder = &AuthorizationStateWaitCode{}
_ bin.BareEncoder = &AuthorizationStateWaitCode{}
_ bin.BareDecoder = &AuthorizationStateWaitCode{}
_ AuthorizationStateClass = &AuthorizationStateWaitCode{}
)
func (a *AuthorizationStateWaitCode) Zero() bool {
if a == nil {
return true
}
if !(a.CodeInfo.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateWaitCode) String() string {
if a == nil {
return "AuthorizationStateWaitCode(nil)"
}
type Alias AuthorizationStateWaitCode
return fmt.Sprintf("AuthorizationStateWaitCode%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateWaitCode) TypeID() uint32 {
return AuthorizationStateWaitCodeTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateWaitCode) TypeName() string {
return "authorizationStateWaitCode"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateWaitCode) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateWaitCode",
ID: AuthorizationStateWaitCodeTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "CodeInfo",
SchemaName: "code_info",
},
}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateWaitCode) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitCode#3234501 as nil")
}
b.PutID(AuthorizationStateWaitCodeTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateWaitCode) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitCode#3234501 as nil")
}
if err := a.CodeInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode authorizationStateWaitCode#3234501: field code_info: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateWaitCode) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitCode#3234501 to nil")
}
if err := b.ConsumeID(AuthorizationStateWaitCodeTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitCode#3234501: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateWaitCode) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitCode#3234501 to nil")
}
{
if err := a.CodeInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitCode#3234501: field code_info: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateWaitCode) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitCode#3234501 as nil")
}
b.ObjStart()
b.PutID("authorizationStateWaitCode")
b.Comma()
b.FieldStart("code_info")
if err := a.CodeInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode authorizationStateWaitCode#3234501: field code_info: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateWaitCode) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitCode#3234501 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateWaitCode"); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitCode#3234501: %w", err)
}
case "code_info":
if err := a.CodeInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitCode#3234501: field code_info: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetCodeInfo returns value of CodeInfo field.
func (a *AuthorizationStateWaitCode) GetCodeInfo() (value AuthenticationCodeInfo) {
if a == nil {
return
}
return a.CodeInfo
}
// AuthorizationStateWaitOtherDeviceConfirmation represents TL type `authorizationStateWaitOtherDeviceConfirmation#334518ea`.
type AuthorizationStateWaitOtherDeviceConfirmation struct {
// A tg:// URL for the QR code. The link will be updated frequently
Link string
}
// AuthorizationStateWaitOtherDeviceConfirmationTypeID is TL type id of AuthorizationStateWaitOtherDeviceConfirmation.
const AuthorizationStateWaitOtherDeviceConfirmationTypeID = 0x334518ea
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateWaitOtherDeviceConfirmation) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateWaitOtherDeviceConfirmation.
var (
_ bin.Encoder = &AuthorizationStateWaitOtherDeviceConfirmation{}
_ bin.Decoder = &AuthorizationStateWaitOtherDeviceConfirmation{}
_ bin.BareEncoder = &AuthorizationStateWaitOtherDeviceConfirmation{}
_ bin.BareDecoder = &AuthorizationStateWaitOtherDeviceConfirmation{}
_ AuthorizationStateClass = &AuthorizationStateWaitOtherDeviceConfirmation{}
)
func (a *AuthorizationStateWaitOtherDeviceConfirmation) Zero() bool {
if a == nil {
return true
}
if !(a.Link == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateWaitOtherDeviceConfirmation) String() string {
if a == nil {
return "AuthorizationStateWaitOtherDeviceConfirmation(nil)"
}
type Alias AuthorizationStateWaitOtherDeviceConfirmation
return fmt.Sprintf("AuthorizationStateWaitOtherDeviceConfirmation%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateWaitOtherDeviceConfirmation) TypeID() uint32 {
return AuthorizationStateWaitOtherDeviceConfirmationTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateWaitOtherDeviceConfirmation) TypeName() string {
return "authorizationStateWaitOtherDeviceConfirmation"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateWaitOtherDeviceConfirmation) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateWaitOtherDeviceConfirmation",
ID: AuthorizationStateWaitOtherDeviceConfirmationTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Link",
SchemaName: "link",
},
}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateWaitOtherDeviceConfirmation) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitOtherDeviceConfirmation#334518ea as nil")
}
b.PutID(AuthorizationStateWaitOtherDeviceConfirmationTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateWaitOtherDeviceConfirmation) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitOtherDeviceConfirmation#334518ea as nil")
}
b.PutString(a.Link)
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateWaitOtherDeviceConfirmation) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitOtherDeviceConfirmation#334518ea to nil")
}
if err := b.ConsumeID(AuthorizationStateWaitOtherDeviceConfirmationTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitOtherDeviceConfirmation#334518ea: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateWaitOtherDeviceConfirmation) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitOtherDeviceConfirmation#334518ea to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitOtherDeviceConfirmation#334518ea: field link: %w", err)
}
a.Link = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateWaitOtherDeviceConfirmation) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitOtherDeviceConfirmation#334518ea as nil")
}
b.ObjStart()
b.PutID("authorizationStateWaitOtherDeviceConfirmation")
b.Comma()
b.FieldStart("link")
b.PutString(a.Link)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateWaitOtherDeviceConfirmation) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitOtherDeviceConfirmation#334518ea to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateWaitOtherDeviceConfirmation"); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitOtherDeviceConfirmation#334518ea: %w", err)
}
case "link":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitOtherDeviceConfirmation#334518ea: field link: %w", err)
}
a.Link = value
default:
return b.Skip()
}
return nil
})
}
// GetLink returns value of Link field.
func (a *AuthorizationStateWaitOtherDeviceConfirmation) GetLink() (value string) {
if a == nil {
return
}
return a.Link
}
// AuthorizationStateWaitRegistration represents TL type `authorizationStateWaitRegistration#20cdaeaf`.
type AuthorizationStateWaitRegistration struct {
// Telegram terms of service
TermsOfService TermsOfService
}
// AuthorizationStateWaitRegistrationTypeID is TL type id of AuthorizationStateWaitRegistration.
const AuthorizationStateWaitRegistrationTypeID = 0x20cdaeaf
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateWaitRegistration) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateWaitRegistration.
var (
_ bin.Encoder = &AuthorizationStateWaitRegistration{}
_ bin.Decoder = &AuthorizationStateWaitRegistration{}
_ bin.BareEncoder = &AuthorizationStateWaitRegistration{}
_ bin.BareDecoder = &AuthorizationStateWaitRegistration{}
_ AuthorizationStateClass = &AuthorizationStateWaitRegistration{}
)
func (a *AuthorizationStateWaitRegistration) Zero() bool {
if a == nil {
return true
}
if !(a.TermsOfService.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateWaitRegistration) String() string {
if a == nil {
return "AuthorizationStateWaitRegistration(nil)"
}
type Alias AuthorizationStateWaitRegistration
return fmt.Sprintf("AuthorizationStateWaitRegistration%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateWaitRegistration) TypeID() uint32 {
return AuthorizationStateWaitRegistrationTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateWaitRegistration) TypeName() string {
return "authorizationStateWaitRegistration"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateWaitRegistration) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateWaitRegistration",
ID: AuthorizationStateWaitRegistrationTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "TermsOfService",
SchemaName: "terms_of_service",
},
}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateWaitRegistration) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitRegistration#20cdaeaf as nil")
}
b.PutID(AuthorizationStateWaitRegistrationTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateWaitRegistration) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitRegistration#20cdaeaf as nil")
}
if err := a.TermsOfService.Encode(b); err != nil {
return fmt.Errorf("unable to encode authorizationStateWaitRegistration#20cdaeaf: field terms_of_service: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateWaitRegistration) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitRegistration#20cdaeaf to nil")
}
if err := b.ConsumeID(AuthorizationStateWaitRegistrationTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitRegistration#20cdaeaf: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateWaitRegistration) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitRegistration#20cdaeaf to nil")
}
{
if err := a.TermsOfService.Decode(b); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitRegistration#20cdaeaf: field terms_of_service: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateWaitRegistration) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitRegistration#20cdaeaf as nil")
}
b.ObjStart()
b.PutID("authorizationStateWaitRegistration")
b.Comma()
b.FieldStart("terms_of_service")
if err := a.TermsOfService.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode authorizationStateWaitRegistration#20cdaeaf: field terms_of_service: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateWaitRegistration) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitRegistration#20cdaeaf to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateWaitRegistration"); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitRegistration#20cdaeaf: %w", err)
}
case "terms_of_service":
if err := a.TermsOfService.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitRegistration#20cdaeaf: field terms_of_service: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetTermsOfService returns value of TermsOfService field.
func (a *AuthorizationStateWaitRegistration) GetTermsOfService() (value TermsOfService) {
if a == nil {
return
}
return a.TermsOfService
}
// AuthorizationStateWaitPassword represents TL type `authorizationStateWaitPassword#6b09dce`.
type AuthorizationStateWaitPassword struct {
// Hint for the password; may be empty
PasswordHint string
// True, if a recovery email address has been set up
HasRecoveryEmailAddress bool
// True, if some Telegram Passport elements were saved
HasPassportData bool
// Pattern of the email address to which the recovery email was sent; empty until a
// recovery email has been sent
RecoveryEmailAddressPattern string
}
// AuthorizationStateWaitPasswordTypeID is TL type id of AuthorizationStateWaitPassword.
const AuthorizationStateWaitPasswordTypeID = 0x6b09dce
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateWaitPassword) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateWaitPassword.
var (
_ bin.Encoder = &AuthorizationStateWaitPassword{}
_ bin.Decoder = &AuthorizationStateWaitPassword{}
_ bin.BareEncoder = &AuthorizationStateWaitPassword{}
_ bin.BareDecoder = &AuthorizationStateWaitPassword{}
_ AuthorizationStateClass = &AuthorizationStateWaitPassword{}
)
func (a *AuthorizationStateWaitPassword) Zero() bool {
if a == nil {
return true
}
if !(a.PasswordHint == "") {
return false
}
if !(a.HasRecoveryEmailAddress == false) {
return false
}
if !(a.HasPassportData == false) {
return false
}
if !(a.RecoveryEmailAddressPattern == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateWaitPassword) String() string {
if a == nil {
return "AuthorizationStateWaitPassword(nil)"
}
type Alias AuthorizationStateWaitPassword
return fmt.Sprintf("AuthorizationStateWaitPassword%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateWaitPassword) TypeID() uint32 {
return AuthorizationStateWaitPasswordTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateWaitPassword) TypeName() string {
return "authorizationStateWaitPassword"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateWaitPassword) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateWaitPassword",
ID: AuthorizationStateWaitPasswordTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PasswordHint",
SchemaName: "password_hint",
},
{
Name: "HasRecoveryEmailAddress",
SchemaName: "has_recovery_email_address",
},
{
Name: "HasPassportData",
SchemaName: "has_passport_data",
},
{
Name: "RecoveryEmailAddressPattern",
SchemaName: "recovery_email_address_pattern",
},
}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateWaitPassword) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitPassword#6b09dce as nil")
}
b.PutID(AuthorizationStateWaitPasswordTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateWaitPassword) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitPassword#6b09dce as nil")
}
b.PutString(a.PasswordHint)
b.PutBool(a.HasRecoveryEmailAddress)
b.PutBool(a.HasPassportData)
b.PutString(a.RecoveryEmailAddressPattern)
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateWaitPassword) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitPassword#6b09dce to nil")
}
if err := b.ConsumeID(AuthorizationStateWaitPasswordTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateWaitPassword) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitPassword#6b09dce to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: field password_hint: %w", err)
}
a.PasswordHint = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: field has_recovery_email_address: %w", err)
}
a.HasRecoveryEmailAddress = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: field has_passport_data: %w", err)
}
a.HasPassportData = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: field recovery_email_address_pattern: %w", err)
}
a.RecoveryEmailAddressPattern = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateWaitPassword) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateWaitPassword#6b09dce as nil")
}
b.ObjStart()
b.PutID("authorizationStateWaitPassword")
b.Comma()
b.FieldStart("password_hint")
b.PutString(a.PasswordHint)
b.Comma()
b.FieldStart("has_recovery_email_address")
b.PutBool(a.HasRecoveryEmailAddress)
b.Comma()
b.FieldStart("has_passport_data")
b.PutBool(a.HasPassportData)
b.Comma()
b.FieldStart("recovery_email_address_pattern")
b.PutString(a.RecoveryEmailAddressPattern)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateWaitPassword) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateWaitPassword#6b09dce to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateWaitPassword"); err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: %w", err)
}
case "password_hint":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: field password_hint: %w", err)
}
a.PasswordHint = value
case "has_recovery_email_address":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: field has_recovery_email_address: %w", err)
}
a.HasRecoveryEmailAddress = value
case "has_passport_data":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: field has_passport_data: %w", err)
}
a.HasPassportData = value
case "recovery_email_address_pattern":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode authorizationStateWaitPassword#6b09dce: field recovery_email_address_pattern: %w", err)
}
a.RecoveryEmailAddressPattern = value
default:
return b.Skip()
}
return nil
})
}
// GetPasswordHint returns value of PasswordHint field.
func (a *AuthorizationStateWaitPassword) GetPasswordHint() (value string) {
if a == nil {
return
}
return a.PasswordHint
}
// GetHasRecoveryEmailAddress returns value of HasRecoveryEmailAddress field.
func (a *AuthorizationStateWaitPassword) GetHasRecoveryEmailAddress() (value bool) {
if a == nil {
return
}
return a.HasRecoveryEmailAddress
}
// GetHasPassportData returns value of HasPassportData field.
func (a *AuthorizationStateWaitPassword) GetHasPassportData() (value bool) {
if a == nil {
return
}
return a.HasPassportData
}
// GetRecoveryEmailAddressPattern returns value of RecoveryEmailAddressPattern field.
func (a *AuthorizationStateWaitPassword) GetRecoveryEmailAddressPattern() (value string) {
if a == nil {
return
}
return a.RecoveryEmailAddressPattern
}
// AuthorizationStateReady represents TL type `authorizationStateReady#92a21447`.
type AuthorizationStateReady struct {
}
// AuthorizationStateReadyTypeID is TL type id of AuthorizationStateReady.
const AuthorizationStateReadyTypeID = 0x92a21447
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateReady) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateReady.
var (
_ bin.Encoder = &AuthorizationStateReady{}
_ bin.Decoder = &AuthorizationStateReady{}
_ bin.BareEncoder = &AuthorizationStateReady{}
_ bin.BareDecoder = &AuthorizationStateReady{}
_ AuthorizationStateClass = &AuthorizationStateReady{}
)
func (a *AuthorizationStateReady) Zero() bool {
if a == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateReady) String() string {
if a == nil {
return "AuthorizationStateReady(nil)"
}
type Alias AuthorizationStateReady
return fmt.Sprintf("AuthorizationStateReady%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateReady) TypeID() uint32 {
return AuthorizationStateReadyTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateReady) TypeName() string {
return "authorizationStateReady"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateReady) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateReady",
ID: AuthorizationStateReadyTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateReady) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateReady#92a21447 as nil")
}
b.PutID(AuthorizationStateReadyTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateReady) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateReady#92a21447 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateReady) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateReady#92a21447 to nil")
}
if err := b.ConsumeID(AuthorizationStateReadyTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateReady#92a21447: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateReady) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateReady#92a21447 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateReady) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateReady#92a21447 as nil")
}
b.ObjStart()
b.PutID("authorizationStateReady")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateReady) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateReady#92a21447 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateReady"); err != nil {
return fmt.Errorf("unable to decode authorizationStateReady#92a21447: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// AuthorizationStateLoggingOut represents TL type `authorizationStateLoggingOut#934b576`.
type AuthorizationStateLoggingOut struct {
}
// AuthorizationStateLoggingOutTypeID is TL type id of AuthorizationStateLoggingOut.
const AuthorizationStateLoggingOutTypeID = 0x934b576
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateLoggingOut) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateLoggingOut.
var (
_ bin.Encoder = &AuthorizationStateLoggingOut{}
_ bin.Decoder = &AuthorizationStateLoggingOut{}
_ bin.BareEncoder = &AuthorizationStateLoggingOut{}
_ bin.BareDecoder = &AuthorizationStateLoggingOut{}
_ AuthorizationStateClass = &AuthorizationStateLoggingOut{}
)
func (a *AuthorizationStateLoggingOut) Zero() bool {
if a == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateLoggingOut) String() string {
if a == nil {
return "AuthorizationStateLoggingOut(nil)"
}
type Alias AuthorizationStateLoggingOut
return fmt.Sprintf("AuthorizationStateLoggingOut%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateLoggingOut) TypeID() uint32 {
return AuthorizationStateLoggingOutTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateLoggingOut) TypeName() string {
return "authorizationStateLoggingOut"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateLoggingOut) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateLoggingOut",
ID: AuthorizationStateLoggingOutTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateLoggingOut) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateLoggingOut#934b576 as nil")
}
b.PutID(AuthorizationStateLoggingOutTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateLoggingOut) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateLoggingOut#934b576 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateLoggingOut) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateLoggingOut#934b576 to nil")
}
if err := b.ConsumeID(AuthorizationStateLoggingOutTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateLoggingOut#934b576: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateLoggingOut) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateLoggingOut#934b576 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateLoggingOut) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateLoggingOut#934b576 as nil")
}
b.ObjStart()
b.PutID("authorizationStateLoggingOut")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateLoggingOut) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateLoggingOut#934b576 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateLoggingOut"); err != nil {
return fmt.Errorf("unable to decode authorizationStateLoggingOut#934b576: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// AuthorizationStateClosing represents TL type `authorizationStateClosing#1a93364f`.
type AuthorizationStateClosing struct {
}
// AuthorizationStateClosingTypeID is TL type id of AuthorizationStateClosing.
const AuthorizationStateClosingTypeID = 0x1a93364f
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateClosing) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateClosing.
var (
_ bin.Encoder = &AuthorizationStateClosing{}
_ bin.Decoder = &AuthorizationStateClosing{}
_ bin.BareEncoder = &AuthorizationStateClosing{}
_ bin.BareDecoder = &AuthorizationStateClosing{}
_ AuthorizationStateClass = &AuthorizationStateClosing{}
)
func (a *AuthorizationStateClosing) Zero() bool {
if a == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateClosing) String() string {
if a == nil {
return "AuthorizationStateClosing(nil)"
}
type Alias AuthorizationStateClosing
return fmt.Sprintf("AuthorizationStateClosing%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateClosing) TypeID() uint32 {
return AuthorizationStateClosingTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateClosing) TypeName() string {
return "authorizationStateClosing"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateClosing) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateClosing",
ID: AuthorizationStateClosingTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateClosing) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateClosing#1a93364f as nil")
}
b.PutID(AuthorizationStateClosingTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateClosing) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateClosing#1a93364f as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateClosing) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateClosing#1a93364f to nil")
}
if err := b.ConsumeID(AuthorizationStateClosingTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateClosing#1a93364f: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateClosing) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateClosing#1a93364f to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateClosing) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateClosing#1a93364f as nil")
}
b.ObjStart()
b.PutID("authorizationStateClosing")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateClosing) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateClosing#1a93364f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateClosing"); err != nil {
return fmt.Errorf("unable to decode authorizationStateClosing#1a93364f: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// AuthorizationStateClosed represents TL type `authorizationStateClosed#5af5a360`.
type AuthorizationStateClosed struct {
}
// AuthorizationStateClosedTypeID is TL type id of AuthorizationStateClosed.
const AuthorizationStateClosedTypeID = 0x5af5a360
// construct implements constructor of AuthorizationStateClass.
func (a AuthorizationStateClosed) construct() AuthorizationStateClass { return &a }
// Ensuring interfaces in compile-time for AuthorizationStateClosed.
var (
_ bin.Encoder = &AuthorizationStateClosed{}
_ bin.Decoder = &AuthorizationStateClosed{}
_ bin.BareEncoder = &AuthorizationStateClosed{}
_ bin.BareDecoder = &AuthorizationStateClosed{}
_ AuthorizationStateClass = &AuthorizationStateClosed{}
)
func (a *AuthorizationStateClosed) Zero() bool {
if a == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (a *AuthorizationStateClosed) String() string {
if a == nil {
return "AuthorizationStateClosed(nil)"
}
type Alias AuthorizationStateClosed
return fmt.Sprintf("AuthorizationStateClosed%+v", Alias(*a))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*AuthorizationStateClosed) TypeID() uint32 {
return AuthorizationStateClosedTypeID
}
// TypeName returns name of type in TL schema.
func (*AuthorizationStateClosed) TypeName() string {
return "authorizationStateClosed"
}
// TypeInfo returns info about TL type.
func (a *AuthorizationStateClosed) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "authorizationStateClosed",
ID: AuthorizationStateClosedTypeID,
}
if a == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (a *AuthorizationStateClosed) Encode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateClosed#5af5a360 as nil")
}
b.PutID(AuthorizationStateClosedTypeID)
return a.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (a *AuthorizationStateClosed) EncodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateClosed#5af5a360 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (a *AuthorizationStateClosed) Decode(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateClosed#5af5a360 to nil")
}
if err := b.ConsumeID(AuthorizationStateClosedTypeID); err != nil {
return fmt.Errorf("unable to decode authorizationStateClosed#5af5a360: %w", err)
}
return a.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (a *AuthorizationStateClosed) DecodeBare(b *bin.Buffer) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateClosed#5af5a360 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (a *AuthorizationStateClosed) EncodeTDLibJSON(b tdjson.Encoder) error {
if a == nil {
return fmt.Errorf("can't encode authorizationStateClosed#5af5a360 as nil")
}
b.ObjStart()
b.PutID("authorizationStateClosed")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (a *AuthorizationStateClosed) DecodeTDLibJSON(b tdjson.Decoder) error {
if a == nil {
return fmt.Errorf("can't decode authorizationStateClosed#5af5a360 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("authorizationStateClosed"); err != nil {
return fmt.Errorf("unable to decode authorizationStateClosed#5af5a360: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// AuthorizationStateClassName is schema name of AuthorizationStateClass.
const AuthorizationStateClassName = "AuthorizationState"
// AuthorizationStateClass represents AuthorizationState generic type.
//
// Example:
//
// g, err := tdapi.DecodeAuthorizationState(buf)
// if err != nil {
// panic(err)
// }
// switch v := g.(type) {
// case *tdapi.AuthorizationStateWaitTdlibParameters: // authorizationStateWaitTdlibParameters#35ecf25c
// case *tdapi.AuthorizationStateWaitPhoneNumber: // authorizationStateWaitPhoneNumber#124354e3
// case *tdapi.AuthorizationStateWaitPremiumPurchase: // authorizationStateWaitPremiumPurchase#cc977b41
// case *tdapi.AuthorizationStateWaitEmailAddress: // authorizationStateWaitEmailAddress#3e0471c7
// case *tdapi.AuthorizationStateWaitEmailCode: // authorizationStateWaitEmailCode#909f025b
// case *tdapi.AuthorizationStateWaitCode: // authorizationStateWaitCode#3234501
// case *tdapi.AuthorizationStateWaitOtherDeviceConfirmation: // authorizationStateWaitOtherDeviceConfirmation#334518ea
// case *tdapi.AuthorizationStateWaitRegistration: // authorizationStateWaitRegistration#20cdaeaf
// case *tdapi.AuthorizationStateWaitPassword: // authorizationStateWaitPassword#6b09dce
// case *tdapi.AuthorizationStateReady: // authorizationStateReady#92a21447
// case *tdapi.AuthorizationStateLoggingOut: // authorizationStateLoggingOut#934b576
// case *tdapi.AuthorizationStateClosing: // authorizationStateClosing#1a93364f
// case *tdapi.AuthorizationStateClosed: // authorizationStateClosed#5af5a360
// default: panic(v)
// }
type AuthorizationStateClass interface {
bin.Encoder
bin.Decoder
bin.BareEncoder
bin.BareDecoder
construct() AuthorizationStateClass
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
TypeID() uint32
// TypeName returns name of type in TL schema.
TypeName() string
// String implements fmt.Stringer.
String() string
// Zero returns true if current object has a zero value.
Zero() bool
EncodeTDLibJSON(b tdjson.Encoder) error
DecodeTDLibJSON(b tdjson.Decoder) error
}
// DecodeAuthorizationState implements binary de-serialization for AuthorizationStateClass.
func DecodeAuthorizationState(buf *bin.Buffer) (AuthorizationStateClass, error) {
id, err := buf.PeekID()
if err != nil {
return nil, err
}
switch id {
case AuthorizationStateWaitTdlibParametersTypeID:
// Decoding authorizationStateWaitTdlibParameters#35ecf25c.
v := AuthorizationStateWaitTdlibParameters{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateWaitPhoneNumberTypeID:
// Decoding authorizationStateWaitPhoneNumber#124354e3.
v := AuthorizationStateWaitPhoneNumber{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateWaitPremiumPurchaseTypeID:
// Decoding authorizationStateWaitPremiumPurchase#cc977b41.
v := AuthorizationStateWaitPremiumPurchase{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateWaitEmailAddressTypeID:
// Decoding authorizationStateWaitEmailAddress#3e0471c7.
v := AuthorizationStateWaitEmailAddress{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateWaitEmailCodeTypeID:
// Decoding authorizationStateWaitEmailCode#909f025b.
v := AuthorizationStateWaitEmailCode{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateWaitCodeTypeID:
// Decoding authorizationStateWaitCode#3234501.
v := AuthorizationStateWaitCode{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateWaitOtherDeviceConfirmationTypeID:
// Decoding authorizationStateWaitOtherDeviceConfirmation#334518ea.
v := AuthorizationStateWaitOtherDeviceConfirmation{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateWaitRegistrationTypeID:
// Decoding authorizationStateWaitRegistration#20cdaeaf.
v := AuthorizationStateWaitRegistration{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateWaitPasswordTypeID:
// Decoding authorizationStateWaitPassword#6b09dce.
v := AuthorizationStateWaitPassword{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateReadyTypeID:
// Decoding authorizationStateReady#92a21447.
v := AuthorizationStateReady{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateLoggingOutTypeID:
// Decoding authorizationStateLoggingOut#934b576.
v := AuthorizationStateLoggingOut{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateClosingTypeID:
// Decoding authorizationStateClosing#1a93364f.
v := AuthorizationStateClosing{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case AuthorizationStateClosedTypeID:
// Decoding authorizationStateClosed#5af5a360.
v := AuthorizationStateClosed{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", bin.NewUnexpectedID(id))
}
}
// DecodeTDLibJSONAuthorizationState implements binary de-serialization for AuthorizationStateClass.
func DecodeTDLibJSONAuthorizationState(buf tdjson.Decoder) (AuthorizationStateClass, error) {
id, err := buf.FindTypeID()
if err != nil {
return nil, err
}
switch id {
case "authorizationStateWaitTdlibParameters":
// Decoding authorizationStateWaitTdlibParameters#35ecf25c.
v := AuthorizationStateWaitTdlibParameters{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateWaitPhoneNumber":
// Decoding authorizationStateWaitPhoneNumber#124354e3.
v := AuthorizationStateWaitPhoneNumber{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateWaitPremiumPurchase":
// Decoding authorizationStateWaitPremiumPurchase#cc977b41.
v := AuthorizationStateWaitPremiumPurchase{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateWaitEmailAddress":
// Decoding authorizationStateWaitEmailAddress#3e0471c7.
v := AuthorizationStateWaitEmailAddress{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateWaitEmailCode":
// Decoding authorizationStateWaitEmailCode#909f025b.
v := AuthorizationStateWaitEmailCode{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateWaitCode":
// Decoding authorizationStateWaitCode#3234501.
v := AuthorizationStateWaitCode{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateWaitOtherDeviceConfirmation":
// Decoding authorizationStateWaitOtherDeviceConfirmation#334518ea.
v := AuthorizationStateWaitOtherDeviceConfirmation{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateWaitRegistration":
// Decoding authorizationStateWaitRegistration#20cdaeaf.
v := AuthorizationStateWaitRegistration{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateWaitPassword":
// Decoding authorizationStateWaitPassword#6b09dce.
v := AuthorizationStateWaitPassword{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateReady":
// Decoding authorizationStateReady#92a21447.
v := AuthorizationStateReady{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateLoggingOut":
// Decoding authorizationStateLoggingOut#934b576.
v := AuthorizationStateLoggingOut{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateClosing":
// Decoding authorizationStateClosing#1a93364f.
v := AuthorizationStateClosing{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
case "authorizationStateClosed":
// Decoding authorizationStateClosed#5af5a360.
v := AuthorizationStateClosed{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode AuthorizationStateClass: %w", tdjson.NewUnexpectedID(id))
}
}
// AuthorizationState boxes the AuthorizationStateClass providing a helper.
type AuthorizationStateBox struct {
AuthorizationState AuthorizationStateClass
}
// Decode implements bin.Decoder for AuthorizationStateBox.
func (b *AuthorizationStateBox) Decode(buf *bin.Buffer) error {
if b == nil {
return fmt.Errorf("unable to decode AuthorizationStateBox to nil")
}
v, err := DecodeAuthorizationState(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.AuthorizationState = v
return nil
}
// Encode implements bin.Encode for AuthorizationStateBox.
func (b *AuthorizationStateBox) Encode(buf *bin.Buffer) error {
if b == nil || b.AuthorizationState == nil {
return fmt.Errorf("unable to encode AuthorizationStateClass as nil")
}
return b.AuthorizationState.Encode(buf)
}
// DecodeTDLibJSON implements bin.Decoder for AuthorizationStateBox.
func (b *AuthorizationStateBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
if b == nil {
return fmt.Errorf("unable to decode AuthorizationStateBox to nil")
}
v, err := DecodeTDLibJSONAuthorizationState(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.AuthorizationState = v
return nil
}
// EncodeTDLibJSON implements bin.Encode for AuthorizationStateBox.
func (b *AuthorizationStateBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
if b == nil || b.AuthorizationState == nil {
return fmt.Errorf("unable to encode AuthorizationStateClass as nil")
}
return b.AuthorizationState.EncodeTDLibJSON(buf)
}