package tg
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"github.com/gotd/td/bin"
"github.com/gotd/td/tdjson"
"github.com/gotd/td/tdp"
"github.com/gotd/td/tgerr"
)
var (
_ = bin .Buffer {}
_ = context .Background ()
_ = fmt .Stringer (nil )
_ = strings .Builder {}
_ = errors .Is
_ = multierr .AppendInto
_ = sort .Ints
_ = tdp .Format
_ = tgerr .Error {}
_ = tdjson .Encoder {}
)
type InputChatPhotoEmpty struct {
}
const InputChatPhotoEmptyTypeID = 0x1ca48f57
func (i InputChatPhotoEmpty ) construct () InputChatPhotoClass { return &i }
var (
_ bin .Encoder = &InputChatPhotoEmpty {}
_ bin .Decoder = &InputChatPhotoEmpty {}
_ bin .BareEncoder = &InputChatPhotoEmpty {}
_ bin .BareDecoder = &InputChatPhotoEmpty {}
_ InputChatPhotoClass = &InputChatPhotoEmpty {}
)
func (i *InputChatPhotoEmpty ) Zero () bool {
if i == nil {
return true
}
return true
}
func (i *InputChatPhotoEmpty ) String () string {
if i == nil {
return "InputChatPhotoEmpty(nil)"
}
type Alias InputChatPhotoEmpty
return fmt .Sprintf ("InputChatPhotoEmpty%+v" , Alias (*i ))
}
func (*InputChatPhotoEmpty ) TypeID () uint32 {
return InputChatPhotoEmptyTypeID
}
func (*InputChatPhotoEmpty ) TypeName () string {
return "inputChatPhotoEmpty"
}
func (i *InputChatPhotoEmpty ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "inputChatPhotoEmpty" ,
ID : InputChatPhotoEmptyTypeID ,
}
if i == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {}
return typ
}
func (i *InputChatPhotoEmpty ) Encode (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't encode inputChatPhotoEmpty#1ca48f57 as nil" )
}
b .PutID (InputChatPhotoEmptyTypeID )
return i .EncodeBare (b )
}
func (i *InputChatPhotoEmpty ) EncodeBare (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't encode inputChatPhotoEmpty#1ca48f57 as nil" )
}
return nil
}
func (i *InputChatPhotoEmpty ) Decode (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't decode inputChatPhotoEmpty#1ca48f57 to nil" )
}
if err := b .ConsumeID (InputChatPhotoEmptyTypeID ); err != nil {
return fmt .Errorf ("unable to decode inputChatPhotoEmpty#1ca48f57: %w" , err )
}
return i .DecodeBare (b )
}
func (i *InputChatPhotoEmpty ) DecodeBare (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't decode inputChatPhotoEmpty#1ca48f57 to nil" )
}
return nil
}
type InputChatUploadedPhoto struct {
Flags bin .Fields
File InputFileClass
Video InputFileClass
VideoStartTs float64
VideoEmojiMarkup VideoSizeClass
}
const InputChatUploadedPhotoTypeID = 0xbdcdaec0
func (i InputChatUploadedPhoto ) construct () InputChatPhotoClass { return &i }
var (
_ bin .Encoder = &InputChatUploadedPhoto {}
_ bin .Decoder = &InputChatUploadedPhoto {}
_ bin .BareEncoder = &InputChatUploadedPhoto {}
_ bin .BareDecoder = &InputChatUploadedPhoto {}
_ InputChatPhotoClass = &InputChatUploadedPhoto {}
)
func (i *InputChatUploadedPhoto ) Zero () bool {
if i == nil {
return true
}
if !(i .Flags .Zero ()) {
return false
}
if !(i .File == nil ) {
return false
}
if !(i .Video == nil ) {
return false
}
if !(i .VideoStartTs == 0 ) {
return false
}
if !(i .VideoEmojiMarkup == nil ) {
return false
}
return true
}
func (i *InputChatUploadedPhoto ) String () string {
if i == nil {
return "InputChatUploadedPhoto(nil)"
}
type Alias InputChatUploadedPhoto
return fmt .Sprintf ("InputChatUploadedPhoto%+v" , Alias (*i ))
}
func (i *InputChatUploadedPhoto ) FillFrom (from interface {
GetFile () (value InputFileClass , ok bool )
GetVideo () (value InputFileClass , ok bool )
GetVideoStartTs () (value float64 , ok bool )
GetVideoEmojiMarkup () (value VideoSizeClass , ok bool )
}) {
if val , ok := from .GetFile (); ok {
i .File = val
}
if val , ok := from .GetVideo (); ok {
i .Video = val
}
if val , ok := from .GetVideoStartTs (); ok {
i .VideoStartTs = val
}
if val , ok := from .GetVideoEmojiMarkup (); ok {
i .VideoEmojiMarkup = val
}
}
func (*InputChatUploadedPhoto ) TypeID () uint32 {
return InputChatUploadedPhotoTypeID
}
func (*InputChatUploadedPhoto ) TypeName () string {
return "inputChatUploadedPhoto"
}
func (i *InputChatUploadedPhoto ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "inputChatUploadedPhoto" ,
ID : InputChatUploadedPhotoTypeID ,
}
if i == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "File" ,
SchemaName : "file" ,
Null : !i .Flags .Has (0 ),
},
{
Name : "Video" ,
SchemaName : "video" ,
Null : !i .Flags .Has (1 ),
},
{
Name : "VideoStartTs" ,
SchemaName : "video_start_ts" ,
Null : !i .Flags .Has (2 ),
},
{
Name : "VideoEmojiMarkup" ,
SchemaName : "video_emoji_markup" ,
Null : !i .Flags .Has (3 ),
},
}
return typ
}
func (i *InputChatUploadedPhoto ) SetFlags () {
if !(i .File == nil ) {
i .Flags .Set (0 )
}
if !(i .Video == nil ) {
i .Flags .Set (1 )
}
if !(i .VideoStartTs == 0 ) {
i .Flags .Set (2 )
}
if !(i .VideoEmojiMarkup == nil ) {
i .Flags .Set (3 )
}
}
func (i *InputChatUploadedPhoto ) Encode (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't encode inputChatUploadedPhoto#bdcdaec0 as nil" )
}
b .PutID (InputChatUploadedPhotoTypeID )
return i .EncodeBare (b )
}
func (i *InputChatUploadedPhoto ) EncodeBare (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't encode inputChatUploadedPhoto#bdcdaec0 as nil" )
}
i .SetFlags ()
if err := i .Flags .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode inputChatUploadedPhoto#bdcdaec0: field flags: %w" , err )
}
if i .Flags .Has (0 ) {
if i .File == nil {
return fmt .Errorf ("unable to encode inputChatUploadedPhoto#bdcdaec0: field file is nil" )
}
if err := i .File .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode inputChatUploadedPhoto#bdcdaec0: field file: %w" , err )
}
}
if i .Flags .Has (1 ) {
if i .Video == nil {
return fmt .Errorf ("unable to encode inputChatUploadedPhoto#bdcdaec0: field video is nil" )
}
if err := i .Video .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode inputChatUploadedPhoto#bdcdaec0: field video: %w" , err )
}
}
if i .Flags .Has (2 ) {
b .PutDouble (i .VideoStartTs )
}
if i .Flags .Has (3 ) {
if i .VideoEmojiMarkup == nil {
return fmt .Errorf ("unable to encode inputChatUploadedPhoto#bdcdaec0: field video_emoji_markup is nil" )
}
if err := i .VideoEmojiMarkup .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode inputChatUploadedPhoto#bdcdaec0: field video_emoji_markup: %w" , err )
}
}
return nil
}
func (i *InputChatUploadedPhoto ) Decode (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't decode inputChatUploadedPhoto#bdcdaec0 to nil" )
}
if err := b .ConsumeID (InputChatUploadedPhotoTypeID ); err != nil {
return fmt .Errorf ("unable to decode inputChatUploadedPhoto#bdcdaec0: %w" , err )
}
return i .DecodeBare (b )
}
func (i *InputChatUploadedPhoto ) DecodeBare (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't decode inputChatUploadedPhoto#bdcdaec0 to nil" )
}
{
if err := i .Flags .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode inputChatUploadedPhoto#bdcdaec0: field flags: %w" , err )
}
}
if i .Flags .Has (0 ) {
value , err := DecodeInputFile (b )
if err != nil {
return fmt .Errorf ("unable to decode inputChatUploadedPhoto#bdcdaec0: field file: %w" , err )
}
i .File = value
}
if i .Flags .Has (1 ) {
value , err := DecodeInputFile (b )
if err != nil {
return fmt .Errorf ("unable to decode inputChatUploadedPhoto#bdcdaec0: field video: %w" , err )
}
i .Video = value
}
if i .Flags .Has (2 ) {
value , err := b .Double ()
if err != nil {
return fmt .Errorf ("unable to decode inputChatUploadedPhoto#bdcdaec0: field video_start_ts: %w" , err )
}
i .VideoStartTs = value
}
if i .Flags .Has (3 ) {
value , err := DecodeVideoSize (b )
if err != nil {
return fmt .Errorf ("unable to decode inputChatUploadedPhoto#bdcdaec0: field video_emoji_markup: %w" , err )
}
i .VideoEmojiMarkup = value
}
return nil
}
func (i *InputChatUploadedPhoto ) SetFile (value InputFileClass ) {
i .Flags .Set (0 )
i .File = value
}
func (i *InputChatUploadedPhoto ) GetFile () (value InputFileClass , ok bool ) {
if i == nil {
return
}
if !i .Flags .Has (0 ) {
return value , false
}
return i .File , true
}
func (i *InputChatUploadedPhoto ) SetVideo (value InputFileClass ) {
i .Flags .Set (1 )
i .Video = value
}
func (i *InputChatUploadedPhoto ) GetVideo () (value InputFileClass , ok bool ) {
if i == nil {
return
}
if !i .Flags .Has (1 ) {
return value , false
}
return i .Video , true
}
func (i *InputChatUploadedPhoto ) SetVideoStartTs (value float64 ) {
i .Flags .Set (2 )
i .VideoStartTs = value
}
func (i *InputChatUploadedPhoto ) GetVideoStartTs () (value float64 , ok bool ) {
if i == nil {
return
}
if !i .Flags .Has (2 ) {
return value , false
}
return i .VideoStartTs , true
}
func (i *InputChatUploadedPhoto ) SetVideoEmojiMarkup (value VideoSizeClass ) {
i .Flags .Set (3 )
i .VideoEmojiMarkup = value
}
func (i *InputChatUploadedPhoto ) GetVideoEmojiMarkup () (value VideoSizeClass , ok bool ) {
if i == nil {
return
}
if !i .Flags .Has (3 ) {
return value , false
}
return i .VideoEmojiMarkup , true
}
type InputChatPhoto struct {
ID InputPhotoClass
}
const InputChatPhotoTypeID = 0x8953ad37
func (i InputChatPhoto ) construct () InputChatPhotoClass { return &i }
var (
_ bin .Encoder = &InputChatPhoto {}
_ bin .Decoder = &InputChatPhoto {}
_ bin .BareEncoder = &InputChatPhoto {}
_ bin .BareDecoder = &InputChatPhoto {}
_ InputChatPhotoClass = &InputChatPhoto {}
)
func (i *InputChatPhoto ) Zero () bool {
if i == nil {
return true
}
if !(i .ID == nil ) {
return false
}
return true
}
func (i *InputChatPhoto ) String () string {
if i == nil {
return "InputChatPhoto(nil)"
}
type Alias InputChatPhoto
return fmt .Sprintf ("InputChatPhoto%+v" , Alias (*i ))
}
func (i *InputChatPhoto ) FillFrom (from interface {
GetID () (value InputPhotoClass )
}) {
i .ID = from .GetID ()
}
func (*InputChatPhoto ) TypeID () uint32 {
return InputChatPhotoTypeID
}
func (*InputChatPhoto ) TypeName () string {
return "inputChatPhoto"
}
func (i *InputChatPhoto ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "inputChatPhoto" ,
ID : InputChatPhotoTypeID ,
}
if i == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "ID" ,
SchemaName : "id" ,
},
}
return typ
}
func (i *InputChatPhoto ) Encode (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't encode inputChatPhoto#8953ad37 as nil" )
}
b .PutID (InputChatPhotoTypeID )
return i .EncodeBare (b )
}
func (i *InputChatPhoto ) EncodeBare (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't encode inputChatPhoto#8953ad37 as nil" )
}
if i .ID == nil {
return fmt .Errorf ("unable to encode inputChatPhoto#8953ad37: field id is nil" )
}
if err := i .ID .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode inputChatPhoto#8953ad37: field id: %w" , err )
}
return nil
}
func (i *InputChatPhoto ) Decode (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't decode inputChatPhoto#8953ad37 to nil" )
}
if err := b .ConsumeID (InputChatPhotoTypeID ); err != nil {
return fmt .Errorf ("unable to decode inputChatPhoto#8953ad37: %w" , err )
}
return i .DecodeBare (b )
}
func (i *InputChatPhoto ) DecodeBare (b *bin .Buffer ) error {
if i == nil {
return fmt .Errorf ("can't decode inputChatPhoto#8953ad37 to nil" )
}
{
value , err := DecodeInputPhoto (b )
if err != nil {
return fmt .Errorf ("unable to decode inputChatPhoto#8953ad37: field id: %w" , err )
}
i .ID = value
}
return nil
}
func (i *InputChatPhoto ) GetID () (value InputPhotoClass ) {
if i == nil {
return
}
return i .ID
}
const InputChatPhotoClassName = "InputChatPhoto"
type InputChatPhotoClass interface {
bin .Encoder
bin .Decoder
bin .BareEncoder
bin .BareDecoder
construct () InputChatPhotoClass
TypeID () uint32
TypeName () string
String () string
Zero () bool
}
func DecodeInputChatPhoto (buf *bin .Buffer ) (InputChatPhotoClass , error ) {
id , err := buf .PeekID ()
if err != nil {
return nil , err
}
switch id {
case InputChatPhotoEmptyTypeID :
v := InputChatPhotoEmpty {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode InputChatPhotoClass: %w" , err )
}
return &v , nil
case InputChatUploadedPhotoTypeID :
v := InputChatUploadedPhoto {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode InputChatPhotoClass: %w" , err )
}
return &v , nil
case InputChatPhotoTypeID :
v := InputChatPhoto {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode InputChatPhotoClass: %w" , err )
}
return &v , nil
default :
return nil , fmt .Errorf ("unable to decode InputChatPhotoClass: %w" , bin .NewUnexpectedID (id ))
}
}
type InputChatPhotoBox struct {
InputChatPhoto InputChatPhotoClass
}
func (b *InputChatPhotoBox ) Decode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("unable to decode InputChatPhotoBox to nil" )
}
v , err := DecodeInputChatPhoto (buf )
if err != nil {
return fmt .Errorf ("unable to decode boxed value: %w" , err )
}
b .InputChatPhoto = v
return nil
}
func (b *InputChatPhotoBox ) Encode (buf *bin .Buffer ) error {
if b == nil || b .InputChatPhoto == nil {
return fmt .Errorf ("unable to encode InputChatPhotoClass as nil" )
}
return b .InputChatPhoto .Encode (buf )
}
The pages are generated with Golds v0.6.7 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds .