7a04f298d2
- update to latest telegram layer - remove some references to fields in tg.Entities that don't exist in the schema - originally added here: https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e - referenced here - https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3 - https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
800 lines
25 KiB
Go
800 lines
25 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{}
|
|
)
|
|
|
|
// CanTransferOwnershipResultOk represents TL type `canTransferOwnershipResultOk#faa48643`.
|
|
type CanTransferOwnershipResultOk struct {
|
|
}
|
|
|
|
// CanTransferOwnershipResultOkTypeID is TL type id of CanTransferOwnershipResultOk.
|
|
const CanTransferOwnershipResultOkTypeID = 0xfaa48643
|
|
|
|
// construct implements constructor of CanTransferOwnershipResultClass.
|
|
func (c CanTransferOwnershipResultOk) construct() CanTransferOwnershipResultClass { return &c }
|
|
|
|
// Ensuring interfaces in compile-time for CanTransferOwnershipResultOk.
|
|
var (
|
|
_ bin.Encoder = &CanTransferOwnershipResultOk{}
|
|
_ bin.Decoder = &CanTransferOwnershipResultOk{}
|
|
_ bin.BareEncoder = &CanTransferOwnershipResultOk{}
|
|
_ bin.BareDecoder = &CanTransferOwnershipResultOk{}
|
|
|
|
_ CanTransferOwnershipResultClass = &CanTransferOwnershipResultOk{}
|
|
)
|
|
|
|
func (c *CanTransferOwnershipResultOk) Zero() bool {
|
|
if c == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (c *CanTransferOwnershipResultOk) String() string {
|
|
if c == nil {
|
|
return "CanTransferOwnershipResultOk(nil)"
|
|
}
|
|
type Alias CanTransferOwnershipResultOk
|
|
return fmt.Sprintf("CanTransferOwnershipResultOk%+v", Alias(*c))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*CanTransferOwnershipResultOk) TypeID() uint32 {
|
|
return CanTransferOwnershipResultOkTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*CanTransferOwnershipResultOk) TypeName() string {
|
|
return "canTransferOwnershipResultOk"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (c *CanTransferOwnershipResultOk) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "canTransferOwnershipResultOk",
|
|
ID: CanTransferOwnershipResultOkTypeID,
|
|
}
|
|
if c == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (c *CanTransferOwnershipResultOk) Encode(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultOk#faa48643 as nil")
|
|
}
|
|
b.PutID(CanTransferOwnershipResultOkTypeID)
|
|
return c.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (c *CanTransferOwnershipResultOk) EncodeBare(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultOk#faa48643 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (c *CanTransferOwnershipResultOk) Decode(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultOk#faa48643 to nil")
|
|
}
|
|
if err := b.ConsumeID(CanTransferOwnershipResultOkTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultOk#faa48643: %w", err)
|
|
}
|
|
return c.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (c *CanTransferOwnershipResultOk) DecodeBare(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultOk#faa48643 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (c *CanTransferOwnershipResultOk) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultOk#faa48643 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("canTransferOwnershipResultOk")
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (c *CanTransferOwnershipResultOk) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultOk#faa48643 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("canTransferOwnershipResultOk"); err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultOk#faa48643: %w", err)
|
|
}
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// CanTransferOwnershipResultPasswordNeeded represents TL type `canTransferOwnershipResultPasswordNeeded#5c4a4adf`.
|
|
type CanTransferOwnershipResultPasswordNeeded struct {
|
|
}
|
|
|
|
// CanTransferOwnershipResultPasswordNeededTypeID is TL type id of CanTransferOwnershipResultPasswordNeeded.
|
|
const CanTransferOwnershipResultPasswordNeededTypeID = 0x5c4a4adf
|
|
|
|
// construct implements constructor of CanTransferOwnershipResultClass.
|
|
func (c CanTransferOwnershipResultPasswordNeeded) construct() CanTransferOwnershipResultClass {
|
|
return &c
|
|
}
|
|
|
|
// Ensuring interfaces in compile-time for CanTransferOwnershipResultPasswordNeeded.
|
|
var (
|
|
_ bin.Encoder = &CanTransferOwnershipResultPasswordNeeded{}
|
|
_ bin.Decoder = &CanTransferOwnershipResultPasswordNeeded{}
|
|
_ bin.BareEncoder = &CanTransferOwnershipResultPasswordNeeded{}
|
|
_ bin.BareDecoder = &CanTransferOwnershipResultPasswordNeeded{}
|
|
|
|
_ CanTransferOwnershipResultClass = &CanTransferOwnershipResultPasswordNeeded{}
|
|
)
|
|
|
|
func (c *CanTransferOwnershipResultPasswordNeeded) Zero() bool {
|
|
if c == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (c *CanTransferOwnershipResultPasswordNeeded) String() string {
|
|
if c == nil {
|
|
return "CanTransferOwnershipResultPasswordNeeded(nil)"
|
|
}
|
|
type Alias CanTransferOwnershipResultPasswordNeeded
|
|
return fmt.Sprintf("CanTransferOwnershipResultPasswordNeeded%+v", Alias(*c))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*CanTransferOwnershipResultPasswordNeeded) TypeID() uint32 {
|
|
return CanTransferOwnershipResultPasswordNeededTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*CanTransferOwnershipResultPasswordNeeded) TypeName() string {
|
|
return "canTransferOwnershipResultPasswordNeeded"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (c *CanTransferOwnershipResultPasswordNeeded) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "canTransferOwnershipResultPasswordNeeded",
|
|
ID: CanTransferOwnershipResultPasswordNeededTypeID,
|
|
}
|
|
if c == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (c *CanTransferOwnershipResultPasswordNeeded) Encode(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordNeeded#5c4a4adf as nil")
|
|
}
|
|
b.PutID(CanTransferOwnershipResultPasswordNeededTypeID)
|
|
return c.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (c *CanTransferOwnershipResultPasswordNeeded) EncodeBare(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordNeeded#5c4a4adf as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (c *CanTransferOwnershipResultPasswordNeeded) Decode(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordNeeded#5c4a4adf to nil")
|
|
}
|
|
if err := b.ConsumeID(CanTransferOwnershipResultPasswordNeededTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordNeeded#5c4a4adf: %w", err)
|
|
}
|
|
return c.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (c *CanTransferOwnershipResultPasswordNeeded) DecodeBare(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordNeeded#5c4a4adf to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (c *CanTransferOwnershipResultPasswordNeeded) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordNeeded#5c4a4adf as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("canTransferOwnershipResultPasswordNeeded")
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (c *CanTransferOwnershipResultPasswordNeeded) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordNeeded#5c4a4adf to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("canTransferOwnershipResultPasswordNeeded"); err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordNeeded#5c4a4adf: %w", err)
|
|
}
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// CanTransferOwnershipResultPasswordTooFresh represents TL type `canTransferOwnershipResultPasswordTooFresh#305d9b11`.
|
|
type CanTransferOwnershipResultPasswordTooFresh struct {
|
|
// Time left before the session can be used to transfer ownership of a chat, in seconds
|
|
RetryAfter int32
|
|
}
|
|
|
|
// CanTransferOwnershipResultPasswordTooFreshTypeID is TL type id of CanTransferOwnershipResultPasswordTooFresh.
|
|
const CanTransferOwnershipResultPasswordTooFreshTypeID = 0x305d9b11
|
|
|
|
// construct implements constructor of CanTransferOwnershipResultClass.
|
|
func (c CanTransferOwnershipResultPasswordTooFresh) construct() CanTransferOwnershipResultClass {
|
|
return &c
|
|
}
|
|
|
|
// Ensuring interfaces in compile-time for CanTransferOwnershipResultPasswordTooFresh.
|
|
var (
|
|
_ bin.Encoder = &CanTransferOwnershipResultPasswordTooFresh{}
|
|
_ bin.Decoder = &CanTransferOwnershipResultPasswordTooFresh{}
|
|
_ bin.BareEncoder = &CanTransferOwnershipResultPasswordTooFresh{}
|
|
_ bin.BareDecoder = &CanTransferOwnershipResultPasswordTooFresh{}
|
|
|
|
_ CanTransferOwnershipResultClass = &CanTransferOwnershipResultPasswordTooFresh{}
|
|
)
|
|
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) Zero() bool {
|
|
if c == nil {
|
|
return true
|
|
}
|
|
if !(c.RetryAfter == 0) {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) String() string {
|
|
if c == nil {
|
|
return "CanTransferOwnershipResultPasswordTooFresh(nil)"
|
|
}
|
|
type Alias CanTransferOwnershipResultPasswordTooFresh
|
|
return fmt.Sprintf("CanTransferOwnershipResultPasswordTooFresh%+v", Alias(*c))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*CanTransferOwnershipResultPasswordTooFresh) TypeID() uint32 {
|
|
return CanTransferOwnershipResultPasswordTooFreshTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*CanTransferOwnershipResultPasswordTooFresh) TypeName() string {
|
|
return "canTransferOwnershipResultPasswordTooFresh"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "canTransferOwnershipResultPasswordTooFresh",
|
|
ID: CanTransferOwnershipResultPasswordTooFreshTypeID,
|
|
}
|
|
if c == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{
|
|
{
|
|
Name: "RetryAfter",
|
|
SchemaName: "retry_after",
|
|
},
|
|
}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) Encode(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordTooFresh#305d9b11 as nil")
|
|
}
|
|
b.PutID(CanTransferOwnershipResultPasswordTooFreshTypeID)
|
|
return c.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) EncodeBare(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordTooFresh#305d9b11 as nil")
|
|
}
|
|
b.PutInt32(c.RetryAfter)
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) Decode(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordTooFresh#305d9b11 to nil")
|
|
}
|
|
if err := b.ConsumeID(CanTransferOwnershipResultPasswordTooFreshTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordTooFresh#305d9b11: %w", err)
|
|
}
|
|
return c.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) DecodeBare(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordTooFresh#305d9b11 to nil")
|
|
}
|
|
{
|
|
value, err := b.Int32()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordTooFresh#305d9b11: field retry_after: %w", err)
|
|
}
|
|
c.RetryAfter = value
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultPasswordTooFresh#305d9b11 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("canTransferOwnershipResultPasswordTooFresh")
|
|
b.Comma()
|
|
b.FieldStart("retry_after")
|
|
b.PutInt32(c.RetryAfter)
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultPasswordTooFresh#305d9b11 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("canTransferOwnershipResultPasswordTooFresh"); err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordTooFresh#305d9b11: %w", err)
|
|
}
|
|
case "retry_after":
|
|
value, err := b.Int32()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultPasswordTooFresh#305d9b11: field retry_after: %w", err)
|
|
}
|
|
c.RetryAfter = value
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// GetRetryAfter returns value of RetryAfter field.
|
|
func (c *CanTransferOwnershipResultPasswordTooFresh) GetRetryAfter() (value int32) {
|
|
if c == nil {
|
|
return
|
|
}
|
|
return c.RetryAfter
|
|
}
|
|
|
|
// CanTransferOwnershipResultSessionTooFresh represents TL type `canTransferOwnershipResultSessionTooFresh#3ab0c8e1`.
|
|
type CanTransferOwnershipResultSessionTooFresh struct {
|
|
// Time left before the session can be used to transfer ownership of a chat, in seconds
|
|
RetryAfter int32
|
|
}
|
|
|
|
// CanTransferOwnershipResultSessionTooFreshTypeID is TL type id of CanTransferOwnershipResultSessionTooFresh.
|
|
const CanTransferOwnershipResultSessionTooFreshTypeID = 0x3ab0c8e1
|
|
|
|
// construct implements constructor of CanTransferOwnershipResultClass.
|
|
func (c CanTransferOwnershipResultSessionTooFresh) construct() CanTransferOwnershipResultClass {
|
|
return &c
|
|
}
|
|
|
|
// Ensuring interfaces in compile-time for CanTransferOwnershipResultSessionTooFresh.
|
|
var (
|
|
_ bin.Encoder = &CanTransferOwnershipResultSessionTooFresh{}
|
|
_ bin.Decoder = &CanTransferOwnershipResultSessionTooFresh{}
|
|
_ bin.BareEncoder = &CanTransferOwnershipResultSessionTooFresh{}
|
|
_ bin.BareDecoder = &CanTransferOwnershipResultSessionTooFresh{}
|
|
|
|
_ CanTransferOwnershipResultClass = &CanTransferOwnershipResultSessionTooFresh{}
|
|
)
|
|
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) Zero() bool {
|
|
if c == nil {
|
|
return true
|
|
}
|
|
if !(c.RetryAfter == 0) {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) String() string {
|
|
if c == nil {
|
|
return "CanTransferOwnershipResultSessionTooFresh(nil)"
|
|
}
|
|
type Alias CanTransferOwnershipResultSessionTooFresh
|
|
return fmt.Sprintf("CanTransferOwnershipResultSessionTooFresh%+v", Alias(*c))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*CanTransferOwnershipResultSessionTooFresh) TypeID() uint32 {
|
|
return CanTransferOwnershipResultSessionTooFreshTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*CanTransferOwnershipResultSessionTooFresh) TypeName() string {
|
|
return "canTransferOwnershipResultSessionTooFresh"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "canTransferOwnershipResultSessionTooFresh",
|
|
ID: CanTransferOwnershipResultSessionTooFreshTypeID,
|
|
}
|
|
if c == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{
|
|
{
|
|
Name: "RetryAfter",
|
|
SchemaName: "retry_after",
|
|
},
|
|
}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) Encode(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 as nil")
|
|
}
|
|
b.PutID(CanTransferOwnershipResultSessionTooFreshTypeID)
|
|
return c.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) EncodeBare(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 as nil")
|
|
}
|
|
b.PutInt32(c.RetryAfter)
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) Decode(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 to nil")
|
|
}
|
|
if err := b.ConsumeID(CanTransferOwnershipResultSessionTooFreshTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1: %w", err)
|
|
}
|
|
return c.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) DecodeBare(b *bin.Buffer) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 to nil")
|
|
}
|
|
{
|
|
value, err := b.Int32()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1: field retry_after: %w", err)
|
|
}
|
|
c.RetryAfter = value
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't encode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("canTransferOwnershipResultSessionTooFresh")
|
|
b.Comma()
|
|
b.FieldStart("retry_after")
|
|
b.PutInt32(c.RetryAfter)
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if c == nil {
|
|
return fmt.Errorf("can't decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("canTransferOwnershipResultSessionTooFresh"); err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1: %w", err)
|
|
}
|
|
case "retry_after":
|
|
value, err := b.Int32()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode canTransferOwnershipResultSessionTooFresh#3ab0c8e1: field retry_after: %w", err)
|
|
}
|
|
c.RetryAfter = value
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// GetRetryAfter returns value of RetryAfter field.
|
|
func (c *CanTransferOwnershipResultSessionTooFresh) GetRetryAfter() (value int32) {
|
|
if c == nil {
|
|
return
|
|
}
|
|
return c.RetryAfter
|
|
}
|
|
|
|
// CanTransferOwnershipResultClassName is schema name of CanTransferOwnershipResultClass.
|
|
const CanTransferOwnershipResultClassName = "CanTransferOwnershipResult"
|
|
|
|
// CanTransferOwnershipResultClass represents CanTransferOwnershipResult generic type.
|
|
//
|
|
// Example:
|
|
//
|
|
// g, err := tdapi.DecodeCanTransferOwnershipResult(buf)
|
|
// if err != nil {
|
|
// panic(err)
|
|
// }
|
|
// switch v := g.(type) {
|
|
// case *tdapi.CanTransferOwnershipResultOk: // canTransferOwnershipResultOk#faa48643
|
|
// case *tdapi.CanTransferOwnershipResultPasswordNeeded: // canTransferOwnershipResultPasswordNeeded#5c4a4adf
|
|
// case *tdapi.CanTransferOwnershipResultPasswordTooFresh: // canTransferOwnershipResultPasswordTooFresh#305d9b11
|
|
// case *tdapi.CanTransferOwnershipResultSessionTooFresh: // canTransferOwnershipResultSessionTooFresh#3ab0c8e1
|
|
// default: panic(v)
|
|
// }
|
|
type CanTransferOwnershipResultClass interface {
|
|
bin.Encoder
|
|
bin.Decoder
|
|
bin.BareEncoder
|
|
bin.BareDecoder
|
|
construct() CanTransferOwnershipResultClass
|
|
|
|
// 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
|
|
}
|
|
|
|
// DecodeCanTransferOwnershipResult implements binary de-serialization for CanTransferOwnershipResultClass.
|
|
func DecodeCanTransferOwnershipResult(buf *bin.Buffer) (CanTransferOwnershipResultClass, error) {
|
|
id, err := buf.PeekID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case CanTransferOwnershipResultOkTypeID:
|
|
// Decoding canTransferOwnershipResultOk#faa48643.
|
|
v := CanTransferOwnershipResultOk{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case CanTransferOwnershipResultPasswordNeededTypeID:
|
|
// Decoding canTransferOwnershipResultPasswordNeeded#5c4a4adf.
|
|
v := CanTransferOwnershipResultPasswordNeeded{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case CanTransferOwnershipResultPasswordTooFreshTypeID:
|
|
// Decoding canTransferOwnershipResultPasswordTooFresh#305d9b11.
|
|
v := CanTransferOwnershipResultPasswordTooFresh{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case CanTransferOwnershipResultSessionTooFreshTypeID:
|
|
// Decoding canTransferOwnershipResultSessionTooFresh#3ab0c8e1.
|
|
v := CanTransferOwnershipResultSessionTooFresh{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", bin.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// DecodeTDLibJSONCanTransferOwnershipResult implements binary de-serialization for CanTransferOwnershipResultClass.
|
|
func DecodeTDLibJSONCanTransferOwnershipResult(buf tdjson.Decoder) (CanTransferOwnershipResultClass, error) {
|
|
id, err := buf.FindTypeID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case "canTransferOwnershipResultOk":
|
|
// Decoding canTransferOwnershipResultOk#faa48643.
|
|
v := CanTransferOwnershipResultOk{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "canTransferOwnershipResultPasswordNeeded":
|
|
// Decoding canTransferOwnershipResultPasswordNeeded#5c4a4adf.
|
|
v := CanTransferOwnershipResultPasswordNeeded{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "canTransferOwnershipResultPasswordTooFresh":
|
|
// Decoding canTransferOwnershipResultPasswordTooFresh#305d9b11.
|
|
v := CanTransferOwnershipResultPasswordTooFresh{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "canTransferOwnershipResultSessionTooFresh":
|
|
// Decoding canTransferOwnershipResultSessionTooFresh#3ab0c8e1.
|
|
v := CanTransferOwnershipResultSessionTooFresh{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode CanTransferOwnershipResultClass: %w", tdjson.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// CanTransferOwnershipResult boxes the CanTransferOwnershipResultClass providing a helper.
|
|
type CanTransferOwnershipResultBox struct {
|
|
CanTransferOwnershipResult CanTransferOwnershipResultClass
|
|
}
|
|
|
|
// Decode implements bin.Decoder for CanTransferOwnershipResultBox.
|
|
func (b *CanTransferOwnershipResultBox) Decode(buf *bin.Buffer) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode CanTransferOwnershipResultBox to nil")
|
|
}
|
|
v, err := DecodeCanTransferOwnershipResult(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.CanTransferOwnershipResult = v
|
|
return nil
|
|
}
|
|
|
|
// Encode implements bin.Encode for CanTransferOwnershipResultBox.
|
|
func (b *CanTransferOwnershipResultBox) Encode(buf *bin.Buffer) error {
|
|
if b == nil || b.CanTransferOwnershipResult == nil {
|
|
return fmt.Errorf("unable to encode CanTransferOwnershipResultClass as nil")
|
|
}
|
|
return b.CanTransferOwnershipResult.Encode(buf)
|
|
}
|
|
|
|
// DecodeTDLibJSON implements bin.Decoder for CanTransferOwnershipResultBox.
|
|
func (b *CanTransferOwnershipResultBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode CanTransferOwnershipResultBox to nil")
|
|
}
|
|
v, err := DecodeTDLibJSONCanTransferOwnershipResult(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.CanTransferOwnershipResult = v
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements bin.Encode for CanTransferOwnershipResultBox.
|
|
func (b *CanTransferOwnershipResultBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
|
|
if b == nil || b.CanTransferOwnershipResult == nil {
|
|
return fmt.Errorf("unable to encode CanTransferOwnershipResultClass as nil")
|
|
}
|
|
return b.CanTransferOwnershipResult.EncodeTDLibJSON(buf)
|
|
}
|