// 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{} ) // InlineQueryResultArticle represents TL type `inlineQueryResultArticle#1016d01a`. type InlineQueryResultArticle struct { // Unique identifier of the query result ID string // URL of the result, if it exists URL string // Title of the result Title string // Represents a link to an article or web page Description string // Result thumbnail in JPEG format; may be null Thumbnail Thumbnail } // InlineQueryResultArticleTypeID is TL type id of InlineQueryResultArticle. const InlineQueryResultArticleTypeID = 0x1016d01a // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultArticle) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultArticle. var ( _ bin.Encoder = &InlineQueryResultArticle{} _ bin.Decoder = &InlineQueryResultArticle{} _ bin.BareEncoder = &InlineQueryResultArticle{} _ bin.BareDecoder = &InlineQueryResultArticle{} _ InlineQueryResultClass = &InlineQueryResultArticle{} ) func (i *InlineQueryResultArticle) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.URL == "") { return false } if !(i.Title == "") { return false } if !(i.Description == "") { return false } if !(i.Thumbnail.Zero()) { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultArticle) String() string { if i == nil { return "InlineQueryResultArticle(nil)" } type Alias InlineQueryResultArticle return fmt.Sprintf("InlineQueryResultArticle%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultArticle) TypeID() uint32 { return InlineQueryResultArticleTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultArticle) TypeName() string { return "inlineQueryResultArticle" } // TypeInfo returns info about TL type. func (i *InlineQueryResultArticle) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultArticle", ID: InlineQueryResultArticleTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "URL", SchemaName: "url", }, { Name: "Title", SchemaName: "title", }, { Name: "Description", SchemaName: "description", }, { Name: "Thumbnail", SchemaName: "thumbnail", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultArticle) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultArticle#1016d01a as nil") } b.PutID(InlineQueryResultArticleTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultArticle) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultArticle#1016d01a as nil") } b.PutString(i.ID) b.PutString(i.URL) b.PutString(i.Title) b.PutString(i.Description) if err := i.Thumbnail.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultArticle#1016d01a: field thumbnail: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultArticle) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultArticle#1016d01a to nil") } if err := b.ConsumeID(InlineQueryResultArticleTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultArticle) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultArticle#1016d01a to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field url: %w", err) } i.URL = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field description: %w", err) } i.Description = value } { if err := i.Thumbnail.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field thumbnail: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultArticle) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultArticle#1016d01a as nil") } b.ObjStart() b.PutID("inlineQueryResultArticle") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("url") b.PutString(i.URL) b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("description") b.PutString(i.Description) b.Comma() b.FieldStart("thumbnail") if err := i.Thumbnail.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultArticle#1016d01a: field thumbnail: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultArticle) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultArticle#1016d01a to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultArticle"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field id: %w", err) } i.ID = value case "url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field url: %w", err) } i.URL = value case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field title: %w", err) } i.Title = value case "description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field description: %w", err) } i.Description = value case "thumbnail": if err := i.Thumbnail.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultArticle#1016d01a: field thumbnail: %w", err) } default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultArticle) GetID() (value string) { if i == nil { return } return i.ID } // GetURL returns value of URL field. func (i *InlineQueryResultArticle) GetURL() (value string) { if i == nil { return } return i.URL } // GetTitle returns value of Title field. func (i *InlineQueryResultArticle) GetTitle() (value string) { if i == nil { return } return i.Title } // GetDescription returns value of Description field. func (i *InlineQueryResultArticle) GetDescription() (value string) { if i == nil { return } return i.Description } // GetThumbnail returns value of Thumbnail field. func (i *InlineQueryResultArticle) GetThumbnail() (value Thumbnail) { if i == nil { return } return i.Thumbnail } // InlineQueryResultContact represents TL type `inlineQueryResultContact#f5278212`. type InlineQueryResultContact struct { // Unique identifier of the query result ID string // A user contact Contact Contact // Result thumbnail in JPEG format; may be null Thumbnail Thumbnail } // InlineQueryResultContactTypeID is TL type id of InlineQueryResultContact. const InlineQueryResultContactTypeID = 0xf5278212 // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultContact) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultContact. var ( _ bin.Encoder = &InlineQueryResultContact{} _ bin.Decoder = &InlineQueryResultContact{} _ bin.BareEncoder = &InlineQueryResultContact{} _ bin.BareDecoder = &InlineQueryResultContact{} _ InlineQueryResultClass = &InlineQueryResultContact{} ) func (i *InlineQueryResultContact) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Contact.Zero()) { return false } if !(i.Thumbnail.Zero()) { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultContact) String() string { if i == nil { return "InlineQueryResultContact(nil)" } type Alias InlineQueryResultContact return fmt.Sprintf("InlineQueryResultContact%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultContact) TypeID() uint32 { return InlineQueryResultContactTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultContact) TypeName() string { return "inlineQueryResultContact" } // TypeInfo returns info about TL type. func (i *InlineQueryResultContact) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultContact", ID: InlineQueryResultContactTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Contact", SchemaName: "contact", }, { Name: "Thumbnail", SchemaName: "thumbnail", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultContact) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultContact#f5278212 as nil") } b.PutID(InlineQueryResultContactTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultContact) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultContact#f5278212 as nil") } b.PutString(i.ID) if err := i.Contact.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultContact#f5278212: field contact: %w", err) } if err := i.Thumbnail.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultContact#f5278212: field thumbnail: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultContact) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultContact#f5278212 to nil") } if err := b.ConsumeID(InlineQueryResultContactTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultContact#f5278212: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultContact) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultContact#f5278212 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultContact#f5278212: field id: %w", err) } i.ID = value } { if err := i.Contact.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultContact#f5278212: field contact: %w", err) } } { if err := i.Thumbnail.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultContact#f5278212: field thumbnail: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultContact) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultContact#f5278212 as nil") } b.ObjStart() b.PutID("inlineQueryResultContact") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("contact") if err := i.Contact.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultContact#f5278212: field contact: %w", err) } b.Comma() b.FieldStart("thumbnail") if err := i.Thumbnail.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultContact#f5278212: field thumbnail: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultContact) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultContact#f5278212 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultContact"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultContact#f5278212: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultContact#f5278212: field id: %w", err) } i.ID = value case "contact": if err := i.Contact.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultContact#f5278212: field contact: %w", err) } case "thumbnail": if err := i.Thumbnail.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultContact#f5278212: field thumbnail: %w", err) } default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultContact) GetID() (value string) { if i == nil { return } return i.ID } // GetContact returns value of Contact field. func (i *InlineQueryResultContact) GetContact() (value Contact) { if i == nil { return } return i.Contact } // GetThumbnail returns value of Thumbnail field. func (i *InlineQueryResultContact) GetThumbnail() (value Thumbnail) { if i == nil { return } return i.Thumbnail } // InlineQueryResultLocation represents TL type `inlineQueryResultLocation#1bc6ab10`. type InlineQueryResultLocation struct { // Unique identifier of the query result ID string // Location result Location Location // Title of the result Title string // Result thumbnail in JPEG format; may be null Thumbnail Thumbnail } // InlineQueryResultLocationTypeID is TL type id of InlineQueryResultLocation. const InlineQueryResultLocationTypeID = 0x1bc6ab10 // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultLocation) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultLocation. var ( _ bin.Encoder = &InlineQueryResultLocation{} _ bin.Decoder = &InlineQueryResultLocation{} _ bin.BareEncoder = &InlineQueryResultLocation{} _ bin.BareDecoder = &InlineQueryResultLocation{} _ InlineQueryResultClass = &InlineQueryResultLocation{} ) func (i *InlineQueryResultLocation) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Location.Zero()) { return false } if !(i.Title == "") { return false } if !(i.Thumbnail.Zero()) { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultLocation) String() string { if i == nil { return "InlineQueryResultLocation(nil)" } type Alias InlineQueryResultLocation return fmt.Sprintf("InlineQueryResultLocation%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultLocation) TypeID() uint32 { return InlineQueryResultLocationTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultLocation) TypeName() string { return "inlineQueryResultLocation" } // TypeInfo returns info about TL type. func (i *InlineQueryResultLocation) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultLocation", ID: InlineQueryResultLocationTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Location", SchemaName: "location", }, { Name: "Title", SchemaName: "title", }, { Name: "Thumbnail", SchemaName: "thumbnail", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultLocation) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultLocation#1bc6ab10 as nil") } b.PutID(InlineQueryResultLocationTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultLocation) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultLocation#1bc6ab10 as nil") } b.PutString(i.ID) if err := i.Location.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultLocation#1bc6ab10: field location: %w", err) } b.PutString(i.Title) if err := i.Thumbnail.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultLocation#1bc6ab10: field thumbnail: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultLocation) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultLocation#1bc6ab10 to nil") } if err := b.ConsumeID(InlineQueryResultLocationTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultLocation) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultLocation#1bc6ab10 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: field id: %w", err) } i.ID = value } { if err := i.Location.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: field location: %w", err) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: field title: %w", err) } i.Title = value } { if err := i.Thumbnail.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: field thumbnail: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultLocation) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultLocation#1bc6ab10 as nil") } b.ObjStart() b.PutID("inlineQueryResultLocation") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("location") if err := i.Location.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultLocation#1bc6ab10: field location: %w", err) } b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("thumbnail") if err := i.Thumbnail.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultLocation#1bc6ab10: field thumbnail: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultLocation) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultLocation#1bc6ab10 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultLocation"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: field id: %w", err) } i.ID = value case "location": if err := i.Location.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: field location: %w", err) } case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: field title: %w", err) } i.Title = value case "thumbnail": if err := i.Thumbnail.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultLocation#1bc6ab10: field thumbnail: %w", err) } default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultLocation) GetID() (value string) { if i == nil { return } return i.ID } // GetLocation returns value of Location field. func (i *InlineQueryResultLocation) GetLocation() (value Location) { if i == nil { return } return i.Location } // GetTitle returns value of Title field. func (i *InlineQueryResultLocation) GetTitle() (value string) { if i == nil { return } return i.Title } // GetThumbnail returns value of Thumbnail field. func (i *InlineQueryResultLocation) GetThumbnail() (value Thumbnail) { if i == nil { return } return i.Thumbnail } // InlineQueryResultVenue represents TL type `inlineQueryResultVenue#4c5b105e`. type InlineQueryResultVenue struct { // Unique identifier of the query result ID string // Venue result Venue Venue // Result thumbnail in JPEG format; may be null Thumbnail Thumbnail } // InlineQueryResultVenueTypeID is TL type id of InlineQueryResultVenue. const InlineQueryResultVenueTypeID = 0x4c5b105e // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultVenue) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultVenue. var ( _ bin.Encoder = &InlineQueryResultVenue{} _ bin.Decoder = &InlineQueryResultVenue{} _ bin.BareEncoder = &InlineQueryResultVenue{} _ bin.BareDecoder = &InlineQueryResultVenue{} _ InlineQueryResultClass = &InlineQueryResultVenue{} ) func (i *InlineQueryResultVenue) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Venue.Zero()) { return false } if !(i.Thumbnail.Zero()) { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultVenue) String() string { if i == nil { return "InlineQueryResultVenue(nil)" } type Alias InlineQueryResultVenue return fmt.Sprintf("InlineQueryResultVenue%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultVenue) TypeID() uint32 { return InlineQueryResultVenueTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultVenue) TypeName() string { return "inlineQueryResultVenue" } // TypeInfo returns info about TL type. func (i *InlineQueryResultVenue) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultVenue", ID: InlineQueryResultVenueTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Venue", SchemaName: "venue", }, { Name: "Thumbnail", SchemaName: "thumbnail", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultVenue) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultVenue#4c5b105e as nil") } b.PutID(InlineQueryResultVenueTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultVenue) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultVenue#4c5b105e as nil") } b.PutString(i.ID) if err := i.Venue.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultVenue#4c5b105e: field venue: %w", err) } if err := i.Thumbnail.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultVenue#4c5b105e: field thumbnail: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultVenue) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultVenue#4c5b105e to nil") } if err := b.ConsumeID(InlineQueryResultVenueTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVenue#4c5b105e: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultVenue) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultVenue#4c5b105e to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVenue#4c5b105e: field id: %w", err) } i.ID = value } { if err := i.Venue.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVenue#4c5b105e: field venue: %w", err) } } { if err := i.Thumbnail.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVenue#4c5b105e: field thumbnail: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultVenue) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultVenue#4c5b105e as nil") } b.ObjStart() b.PutID("inlineQueryResultVenue") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("venue") if err := i.Venue.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultVenue#4c5b105e: field venue: %w", err) } b.Comma() b.FieldStart("thumbnail") if err := i.Thumbnail.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultVenue#4c5b105e: field thumbnail: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultVenue) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultVenue#4c5b105e to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultVenue"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVenue#4c5b105e: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVenue#4c5b105e: field id: %w", err) } i.ID = value case "venue": if err := i.Venue.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVenue#4c5b105e: field venue: %w", err) } case "thumbnail": if err := i.Thumbnail.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVenue#4c5b105e: field thumbnail: %w", err) } default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultVenue) GetID() (value string) { if i == nil { return } return i.ID } // GetVenue returns value of Venue field. func (i *InlineQueryResultVenue) GetVenue() (value Venue) { if i == nil { return } return i.Venue } // GetThumbnail returns value of Thumbnail field. func (i *InlineQueryResultVenue) GetThumbnail() (value Thumbnail) { if i == nil { return } return i.Thumbnail } // InlineQueryResultGame represents TL type `inlineQueryResultGame#65bd7c7b`. type InlineQueryResultGame struct { // Unique identifier of the query result ID string // Game result Game Game } // InlineQueryResultGameTypeID is TL type id of InlineQueryResultGame. const InlineQueryResultGameTypeID = 0x65bd7c7b // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultGame) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultGame. var ( _ bin.Encoder = &InlineQueryResultGame{} _ bin.Decoder = &InlineQueryResultGame{} _ bin.BareEncoder = &InlineQueryResultGame{} _ bin.BareDecoder = &InlineQueryResultGame{} _ InlineQueryResultClass = &InlineQueryResultGame{} ) func (i *InlineQueryResultGame) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Game.Zero()) { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultGame) String() string { if i == nil { return "InlineQueryResultGame(nil)" } type Alias InlineQueryResultGame return fmt.Sprintf("InlineQueryResultGame%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultGame) TypeID() uint32 { return InlineQueryResultGameTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultGame) TypeName() string { return "inlineQueryResultGame" } // TypeInfo returns info about TL type. func (i *InlineQueryResultGame) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultGame", ID: InlineQueryResultGameTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Game", SchemaName: "game", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultGame) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultGame#65bd7c7b as nil") } b.PutID(InlineQueryResultGameTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultGame) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultGame#65bd7c7b as nil") } b.PutString(i.ID) if err := i.Game.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultGame#65bd7c7b: field game: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultGame) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultGame#65bd7c7b to nil") } if err := b.ConsumeID(InlineQueryResultGameTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultGame#65bd7c7b: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultGame) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultGame#65bd7c7b to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultGame#65bd7c7b: field id: %w", err) } i.ID = value } { if err := i.Game.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultGame#65bd7c7b: field game: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultGame) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultGame#65bd7c7b as nil") } b.ObjStart() b.PutID("inlineQueryResultGame") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("game") if err := i.Game.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultGame#65bd7c7b: field game: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultGame) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultGame#65bd7c7b to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultGame"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultGame#65bd7c7b: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultGame#65bd7c7b: field id: %w", err) } i.ID = value case "game": if err := i.Game.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultGame#65bd7c7b: field game: %w", err) } default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultGame) GetID() (value string) { if i == nil { return } return i.ID } // GetGame returns value of Game field. func (i *InlineQueryResultGame) GetGame() (value Game) { if i == nil { return } return i.Game } // InlineQueryResultAnimation represents TL type `inlineQueryResultAnimation#77cded0b`. type InlineQueryResultAnimation struct { // Unique identifier of the query result ID string // Animation file Animation Animation // Animation title Title string } // InlineQueryResultAnimationTypeID is TL type id of InlineQueryResultAnimation. const InlineQueryResultAnimationTypeID = 0x77cded0b // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultAnimation) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultAnimation. var ( _ bin.Encoder = &InlineQueryResultAnimation{} _ bin.Decoder = &InlineQueryResultAnimation{} _ bin.BareEncoder = &InlineQueryResultAnimation{} _ bin.BareDecoder = &InlineQueryResultAnimation{} _ InlineQueryResultClass = &InlineQueryResultAnimation{} ) func (i *InlineQueryResultAnimation) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Animation.Zero()) { return false } if !(i.Title == "") { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultAnimation) String() string { if i == nil { return "InlineQueryResultAnimation(nil)" } type Alias InlineQueryResultAnimation return fmt.Sprintf("InlineQueryResultAnimation%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultAnimation) TypeID() uint32 { return InlineQueryResultAnimationTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultAnimation) TypeName() string { return "inlineQueryResultAnimation" } // TypeInfo returns info about TL type. func (i *InlineQueryResultAnimation) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultAnimation", ID: InlineQueryResultAnimationTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Animation", SchemaName: "animation", }, { Name: "Title", SchemaName: "title", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultAnimation) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultAnimation#77cded0b as nil") } b.PutID(InlineQueryResultAnimationTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultAnimation) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultAnimation#77cded0b as nil") } b.PutString(i.ID) if err := i.Animation.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultAnimation#77cded0b: field animation: %w", err) } b.PutString(i.Title) return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultAnimation) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultAnimation#77cded0b to nil") } if err := b.ConsumeID(InlineQueryResultAnimationTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultAnimation#77cded0b: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultAnimation) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultAnimation#77cded0b to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultAnimation#77cded0b: field id: %w", err) } i.ID = value } { if err := i.Animation.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultAnimation#77cded0b: field animation: %w", err) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultAnimation#77cded0b: field title: %w", err) } i.Title = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultAnimation) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultAnimation#77cded0b as nil") } b.ObjStart() b.PutID("inlineQueryResultAnimation") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("animation") if err := i.Animation.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultAnimation#77cded0b: field animation: %w", err) } b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultAnimation) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultAnimation#77cded0b to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultAnimation"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultAnimation#77cded0b: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultAnimation#77cded0b: field id: %w", err) } i.ID = value case "animation": if err := i.Animation.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultAnimation#77cded0b: field animation: %w", err) } case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultAnimation#77cded0b: field title: %w", err) } i.Title = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultAnimation) GetID() (value string) { if i == nil { return } return i.ID } // GetAnimation returns value of Animation field. func (i *InlineQueryResultAnimation) GetAnimation() (value Animation) { if i == nil { return } return i.Animation } // GetTitle returns value of Title field. func (i *InlineQueryResultAnimation) GetTitle() (value string) { if i == nil { return } return i.Title } // InlineQueryResultAudio represents TL type `inlineQueryResultAudio#3239d2f8`. type InlineQueryResultAudio struct { // Unique identifier of the query result ID string // Audio file Audio Audio } // InlineQueryResultAudioTypeID is TL type id of InlineQueryResultAudio. const InlineQueryResultAudioTypeID = 0x3239d2f8 // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultAudio) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultAudio. var ( _ bin.Encoder = &InlineQueryResultAudio{} _ bin.Decoder = &InlineQueryResultAudio{} _ bin.BareEncoder = &InlineQueryResultAudio{} _ bin.BareDecoder = &InlineQueryResultAudio{} _ InlineQueryResultClass = &InlineQueryResultAudio{} ) func (i *InlineQueryResultAudio) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Audio.Zero()) { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultAudio) String() string { if i == nil { return "InlineQueryResultAudio(nil)" } type Alias InlineQueryResultAudio return fmt.Sprintf("InlineQueryResultAudio%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultAudio) TypeID() uint32 { return InlineQueryResultAudioTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultAudio) TypeName() string { return "inlineQueryResultAudio" } // TypeInfo returns info about TL type. func (i *InlineQueryResultAudio) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultAudio", ID: InlineQueryResultAudioTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Audio", SchemaName: "audio", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultAudio) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultAudio#3239d2f8 as nil") } b.PutID(InlineQueryResultAudioTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultAudio) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultAudio#3239d2f8 as nil") } b.PutString(i.ID) if err := i.Audio.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultAudio#3239d2f8: field audio: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultAudio) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultAudio#3239d2f8 to nil") } if err := b.ConsumeID(InlineQueryResultAudioTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultAudio#3239d2f8: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultAudio) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultAudio#3239d2f8 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultAudio#3239d2f8: field id: %w", err) } i.ID = value } { if err := i.Audio.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultAudio#3239d2f8: field audio: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultAudio) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultAudio#3239d2f8 as nil") } b.ObjStart() b.PutID("inlineQueryResultAudio") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("audio") if err := i.Audio.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultAudio#3239d2f8: field audio: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultAudio) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultAudio#3239d2f8 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultAudio"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultAudio#3239d2f8: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultAudio#3239d2f8: field id: %w", err) } i.ID = value case "audio": if err := i.Audio.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultAudio#3239d2f8: field audio: %w", err) } default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultAudio) GetID() (value string) { if i == nil { return } return i.ID } // GetAudio returns value of Audio field. func (i *InlineQueryResultAudio) GetAudio() (value Audio) { if i == nil { return } return i.Audio } // InlineQueryResultDocument represents TL type `inlineQueryResultDocument#a71d0c45`. type InlineQueryResultDocument struct { // Unique identifier of the query result ID string // Document Document Document // Document title Title string // Represents a document Description string } // InlineQueryResultDocumentTypeID is TL type id of InlineQueryResultDocument. const InlineQueryResultDocumentTypeID = 0xa71d0c45 // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultDocument) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultDocument. var ( _ bin.Encoder = &InlineQueryResultDocument{} _ bin.Decoder = &InlineQueryResultDocument{} _ bin.BareEncoder = &InlineQueryResultDocument{} _ bin.BareDecoder = &InlineQueryResultDocument{} _ InlineQueryResultClass = &InlineQueryResultDocument{} ) func (i *InlineQueryResultDocument) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Document.Zero()) { return false } if !(i.Title == "") { return false } if !(i.Description == "") { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultDocument) String() string { if i == nil { return "InlineQueryResultDocument(nil)" } type Alias InlineQueryResultDocument return fmt.Sprintf("InlineQueryResultDocument%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultDocument) TypeID() uint32 { return InlineQueryResultDocumentTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultDocument) TypeName() string { return "inlineQueryResultDocument" } // TypeInfo returns info about TL type. func (i *InlineQueryResultDocument) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultDocument", ID: InlineQueryResultDocumentTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Document", SchemaName: "document", }, { Name: "Title", SchemaName: "title", }, { Name: "Description", SchemaName: "description", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultDocument) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultDocument#a71d0c45 as nil") } b.PutID(InlineQueryResultDocumentTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultDocument) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultDocument#a71d0c45 as nil") } b.PutString(i.ID) if err := i.Document.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultDocument#a71d0c45: field document: %w", err) } b.PutString(i.Title) b.PutString(i.Description) return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultDocument) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultDocument#a71d0c45 to nil") } if err := b.ConsumeID(InlineQueryResultDocumentTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultDocument) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultDocument#a71d0c45 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: field id: %w", err) } i.ID = value } { if err := i.Document.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: field document: %w", err) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: field description: %w", err) } i.Description = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultDocument) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultDocument#a71d0c45 as nil") } b.ObjStart() b.PutID("inlineQueryResultDocument") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("document") if err := i.Document.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultDocument#a71d0c45: field document: %w", err) } b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("description") b.PutString(i.Description) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultDocument) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultDocument#a71d0c45 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultDocument"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: field id: %w", err) } i.ID = value case "document": if err := i.Document.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: field document: %w", err) } case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: field title: %w", err) } i.Title = value case "description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultDocument#a71d0c45: field description: %w", err) } i.Description = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultDocument) GetID() (value string) { if i == nil { return } return i.ID } // GetDocument returns value of Document field. func (i *InlineQueryResultDocument) GetDocument() (value Document) { if i == nil { return } return i.Document } // GetTitle returns value of Title field. func (i *InlineQueryResultDocument) GetTitle() (value string) { if i == nil { return } return i.Title } // GetDescription returns value of Description field. func (i *InlineQueryResultDocument) GetDescription() (value string) { if i == nil { return } return i.Description } // InlineQueryResultPhoto represents TL type `inlineQueryResultPhoto#6e2b1dd0`. type InlineQueryResultPhoto struct { // Unique identifier of the query result ID string // Photo Photo Photo // Title of the result, if known Title string // Represents a photo Description string } // InlineQueryResultPhotoTypeID is TL type id of InlineQueryResultPhoto. const InlineQueryResultPhotoTypeID = 0x6e2b1dd0 // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultPhoto) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultPhoto. var ( _ bin.Encoder = &InlineQueryResultPhoto{} _ bin.Decoder = &InlineQueryResultPhoto{} _ bin.BareEncoder = &InlineQueryResultPhoto{} _ bin.BareDecoder = &InlineQueryResultPhoto{} _ InlineQueryResultClass = &InlineQueryResultPhoto{} ) func (i *InlineQueryResultPhoto) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Photo.Zero()) { return false } if !(i.Title == "") { return false } if !(i.Description == "") { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultPhoto) String() string { if i == nil { return "InlineQueryResultPhoto(nil)" } type Alias InlineQueryResultPhoto return fmt.Sprintf("InlineQueryResultPhoto%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultPhoto) TypeID() uint32 { return InlineQueryResultPhotoTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultPhoto) TypeName() string { return "inlineQueryResultPhoto" } // TypeInfo returns info about TL type. func (i *InlineQueryResultPhoto) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultPhoto", ID: InlineQueryResultPhotoTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Photo", SchemaName: "photo", }, { Name: "Title", SchemaName: "title", }, { Name: "Description", SchemaName: "description", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultPhoto) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultPhoto#6e2b1dd0 as nil") } b.PutID(InlineQueryResultPhotoTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultPhoto) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultPhoto#6e2b1dd0 as nil") } b.PutString(i.ID) if err := i.Photo.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultPhoto#6e2b1dd0: field photo: %w", err) } b.PutString(i.Title) b.PutString(i.Description) return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultPhoto) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultPhoto#6e2b1dd0 to nil") } if err := b.ConsumeID(InlineQueryResultPhotoTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultPhoto) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultPhoto#6e2b1dd0 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: field id: %w", err) } i.ID = value } { if err := i.Photo.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: field photo: %w", err) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: field description: %w", err) } i.Description = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultPhoto) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultPhoto#6e2b1dd0 as nil") } b.ObjStart() b.PutID("inlineQueryResultPhoto") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("photo") if err := i.Photo.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultPhoto#6e2b1dd0: field photo: %w", err) } b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("description") b.PutString(i.Description) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultPhoto) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultPhoto#6e2b1dd0 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultPhoto"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: field id: %w", err) } i.ID = value case "photo": if err := i.Photo.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: field photo: %w", err) } case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: field title: %w", err) } i.Title = value case "description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultPhoto#6e2b1dd0: field description: %w", err) } i.Description = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultPhoto) GetID() (value string) { if i == nil { return } return i.ID } // GetPhoto returns value of Photo field. func (i *InlineQueryResultPhoto) GetPhoto() (value Photo) { if i == nil { return } return i.Photo } // GetTitle returns value of Title field. func (i *InlineQueryResultPhoto) GetTitle() (value string) { if i == nil { return } return i.Title } // GetDescription returns value of Description field. func (i *InlineQueryResultPhoto) GetDescription() (value string) { if i == nil { return } return i.Description } // InlineQueryResultSticker represents TL type `inlineQueryResultSticker#91d6560b`. type InlineQueryResultSticker struct { // Unique identifier of the query result ID string // Sticker Sticker Sticker } // InlineQueryResultStickerTypeID is TL type id of InlineQueryResultSticker. const InlineQueryResultStickerTypeID = 0x91d6560b // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultSticker) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultSticker. var ( _ bin.Encoder = &InlineQueryResultSticker{} _ bin.Decoder = &InlineQueryResultSticker{} _ bin.BareEncoder = &InlineQueryResultSticker{} _ bin.BareDecoder = &InlineQueryResultSticker{} _ InlineQueryResultClass = &InlineQueryResultSticker{} ) func (i *InlineQueryResultSticker) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Sticker.Zero()) { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultSticker) String() string { if i == nil { return "InlineQueryResultSticker(nil)" } type Alias InlineQueryResultSticker return fmt.Sprintf("InlineQueryResultSticker%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultSticker) TypeID() uint32 { return InlineQueryResultStickerTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultSticker) TypeName() string { return "inlineQueryResultSticker" } // TypeInfo returns info about TL type. func (i *InlineQueryResultSticker) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultSticker", ID: InlineQueryResultStickerTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Sticker", SchemaName: "sticker", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultSticker) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultSticker#91d6560b as nil") } b.PutID(InlineQueryResultStickerTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultSticker) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultSticker#91d6560b as nil") } b.PutString(i.ID) if err := i.Sticker.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultSticker#91d6560b: field sticker: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultSticker) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultSticker#91d6560b to nil") } if err := b.ConsumeID(InlineQueryResultStickerTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultSticker#91d6560b: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultSticker) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultSticker#91d6560b to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultSticker#91d6560b: field id: %w", err) } i.ID = value } { if err := i.Sticker.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultSticker#91d6560b: field sticker: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultSticker) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultSticker#91d6560b as nil") } b.ObjStart() b.PutID("inlineQueryResultSticker") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("sticker") if err := i.Sticker.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultSticker#91d6560b: field sticker: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultSticker) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultSticker#91d6560b to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultSticker"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultSticker#91d6560b: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultSticker#91d6560b: field id: %w", err) } i.ID = value case "sticker": if err := i.Sticker.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultSticker#91d6560b: field sticker: %w", err) } default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultSticker) GetID() (value string) { if i == nil { return } return i.ID } // GetSticker returns value of Sticker field. func (i *InlineQueryResultSticker) GetSticker() (value Sticker) { if i == nil { return } return i.Sticker } // InlineQueryResultVideo represents TL type `inlineQueryResultVideo#ae2742e5`. type InlineQueryResultVideo struct { // Unique identifier of the query result ID string // Video Video Video // Title of the video Title string // Represents a video Description string } // InlineQueryResultVideoTypeID is TL type id of InlineQueryResultVideo. const InlineQueryResultVideoTypeID = 0xae2742e5 // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultVideo) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultVideo. var ( _ bin.Encoder = &InlineQueryResultVideo{} _ bin.Decoder = &InlineQueryResultVideo{} _ bin.BareEncoder = &InlineQueryResultVideo{} _ bin.BareDecoder = &InlineQueryResultVideo{} _ InlineQueryResultClass = &InlineQueryResultVideo{} ) func (i *InlineQueryResultVideo) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Video.Zero()) { return false } if !(i.Title == "") { return false } if !(i.Description == "") { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultVideo) String() string { if i == nil { return "InlineQueryResultVideo(nil)" } type Alias InlineQueryResultVideo return fmt.Sprintf("InlineQueryResultVideo%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultVideo) TypeID() uint32 { return InlineQueryResultVideoTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultVideo) TypeName() string { return "inlineQueryResultVideo" } // TypeInfo returns info about TL type. func (i *InlineQueryResultVideo) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultVideo", ID: InlineQueryResultVideoTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Video", SchemaName: "video", }, { Name: "Title", SchemaName: "title", }, { Name: "Description", SchemaName: "description", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultVideo) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultVideo#ae2742e5 as nil") } b.PutID(InlineQueryResultVideoTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultVideo) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultVideo#ae2742e5 as nil") } b.PutString(i.ID) if err := i.Video.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultVideo#ae2742e5: field video: %w", err) } b.PutString(i.Title) b.PutString(i.Description) return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultVideo) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultVideo#ae2742e5 to nil") } if err := b.ConsumeID(InlineQueryResultVideoTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultVideo) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultVideo#ae2742e5 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: field id: %w", err) } i.ID = value } { if err := i.Video.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: field video: %w", err) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: field description: %w", err) } i.Description = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultVideo) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultVideo#ae2742e5 as nil") } b.ObjStart() b.PutID("inlineQueryResultVideo") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("video") if err := i.Video.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultVideo#ae2742e5: field video: %w", err) } b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("description") b.PutString(i.Description) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultVideo) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultVideo#ae2742e5 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultVideo"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: field id: %w", err) } i.ID = value case "video": if err := i.Video.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: field video: %w", err) } case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: field title: %w", err) } i.Title = value case "description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVideo#ae2742e5: field description: %w", err) } i.Description = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultVideo) GetID() (value string) { if i == nil { return } return i.ID } // GetVideo returns value of Video field. func (i *InlineQueryResultVideo) GetVideo() (value Video) { if i == nil { return } return i.Video } // GetTitle returns value of Title field. func (i *InlineQueryResultVideo) GetTitle() (value string) { if i == nil { return } return i.Title } // GetDescription returns value of Description field. func (i *InlineQueryResultVideo) GetDescription() (value string) { if i == nil { return } return i.Description } // InlineQueryResultVoiceNote represents TL type `inlineQueryResultVoiceNote#8ee8142f`. type InlineQueryResultVoiceNote struct { // Unique identifier of the query result ID string // Voice note VoiceNote VoiceNote // Title of the voice note Title string } // InlineQueryResultVoiceNoteTypeID is TL type id of InlineQueryResultVoiceNote. const InlineQueryResultVoiceNoteTypeID = 0x8ee8142f // construct implements constructor of InlineQueryResultClass. func (i InlineQueryResultVoiceNote) construct() InlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InlineQueryResultVoiceNote. var ( _ bin.Encoder = &InlineQueryResultVoiceNote{} _ bin.Decoder = &InlineQueryResultVoiceNote{} _ bin.BareEncoder = &InlineQueryResultVoiceNote{} _ bin.BareDecoder = &InlineQueryResultVoiceNote{} _ InlineQueryResultClass = &InlineQueryResultVoiceNote{} ) func (i *InlineQueryResultVoiceNote) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.VoiceNote.Zero()) { return false } if !(i.Title == "") { return false } return true } // String implements fmt.Stringer. func (i *InlineQueryResultVoiceNote) String() string { if i == nil { return "InlineQueryResultVoiceNote(nil)" } type Alias InlineQueryResultVoiceNote return fmt.Sprintf("InlineQueryResultVoiceNote%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InlineQueryResultVoiceNote) TypeID() uint32 { return InlineQueryResultVoiceNoteTypeID } // TypeName returns name of type in TL schema. func (*InlineQueryResultVoiceNote) TypeName() string { return "inlineQueryResultVoiceNote" } // TypeInfo returns info about TL type. func (i *InlineQueryResultVoiceNote) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inlineQueryResultVoiceNote", ID: InlineQueryResultVoiceNoteTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "VoiceNote", SchemaName: "voice_note", }, { Name: "Title", SchemaName: "title", }, } return typ } // Encode implements bin.Encoder. func (i *InlineQueryResultVoiceNote) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultVoiceNote#8ee8142f as nil") } b.PutID(InlineQueryResultVoiceNoteTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InlineQueryResultVoiceNote) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultVoiceNote#8ee8142f as nil") } b.PutString(i.ID) if err := i.VoiceNote.Encode(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultVoiceNote#8ee8142f: field voice_note: %w", err) } b.PutString(i.Title) return nil } // Decode implements bin.Decoder. func (i *InlineQueryResultVoiceNote) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultVoiceNote#8ee8142f to nil") } if err := b.ConsumeID(InlineQueryResultVoiceNoteTypeID); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVoiceNote#8ee8142f: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InlineQueryResultVoiceNote) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultVoiceNote#8ee8142f to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVoiceNote#8ee8142f: field id: %w", err) } i.ID = value } { if err := i.VoiceNote.Decode(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVoiceNote#8ee8142f: field voice_note: %w", err) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVoiceNote#8ee8142f: field title: %w", err) } i.Title = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InlineQueryResultVoiceNote) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inlineQueryResultVoiceNote#8ee8142f as nil") } b.ObjStart() b.PutID("inlineQueryResultVoiceNote") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("voice_note") if err := i.VoiceNote.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inlineQueryResultVoiceNote#8ee8142f: field voice_note: %w", err) } b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InlineQueryResultVoiceNote) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inlineQueryResultVoiceNote#8ee8142f to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inlineQueryResultVoiceNote"); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVoiceNote#8ee8142f: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVoiceNote#8ee8142f: field id: %w", err) } i.ID = value case "voice_note": if err := i.VoiceNote.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inlineQueryResultVoiceNote#8ee8142f: field voice_note: %w", err) } case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inlineQueryResultVoiceNote#8ee8142f: field title: %w", err) } i.Title = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InlineQueryResultVoiceNote) GetID() (value string) { if i == nil { return } return i.ID } // GetVoiceNote returns value of VoiceNote field. func (i *InlineQueryResultVoiceNote) GetVoiceNote() (value VoiceNote) { if i == nil { return } return i.VoiceNote } // GetTitle returns value of Title field. func (i *InlineQueryResultVoiceNote) GetTitle() (value string) { if i == nil { return } return i.Title } // InlineQueryResultClassName is schema name of InlineQueryResultClass. const InlineQueryResultClassName = "InlineQueryResult" // InlineQueryResultClass represents InlineQueryResult generic type. // // Example: // // g, err := tdapi.DecodeInlineQueryResult(buf) // if err != nil { // panic(err) // } // switch v := g.(type) { // case *tdapi.InlineQueryResultArticle: // inlineQueryResultArticle#1016d01a // case *tdapi.InlineQueryResultContact: // inlineQueryResultContact#f5278212 // case *tdapi.InlineQueryResultLocation: // inlineQueryResultLocation#1bc6ab10 // case *tdapi.InlineQueryResultVenue: // inlineQueryResultVenue#4c5b105e // case *tdapi.InlineQueryResultGame: // inlineQueryResultGame#65bd7c7b // case *tdapi.InlineQueryResultAnimation: // inlineQueryResultAnimation#77cded0b // case *tdapi.InlineQueryResultAudio: // inlineQueryResultAudio#3239d2f8 // case *tdapi.InlineQueryResultDocument: // inlineQueryResultDocument#a71d0c45 // case *tdapi.InlineQueryResultPhoto: // inlineQueryResultPhoto#6e2b1dd0 // case *tdapi.InlineQueryResultSticker: // inlineQueryResultSticker#91d6560b // case *tdapi.InlineQueryResultVideo: // inlineQueryResultVideo#ae2742e5 // case *tdapi.InlineQueryResultVoiceNote: // inlineQueryResultVoiceNote#8ee8142f // default: panic(v) // } type InlineQueryResultClass interface { bin.Encoder bin.Decoder bin.BareEncoder bin.BareDecoder construct() InlineQueryResultClass // 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 // Unique identifier of the query result GetID() (value string) } // DecodeInlineQueryResult implements binary de-serialization for InlineQueryResultClass. func DecodeInlineQueryResult(buf *bin.Buffer) (InlineQueryResultClass, error) { id, err := buf.PeekID() if err != nil { return nil, err } switch id { case InlineQueryResultArticleTypeID: // Decoding inlineQueryResultArticle#1016d01a. v := InlineQueryResultArticle{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultContactTypeID: // Decoding inlineQueryResultContact#f5278212. v := InlineQueryResultContact{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultLocationTypeID: // Decoding inlineQueryResultLocation#1bc6ab10. v := InlineQueryResultLocation{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultVenueTypeID: // Decoding inlineQueryResultVenue#4c5b105e. v := InlineQueryResultVenue{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultGameTypeID: // Decoding inlineQueryResultGame#65bd7c7b. v := InlineQueryResultGame{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultAnimationTypeID: // Decoding inlineQueryResultAnimation#77cded0b. v := InlineQueryResultAnimation{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultAudioTypeID: // Decoding inlineQueryResultAudio#3239d2f8. v := InlineQueryResultAudio{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultDocumentTypeID: // Decoding inlineQueryResultDocument#a71d0c45. v := InlineQueryResultDocument{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultPhotoTypeID: // Decoding inlineQueryResultPhoto#6e2b1dd0. v := InlineQueryResultPhoto{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultStickerTypeID: // Decoding inlineQueryResultSticker#91d6560b. v := InlineQueryResultSticker{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultVideoTypeID: // Decoding inlineQueryResultVideo#ae2742e5. v := InlineQueryResultVideo{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case InlineQueryResultVoiceNoteTypeID: // Decoding inlineQueryResultVoiceNote#8ee8142f. v := InlineQueryResultVoiceNote{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil default: return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", bin.NewUnexpectedID(id)) } } // DecodeTDLibJSONInlineQueryResult implements binary de-serialization for InlineQueryResultClass. func DecodeTDLibJSONInlineQueryResult(buf tdjson.Decoder) (InlineQueryResultClass, error) { id, err := buf.FindTypeID() if err != nil { return nil, err } switch id { case "inlineQueryResultArticle": // Decoding inlineQueryResultArticle#1016d01a. v := InlineQueryResultArticle{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultContact": // Decoding inlineQueryResultContact#f5278212. v := InlineQueryResultContact{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultLocation": // Decoding inlineQueryResultLocation#1bc6ab10. v := InlineQueryResultLocation{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultVenue": // Decoding inlineQueryResultVenue#4c5b105e. v := InlineQueryResultVenue{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultGame": // Decoding inlineQueryResultGame#65bd7c7b. v := InlineQueryResultGame{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultAnimation": // Decoding inlineQueryResultAnimation#77cded0b. v := InlineQueryResultAnimation{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultAudio": // Decoding inlineQueryResultAudio#3239d2f8. v := InlineQueryResultAudio{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultDocument": // Decoding inlineQueryResultDocument#a71d0c45. v := InlineQueryResultDocument{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultPhoto": // Decoding inlineQueryResultPhoto#6e2b1dd0. v := InlineQueryResultPhoto{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultSticker": // Decoding inlineQueryResultSticker#91d6560b. v := InlineQueryResultSticker{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultVideo": // Decoding inlineQueryResultVideo#ae2742e5. v := InlineQueryResultVideo{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil case "inlineQueryResultVoiceNote": // Decoding inlineQueryResultVoiceNote#8ee8142f. v := InlineQueryResultVoiceNote{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", err) } return &v, nil default: return nil, fmt.Errorf("unable to decode InlineQueryResultClass: %w", tdjson.NewUnexpectedID(id)) } } // InlineQueryResult boxes the InlineQueryResultClass providing a helper. type InlineQueryResultBox struct { InlineQueryResult InlineQueryResultClass } // Decode implements bin.Decoder for InlineQueryResultBox. func (b *InlineQueryResultBox) Decode(buf *bin.Buffer) error { if b == nil { return fmt.Errorf("unable to decode InlineQueryResultBox to nil") } v, err := DecodeInlineQueryResult(buf) if err != nil { return fmt.Errorf("unable to decode boxed value: %w", err) } b.InlineQueryResult = v return nil } // Encode implements bin.Encode for InlineQueryResultBox. func (b *InlineQueryResultBox) Encode(buf *bin.Buffer) error { if b == nil || b.InlineQueryResult == nil { return fmt.Errorf("unable to encode InlineQueryResultClass as nil") } return b.InlineQueryResult.Encode(buf) } // DecodeTDLibJSON implements bin.Decoder for InlineQueryResultBox. func (b *InlineQueryResultBox) DecodeTDLibJSON(buf tdjson.Decoder) error { if b == nil { return fmt.Errorf("unable to decode InlineQueryResultBox to nil") } v, err := DecodeTDLibJSONInlineQueryResult(buf) if err != nil { return fmt.Errorf("unable to decode boxed value: %w", err) } b.InlineQueryResult = v return nil } // EncodeTDLibJSON implements bin.Encode for InlineQueryResultBox. func (b *InlineQueryResultBox) EncodeTDLibJSON(buf tdjson.Encoder) error { if b == nil || b.InlineQueryResult == nil { return fmt.Errorf("unable to encode InlineQueryResultClass as nil") } return b.InlineQueryResult.EncodeTDLibJSON(buf) }