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
578 lines
15 KiB
Go
578 lines
15 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{}
|
|
)
|
|
|
|
// StickerFormatWebp represents TL type `stickerFormatWebp#8174ef20`.
|
|
type StickerFormatWebp struct {
|
|
}
|
|
|
|
// StickerFormatWebpTypeID is TL type id of StickerFormatWebp.
|
|
const StickerFormatWebpTypeID = 0x8174ef20
|
|
|
|
// construct implements constructor of StickerFormatClass.
|
|
func (s StickerFormatWebp) construct() StickerFormatClass { return &s }
|
|
|
|
// Ensuring interfaces in compile-time for StickerFormatWebp.
|
|
var (
|
|
_ bin.Encoder = &StickerFormatWebp{}
|
|
_ bin.Decoder = &StickerFormatWebp{}
|
|
_ bin.BareEncoder = &StickerFormatWebp{}
|
|
_ bin.BareDecoder = &StickerFormatWebp{}
|
|
|
|
_ StickerFormatClass = &StickerFormatWebp{}
|
|
)
|
|
|
|
func (s *StickerFormatWebp) Zero() bool {
|
|
if s == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (s *StickerFormatWebp) String() string {
|
|
if s == nil {
|
|
return "StickerFormatWebp(nil)"
|
|
}
|
|
type Alias StickerFormatWebp
|
|
return fmt.Sprintf("StickerFormatWebp%+v", Alias(*s))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*StickerFormatWebp) TypeID() uint32 {
|
|
return StickerFormatWebpTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*StickerFormatWebp) TypeName() string {
|
|
return "stickerFormatWebp"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (s *StickerFormatWebp) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "stickerFormatWebp",
|
|
ID: StickerFormatWebpTypeID,
|
|
}
|
|
if s == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (s *StickerFormatWebp) Encode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode stickerFormatWebp#8174ef20 as nil")
|
|
}
|
|
b.PutID(StickerFormatWebpTypeID)
|
|
return s.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (s *StickerFormatWebp) EncodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode stickerFormatWebp#8174ef20 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (s *StickerFormatWebp) Decode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode stickerFormatWebp#8174ef20 to nil")
|
|
}
|
|
if err := b.ConsumeID(StickerFormatWebpTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode stickerFormatWebp#8174ef20: %w", err)
|
|
}
|
|
return s.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (s *StickerFormatWebp) DecodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode stickerFormatWebp#8174ef20 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (s *StickerFormatWebp) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode stickerFormatWebp#8174ef20 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("stickerFormatWebp")
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (s *StickerFormatWebp) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode stickerFormatWebp#8174ef20 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("stickerFormatWebp"); err != nil {
|
|
return fmt.Errorf("unable to decode stickerFormatWebp#8174ef20: %w", err)
|
|
}
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// StickerFormatTgs represents TL type `stickerFormatTgs#603caaf6`.
|
|
type StickerFormatTgs struct {
|
|
}
|
|
|
|
// StickerFormatTgsTypeID is TL type id of StickerFormatTgs.
|
|
const StickerFormatTgsTypeID = 0x603caaf6
|
|
|
|
// construct implements constructor of StickerFormatClass.
|
|
func (s StickerFormatTgs) construct() StickerFormatClass { return &s }
|
|
|
|
// Ensuring interfaces in compile-time for StickerFormatTgs.
|
|
var (
|
|
_ bin.Encoder = &StickerFormatTgs{}
|
|
_ bin.Decoder = &StickerFormatTgs{}
|
|
_ bin.BareEncoder = &StickerFormatTgs{}
|
|
_ bin.BareDecoder = &StickerFormatTgs{}
|
|
|
|
_ StickerFormatClass = &StickerFormatTgs{}
|
|
)
|
|
|
|
func (s *StickerFormatTgs) Zero() bool {
|
|
if s == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (s *StickerFormatTgs) String() string {
|
|
if s == nil {
|
|
return "StickerFormatTgs(nil)"
|
|
}
|
|
type Alias StickerFormatTgs
|
|
return fmt.Sprintf("StickerFormatTgs%+v", Alias(*s))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*StickerFormatTgs) TypeID() uint32 {
|
|
return StickerFormatTgsTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*StickerFormatTgs) TypeName() string {
|
|
return "stickerFormatTgs"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (s *StickerFormatTgs) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "stickerFormatTgs",
|
|
ID: StickerFormatTgsTypeID,
|
|
}
|
|
if s == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (s *StickerFormatTgs) Encode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode stickerFormatTgs#603caaf6 as nil")
|
|
}
|
|
b.PutID(StickerFormatTgsTypeID)
|
|
return s.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (s *StickerFormatTgs) EncodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode stickerFormatTgs#603caaf6 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (s *StickerFormatTgs) Decode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode stickerFormatTgs#603caaf6 to nil")
|
|
}
|
|
if err := b.ConsumeID(StickerFormatTgsTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode stickerFormatTgs#603caaf6: %w", err)
|
|
}
|
|
return s.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (s *StickerFormatTgs) DecodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode stickerFormatTgs#603caaf6 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (s *StickerFormatTgs) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode stickerFormatTgs#603caaf6 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("stickerFormatTgs")
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (s *StickerFormatTgs) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode stickerFormatTgs#603caaf6 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("stickerFormatTgs"); err != nil {
|
|
return fmt.Errorf("unable to decode stickerFormatTgs#603caaf6: %w", err)
|
|
}
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// StickerFormatWebm represents TL type `stickerFormatWebm#849bd54f`.
|
|
type StickerFormatWebm struct {
|
|
}
|
|
|
|
// StickerFormatWebmTypeID is TL type id of StickerFormatWebm.
|
|
const StickerFormatWebmTypeID = 0x849bd54f
|
|
|
|
// construct implements constructor of StickerFormatClass.
|
|
func (s StickerFormatWebm) construct() StickerFormatClass { return &s }
|
|
|
|
// Ensuring interfaces in compile-time for StickerFormatWebm.
|
|
var (
|
|
_ bin.Encoder = &StickerFormatWebm{}
|
|
_ bin.Decoder = &StickerFormatWebm{}
|
|
_ bin.BareEncoder = &StickerFormatWebm{}
|
|
_ bin.BareDecoder = &StickerFormatWebm{}
|
|
|
|
_ StickerFormatClass = &StickerFormatWebm{}
|
|
)
|
|
|
|
func (s *StickerFormatWebm) Zero() bool {
|
|
if s == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (s *StickerFormatWebm) String() string {
|
|
if s == nil {
|
|
return "StickerFormatWebm(nil)"
|
|
}
|
|
type Alias StickerFormatWebm
|
|
return fmt.Sprintf("StickerFormatWebm%+v", Alias(*s))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*StickerFormatWebm) TypeID() uint32 {
|
|
return StickerFormatWebmTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*StickerFormatWebm) TypeName() string {
|
|
return "stickerFormatWebm"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (s *StickerFormatWebm) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "stickerFormatWebm",
|
|
ID: StickerFormatWebmTypeID,
|
|
}
|
|
if s == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (s *StickerFormatWebm) Encode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode stickerFormatWebm#849bd54f as nil")
|
|
}
|
|
b.PutID(StickerFormatWebmTypeID)
|
|
return s.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (s *StickerFormatWebm) EncodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode stickerFormatWebm#849bd54f as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (s *StickerFormatWebm) Decode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode stickerFormatWebm#849bd54f to nil")
|
|
}
|
|
if err := b.ConsumeID(StickerFormatWebmTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode stickerFormatWebm#849bd54f: %w", err)
|
|
}
|
|
return s.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (s *StickerFormatWebm) DecodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode stickerFormatWebm#849bd54f to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (s *StickerFormatWebm) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode stickerFormatWebm#849bd54f as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("stickerFormatWebm")
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (s *StickerFormatWebm) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode stickerFormatWebm#849bd54f to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("stickerFormatWebm"); err != nil {
|
|
return fmt.Errorf("unable to decode stickerFormatWebm#849bd54f: %w", err)
|
|
}
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// StickerFormatClassName is schema name of StickerFormatClass.
|
|
const StickerFormatClassName = "StickerFormat"
|
|
|
|
// StickerFormatClass represents StickerFormat generic type.
|
|
//
|
|
// Example:
|
|
//
|
|
// g, err := tdapi.DecodeStickerFormat(buf)
|
|
// if err != nil {
|
|
// panic(err)
|
|
// }
|
|
// switch v := g.(type) {
|
|
// case *tdapi.StickerFormatWebp: // stickerFormatWebp#8174ef20
|
|
// case *tdapi.StickerFormatTgs: // stickerFormatTgs#603caaf6
|
|
// case *tdapi.StickerFormatWebm: // stickerFormatWebm#849bd54f
|
|
// default: panic(v)
|
|
// }
|
|
type StickerFormatClass interface {
|
|
bin.Encoder
|
|
bin.Decoder
|
|
bin.BareEncoder
|
|
bin.BareDecoder
|
|
construct() StickerFormatClass
|
|
|
|
// 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
|
|
}
|
|
|
|
// DecodeStickerFormat implements binary de-serialization for StickerFormatClass.
|
|
func DecodeStickerFormat(buf *bin.Buffer) (StickerFormatClass, error) {
|
|
id, err := buf.PeekID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case StickerFormatWebpTypeID:
|
|
// Decoding stickerFormatWebp#8174ef20.
|
|
v := StickerFormatWebp{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StickerFormatClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case StickerFormatTgsTypeID:
|
|
// Decoding stickerFormatTgs#603caaf6.
|
|
v := StickerFormatTgs{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StickerFormatClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case StickerFormatWebmTypeID:
|
|
// Decoding stickerFormatWebm#849bd54f.
|
|
v := StickerFormatWebm{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StickerFormatClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode StickerFormatClass: %w", bin.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// DecodeTDLibJSONStickerFormat implements binary de-serialization for StickerFormatClass.
|
|
func DecodeTDLibJSONStickerFormat(buf tdjson.Decoder) (StickerFormatClass, error) {
|
|
id, err := buf.FindTypeID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case "stickerFormatWebp":
|
|
// Decoding stickerFormatWebp#8174ef20.
|
|
v := StickerFormatWebp{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StickerFormatClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "stickerFormatTgs":
|
|
// Decoding stickerFormatTgs#603caaf6.
|
|
v := StickerFormatTgs{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StickerFormatClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "stickerFormatWebm":
|
|
// Decoding stickerFormatWebm#849bd54f.
|
|
v := StickerFormatWebm{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StickerFormatClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode StickerFormatClass: %w", tdjson.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// StickerFormat boxes the StickerFormatClass providing a helper.
|
|
type StickerFormatBox struct {
|
|
StickerFormat StickerFormatClass
|
|
}
|
|
|
|
// Decode implements bin.Decoder for StickerFormatBox.
|
|
func (b *StickerFormatBox) Decode(buf *bin.Buffer) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode StickerFormatBox to nil")
|
|
}
|
|
v, err := DecodeStickerFormat(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.StickerFormat = v
|
|
return nil
|
|
}
|
|
|
|
// Encode implements bin.Encode for StickerFormatBox.
|
|
func (b *StickerFormatBox) Encode(buf *bin.Buffer) error {
|
|
if b == nil || b.StickerFormat == nil {
|
|
return fmt.Errorf("unable to encode StickerFormatClass as nil")
|
|
}
|
|
return b.StickerFormat.Encode(buf)
|
|
}
|
|
|
|
// DecodeTDLibJSON implements bin.Decoder for StickerFormatBox.
|
|
func (b *StickerFormatBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode StickerFormatBox to nil")
|
|
}
|
|
v, err := DecodeTDLibJSONStickerFormat(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.StickerFormat = v
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements bin.Encode for StickerFormatBox.
|
|
func (b *StickerFormatBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
|
|
if b == nil || b.StickerFormat == nil {
|
|
return fmt.Errorf("unable to encode StickerFormatClass as nil")
|
|
}
|
|
return b.StickerFormat.EncodeTDLibJSON(buf)
|
|
}
|