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

3233 lines
84 KiB
Go
Generated

// 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)
}