// 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{} ) // InputInlineQueryResultAnimation represents TL type `inputInlineQueryResultAnimation#a7335216`. type InputInlineQueryResultAnimation struct { // Unique identifier of the query result ID string // Title of the query result Title string // URL of the result thumbnail (JPEG, GIF, or MPEG4), if it exists ThumbnailURL string // MIME type of the video thumbnail. If non-empty, must be one of "image/jpeg", // "image/gif" and "video/mp4" ThumbnailMimeType string // The URL of the video file (file size must not exceed 1MB) VideoURL string // MIME type of the video file. Must be one of "image/gif" and "video/mp4" VideoMimeType string // Duration of the video, in seconds VideoDuration int32 // Width of the video VideoWidth int32 // Height of the video VideoHeight int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageAnimation, inputMessageInvoice, inputMessageLocation, // inputMessageVenue or inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultAnimationTypeID is TL type id of InputInlineQueryResultAnimation. const InputInlineQueryResultAnimationTypeID = 0xa7335216 // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultAnimation) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultAnimation. var ( _ bin.Encoder = &InputInlineQueryResultAnimation{} _ bin.Decoder = &InputInlineQueryResultAnimation{} _ bin.BareEncoder = &InputInlineQueryResultAnimation{} _ bin.BareDecoder = &InputInlineQueryResultAnimation{} _ InputInlineQueryResultClass = &InputInlineQueryResultAnimation{} ) func (i *InputInlineQueryResultAnimation) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Title == "") { return false } if !(i.ThumbnailURL == "") { return false } if !(i.ThumbnailMimeType == "") { return false } if !(i.VideoURL == "") { return false } if !(i.VideoMimeType == "") { return false } if !(i.VideoDuration == 0) { return false } if !(i.VideoWidth == 0) { return false } if !(i.VideoHeight == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultAnimation) String() string { if i == nil { return "InputInlineQueryResultAnimation(nil)" } type Alias InputInlineQueryResultAnimation return fmt.Sprintf("InputInlineQueryResultAnimation%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultAnimation) TypeID() uint32 { return InputInlineQueryResultAnimationTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultAnimation) TypeName() string { return "inputInlineQueryResultAnimation" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultAnimation) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultAnimation", ID: InputInlineQueryResultAnimationTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Title", SchemaName: "title", }, { Name: "ThumbnailURL", SchemaName: "thumbnail_url", }, { Name: "ThumbnailMimeType", SchemaName: "thumbnail_mime_type", }, { Name: "VideoURL", SchemaName: "video_url", }, { Name: "VideoMimeType", SchemaName: "video_mime_type", }, { Name: "VideoDuration", SchemaName: "video_duration", }, { Name: "VideoWidth", SchemaName: "video_width", }, { Name: "VideoHeight", SchemaName: "video_height", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultAnimation) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultAnimation#a7335216 as nil") } b.PutID(InputInlineQueryResultAnimationTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultAnimation) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultAnimation#a7335216 as nil") } b.PutString(i.ID) b.PutString(i.Title) b.PutString(i.ThumbnailURL) b.PutString(i.ThumbnailMimeType) b.PutString(i.VideoURL) b.PutString(i.VideoMimeType) b.PutInt32(i.VideoDuration) b.PutInt32(i.VideoWidth) b.PutInt32(i.VideoHeight) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultAnimation#a7335216: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultAnimation#a7335216: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultAnimation#a7335216: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultAnimation#a7335216: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultAnimation) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultAnimation#a7335216 to nil") } if err := b.ConsumeID(InputInlineQueryResultAnimationTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultAnimation) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultAnimation#a7335216 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field thumbnail_url: %w", err) } i.ThumbnailURL = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field thumbnail_mime_type: %w", err) } i.ThumbnailMimeType = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_url: %w", err) } i.VideoURL = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_mime_type: %w", err) } i.VideoMimeType = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_duration: %w", err) } i.VideoDuration = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_width: %w", err) } i.VideoWidth = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_height: %w", err) } i.VideoHeight = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultAnimation) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultAnimation#a7335216 as nil") } b.ObjStart() b.PutID("inputInlineQueryResultAnimation") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("thumbnail_url") b.PutString(i.ThumbnailURL) b.Comma() b.FieldStart("thumbnail_mime_type") b.PutString(i.ThumbnailMimeType) b.Comma() b.FieldStart("video_url") b.PutString(i.VideoURL) b.Comma() b.FieldStart("video_mime_type") b.PutString(i.VideoMimeType) b.Comma() b.FieldStart("video_duration") b.PutInt32(i.VideoDuration) b.Comma() b.FieldStart("video_width") b.PutInt32(i.VideoWidth) b.Comma() b.FieldStart("video_height") b.PutInt32(i.VideoHeight) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultAnimation#a7335216: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultAnimation#a7335216: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultAnimation#a7335216: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultAnimation#a7335216: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultAnimation) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultAnimation#a7335216 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultAnimation"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field id: %w", err) } i.ID = value case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field title: %w", err) } i.Title = value case "thumbnail_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field thumbnail_url: %w", err) } i.ThumbnailURL = value case "thumbnail_mime_type": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field thumbnail_mime_type: %w", err) } i.ThumbnailMimeType = value case "video_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_url: %w", err) } i.VideoURL = value case "video_mime_type": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_mime_type: %w", err) } i.VideoMimeType = value case "video_duration": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_duration: %w", err) } i.VideoDuration = value case "video_width": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_width: %w", err) } i.VideoWidth = value case "video_height": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field video_height: %w", err) } i.VideoHeight = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAnimation#a7335216: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultAnimation) GetID() (value string) { if i == nil { return } return i.ID } // GetTitle returns value of Title field. func (i *InputInlineQueryResultAnimation) GetTitle() (value string) { if i == nil { return } return i.Title } // GetThumbnailURL returns value of ThumbnailURL field. func (i *InputInlineQueryResultAnimation) GetThumbnailURL() (value string) { if i == nil { return } return i.ThumbnailURL } // GetThumbnailMimeType returns value of ThumbnailMimeType field. func (i *InputInlineQueryResultAnimation) GetThumbnailMimeType() (value string) { if i == nil { return } return i.ThumbnailMimeType } // GetVideoURL returns value of VideoURL field. func (i *InputInlineQueryResultAnimation) GetVideoURL() (value string) { if i == nil { return } return i.VideoURL } // GetVideoMimeType returns value of VideoMimeType field. func (i *InputInlineQueryResultAnimation) GetVideoMimeType() (value string) { if i == nil { return } return i.VideoMimeType } // GetVideoDuration returns value of VideoDuration field. func (i *InputInlineQueryResultAnimation) GetVideoDuration() (value int32) { if i == nil { return } return i.VideoDuration } // GetVideoWidth returns value of VideoWidth field. func (i *InputInlineQueryResultAnimation) GetVideoWidth() (value int32) { if i == nil { return } return i.VideoWidth } // GetVideoHeight returns value of VideoHeight field. func (i *InputInlineQueryResultAnimation) GetVideoHeight() (value int32) { if i == nil { return } return i.VideoHeight } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultAnimation) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultAnimation) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultArticle represents TL type `inputInlineQueryResultArticle#763583bc`. type InputInlineQueryResultArticle 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 // URL of the result thumbnail, if it exists ThumbnailURL string // Thumbnail width, if known ThumbnailWidth int32 // Thumbnail height, if known ThumbnailHeight int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageInvoice, inputMessageLocation, inputMessageVenue or // inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultArticleTypeID is TL type id of InputInlineQueryResultArticle. const InputInlineQueryResultArticleTypeID = 0x763583bc // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultArticle) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultArticle. var ( _ bin.Encoder = &InputInlineQueryResultArticle{} _ bin.Decoder = &InputInlineQueryResultArticle{} _ bin.BareEncoder = &InputInlineQueryResultArticle{} _ bin.BareDecoder = &InputInlineQueryResultArticle{} _ InputInlineQueryResultClass = &InputInlineQueryResultArticle{} ) func (i *InputInlineQueryResultArticle) 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.ThumbnailURL == "") { return false } if !(i.ThumbnailWidth == 0) { return false } if !(i.ThumbnailHeight == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultArticle) String() string { if i == nil { return "InputInlineQueryResultArticle(nil)" } type Alias InputInlineQueryResultArticle return fmt.Sprintf("InputInlineQueryResultArticle%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultArticle) TypeID() uint32 { return InputInlineQueryResultArticleTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultArticle) TypeName() string { return "inputInlineQueryResultArticle" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultArticle) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultArticle", ID: InputInlineQueryResultArticleTypeID, } 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: "ThumbnailURL", SchemaName: "thumbnail_url", }, { Name: "ThumbnailWidth", SchemaName: "thumbnail_width", }, { Name: "ThumbnailHeight", SchemaName: "thumbnail_height", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultArticle) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultArticle#763583bc as nil") } b.PutID(InputInlineQueryResultArticleTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultArticle) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultArticle#763583bc as nil") } b.PutString(i.ID) b.PutString(i.URL) b.PutString(i.Title) b.PutString(i.Description) b.PutString(i.ThumbnailURL) b.PutInt32(i.ThumbnailWidth) b.PutInt32(i.ThumbnailHeight) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultArticle#763583bc: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultArticle#763583bc: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultArticle#763583bc: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultArticle#763583bc: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultArticle) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultArticle#763583bc to nil") } if err := b.ConsumeID(InputInlineQueryResultArticleTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultArticle) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultArticle#763583bc to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field url: %w", err) } i.URL = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field description: %w", err) } i.Description = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field thumbnail_url: %w", err) } i.ThumbnailURL = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field thumbnail_width: %w", err) } i.ThumbnailWidth = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field thumbnail_height: %w", err) } i.ThumbnailHeight = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultArticle) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultArticle#763583bc as nil") } b.ObjStart() b.PutID("inputInlineQueryResultArticle") 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_url") b.PutString(i.ThumbnailURL) b.Comma() b.FieldStart("thumbnail_width") b.PutInt32(i.ThumbnailWidth) b.Comma() b.FieldStart("thumbnail_height") b.PutInt32(i.ThumbnailHeight) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultArticle#763583bc: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultArticle#763583bc: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultArticle#763583bc: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultArticle#763583bc: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultArticle) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultArticle#763583bc to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultArticle"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field id: %w", err) } i.ID = value case "url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field url: %w", err) } i.URL = value case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field title: %w", err) } i.Title = value case "description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field description: %w", err) } i.Description = value case "thumbnail_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field thumbnail_url: %w", err) } i.ThumbnailURL = value case "thumbnail_width": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field thumbnail_width: %w", err) } i.ThumbnailWidth = value case "thumbnail_height": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field thumbnail_height: %w", err) } i.ThumbnailHeight = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultArticle#763583bc: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultArticle) GetID() (value string) { if i == nil { return } return i.ID } // GetURL returns value of URL field. func (i *InputInlineQueryResultArticle) GetURL() (value string) { if i == nil { return } return i.URL } // GetTitle returns value of Title field. func (i *InputInlineQueryResultArticle) GetTitle() (value string) { if i == nil { return } return i.Title } // GetDescription returns value of Description field. func (i *InputInlineQueryResultArticle) GetDescription() (value string) { if i == nil { return } return i.Description } // GetThumbnailURL returns value of ThumbnailURL field. func (i *InputInlineQueryResultArticle) GetThumbnailURL() (value string) { if i == nil { return } return i.ThumbnailURL } // GetThumbnailWidth returns value of ThumbnailWidth field. func (i *InputInlineQueryResultArticle) GetThumbnailWidth() (value int32) { if i == nil { return } return i.ThumbnailWidth } // GetThumbnailHeight returns value of ThumbnailHeight field. func (i *InputInlineQueryResultArticle) GetThumbnailHeight() (value int32) { if i == nil { return } return i.ThumbnailHeight } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultArticle) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultArticle) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultAudio represents TL type `inputInlineQueryResultAudio#4b1c35d4`. type InputInlineQueryResultAudio struct { // Unique identifier of the query result ID string // Title of the audio file Title string // Performer of the audio file Performer string // The URL of the audio file AudioURL string // Audio file duration, in seconds AudioDuration int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageAudio, inputMessageInvoice, inputMessageLocation, // inputMessageVenue or inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultAudioTypeID is TL type id of InputInlineQueryResultAudio. const InputInlineQueryResultAudioTypeID = 0x4b1c35d4 // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultAudio) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultAudio. var ( _ bin.Encoder = &InputInlineQueryResultAudio{} _ bin.Decoder = &InputInlineQueryResultAudio{} _ bin.BareEncoder = &InputInlineQueryResultAudio{} _ bin.BareDecoder = &InputInlineQueryResultAudio{} _ InputInlineQueryResultClass = &InputInlineQueryResultAudio{} ) func (i *InputInlineQueryResultAudio) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Title == "") { return false } if !(i.Performer == "") { return false } if !(i.AudioURL == "") { return false } if !(i.AudioDuration == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultAudio) String() string { if i == nil { return "InputInlineQueryResultAudio(nil)" } type Alias InputInlineQueryResultAudio return fmt.Sprintf("InputInlineQueryResultAudio%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultAudio) TypeID() uint32 { return InputInlineQueryResultAudioTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultAudio) TypeName() string { return "inputInlineQueryResultAudio" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultAudio) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultAudio", ID: InputInlineQueryResultAudioTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Title", SchemaName: "title", }, { Name: "Performer", SchemaName: "performer", }, { Name: "AudioURL", SchemaName: "audio_url", }, { Name: "AudioDuration", SchemaName: "audio_duration", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultAudio) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultAudio#4b1c35d4 as nil") } b.PutID(InputInlineQueryResultAudioTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultAudio) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultAudio#4b1c35d4 as nil") } b.PutString(i.ID) b.PutString(i.Title) b.PutString(i.Performer) b.PutString(i.AudioURL) b.PutInt32(i.AudioDuration) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultAudio#4b1c35d4: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultAudio#4b1c35d4: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultAudio#4b1c35d4: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultAudio#4b1c35d4: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultAudio) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultAudio#4b1c35d4 to nil") } if err := b.ConsumeID(InputInlineQueryResultAudioTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultAudio) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultAudio#4b1c35d4 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field performer: %w", err) } i.Performer = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field audio_url: %w", err) } i.AudioURL = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field audio_duration: %w", err) } i.AudioDuration = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultAudio) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultAudio#4b1c35d4 as nil") } b.ObjStart() b.PutID("inputInlineQueryResultAudio") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("performer") b.PutString(i.Performer) b.Comma() b.FieldStart("audio_url") b.PutString(i.AudioURL) b.Comma() b.FieldStart("audio_duration") b.PutInt32(i.AudioDuration) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultAudio#4b1c35d4: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultAudio#4b1c35d4: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultAudio#4b1c35d4: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultAudio#4b1c35d4: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultAudio) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultAudio#4b1c35d4 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultAudio"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field id: %w", err) } i.ID = value case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field title: %w", err) } i.Title = value case "performer": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field performer: %w", err) } i.Performer = value case "audio_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field audio_url: %w", err) } i.AudioURL = value case "audio_duration": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field audio_duration: %w", err) } i.AudioDuration = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultAudio#4b1c35d4: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultAudio) GetID() (value string) { if i == nil { return } return i.ID } // GetTitle returns value of Title field. func (i *InputInlineQueryResultAudio) GetTitle() (value string) { if i == nil { return } return i.Title } // GetPerformer returns value of Performer field. func (i *InputInlineQueryResultAudio) GetPerformer() (value string) { if i == nil { return } return i.Performer } // GetAudioURL returns value of AudioURL field. func (i *InputInlineQueryResultAudio) GetAudioURL() (value string) { if i == nil { return } return i.AudioURL } // GetAudioDuration returns value of AudioDuration field. func (i *InputInlineQueryResultAudio) GetAudioDuration() (value int32) { if i == nil { return } return i.AudioDuration } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultAudio) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultAudio) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultContact represents TL type `inputInlineQueryResultContact#6e08b5d2`. type InputInlineQueryResultContact struct { // Unique identifier of the query result ID string // User contact Contact Contact // URL of the result thumbnail, if it exists ThumbnailURL string // Thumbnail width, if known ThumbnailWidth int32 // Thumbnail height, if known ThumbnailHeight int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageInvoice, inputMessageLocation, inputMessageVenue or // inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultContactTypeID is TL type id of InputInlineQueryResultContact. const InputInlineQueryResultContactTypeID = 0x6e08b5d2 // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultContact) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultContact. var ( _ bin.Encoder = &InputInlineQueryResultContact{} _ bin.Decoder = &InputInlineQueryResultContact{} _ bin.BareEncoder = &InputInlineQueryResultContact{} _ bin.BareDecoder = &InputInlineQueryResultContact{} _ InputInlineQueryResultClass = &InputInlineQueryResultContact{} ) func (i *InputInlineQueryResultContact) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Contact.Zero()) { return false } if !(i.ThumbnailURL == "") { return false } if !(i.ThumbnailWidth == 0) { return false } if !(i.ThumbnailHeight == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultContact) String() string { if i == nil { return "InputInlineQueryResultContact(nil)" } type Alias InputInlineQueryResultContact return fmt.Sprintf("InputInlineQueryResultContact%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultContact) TypeID() uint32 { return InputInlineQueryResultContactTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultContact) TypeName() string { return "inputInlineQueryResultContact" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultContact) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultContact", ID: InputInlineQueryResultContactTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Contact", SchemaName: "contact", }, { Name: "ThumbnailURL", SchemaName: "thumbnail_url", }, { Name: "ThumbnailWidth", SchemaName: "thumbnail_width", }, { Name: "ThumbnailHeight", SchemaName: "thumbnail_height", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultContact) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultContact#6e08b5d2 as nil") } b.PutID(InputInlineQueryResultContactTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultContact) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultContact#6e08b5d2 as nil") } b.PutString(i.ID) if err := i.Contact.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultContact#6e08b5d2: field contact: %w", err) } b.PutString(i.ThumbnailURL) b.PutInt32(i.ThumbnailWidth) b.PutInt32(i.ThumbnailHeight) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultContact#6e08b5d2: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultContact#6e08b5d2: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultContact#6e08b5d2: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultContact#6e08b5d2: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultContact) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultContact#6e08b5d2 to nil") } if err := b.ConsumeID(InputInlineQueryResultContactTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultContact) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultContact#6e08b5d2 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field id: %w", err) } i.ID = value } { if err := i.Contact.Decode(b); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field contact: %w", err) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field thumbnail_url: %w", err) } i.ThumbnailURL = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field thumbnail_width: %w", err) } i.ThumbnailWidth = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field thumbnail_height: %w", err) } i.ThumbnailHeight = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultContact) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultContact#6e08b5d2 as nil") } b.ObjStart() b.PutID("inputInlineQueryResultContact") 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 inputInlineQueryResultContact#6e08b5d2: field contact: %w", err) } b.Comma() b.FieldStart("thumbnail_url") b.PutString(i.ThumbnailURL) b.Comma() b.FieldStart("thumbnail_width") b.PutInt32(i.ThumbnailWidth) b.Comma() b.FieldStart("thumbnail_height") b.PutInt32(i.ThumbnailHeight) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultContact#6e08b5d2: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultContact#6e08b5d2: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultContact#6e08b5d2: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultContact#6e08b5d2: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultContact) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultContact#6e08b5d2 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultContact"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field id: %w", err) } i.ID = value case "contact": if err := i.Contact.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field contact: %w", err) } case "thumbnail_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field thumbnail_url: %w", err) } i.ThumbnailURL = value case "thumbnail_width": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field thumbnail_width: %w", err) } i.ThumbnailWidth = value case "thumbnail_height": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field thumbnail_height: %w", err) } i.ThumbnailHeight = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultContact#6e08b5d2: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultContact) GetID() (value string) { if i == nil { return } return i.ID } // GetContact returns value of Contact field. func (i *InputInlineQueryResultContact) GetContact() (value Contact) { if i == nil { return } return i.Contact } // GetThumbnailURL returns value of ThumbnailURL field. func (i *InputInlineQueryResultContact) GetThumbnailURL() (value string) { if i == nil { return } return i.ThumbnailURL } // GetThumbnailWidth returns value of ThumbnailWidth field. func (i *InputInlineQueryResultContact) GetThumbnailWidth() (value int32) { if i == nil { return } return i.ThumbnailWidth } // GetThumbnailHeight returns value of ThumbnailHeight field. func (i *InputInlineQueryResultContact) GetThumbnailHeight() (value int32) { if i == nil { return } return i.ThumbnailHeight } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultContact) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultContact) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultDocument represents TL type `inputInlineQueryResultDocument#227fd0cd`. type InputInlineQueryResultDocument struct { // Unique identifier of the query result ID string // Title of the resulting file Title string // Represents a link to a file Description string // URL of the file DocumentURL string // MIME type of the file content; only "application/pdf" and "application/zip" are // currently allowed MimeType string // The URL of the file thumbnail, if it exists ThumbnailURL string // Width of the thumbnail ThumbnailWidth int32 // Height of the thumbnail ThumbnailHeight int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageDocument, inputMessageInvoice, inputMessageLocation, // inputMessageVenue or inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultDocumentTypeID is TL type id of InputInlineQueryResultDocument. const InputInlineQueryResultDocumentTypeID = 0x227fd0cd // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultDocument) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultDocument. var ( _ bin.Encoder = &InputInlineQueryResultDocument{} _ bin.Decoder = &InputInlineQueryResultDocument{} _ bin.BareEncoder = &InputInlineQueryResultDocument{} _ bin.BareDecoder = &InputInlineQueryResultDocument{} _ InputInlineQueryResultClass = &InputInlineQueryResultDocument{} ) func (i *InputInlineQueryResultDocument) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Title == "") { return false } if !(i.Description == "") { return false } if !(i.DocumentURL == "") { return false } if !(i.MimeType == "") { return false } if !(i.ThumbnailURL == "") { return false } if !(i.ThumbnailWidth == 0) { return false } if !(i.ThumbnailHeight == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultDocument) String() string { if i == nil { return "InputInlineQueryResultDocument(nil)" } type Alias InputInlineQueryResultDocument return fmt.Sprintf("InputInlineQueryResultDocument%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultDocument) TypeID() uint32 { return InputInlineQueryResultDocumentTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultDocument) TypeName() string { return "inputInlineQueryResultDocument" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultDocument) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultDocument", ID: InputInlineQueryResultDocumentTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Title", SchemaName: "title", }, { Name: "Description", SchemaName: "description", }, { Name: "DocumentURL", SchemaName: "document_url", }, { Name: "MimeType", SchemaName: "mime_type", }, { Name: "ThumbnailURL", SchemaName: "thumbnail_url", }, { Name: "ThumbnailWidth", SchemaName: "thumbnail_width", }, { Name: "ThumbnailHeight", SchemaName: "thumbnail_height", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultDocument) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultDocument#227fd0cd as nil") } b.PutID(InputInlineQueryResultDocumentTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultDocument) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultDocument#227fd0cd as nil") } b.PutString(i.ID) b.PutString(i.Title) b.PutString(i.Description) b.PutString(i.DocumentURL) b.PutString(i.MimeType) b.PutString(i.ThumbnailURL) b.PutInt32(i.ThumbnailWidth) b.PutInt32(i.ThumbnailHeight) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultDocument#227fd0cd: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultDocument#227fd0cd: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultDocument#227fd0cd: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultDocument#227fd0cd: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultDocument) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultDocument#227fd0cd to nil") } if err := b.ConsumeID(InputInlineQueryResultDocumentTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultDocument) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultDocument#227fd0cd to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field description: %w", err) } i.Description = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field document_url: %w", err) } i.DocumentURL = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field mime_type: %w", err) } i.MimeType = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field thumbnail_url: %w", err) } i.ThumbnailURL = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field thumbnail_width: %w", err) } i.ThumbnailWidth = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field thumbnail_height: %w", err) } i.ThumbnailHeight = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultDocument) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultDocument#227fd0cd as nil") } b.ObjStart() b.PutID("inputInlineQueryResultDocument") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("description") b.PutString(i.Description) b.Comma() b.FieldStart("document_url") b.PutString(i.DocumentURL) b.Comma() b.FieldStart("mime_type") b.PutString(i.MimeType) b.Comma() b.FieldStart("thumbnail_url") b.PutString(i.ThumbnailURL) b.Comma() b.FieldStart("thumbnail_width") b.PutInt32(i.ThumbnailWidth) b.Comma() b.FieldStart("thumbnail_height") b.PutInt32(i.ThumbnailHeight) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultDocument#227fd0cd: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultDocument#227fd0cd: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultDocument#227fd0cd: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultDocument#227fd0cd: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultDocument) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultDocument#227fd0cd to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultDocument"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field id: %w", err) } i.ID = value case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field title: %w", err) } i.Title = value case "description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field description: %w", err) } i.Description = value case "document_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field document_url: %w", err) } i.DocumentURL = value case "mime_type": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field mime_type: %w", err) } i.MimeType = value case "thumbnail_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field thumbnail_url: %w", err) } i.ThumbnailURL = value case "thumbnail_width": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field thumbnail_width: %w", err) } i.ThumbnailWidth = value case "thumbnail_height": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field thumbnail_height: %w", err) } i.ThumbnailHeight = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultDocument#227fd0cd: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultDocument) GetID() (value string) { if i == nil { return } return i.ID } // GetTitle returns value of Title field. func (i *InputInlineQueryResultDocument) GetTitle() (value string) { if i == nil { return } return i.Title } // GetDescription returns value of Description field. func (i *InputInlineQueryResultDocument) GetDescription() (value string) { if i == nil { return } return i.Description } // GetDocumentURL returns value of DocumentURL field. func (i *InputInlineQueryResultDocument) GetDocumentURL() (value string) { if i == nil { return } return i.DocumentURL } // GetMimeType returns value of MimeType field. func (i *InputInlineQueryResultDocument) GetMimeType() (value string) { if i == nil { return } return i.MimeType } // GetThumbnailURL returns value of ThumbnailURL field. func (i *InputInlineQueryResultDocument) GetThumbnailURL() (value string) { if i == nil { return } return i.ThumbnailURL } // GetThumbnailWidth returns value of ThumbnailWidth field. func (i *InputInlineQueryResultDocument) GetThumbnailWidth() (value int32) { if i == nil { return } return i.ThumbnailWidth } // GetThumbnailHeight returns value of ThumbnailHeight field. func (i *InputInlineQueryResultDocument) GetThumbnailHeight() (value int32) { if i == nil { return } return i.ThumbnailHeight } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultDocument) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultDocument) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultGame represents TL type `inputInlineQueryResultGame#39951fd7`. type InputInlineQueryResultGame struct { // Unique identifier of the query result ID string // Short name of the game GameShortName string // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass } // InputInlineQueryResultGameTypeID is TL type id of InputInlineQueryResultGame. const InputInlineQueryResultGameTypeID = 0x39951fd7 // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultGame) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultGame. var ( _ bin.Encoder = &InputInlineQueryResultGame{} _ bin.Decoder = &InputInlineQueryResultGame{} _ bin.BareEncoder = &InputInlineQueryResultGame{} _ bin.BareDecoder = &InputInlineQueryResultGame{} _ InputInlineQueryResultClass = &InputInlineQueryResultGame{} ) func (i *InputInlineQueryResultGame) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.GameShortName == "") { return false } if !(i.ReplyMarkup == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultGame) String() string { if i == nil { return "InputInlineQueryResultGame(nil)" } type Alias InputInlineQueryResultGame return fmt.Sprintf("InputInlineQueryResultGame%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultGame) TypeID() uint32 { return InputInlineQueryResultGameTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultGame) TypeName() string { return "inputInlineQueryResultGame" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultGame) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultGame", ID: InputInlineQueryResultGameTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "GameShortName", SchemaName: "game_short_name", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultGame) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultGame#39951fd7 as nil") } b.PutID(InputInlineQueryResultGameTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultGame) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultGame#39951fd7 as nil") } b.PutString(i.ID) b.PutString(i.GameShortName) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultGame#39951fd7: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultGame#39951fd7: field reply_markup: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultGame) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultGame#39951fd7 to nil") } if err := b.ConsumeID(InputInlineQueryResultGameTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultGame#39951fd7: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultGame) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultGame#39951fd7 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultGame#39951fd7: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultGame#39951fd7: field game_short_name: %w", err) } i.GameShortName = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultGame#39951fd7: field reply_markup: %w", err) } i.ReplyMarkup = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultGame) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultGame#39951fd7 as nil") } b.ObjStart() b.PutID("inputInlineQueryResultGame") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("game_short_name") b.PutString(i.GameShortName) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultGame#39951fd7: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultGame#39951fd7: field reply_markup: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultGame) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultGame#39951fd7 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultGame"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultGame#39951fd7: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultGame#39951fd7: field id: %w", err) } i.ID = value case "game_short_name": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultGame#39951fd7: field game_short_name: %w", err) } i.GameShortName = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultGame#39951fd7: field reply_markup: %w", err) } i.ReplyMarkup = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultGame) GetID() (value string) { if i == nil { return } return i.ID } // GetGameShortName returns value of GameShortName field. func (i *InputInlineQueryResultGame) GetGameShortName() (value string) { if i == nil { return } return i.GameShortName } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultGame) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // InputInlineQueryResultLocation represents TL type `inputInlineQueryResultLocation#8f7cbe56`. type InputInlineQueryResultLocation struct { // Unique identifier of the query result ID string // Location result Location Location // Amount of time relative to the message sent time until the location can be updated, in // seconds LivePeriod int32 // Title of the result Title string // URL of the result thumbnail, if it exists ThumbnailURL string // Thumbnail width, if known ThumbnailWidth int32 // Thumbnail height, if known ThumbnailHeight int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageInvoice, inputMessageLocation, inputMessageVenue or // inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultLocationTypeID is TL type id of InputInlineQueryResultLocation. const InputInlineQueryResultLocationTypeID = 0x8f7cbe56 // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultLocation) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultLocation. var ( _ bin.Encoder = &InputInlineQueryResultLocation{} _ bin.Decoder = &InputInlineQueryResultLocation{} _ bin.BareEncoder = &InputInlineQueryResultLocation{} _ bin.BareDecoder = &InputInlineQueryResultLocation{} _ InputInlineQueryResultClass = &InputInlineQueryResultLocation{} ) func (i *InputInlineQueryResultLocation) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Location.Zero()) { return false } if !(i.LivePeriod == 0) { return false } if !(i.Title == "") { return false } if !(i.ThumbnailURL == "") { return false } if !(i.ThumbnailWidth == 0) { return false } if !(i.ThumbnailHeight == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultLocation) String() string { if i == nil { return "InputInlineQueryResultLocation(nil)" } type Alias InputInlineQueryResultLocation return fmt.Sprintf("InputInlineQueryResultLocation%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultLocation) TypeID() uint32 { return InputInlineQueryResultLocationTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultLocation) TypeName() string { return "inputInlineQueryResultLocation" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultLocation) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultLocation", ID: InputInlineQueryResultLocationTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Location", SchemaName: "location", }, { Name: "LivePeriod", SchemaName: "live_period", }, { Name: "Title", SchemaName: "title", }, { Name: "ThumbnailURL", SchemaName: "thumbnail_url", }, { Name: "ThumbnailWidth", SchemaName: "thumbnail_width", }, { Name: "ThumbnailHeight", SchemaName: "thumbnail_height", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultLocation) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultLocation#8f7cbe56 as nil") } b.PutID(InputInlineQueryResultLocationTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultLocation) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultLocation#8f7cbe56 as nil") } b.PutString(i.ID) if err := i.Location.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultLocation#8f7cbe56: field location: %w", err) } b.PutInt32(i.LivePeriod) b.PutString(i.Title) b.PutString(i.ThumbnailURL) b.PutInt32(i.ThumbnailWidth) b.PutInt32(i.ThumbnailHeight) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultLocation#8f7cbe56: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultLocation#8f7cbe56: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultLocation#8f7cbe56: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultLocation#8f7cbe56: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultLocation) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultLocation#8f7cbe56 to nil") } if err := b.ConsumeID(InputInlineQueryResultLocationTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultLocation) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultLocation#8f7cbe56 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field id: %w", err) } i.ID = value } { if err := i.Location.Decode(b); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field location: %w", err) } } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field live_period: %w", err) } i.LivePeriod = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field thumbnail_url: %w", err) } i.ThumbnailURL = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field thumbnail_width: %w", err) } i.ThumbnailWidth = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field thumbnail_height: %w", err) } i.ThumbnailHeight = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultLocation) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultLocation#8f7cbe56 as nil") } b.ObjStart() b.PutID("inputInlineQueryResultLocation") 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 inputInlineQueryResultLocation#8f7cbe56: field location: %w", err) } b.Comma() b.FieldStart("live_period") b.PutInt32(i.LivePeriod) b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("thumbnail_url") b.PutString(i.ThumbnailURL) b.Comma() b.FieldStart("thumbnail_width") b.PutInt32(i.ThumbnailWidth) b.Comma() b.FieldStart("thumbnail_height") b.PutInt32(i.ThumbnailHeight) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultLocation#8f7cbe56: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultLocation#8f7cbe56: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultLocation#8f7cbe56: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultLocation#8f7cbe56: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultLocation) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultLocation#8f7cbe56 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultLocation"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field id: %w", err) } i.ID = value case "location": if err := i.Location.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field location: %w", err) } case "live_period": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field live_period: %w", err) } i.LivePeriod = value case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field title: %w", err) } i.Title = value case "thumbnail_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field thumbnail_url: %w", err) } i.ThumbnailURL = value case "thumbnail_width": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field thumbnail_width: %w", err) } i.ThumbnailWidth = value case "thumbnail_height": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field thumbnail_height: %w", err) } i.ThumbnailHeight = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultLocation#8f7cbe56: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultLocation) GetID() (value string) { if i == nil { return } return i.ID } // GetLocation returns value of Location field. func (i *InputInlineQueryResultLocation) GetLocation() (value Location) { if i == nil { return } return i.Location } // GetLivePeriod returns value of LivePeriod field. func (i *InputInlineQueryResultLocation) GetLivePeriod() (value int32) { if i == nil { return } return i.LivePeriod } // GetTitle returns value of Title field. func (i *InputInlineQueryResultLocation) GetTitle() (value string) { if i == nil { return } return i.Title } // GetThumbnailURL returns value of ThumbnailURL field. func (i *InputInlineQueryResultLocation) GetThumbnailURL() (value string) { if i == nil { return } return i.ThumbnailURL } // GetThumbnailWidth returns value of ThumbnailWidth field. func (i *InputInlineQueryResultLocation) GetThumbnailWidth() (value int32) { if i == nil { return } return i.ThumbnailWidth } // GetThumbnailHeight returns value of ThumbnailHeight field. func (i *InputInlineQueryResultLocation) GetThumbnailHeight() (value int32) { if i == nil { return } return i.ThumbnailHeight } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultLocation) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultLocation) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultPhoto represents TL type `inputInlineQueryResultPhoto#bd0b361f`. type InputInlineQueryResultPhoto struct { // Unique identifier of the query result ID string // Title of the result, if known Title string // Represents link to a JPEG image Description string // URL of the photo thumbnail, if it exists ThumbnailURL string // The URL of the JPEG photo (photo size must not exceed 5MB) PhotoURL string // Width of the photo PhotoWidth int32 // Height of the photo PhotoHeight int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessagePhoto, inputMessageInvoice, inputMessageLocation, // inputMessageVenue or inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultPhotoTypeID is TL type id of InputInlineQueryResultPhoto. const InputInlineQueryResultPhotoTypeID = 0xbd0b361f // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultPhoto) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultPhoto. var ( _ bin.Encoder = &InputInlineQueryResultPhoto{} _ bin.Decoder = &InputInlineQueryResultPhoto{} _ bin.BareEncoder = &InputInlineQueryResultPhoto{} _ bin.BareDecoder = &InputInlineQueryResultPhoto{} _ InputInlineQueryResultClass = &InputInlineQueryResultPhoto{} ) func (i *InputInlineQueryResultPhoto) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Title == "") { return false } if !(i.Description == "") { return false } if !(i.ThumbnailURL == "") { return false } if !(i.PhotoURL == "") { return false } if !(i.PhotoWidth == 0) { return false } if !(i.PhotoHeight == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultPhoto) String() string { if i == nil { return "InputInlineQueryResultPhoto(nil)" } type Alias InputInlineQueryResultPhoto return fmt.Sprintf("InputInlineQueryResultPhoto%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultPhoto) TypeID() uint32 { return InputInlineQueryResultPhotoTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultPhoto) TypeName() string { return "inputInlineQueryResultPhoto" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultPhoto) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultPhoto", ID: InputInlineQueryResultPhotoTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Title", SchemaName: "title", }, { Name: "Description", SchemaName: "description", }, { Name: "ThumbnailURL", SchemaName: "thumbnail_url", }, { Name: "PhotoURL", SchemaName: "photo_url", }, { Name: "PhotoWidth", SchemaName: "photo_width", }, { Name: "PhotoHeight", SchemaName: "photo_height", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultPhoto) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultPhoto#bd0b361f as nil") } b.PutID(InputInlineQueryResultPhotoTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultPhoto) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultPhoto#bd0b361f as nil") } b.PutString(i.ID) b.PutString(i.Title) b.PutString(i.Description) b.PutString(i.ThumbnailURL) b.PutString(i.PhotoURL) b.PutInt32(i.PhotoWidth) b.PutInt32(i.PhotoHeight) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultPhoto#bd0b361f: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultPhoto#bd0b361f: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultPhoto#bd0b361f: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultPhoto#bd0b361f: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultPhoto) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultPhoto#bd0b361f to nil") } if err := b.ConsumeID(InputInlineQueryResultPhotoTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultPhoto) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultPhoto#bd0b361f to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field description: %w", err) } i.Description = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field thumbnail_url: %w", err) } i.ThumbnailURL = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field photo_url: %w", err) } i.PhotoURL = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field photo_width: %w", err) } i.PhotoWidth = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field photo_height: %w", err) } i.PhotoHeight = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultPhoto) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultPhoto#bd0b361f as nil") } b.ObjStart() b.PutID("inputInlineQueryResultPhoto") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("description") b.PutString(i.Description) b.Comma() b.FieldStart("thumbnail_url") b.PutString(i.ThumbnailURL) b.Comma() b.FieldStart("photo_url") b.PutString(i.PhotoURL) b.Comma() b.FieldStart("photo_width") b.PutInt32(i.PhotoWidth) b.Comma() b.FieldStart("photo_height") b.PutInt32(i.PhotoHeight) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultPhoto#bd0b361f: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultPhoto#bd0b361f: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultPhoto#bd0b361f: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultPhoto#bd0b361f: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultPhoto) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultPhoto#bd0b361f to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultPhoto"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field id: %w", err) } i.ID = value case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field title: %w", err) } i.Title = value case "description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field description: %w", err) } i.Description = value case "thumbnail_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field thumbnail_url: %w", err) } i.ThumbnailURL = value case "photo_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field photo_url: %w", err) } i.PhotoURL = value case "photo_width": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field photo_width: %w", err) } i.PhotoWidth = value case "photo_height": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field photo_height: %w", err) } i.PhotoHeight = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultPhoto#bd0b361f: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultPhoto) GetID() (value string) { if i == nil { return } return i.ID } // GetTitle returns value of Title field. func (i *InputInlineQueryResultPhoto) GetTitle() (value string) { if i == nil { return } return i.Title } // GetDescription returns value of Description field. func (i *InputInlineQueryResultPhoto) GetDescription() (value string) { if i == nil { return } return i.Description } // GetThumbnailURL returns value of ThumbnailURL field. func (i *InputInlineQueryResultPhoto) GetThumbnailURL() (value string) { if i == nil { return } return i.ThumbnailURL } // GetPhotoURL returns value of PhotoURL field. func (i *InputInlineQueryResultPhoto) GetPhotoURL() (value string) { if i == nil { return } return i.PhotoURL } // GetPhotoWidth returns value of PhotoWidth field. func (i *InputInlineQueryResultPhoto) GetPhotoWidth() (value int32) { if i == nil { return } return i.PhotoWidth } // GetPhotoHeight returns value of PhotoHeight field. func (i *InputInlineQueryResultPhoto) GetPhotoHeight() (value int32) { if i == nil { return } return i.PhotoHeight } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultPhoto) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultPhoto) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultSticker represents TL type `inputInlineQueryResultSticker#10550459`. type InputInlineQueryResultSticker struct { // Unique identifier of the query result ID string // URL of the sticker thumbnail, if it exists ThumbnailURL string // The URL of the WEBP, TGS, or WEBM sticker (sticker file size must not exceed 5MB) StickerURL string // Width of the sticker StickerWidth int32 // Height of the sticker StickerHeight int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageSticker, inputMessageInvoice, inputMessageLocation, // inputMessageVenue or inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultStickerTypeID is TL type id of InputInlineQueryResultSticker. const InputInlineQueryResultStickerTypeID = 0x10550459 // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultSticker) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultSticker. var ( _ bin.Encoder = &InputInlineQueryResultSticker{} _ bin.Decoder = &InputInlineQueryResultSticker{} _ bin.BareEncoder = &InputInlineQueryResultSticker{} _ bin.BareDecoder = &InputInlineQueryResultSticker{} _ InputInlineQueryResultClass = &InputInlineQueryResultSticker{} ) func (i *InputInlineQueryResultSticker) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.ThumbnailURL == "") { return false } if !(i.StickerURL == "") { return false } if !(i.StickerWidth == 0) { return false } if !(i.StickerHeight == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultSticker) String() string { if i == nil { return "InputInlineQueryResultSticker(nil)" } type Alias InputInlineQueryResultSticker return fmt.Sprintf("InputInlineQueryResultSticker%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultSticker) TypeID() uint32 { return InputInlineQueryResultStickerTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultSticker) TypeName() string { return "inputInlineQueryResultSticker" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultSticker) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultSticker", ID: InputInlineQueryResultStickerTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "ThumbnailURL", SchemaName: "thumbnail_url", }, { Name: "StickerURL", SchemaName: "sticker_url", }, { Name: "StickerWidth", SchemaName: "sticker_width", }, { Name: "StickerHeight", SchemaName: "sticker_height", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultSticker) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultSticker#10550459 as nil") } b.PutID(InputInlineQueryResultStickerTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultSticker) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultSticker#10550459 as nil") } b.PutString(i.ID) b.PutString(i.ThumbnailURL) b.PutString(i.StickerURL) b.PutInt32(i.StickerWidth) b.PutInt32(i.StickerHeight) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultSticker#10550459: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultSticker#10550459: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultSticker#10550459: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultSticker#10550459: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultSticker) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultSticker#10550459 to nil") } if err := b.ConsumeID(InputInlineQueryResultStickerTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultSticker) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultSticker#10550459 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field thumbnail_url: %w", err) } i.ThumbnailURL = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field sticker_url: %w", err) } i.StickerURL = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field sticker_width: %w", err) } i.StickerWidth = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field sticker_height: %w", err) } i.StickerHeight = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultSticker) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultSticker#10550459 as nil") } b.ObjStart() b.PutID("inputInlineQueryResultSticker") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("thumbnail_url") b.PutString(i.ThumbnailURL) b.Comma() b.FieldStart("sticker_url") b.PutString(i.StickerURL) b.Comma() b.FieldStart("sticker_width") b.PutInt32(i.StickerWidth) b.Comma() b.FieldStart("sticker_height") b.PutInt32(i.StickerHeight) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultSticker#10550459: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultSticker#10550459: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultSticker#10550459: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultSticker#10550459: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultSticker) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultSticker#10550459 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultSticker"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field id: %w", err) } i.ID = value case "thumbnail_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field thumbnail_url: %w", err) } i.ThumbnailURL = value case "sticker_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field sticker_url: %w", err) } i.StickerURL = value case "sticker_width": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field sticker_width: %w", err) } i.StickerWidth = value case "sticker_height": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field sticker_height: %w", err) } i.StickerHeight = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultSticker#10550459: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultSticker) GetID() (value string) { if i == nil { return } return i.ID } // GetThumbnailURL returns value of ThumbnailURL field. func (i *InputInlineQueryResultSticker) GetThumbnailURL() (value string) { if i == nil { return } return i.ThumbnailURL } // GetStickerURL returns value of StickerURL field. func (i *InputInlineQueryResultSticker) GetStickerURL() (value string) { if i == nil { return } return i.StickerURL } // GetStickerWidth returns value of StickerWidth field. func (i *InputInlineQueryResultSticker) GetStickerWidth() (value int32) { if i == nil { return } return i.StickerWidth } // GetStickerHeight returns value of StickerHeight field. func (i *InputInlineQueryResultSticker) GetStickerHeight() (value int32) { if i == nil { return } return i.StickerHeight } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultSticker) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultSticker) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultVenue represents TL type `inputInlineQueryResultVenue#2049c13d`. type InputInlineQueryResultVenue struct { // Unique identifier of the query result ID string // Venue result Venue Venue // URL of the result thumbnail, if it exists ThumbnailURL string // Thumbnail width, if known ThumbnailWidth int32 // Thumbnail height, if known ThumbnailHeight int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageInvoice, inputMessageLocation, inputMessageVenue or // inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultVenueTypeID is TL type id of InputInlineQueryResultVenue. const InputInlineQueryResultVenueTypeID = 0x2049c13d // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultVenue) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultVenue. var ( _ bin.Encoder = &InputInlineQueryResultVenue{} _ bin.Decoder = &InputInlineQueryResultVenue{} _ bin.BareEncoder = &InputInlineQueryResultVenue{} _ bin.BareDecoder = &InputInlineQueryResultVenue{} _ InputInlineQueryResultClass = &InputInlineQueryResultVenue{} ) func (i *InputInlineQueryResultVenue) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Venue.Zero()) { return false } if !(i.ThumbnailURL == "") { return false } if !(i.ThumbnailWidth == 0) { return false } if !(i.ThumbnailHeight == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultVenue) String() string { if i == nil { return "InputInlineQueryResultVenue(nil)" } type Alias InputInlineQueryResultVenue return fmt.Sprintf("InputInlineQueryResultVenue%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultVenue) TypeID() uint32 { return InputInlineQueryResultVenueTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultVenue) TypeName() string { return "inputInlineQueryResultVenue" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultVenue) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultVenue", ID: InputInlineQueryResultVenueTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Venue", SchemaName: "venue", }, { Name: "ThumbnailURL", SchemaName: "thumbnail_url", }, { Name: "ThumbnailWidth", SchemaName: "thumbnail_width", }, { Name: "ThumbnailHeight", SchemaName: "thumbnail_height", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultVenue) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultVenue#2049c13d as nil") } b.PutID(InputInlineQueryResultVenueTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultVenue) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultVenue#2049c13d as nil") } b.PutString(i.ID) if err := i.Venue.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVenue#2049c13d: field venue: %w", err) } b.PutString(i.ThumbnailURL) b.PutInt32(i.ThumbnailWidth) b.PutInt32(i.ThumbnailHeight) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVenue#2049c13d: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVenue#2049c13d: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVenue#2049c13d: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVenue#2049c13d: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultVenue) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultVenue#2049c13d to nil") } if err := b.ConsumeID(InputInlineQueryResultVenueTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultVenue) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultVenue#2049c13d to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field id: %w", err) } i.ID = value } { if err := i.Venue.Decode(b); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field venue: %w", err) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field thumbnail_url: %w", err) } i.ThumbnailURL = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field thumbnail_width: %w", err) } i.ThumbnailWidth = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field thumbnail_height: %w", err) } i.ThumbnailHeight = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultVenue) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultVenue#2049c13d as nil") } b.ObjStart() b.PutID("inputInlineQueryResultVenue") 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 inputInlineQueryResultVenue#2049c13d: field venue: %w", err) } b.Comma() b.FieldStart("thumbnail_url") b.PutString(i.ThumbnailURL) b.Comma() b.FieldStart("thumbnail_width") b.PutInt32(i.ThumbnailWidth) b.Comma() b.FieldStart("thumbnail_height") b.PutInt32(i.ThumbnailHeight) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVenue#2049c13d: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVenue#2049c13d: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVenue#2049c13d: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVenue#2049c13d: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultVenue) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultVenue#2049c13d to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultVenue"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field id: %w", err) } i.ID = value case "venue": if err := i.Venue.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field venue: %w", err) } case "thumbnail_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field thumbnail_url: %w", err) } i.ThumbnailURL = value case "thumbnail_width": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field thumbnail_width: %w", err) } i.ThumbnailWidth = value case "thumbnail_height": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field thumbnail_height: %w", err) } i.ThumbnailHeight = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVenue#2049c13d: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultVenue) GetID() (value string) { if i == nil { return } return i.ID } // GetVenue returns value of Venue field. func (i *InputInlineQueryResultVenue) GetVenue() (value Venue) { if i == nil { return } return i.Venue } // GetThumbnailURL returns value of ThumbnailURL field. func (i *InputInlineQueryResultVenue) GetThumbnailURL() (value string) { if i == nil { return } return i.ThumbnailURL } // GetThumbnailWidth returns value of ThumbnailWidth field. func (i *InputInlineQueryResultVenue) GetThumbnailWidth() (value int32) { if i == nil { return } return i.ThumbnailWidth } // GetThumbnailHeight returns value of ThumbnailHeight field. func (i *InputInlineQueryResultVenue) GetThumbnailHeight() (value int32) { if i == nil { return } return i.ThumbnailHeight } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultVenue) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultVenue) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultVideo represents TL type `inputInlineQueryResultVideo#66c344e7`. type InputInlineQueryResultVideo struct { // Unique identifier of the query result ID string // Title of the result Title string // Represents a link to a page containing an embedded video player or a video file Description string // The URL of the video thumbnail (JPEG), if it exists ThumbnailURL string // URL of the embedded video player or video file VideoURL string // MIME type of the content of the video URL, only "text/html" or "video/mp4" are // currently supported MimeType string // Width of the video VideoWidth int32 // Height of the video VideoHeight int32 // Video duration, in seconds VideoDuration int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageVideo, inputMessageInvoice, inputMessageLocation, // inputMessageVenue or inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultVideoTypeID is TL type id of InputInlineQueryResultVideo. const InputInlineQueryResultVideoTypeID = 0x66c344e7 // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultVideo) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultVideo. var ( _ bin.Encoder = &InputInlineQueryResultVideo{} _ bin.Decoder = &InputInlineQueryResultVideo{} _ bin.BareEncoder = &InputInlineQueryResultVideo{} _ bin.BareDecoder = &InputInlineQueryResultVideo{} _ InputInlineQueryResultClass = &InputInlineQueryResultVideo{} ) func (i *InputInlineQueryResultVideo) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Title == "") { return false } if !(i.Description == "") { return false } if !(i.ThumbnailURL == "") { return false } if !(i.VideoURL == "") { return false } if !(i.MimeType == "") { return false } if !(i.VideoWidth == 0) { return false } if !(i.VideoHeight == 0) { return false } if !(i.VideoDuration == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultVideo) String() string { if i == nil { return "InputInlineQueryResultVideo(nil)" } type Alias InputInlineQueryResultVideo return fmt.Sprintf("InputInlineQueryResultVideo%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultVideo) TypeID() uint32 { return InputInlineQueryResultVideoTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultVideo) TypeName() string { return "inputInlineQueryResultVideo" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultVideo) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultVideo", ID: InputInlineQueryResultVideoTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Title", SchemaName: "title", }, { Name: "Description", SchemaName: "description", }, { Name: "ThumbnailURL", SchemaName: "thumbnail_url", }, { Name: "VideoURL", SchemaName: "video_url", }, { Name: "MimeType", SchemaName: "mime_type", }, { Name: "VideoWidth", SchemaName: "video_width", }, { Name: "VideoHeight", SchemaName: "video_height", }, { Name: "VideoDuration", SchemaName: "video_duration", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultVideo) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultVideo#66c344e7 as nil") } b.PutID(InputInlineQueryResultVideoTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultVideo) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultVideo#66c344e7 as nil") } b.PutString(i.ID) b.PutString(i.Title) b.PutString(i.Description) b.PutString(i.ThumbnailURL) b.PutString(i.VideoURL) b.PutString(i.MimeType) b.PutInt32(i.VideoWidth) b.PutInt32(i.VideoHeight) b.PutInt32(i.VideoDuration) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVideo#66c344e7: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVideo#66c344e7: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVideo#66c344e7: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVideo#66c344e7: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultVideo) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultVideo#66c344e7 to nil") } if err := b.ConsumeID(InputInlineQueryResultVideoTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultVideo) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultVideo#66c344e7 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field description: %w", err) } i.Description = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field thumbnail_url: %w", err) } i.ThumbnailURL = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field video_url: %w", err) } i.VideoURL = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field mime_type: %w", err) } i.MimeType = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field video_width: %w", err) } i.VideoWidth = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field video_height: %w", err) } i.VideoHeight = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field video_duration: %w", err) } i.VideoDuration = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultVideo) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultVideo#66c344e7 as nil") } b.ObjStart() b.PutID("inputInlineQueryResultVideo") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("description") b.PutString(i.Description) b.Comma() b.FieldStart("thumbnail_url") b.PutString(i.ThumbnailURL) b.Comma() b.FieldStart("video_url") b.PutString(i.VideoURL) b.Comma() b.FieldStart("mime_type") b.PutString(i.MimeType) b.Comma() b.FieldStart("video_width") b.PutInt32(i.VideoWidth) b.Comma() b.FieldStart("video_height") b.PutInt32(i.VideoHeight) b.Comma() b.FieldStart("video_duration") b.PutInt32(i.VideoDuration) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVideo#66c344e7: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVideo#66c344e7: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVideo#66c344e7: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVideo#66c344e7: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultVideo) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultVideo#66c344e7 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultVideo"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field id: %w", err) } i.ID = value case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field title: %w", err) } i.Title = value case "description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field description: %w", err) } i.Description = value case "thumbnail_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field thumbnail_url: %w", err) } i.ThumbnailURL = value case "video_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field video_url: %w", err) } i.VideoURL = value case "mime_type": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field mime_type: %w", err) } i.MimeType = value case "video_width": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field video_width: %w", err) } i.VideoWidth = value case "video_height": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field video_height: %w", err) } i.VideoHeight = value case "video_duration": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field video_duration: %w", err) } i.VideoDuration = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVideo#66c344e7: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultVideo) GetID() (value string) { if i == nil { return } return i.ID } // GetTitle returns value of Title field. func (i *InputInlineQueryResultVideo) GetTitle() (value string) { if i == nil { return } return i.Title } // GetDescription returns value of Description field. func (i *InputInlineQueryResultVideo) GetDescription() (value string) { if i == nil { return } return i.Description } // GetThumbnailURL returns value of ThumbnailURL field. func (i *InputInlineQueryResultVideo) GetThumbnailURL() (value string) { if i == nil { return } return i.ThumbnailURL } // GetVideoURL returns value of VideoURL field. func (i *InputInlineQueryResultVideo) GetVideoURL() (value string) { if i == nil { return } return i.VideoURL } // GetMimeType returns value of MimeType field. func (i *InputInlineQueryResultVideo) GetMimeType() (value string) { if i == nil { return } return i.MimeType } // GetVideoWidth returns value of VideoWidth field. func (i *InputInlineQueryResultVideo) GetVideoWidth() (value int32) { if i == nil { return } return i.VideoWidth } // GetVideoHeight returns value of VideoHeight field. func (i *InputInlineQueryResultVideo) GetVideoHeight() (value int32) { if i == nil { return } return i.VideoHeight } // GetVideoDuration returns value of VideoDuration field. func (i *InputInlineQueryResultVideo) GetVideoDuration() (value int32) { if i == nil { return } return i.VideoDuration } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultVideo) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultVideo) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultVoiceNote represents TL type `inputInlineQueryResultVoiceNote#954da949`. type InputInlineQueryResultVoiceNote struct { // Unique identifier of the query result ID string // Title of the voice note Title string // The URL of the voice note file VoiceNoteURL string // Duration of the voice note, in seconds VoiceNoteDuration int32 // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null ReplyMarkup ReplyMarkupClass // The content of the message to be sent. Must be one of the following types: // inputMessageText, inputMessageVoiceNote, inputMessageInvoice, inputMessageLocation, // inputMessageVenue or inputMessageContact InputMessageContent InputMessageContentClass } // InputInlineQueryResultVoiceNoteTypeID is TL type id of InputInlineQueryResultVoiceNote. const InputInlineQueryResultVoiceNoteTypeID = 0x954da949 // construct implements constructor of InputInlineQueryResultClass. func (i InputInlineQueryResultVoiceNote) construct() InputInlineQueryResultClass { return &i } // Ensuring interfaces in compile-time for InputInlineQueryResultVoiceNote. var ( _ bin.Encoder = &InputInlineQueryResultVoiceNote{} _ bin.Decoder = &InputInlineQueryResultVoiceNote{} _ bin.BareEncoder = &InputInlineQueryResultVoiceNote{} _ bin.BareDecoder = &InputInlineQueryResultVoiceNote{} _ InputInlineQueryResultClass = &InputInlineQueryResultVoiceNote{} ) func (i *InputInlineQueryResultVoiceNote) Zero() bool { if i == nil { return true } if !(i.ID == "") { return false } if !(i.Title == "") { return false } if !(i.VoiceNoteURL == "") { return false } if !(i.VoiceNoteDuration == 0) { return false } if !(i.ReplyMarkup == nil) { return false } if !(i.InputMessageContent == nil) { return false } return true } // String implements fmt.Stringer. func (i *InputInlineQueryResultVoiceNote) String() string { if i == nil { return "InputInlineQueryResultVoiceNote(nil)" } type Alias InputInlineQueryResultVoiceNote return fmt.Sprintf("InputInlineQueryResultVoiceNote%+v", Alias(*i)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*InputInlineQueryResultVoiceNote) TypeID() uint32 { return InputInlineQueryResultVoiceNoteTypeID } // TypeName returns name of type in TL schema. func (*InputInlineQueryResultVoiceNote) TypeName() string { return "inputInlineQueryResultVoiceNote" } // TypeInfo returns info about TL type. func (i *InputInlineQueryResultVoiceNote) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "inputInlineQueryResultVoiceNote", ID: InputInlineQueryResultVoiceNoteTypeID, } if i == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "Title", SchemaName: "title", }, { Name: "VoiceNoteURL", SchemaName: "voice_note_url", }, { Name: "VoiceNoteDuration", SchemaName: "voice_note_duration", }, { Name: "ReplyMarkup", SchemaName: "reply_markup", }, { Name: "InputMessageContent", SchemaName: "input_message_content", }, } return typ } // Encode implements bin.Encoder. func (i *InputInlineQueryResultVoiceNote) Encode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultVoiceNote#954da949 as nil") } b.PutID(InputInlineQueryResultVoiceNoteTypeID) return i.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (i *InputInlineQueryResultVoiceNote) EncodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultVoiceNote#954da949 as nil") } b.PutString(i.ID) b.PutString(i.Title) b.PutString(i.VoiceNoteURL) b.PutInt32(i.VoiceNoteDuration) if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVoiceNote#954da949: field reply_markup is nil") } if err := i.ReplyMarkup.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVoiceNote#954da949: field reply_markup: %w", err) } if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVoiceNote#954da949: field input_message_content is nil") } if err := i.InputMessageContent.Encode(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVoiceNote#954da949: field input_message_content: %w", err) } return nil } // Decode implements bin.Decoder. func (i *InputInlineQueryResultVoiceNote) Decode(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultVoiceNote#954da949 to nil") } if err := b.ConsumeID(InputInlineQueryResultVoiceNoteTypeID); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: %w", err) } return i.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (i *InputInlineQueryResultVoiceNote) DecodeBare(b *bin.Buffer) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultVoiceNote#954da949 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field id: %w", err) } i.ID = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field title: %w", err) } i.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field voice_note_url: %w", err) } i.VoiceNoteURL = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field voice_note_duration: %w", err) } i.VoiceNoteDuration = value } { value, err := DecodeReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field reply_markup: %w", err) } i.ReplyMarkup = value } { value, err := DecodeInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field input_message_content: %w", err) } i.InputMessageContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (i *InputInlineQueryResultVoiceNote) EncodeTDLibJSON(b tdjson.Encoder) error { if i == nil { return fmt.Errorf("can't encode inputInlineQueryResultVoiceNote#954da949 as nil") } b.ObjStart() b.PutID("inputInlineQueryResultVoiceNote") b.Comma() b.FieldStart("id") b.PutString(i.ID) b.Comma() b.FieldStart("title") b.PutString(i.Title) b.Comma() b.FieldStart("voice_note_url") b.PutString(i.VoiceNoteURL) b.Comma() b.FieldStart("voice_note_duration") b.PutInt32(i.VoiceNoteDuration) b.Comma() b.FieldStart("reply_markup") if i.ReplyMarkup == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVoiceNote#954da949: field reply_markup is nil") } if err := i.ReplyMarkup.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVoiceNote#954da949: field reply_markup: %w", err) } b.Comma() b.FieldStart("input_message_content") if i.InputMessageContent == nil { return fmt.Errorf("unable to encode inputInlineQueryResultVoiceNote#954da949: field input_message_content is nil") } if err := i.InputMessageContent.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode inputInlineQueryResultVoiceNote#954da949: field input_message_content: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (i *InputInlineQueryResultVoiceNote) DecodeTDLibJSON(b tdjson.Decoder) error { if i == nil { return fmt.Errorf("can't decode inputInlineQueryResultVoiceNote#954da949 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("inputInlineQueryResultVoiceNote"); err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: %w", err) } case "id": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field id: %w", err) } i.ID = value case "title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field title: %w", err) } i.Title = value case "voice_note_url": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field voice_note_url: %w", err) } i.VoiceNoteURL = value case "voice_note_duration": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field voice_note_duration: %w", err) } i.VoiceNoteDuration = value case "reply_markup": value, err := DecodeTDLibJSONReplyMarkup(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field reply_markup: %w", err) } i.ReplyMarkup = value case "input_message_content": value, err := DecodeTDLibJSONInputMessageContent(b) if err != nil { return fmt.Errorf("unable to decode inputInlineQueryResultVoiceNote#954da949: field input_message_content: %w", err) } i.InputMessageContent = value default: return b.Skip() } return nil }) } // GetID returns value of ID field. func (i *InputInlineQueryResultVoiceNote) GetID() (value string) { if i == nil { return } return i.ID } // GetTitle returns value of Title field. func (i *InputInlineQueryResultVoiceNote) GetTitle() (value string) { if i == nil { return } return i.Title } // GetVoiceNoteURL returns value of VoiceNoteURL field. func (i *InputInlineQueryResultVoiceNote) GetVoiceNoteURL() (value string) { if i == nil { return } return i.VoiceNoteURL } // GetVoiceNoteDuration returns value of VoiceNoteDuration field. func (i *InputInlineQueryResultVoiceNote) GetVoiceNoteDuration() (value int32) { if i == nil { return } return i.VoiceNoteDuration } // GetReplyMarkup returns value of ReplyMarkup field. func (i *InputInlineQueryResultVoiceNote) GetReplyMarkup() (value ReplyMarkupClass) { if i == nil { return } return i.ReplyMarkup } // GetInputMessageContent returns value of InputMessageContent field. func (i *InputInlineQueryResultVoiceNote) GetInputMessageContent() (value InputMessageContentClass) { if i == nil { return } return i.InputMessageContent } // InputInlineQueryResultClassName is schema name of InputInlineQueryResultClass. const InputInlineQueryResultClassName = "InputInlineQueryResult" // InputInlineQueryResultClass represents InputInlineQueryResult generic type. // // Example: // // g, err := tdapi.DecodeInputInlineQueryResult(buf) // if err != nil { // panic(err) // } // switch v := g.(type) { // case *tdapi.InputInlineQueryResultAnimation: // inputInlineQueryResultAnimation#a7335216 // case *tdapi.InputInlineQueryResultArticle: // inputInlineQueryResultArticle#763583bc // case *tdapi.InputInlineQueryResultAudio: // inputInlineQueryResultAudio#4b1c35d4 // case *tdapi.InputInlineQueryResultContact: // inputInlineQueryResultContact#6e08b5d2 // case *tdapi.InputInlineQueryResultDocument: // inputInlineQueryResultDocument#227fd0cd // case *tdapi.InputInlineQueryResultGame: // inputInlineQueryResultGame#39951fd7 // case *tdapi.InputInlineQueryResultLocation: // inputInlineQueryResultLocation#8f7cbe56 // case *tdapi.InputInlineQueryResultPhoto: // inputInlineQueryResultPhoto#bd0b361f // case *tdapi.InputInlineQueryResultSticker: // inputInlineQueryResultSticker#10550459 // case *tdapi.InputInlineQueryResultVenue: // inputInlineQueryResultVenue#2049c13d // case *tdapi.InputInlineQueryResultVideo: // inputInlineQueryResultVideo#66c344e7 // case *tdapi.InputInlineQueryResultVoiceNote: // inputInlineQueryResultVoiceNote#954da949 // default: panic(v) // } type InputInlineQueryResultClass interface { bin.Encoder bin.Decoder bin.BareEncoder bin.BareDecoder construct() InputInlineQueryResultClass // 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) // The message reply markup; pass null if none. Must be of type replyMarkupInlineKeyboard // or null GetReplyMarkup() (value ReplyMarkupClass) } // DecodeInputInlineQueryResult implements binary de-serialization for InputInlineQueryResultClass. func DecodeInputInlineQueryResult(buf *bin.Buffer) (InputInlineQueryResultClass, error) { id, err := buf.PeekID() if err != nil { return nil, err } switch id { case InputInlineQueryResultAnimationTypeID: // Decoding inputInlineQueryResultAnimation#a7335216. v := InputInlineQueryResultAnimation{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultArticleTypeID: // Decoding inputInlineQueryResultArticle#763583bc. v := InputInlineQueryResultArticle{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultAudioTypeID: // Decoding inputInlineQueryResultAudio#4b1c35d4. v := InputInlineQueryResultAudio{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultContactTypeID: // Decoding inputInlineQueryResultContact#6e08b5d2. v := InputInlineQueryResultContact{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultDocumentTypeID: // Decoding inputInlineQueryResultDocument#227fd0cd. v := InputInlineQueryResultDocument{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultGameTypeID: // Decoding inputInlineQueryResultGame#39951fd7. v := InputInlineQueryResultGame{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultLocationTypeID: // Decoding inputInlineQueryResultLocation#8f7cbe56. v := InputInlineQueryResultLocation{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultPhotoTypeID: // Decoding inputInlineQueryResultPhoto#bd0b361f. v := InputInlineQueryResultPhoto{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultStickerTypeID: // Decoding inputInlineQueryResultSticker#10550459. v := InputInlineQueryResultSticker{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultVenueTypeID: // Decoding inputInlineQueryResultVenue#2049c13d. v := InputInlineQueryResultVenue{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultVideoTypeID: // Decoding inputInlineQueryResultVideo#66c344e7. v := InputInlineQueryResultVideo{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case InputInlineQueryResultVoiceNoteTypeID: // Decoding inputInlineQueryResultVoiceNote#954da949. v := InputInlineQueryResultVoiceNote{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil default: return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", bin.NewUnexpectedID(id)) } } // DecodeTDLibJSONInputInlineQueryResult implements binary de-serialization for InputInlineQueryResultClass. func DecodeTDLibJSONInputInlineQueryResult(buf tdjson.Decoder) (InputInlineQueryResultClass, error) { id, err := buf.FindTypeID() if err != nil { return nil, err } switch id { case "inputInlineQueryResultAnimation": // Decoding inputInlineQueryResultAnimation#a7335216. v := InputInlineQueryResultAnimation{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultArticle": // Decoding inputInlineQueryResultArticle#763583bc. v := InputInlineQueryResultArticle{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultAudio": // Decoding inputInlineQueryResultAudio#4b1c35d4. v := InputInlineQueryResultAudio{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultContact": // Decoding inputInlineQueryResultContact#6e08b5d2. v := InputInlineQueryResultContact{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultDocument": // Decoding inputInlineQueryResultDocument#227fd0cd. v := InputInlineQueryResultDocument{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultGame": // Decoding inputInlineQueryResultGame#39951fd7. v := InputInlineQueryResultGame{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultLocation": // Decoding inputInlineQueryResultLocation#8f7cbe56. v := InputInlineQueryResultLocation{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultPhoto": // Decoding inputInlineQueryResultPhoto#bd0b361f. v := InputInlineQueryResultPhoto{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultSticker": // Decoding inputInlineQueryResultSticker#10550459. v := InputInlineQueryResultSticker{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultVenue": // Decoding inputInlineQueryResultVenue#2049c13d. v := InputInlineQueryResultVenue{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultVideo": // Decoding inputInlineQueryResultVideo#66c344e7. v := InputInlineQueryResultVideo{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil case "inputInlineQueryResultVoiceNote": // Decoding inputInlineQueryResultVoiceNote#954da949. v := InputInlineQueryResultVoiceNote{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", err) } return &v, nil default: return nil, fmt.Errorf("unable to decode InputInlineQueryResultClass: %w", tdjson.NewUnexpectedID(id)) } } // InputInlineQueryResult boxes the InputInlineQueryResultClass providing a helper. type InputInlineQueryResultBox struct { InputInlineQueryResult InputInlineQueryResultClass } // Decode implements bin.Decoder for InputInlineQueryResultBox. func (b *InputInlineQueryResultBox) Decode(buf *bin.Buffer) error { if b == nil { return fmt.Errorf("unable to decode InputInlineQueryResultBox to nil") } v, err := DecodeInputInlineQueryResult(buf) if err != nil { return fmt.Errorf("unable to decode boxed value: %w", err) } b.InputInlineQueryResult = v return nil } // Encode implements bin.Encode for InputInlineQueryResultBox. func (b *InputInlineQueryResultBox) Encode(buf *bin.Buffer) error { if b == nil || b.InputInlineQueryResult == nil { return fmt.Errorf("unable to encode InputInlineQueryResultClass as nil") } return b.InputInlineQueryResult.Encode(buf) } // DecodeTDLibJSON implements bin.Decoder for InputInlineQueryResultBox. func (b *InputInlineQueryResultBox) DecodeTDLibJSON(buf tdjson.Decoder) error { if b == nil { return fmt.Errorf("unable to decode InputInlineQueryResultBox to nil") } v, err := DecodeTDLibJSONInputInlineQueryResult(buf) if err != nil { return fmt.Errorf("unable to decode boxed value: %w", err) } b.InputInlineQueryResult = v return nil } // EncodeTDLibJSON implements bin.Encode for InputInlineQueryResultBox. func (b *InputInlineQueryResultBox) EncodeTDLibJSON(buf tdjson.Encoder) error { if b == nil || b.InputInlineQueryResult == nil { return fmt.Errorf("unable to encode InputInlineQueryResultClass as nil") } return b.InputInlineQueryResult.EncodeTDLibJSON(buf) }