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

5442 lines
153 KiB
Go
Generated

// Code generated by gotdgen, DO NOT EDIT.
package tdapi
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"go.mau.fi/mautrix-telegram/pkg/gotd/bin"
"go.mau.fi/mautrix-telegram/pkg/gotd/tdjson"
"go.mau.fi/mautrix-telegram/pkg/gotd/tdp"
"go.mau.fi/mautrix-telegram/pkg/gotd/tgerr"
)
// No-op definition for keeping imports.
var (
_ = bin.Buffer{}
_ = context.Background()
_ = fmt.Stringer(nil)
_ = strings.Builder{}
_ = errors.Is
_ = multierr.AppendInto
_ = sort.Ints
_ = tdp.Format
_ = tgerr.Error{}
_ = tdjson.Encoder{}
)
// 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)
}