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

20492 lines
546 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{}
)
// MessageText represents TL type `messageText#68654c84`.
type MessageText struct {
// Text of the message
Text FormattedText
// A link preview attached to the message; may be null
LinkPreview LinkPreview
// Options which were used for generation of the link preview; may be null if default
// options were used
LinkPreviewOptions LinkPreviewOptions
}
// MessageTextTypeID is TL type id of MessageText.
const MessageTextTypeID = 0x68654c84
// construct implements constructor of MessageContentClass.
func (m MessageText) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageText.
var (
_ bin.Encoder = &MessageText{}
_ bin.Decoder = &MessageText{}
_ bin.BareEncoder = &MessageText{}
_ bin.BareDecoder = &MessageText{}
_ MessageContentClass = &MessageText{}
)
func (m *MessageText) Zero() bool {
if m == nil {
return true
}
if !(m.Text.Zero()) {
return false
}
if !(m.LinkPreview.Zero()) {
return false
}
if !(m.LinkPreviewOptions.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageText) String() string {
if m == nil {
return "MessageText(nil)"
}
type Alias MessageText
return fmt.Sprintf("MessageText%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageText) TypeID() uint32 {
return MessageTextTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageText) TypeName() string {
return "messageText"
}
// TypeInfo returns info about TL type.
func (m *MessageText) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageText",
ID: MessageTextTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Text",
SchemaName: "text",
},
{
Name: "LinkPreview",
SchemaName: "link_preview",
},
{
Name: "LinkPreviewOptions",
SchemaName: "link_preview_options",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageText) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageText#68654c84 as nil")
}
b.PutID(MessageTextTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageText) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageText#68654c84 as nil")
}
if err := m.Text.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageText#68654c84: field text: %w", err)
}
if err := m.LinkPreview.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageText#68654c84: field link_preview: %w", err)
}
if err := m.LinkPreviewOptions.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageText#68654c84: field link_preview_options: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageText) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageText#68654c84 to nil")
}
if err := b.ConsumeID(MessageTextTypeID); err != nil {
return fmt.Errorf("unable to decode messageText#68654c84: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageText) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageText#68654c84 to nil")
}
{
if err := m.Text.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageText#68654c84: field text: %w", err)
}
}
{
if err := m.LinkPreview.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageText#68654c84: field link_preview: %w", err)
}
}
{
if err := m.LinkPreviewOptions.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageText#68654c84: field link_preview_options: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageText) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageText#68654c84 as nil")
}
b.ObjStart()
b.PutID("messageText")
b.Comma()
b.FieldStart("text")
if err := m.Text.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageText#68654c84: field text: %w", err)
}
b.Comma()
b.FieldStart("link_preview")
if err := m.LinkPreview.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageText#68654c84: field link_preview: %w", err)
}
b.Comma()
b.FieldStart("link_preview_options")
if err := m.LinkPreviewOptions.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageText#68654c84: field link_preview_options: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageText) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageText#68654c84 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageText"); err != nil {
return fmt.Errorf("unable to decode messageText#68654c84: %w", err)
}
case "text":
if err := m.Text.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageText#68654c84: field text: %w", err)
}
case "link_preview":
if err := m.LinkPreview.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageText#68654c84: field link_preview: %w", err)
}
case "link_preview_options":
if err := m.LinkPreviewOptions.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageText#68654c84: field link_preview_options: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetText returns value of Text field.
func (m *MessageText) GetText() (value FormattedText) {
if m == nil {
return
}
return m.Text
}
// GetLinkPreview returns value of LinkPreview field.
func (m *MessageText) GetLinkPreview() (value LinkPreview) {
if m == nil {
return
}
return m.LinkPreview
}
// GetLinkPreviewOptions returns value of LinkPreviewOptions field.
func (m *MessageText) GetLinkPreviewOptions() (value LinkPreviewOptions) {
if m == nil {
return
}
return m.LinkPreviewOptions
}
// MessageAnimation represents TL type `messageAnimation#8ecb1128`.
type MessageAnimation struct {
// The animation description
Animation Animation
// Animation caption
Caption FormattedText
// True, if the caption must be shown above the animation; otherwise, the caption must be
// shown below the animation
ShowCaptionAboveMedia bool
// True, if the animation preview must be covered by a spoiler animation
HasSpoiler bool
// True, if the animation thumbnail must be blurred and the animation must be shown only
// while tapped
IsSecret bool
}
// MessageAnimationTypeID is TL type id of MessageAnimation.
const MessageAnimationTypeID = 0x8ecb1128
// construct implements constructor of MessageContentClass.
func (m MessageAnimation) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageAnimation.
var (
_ bin.Encoder = &MessageAnimation{}
_ bin.Decoder = &MessageAnimation{}
_ bin.BareEncoder = &MessageAnimation{}
_ bin.BareDecoder = &MessageAnimation{}
_ MessageContentClass = &MessageAnimation{}
)
func (m *MessageAnimation) Zero() bool {
if m == nil {
return true
}
if !(m.Animation.Zero()) {
return false
}
if !(m.Caption.Zero()) {
return false
}
if !(m.ShowCaptionAboveMedia == false) {
return false
}
if !(m.HasSpoiler == false) {
return false
}
if !(m.IsSecret == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageAnimation) String() string {
if m == nil {
return "MessageAnimation(nil)"
}
type Alias MessageAnimation
return fmt.Sprintf("MessageAnimation%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageAnimation) TypeID() uint32 {
return MessageAnimationTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageAnimation) TypeName() string {
return "messageAnimation"
}
// TypeInfo returns info about TL type.
func (m *MessageAnimation) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageAnimation",
ID: MessageAnimationTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Animation",
SchemaName: "animation",
},
{
Name: "Caption",
SchemaName: "caption",
},
{
Name: "ShowCaptionAboveMedia",
SchemaName: "show_caption_above_media",
},
{
Name: "HasSpoiler",
SchemaName: "has_spoiler",
},
{
Name: "IsSecret",
SchemaName: "is_secret",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageAnimation) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageAnimation#8ecb1128 as nil")
}
b.PutID(MessageAnimationTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageAnimation) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageAnimation#8ecb1128 as nil")
}
if err := m.Animation.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageAnimation#8ecb1128: field animation: %w", err)
}
if err := m.Caption.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageAnimation#8ecb1128: field caption: %w", err)
}
b.PutBool(m.ShowCaptionAboveMedia)
b.PutBool(m.HasSpoiler)
b.PutBool(m.IsSecret)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageAnimation) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageAnimation#8ecb1128 to nil")
}
if err := b.ConsumeID(MessageAnimationTypeID); err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageAnimation) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageAnimation#8ecb1128 to nil")
}
{
if err := m.Animation.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field animation: %w", err)
}
}
{
if err := m.Caption.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field caption: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field show_caption_above_media: %w", err)
}
m.ShowCaptionAboveMedia = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field has_spoiler: %w", err)
}
m.HasSpoiler = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field is_secret: %w", err)
}
m.IsSecret = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageAnimation) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageAnimation#8ecb1128 as nil")
}
b.ObjStart()
b.PutID("messageAnimation")
b.Comma()
b.FieldStart("animation")
if err := m.Animation.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageAnimation#8ecb1128: field animation: %w", err)
}
b.Comma()
b.FieldStart("caption")
if err := m.Caption.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageAnimation#8ecb1128: field caption: %w", err)
}
b.Comma()
b.FieldStart("show_caption_above_media")
b.PutBool(m.ShowCaptionAboveMedia)
b.Comma()
b.FieldStart("has_spoiler")
b.PutBool(m.HasSpoiler)
b.Comma()
b.FieldStart("is_secret")
b.PutBool(m.IsSecret)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageAnimation) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageAnimation#8ecb1128 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageAnimation"); err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: %w", err)
}
case "animation":
if err := m.Animation.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field animation: %w", err)
}
case "caption":
if err := m.Caption.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field caption: %w", err)
}
case "show_caption_above_media":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field show_caption_above_media: %w", err)
}
m.ShowCaptionAboveMedia = value
case "has_spoiler":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field has_spoiler: %w", err)
}
m.HasSpoiler = value
case "is_secret":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageAnimation#8ecb1128: field is_secret: %w", err)
}
m.IsSecret = value
default:
return b.Skip()
}
return nil
})
}
// GetAnimation returns value of Animation field.
func (m *MessageAnimation) GetAnimation() (value Animation) {
if m == nil {
return
}
return m.Animation
}
// GetCaption returns value of Caption field.
func (m *MessageAnimation) GetCaption() (value FormattedText) {
if m == nil {
return
}
return m.Caption
}
// GetShowCaptionAboveMedia returns value of ShowCaptionAboveMedia field.
func (m *MessageAnimation) GetShowCaptionAboveMedia() (value bool) {
if m == nil {
return
}
return m.ShowCaptionAboveMedia
}
// GetHasSpoiler returns value of HasSpoiler field.
func (m *MessageAnimation) GetHasSpoiler() (value bool) {
if m == nil {
return
}
return m.HasSpoiler
}
// GetIsSecret returns value of IsSecret field.
func (m *MessageAnimation) GetIsSecret() (value bool) {
if m == nil {
return
}
return m.IsSecret
}
// MessageAudio represents TL type `messageAudio#107e741c`.
type MessageAudio struct {
// The audio description
Audio Audio
// Audio caption
Caption FormattedText
}
// MessageAudioTypeID is TL type id of MessageAudio.
const MessageAudioTypeID = 0x107e741c
// construct implements constructor of MessageContentClass.
func (m MessageAudio) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageAudio.
var (
_ bin.Encoder = &MessageAudio{}
_ bin.Decoder = &MessageAudio{}
_ bin.BareEncoder = &MessageAudio{}
_ bin.BareDecoder = &MessageAudio{}
_ MessageContentClass = &MessageAudio{}
)
func (m *MessageAudio) Zero() bool {
if m == nil {
return true
}
if !(m.Audio.Zero()) {
return false
}
if !(m.Caption.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageAudio) String() string {
if m == nil {
return "MessageAudio(nil)"
}
type Alias MessageAudio
return fmt.Sprintf("MessageAudio%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageAudio) TypeID() uint32 {
return MessageAudioTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageAudio) TypeName() string {
return "messageAudio"
}
// TypeInfo returns info about TL type.
func (m *MessageAudio) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageAudio",
ID: MessageAudioTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Audio",
SchemaName: "audio",
},
{
Name: "Caption",
SchemaName: "caption",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageAudio) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageAudio#107e741c as nil")
}
b.PutID(MessageAudioTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageAudio) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageAudio#107e741c as nil")
}
if err := m.Audio.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageAudio#107e741c: field audio: %w", err)
}
if err := m.Caption.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageAudio#107e741c: field caption: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageAudio) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageAudio#107e741c to nil")
}
if err := b.ConsumeID(MessageAudioTypeID); err != nil {
return fmt.Errorf("unable to decode messageAudio#107e741c: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageAudio) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageAudio#107e741c to nil")
}
{
if err := m.Audio.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageAudio#107e741c: field audio: %w", err)
}
}
{
if err := m.Caption.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageAudio#107e741c: field caption: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageAudio) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageAudio#107e741c as nil")
}
b.ObjStart()
b.PutID("messageAudio")
b.Comma()
b.FieldStart("audio")
if err := m.Audio.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageAudio#107e741c: field audio: %w", err)
}
b.Comma()
b.FieldStart("caption")
if err := m.Caption.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageAudio#107e741c: field caption: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageAudio) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageAudio#107e741c to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageAudio"); err != nil {
return fmt.Errorf("unable to decode messageAudio#107e741c: %w", err)
}
case "audio":
if err := m.Audio.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageAudio#107e741c: field audio: %w", err)
}
case "caption":
if err := m.Caption.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageAudio#107e741c: field caption: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetAudio returns value of Audio field.
func (m *MessageAudio) GetAudio() (value Audio) {
if m == nil {
return
}
return m.Audio
}
// GetCaption returns value of Caption field.
func (m *MessageAudio) GetCaption() (value FormattedText) {
if m == nil {
return
}
return m.Caption
}
// MessageDocument represents TL type `messageDocument#2394ab77`.
type MessageDocument struct {
// The document description
Document Document
// Document caption
Caption FormattedText
}
// MessageDocumentTypeID is TL type id of MessageDocument.
const MessageDocumentTypeID = 0x2394ab77
// construct implements constructor of MessageContentClass.
func (m MessageDocument) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageDocument.
var (
_ bin.Encoder = &MessageDocument{}
_ bin.Decoder = &MessageDocument{}
_ bin.BareEncoder = &MessageDocument{}
_ bin.BareDecoder = &MessageDocument{}
_ MessageContentClass = &MessageDocument{}
)
func (m *MessageDocument) Zero() bool {
if m == nil {
return true
}
if !(m.Document.Zero()) {
return false
}
if !(m.Caption.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageDocument) String() string {
if m == nil {
return "MessageDocument(nil)"
}
type Alias MessageDocument
return fmt.Sprintf("MessageDocument%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageDocument) TypeID() uint32 {
return MessageDocumentTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageDocument) TypeName() string {
return "messageDocument"
}
// TypeInfo returns info about TL type.
func (m *MessageDocument) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageDocument",
ID: MessageDocumentTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Document",
SchemaName: "document",
},
{
Name: "Caption",
SchemaName: "caption",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageDocument) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageDocument#2394ab77 as nil")
}
b.PutID(MessageDocumentTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageDocument) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageDocument#2394ab77 as nil")
}
if err := m.Document.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageDocument#2394ab77: field document: %w", err)
}
if err := m.Caption.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageDocument#2394ab77: field caption: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageDocument) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageDocument#2394ab77 to nil")
}
if err := b.ConsumeID(MessageDocumentTypeID); err != nil {
return fmt.Errorf("unable to decode messageDocument#2394ab77: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageDocument) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageDocument#2394ab77 to nil")
}
{
if err := m.Document.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageDocument#2394ab77: field document: %w", err)
}
}
{
if err := m.Caption.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageDocument#2394ab77: field caption: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageDocument) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageDocument#2394ab77 as nil")
}
b.ObjStart()
b.PutID("messageDocument")
b.Comma()
b.FieldStart("document")
if err := m.Document.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageDocument#2394ab77: field document: %w", err)
}
b.Comma()
b.FieldStart("caption")
if err := m.Caption.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageDocument#2394ab77: field caption: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageDocument) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageDocument#2394ab77 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageDocument"); err != nil {
return fmt.Errorf("unable to decode messageDocument#2394ab77: %w", err)
}
case "document":
if err := m.Document.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageDocument#2394ab77: field document: %w", err)
}
case "caption":
if err := m.Caption.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageDocument#2394ab77: field caption: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetDocument returns value of Document field.
func (m *MessageDocument) GetDocument() (value Document) {
if m == nil {
return
}
return m.Document
}
// GetCaption returns value of Caption field.
func (m *MessageDocument) GetCaption() (value FormattedText) {
if m == nil {
return
}
return m.Caption
}
// MessagePaidMedia represents TL type `messagePaidMedia#3e5fd7c2`.
type MessagePaidMedia struct {
// Number of Telegram Stars needed to buy access to the media in the message
StarCount int64
// Information about the media
Media []PaidMediaClass
// Media caption
Caption FormattedText
// True, if the caption must be shown above the media; otherwise, the caption must be
// shown below the media
ShowCaptionAboveMedia bool
}
// MessagePaidMediaTypeID is TL type id of MessagePaidMedia.
const MessagePaidMediaTypeID = 0x3e5fd7c2
// construct implements constructor of MessageContentClass.
func (m MessagePaidMedia) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePaidMedia.
var (
_ bin.Encoder = &MessagePaidMedia{}
_ bin.Decoder = &MessagePaidMedia{}
_ bin.BareEncoder = &MessagePaidMedia{}
_ bin.BareDecoder = &MessagePaidMedia{}
_ MessageContentClass = &MessagePaidMedia{}
)
func (m *MessagePaidMedia) Zero() bool {
if m == nil {
return true
}
if !(m.StarCount == 0) {
return false
}
if !(m.Media == nil) {
return false
}
if !(m.Caption.Zero()) {
return false
}
if !(m.ShowCaptionAboveMedia == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePaidMedia) String() string {
if m == nil {
return "MessagePaidMedia(nil)"
}
type Alias MessagePaidMedia
return fmt.Sprintf("MessagePaidMedia%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePaidMedia) TypeID() uint32 {
return MessagePaidMediaTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePaidMedia) TypeName() string {
return "messagePaidMedia"
}
// TypeInfo returns info about TL type.
func (m *MessagePaidMedia) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePaidMedia",
ID: MessagePaidMediaTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StarCount",
SchemaName: "star_count",
},
{
Name: "Media",
SchemaName: "media",
},
{
Name: "Caption",
SchemaName: "caption",
},
{
Name: "ShowCaptionAboveMedia",
SchemaName: "show_caption_above_media",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePaidMedia) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaidMedia#3e5fd7c2 as nil")
}
b.PutID(MessagePaidMediaTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePaidMedia) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaidMedia#3e5fd7c2 as nil")
}
b.PutInt53(m.StarCount)
b.PutInt(len(m.Media))
for idx, v := range m.Media {
if v == nil {
return fmt.Errorf("unable to encode messagePaidMedia#3e5fd7c2: field media element with index %d is nil", idx)
}
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare messagePaidMedia#3e5fd7c2: field media element with index %d: %w", idx, err)
}
}
if err := m.Caption.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePaidMedia#3e5fd7c2: field caption: %w", err)
}
b.PutBool(m.ShowCaptionAboveMedia)
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePaidMedia) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaidMedia#3e5fd7c2 to nil")
}
if err := b.ConsumeID(MessagePaidMediaTypeID); err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePaidMedia) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaidMedia#3e5fd7c2 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field star_count: %w", err)
}
m.StarCount = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field media: %w", err)
}
if headerLen > 0 {
m.Media = make([]PaidMediaClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodePaidMedia(b)
if err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field media: %w", err)
}
m.Media = append(m.Media, value)
}
}
{
if err := m.Caption.Decode(b); err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field caption: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field show_caption_above_media: %w", err)
}
m.ShowCaptionAboveMedia = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePaidMedia) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePaidMedia#3e5fd7c2 as nil")
}
b.ObjStart()
b.PutID("messagePaidMedia")
b.Comma()
b.FieldStart("star_count")
b.PutInt53(m.StarCount)
b.Comma()
b.FieldStart("media")
b.ArrStart()
for idx, v := range m.Media {
if v == nil {
return fmt.Errorf("unable to encode messagePaidMedia#3e5fd7c2: field media element with index %d is nil", idx)
}
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePaidMedia#3e5fd7c2: field media element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("caption")
if err := m.Caption.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePaidMedia#3e5fd7c2: field caption: %w", err)
}
b.Comma()
b.FieldStart("show_caption_above_media")
b.PutBool(m.ShowCaptionAboveMedia)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePaidMedia) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePaidMedia#3e5fd7c2 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePaidMedia"); err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: %w", err)
}
case "star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field star_count: %w", err)
}
m.StarCount = value
case "media":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := DecodeTDLibJSONPaidMedia(b)
if err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field media: %w", err)
}
m.Media = append(m.Media, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field media: %w", err)
}
case "caption":
if err := m.Caption.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field caption: %w", err)
}
case "show_caption_above_media":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMedia#3e5fd7c2: field show_caption_above_media: %w", err)
}
m.ShowCaptionAboveMedia = value
default:
return b.Skip()
}
return nil
})
}
// GetStarCount returns value of StarCount field.
func (m *MessagePaidMedia) GetStarCount() (value int64) {
if m == nil {
return
}
return m.StarCount
}
// GetMedia returns value of Media field.
func (m *MessagePaidMedia) GetMedia() (value []PaidMediaClass) {
if m == nil {
return
}
return m.Media
}
// GetCaption returns value of Caption field.
func (m *MessagePaidMedia) GetCaption() (value FormattedText) {
if m == nil {
return
}
return m.Caption
}
// GetShowCaptionAboveMedia returns value of ShowCaptionAboveMedia field.
func (m *MessagePaidMedia) GetShowCaptionAboveMedia() (value bool) {
if m == nil {
return
}
return m.ShowCaptionAboveMedia
}
// MessagePhoto represents TL type `messagePhoto#754c7e1f`.
type MessagePhoto struct {
// The photo
Photo Photo
// Photo caption
Caption FormattedText
// True, if the caption must be shown above the photo; otherwise, the caption must be
// shown below the photo
ShowCaptionAboveMedia bool
// True, if the photo preview must be covered by a spoiler animation
HasSpoiler bool
// True, if the photo must be blurred and must be shown only while tapped
IsSecret bool
}
// MessagePhotoTypeID is TL type id of MessagePhoto.
const MessagePhotoTypeID = 0x754c7e1f
// construct implements constructor of MessageContentClass.
func (m MessagePhoto) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePhoto.
var (
_ bin.Encoder = &MessagePhoto{}
_ bin.Decoder = &MessagePhoto{}
_ bin.BareEncoder = &MessagePhoto{}
_ bin.BareDecoder = &MessagePhoto{}
_ MessageContentClass = &MessagePhoto{}
)
func (m *MessagePhoto) Zero() bool {
if m == nil {
return true
}
if !(m.Photo.Zero()) {
return false
}
if !(m.Caption.Zero()) {
return false
}
if !(m.ShowCaptionAboveMedia == false) {
return false
}
if !(m.HasSpoiler == false) {
return false
}
if !(m.IsSecret == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePhoto) String() string {
if m == nil {
return "MessagePhoto(nil)"
}
type Alias MessagePhoto
return fmt.Sprintf("MessagePhoto%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePhoto) TypeID() uint32 {
return MessagePhotoTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePhoto) TypeName() string {
return "messagePhoto"
}
// TypeInfo returns info about TL type.
func (m *MessagePhoto) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePhoto",
ID: MessagePhotoTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Photo",
SchemaName: "photo",
},
{
Name: "Caption",
SchemaName: "caption",
},
{
Name: "ShowCaptionAboveMedia",
SchemaName: "show_caption_above_media",
},
{
Name: "HasSpoiler",
SchemaName: "has_spoiler",
},
{
Name: "IsSecret",
SchemaName: "is_secret",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePhoto) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePhoto#754c7e1f as nil")
}
b.PutID(MessagePhotoTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePhoto) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePhoto#754c7e1f as nil")
}
if err := m.Photo.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePhoto#754c7e1f: field photo: %w", err)
}
if err := m.Caption.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePhoto#754c7e1f: field caption: %w", err)
}
b.PutBool(m.ShowCaptionAboveMedia)
b.PutBool(m.HasSpoiler)
b.PutBool(m.IsSecret)
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePhoto) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePhoto#754c7e1f to nil")
}
if err := b.ConsumeID(MessagePhotoTypeID); err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePhoto) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePhoto#754c7e1f to nil")
}
{
if err := m.Photo.Decode(b); err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field photo: %w", err)
}
}
{
if err := m.Caption.Decode(b); err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field caption: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field show_caption_above_media: %w", err)
}
m.ShowCaptionAboveMedia = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field has_spoiler: %w", err)
}
m.HasSpoiler = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field is_secret: %w", err)
}
m.IsSecret = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePhoto) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePhoto#754c7e1f as nil")
}
b.ObjStart()
b.PutID("messagePhoto")
b.Comma()
b.FieldStart("photo")
if err := m.Photo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePhoto#754c7e1f: field photo: %w", err)
}
b.Comma()
b.FieldStart("caption")
if err := m.Caption.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePhoto#754c7e1f: field caption: %w", err)
}
b.Comma()
b.FieldStart("show_caption_above_media")
b.PutBool(m.ShowCaptionAboveMedia)
b.Comma()
b.FieldStart("has_spoiler")
b.PutBool(m.HasSpoiler)
b.Comma()
b.FieldStart("is_secret")
b.PutBool(m.IsSecret)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePhoto) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePhoto#754c7e1f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePhoto"); err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: %w", err)
}
case "photo":
if err := m.Photo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field photo: %w", err)
}
case "caption":
if err := m.Caption.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field caption: %w", err)
}
case "show_caption_above_media":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field show_caption_above_media: %w", err)
}
m.ShowCaptionAboveMedia = value
case "has_spoiler":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field has_spoiler: %w", err)
}
m.HasSpoiler = value
case "is_secret":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePhoto#754c7e1f: field is_secret: %w", err)
}
m.IsSecret = value
default:
return b.Skip()
}
return nil
})
}
// GetPhoto returns value of Photo field.
func (m *MessagePhoto) GetPhoto() (value Photo) {
if m == nil {
return
}
return m.Photo
}
// GetCaption returns value of Caption field.
func (m *MessagePhoto) GetCaption() (value FormattedText) {
if m == nil {
return
}
return m.Caption
}
// GetShowCaptionAboveMedia returns value of ShowCaptionAboveMedia field.
func (m *MessagePhoto) GetShowCaptionAboveMedia() (value bool) {
if m == nil {
return
}
return m.ShowCaptionAboveMedia
}
// GetHasSpoiler returns value of HasSpoiler field.
func (m *MessagePhoto) GetHasSpoiler() (value bool) {
if m == nil {
return
}
return m.HasSpoiler
}
// GetIsSecret returns value of IsSecret field.
func (m *MessagePhoto) GetIsSecret() (value bool) {
if m == nil {
return
}
return m.IsSecret
}
// MessageSticker represents TL type `messageSticker#e5f0dcca`.
type MessageSticker struct {
// The sticker description
Sticker Sticker
// True, if premium animation of the sticker must be played
IsPremium bool
}
// MessageStickerTypeID is TL type id of MessageSticker.
const MessageStickerTypeID = 0xe5f0dcca
// construct implements constructor of MessageContentClass.
func (m MessageSticker) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageSticker.
var (
_ bin.Encoder = &MessageSticker{}
_ bin.Decoder = &MessageSticker{}
_ bin.BareEncoder = &MessageSticker{}
_ bin.BareDecoder = &MessageSticker{}
_ MessageContentClass = &MessageSticker{}
)
func (m *MessageSticker) Zero() bool {
if m == nil {
return true
}
if !(m.Sticker.Zero()) {
return false
}
if !(m.IsPremium == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageSticker) String() string {
if m == nil {
return "MessageSticker(nil)"
}
type Alias MessageSticker
return fmt.Sprintf("MessageSticker%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageSticker) TypeID() uint32 {
return MessageStickerTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageSticker) TypeName() string {
return "messageSticker"
}
// TypeInfo returns info about TL type.
func (m *MessageSticker) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageSticker",
ID: MessageStickerTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Sticker",
SchemaName: "sticker",
},
{
Name: "IsPremium",
SchemaName: "is_premium",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageSticker) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageSticker#e5f0dcca as nil")
}
b.PutID(MessageStickerTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageSticker) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageSticker#e5f0dcca as nil")
}
if err := m.Sticker.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageSticker#e5f0dcca: field sticker: %w", err)
}
b.PutBool(m.IsPremium)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageSticker) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageSticker#e5f0dcca to nil")
}
if err := b.ConsumeID(MessageStickerTypeID); err != nil {
return fmt.Errorf("unable to decode messageSticker#e5f0dcca: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageSticker) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageSticker#e5f0dcca to nil")
}
{
if err := m.Sticker.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageSticker#e5f0dcca: field sticker: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageSticker#e5f0dcca: field is_premium: %w", err)
}
m.IsPremium = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageSticker) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageSticker#e5f0dcca as nil")
}
b.ObjStart()
b.PutID("messageSticker")
b.Comma()
b.FieldStart("sticker")
if err := m.Sticker.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageSticker#e5f0dcca: field sticker: %w", err)
}
b.Comma()
b.FieldStart("is_premium")
b.PutBool(m.IsPremium)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageSticker) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageSticker#e5f0dcca to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageSticker"); err != nil {
return fmt.Errorf("unable to decode messageSticker#e5f0dcca: %w", err)
}
case "sticker":
if err := m.Sticker.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageSticker#e5f0dcca: field sticker: %w", err)
}
case "is_premium":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageSticker#e5f0dcca: field is_premium: %w", err)
}
m.IsPremium = value
default:
return b.Skip()
}
return nil
})
}
// GetSticker returns value of Sticker field.
func (m *MessageSticker) GetSticker() (value Sticker) {
if m == nil {
return
}
return m.Sticker
}
// GetIsPremium returns value of IsPremium field.
func (m *MessageSticker) GetIsPremium() (value bool) {
if m == nil {
return
}
return m.IsPremium
}
// MessageVideo represents TL type `messageVideo#dcb6ee35`.
type MessageVideo struct {
// The video description
Video Video
// Alternative qualities of the video
AlternativeVideos []AlternativeVideo
// Cover of the video; may be null if none
Cover Photo
// Timestamp from which the video playing must start, in seconds
StartTimestamp int32
// Video caption
Caption FormattedText
// True, if the caption must be shown above the video; otherwise, the caption must be
// shown below the video
ShowCaptionAboveMedia bool
// True, if the video preview must be covered by a spoiler animation
HasSpoiler bool
// True, if the video thumbnail must be blurred and the video must be shown only while
// tapped
IsSecret bool
}
// MessageVideoTypeID is TL type id of MessageVideo.
const MessageVideoTypeID = 0xdcb6ee35
// construct implements constructor of MessageContentClass.
func (m MessageVideo) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageVideo.
var (
_ bin.Encoder = &MessageVideo{}
_ bin.Decoder = &MessageVideo{}
_ bin.BareEncoder = &MessageVideo{}
_ bin.BareDecoder = &MessageVideo{}
_ MessageContentClass = &MessageVideo{}
)
func (m *MessageVideo) Zero() bool {
if m == nil {
return true
}
if !(m.Video.Zero()) {
return false
}
if !(m.AlternativeVideos == nil) {
return false
}
if !(m.Cover.Zero()) {
return false
}
if !(m.StartTimestamp == 0) {
return false
}
if !(m.Caption.Zero()) {
return false
}
if !(m.ShowCaptionAboveMedia == false) {
return false
}
if !(m.HasSpoiler == false) {
return false
}
if !(m.IsSecret == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageVideo) String() string {
if m == nil {
return "MessageVideo(nil)"
}
type Alias MessageVideo
return fmt.Sprintf("MessageVideo%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageVideo) TypeID() uint32 {
return MessageVideoTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageVideo) TypeName() string {
return "messageVideo"
}
// TypeInfo returns info about TL type.
func (m *MessageVideo) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageVideo",
ID: MessageVideoTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Video",
SchemaName: "video",
},
{
Name: "AlternativeVideos",
SchemaName: "alternative_videos",
},
{
Name: "Cover",
SchemaName: "cover",
},
{
Name: "StartTimestamp",
SchemaName: "start_timestamp",
},
{
Name: "Caption",
SchemaName: "caption",
},
{
Name: "ShowCaptionAboveMedia",
SchemaName: "show_caption_above_media",
},
{
Name: "HasSpoiler",
SchemaName: "has_spoiler",
},
{
Name: "IsSecret",
SchemaName: "is_secret",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageVideo) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideo#dcb6ee35 as nil")
}
b.PutID(MessageVideoTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageVideo) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideo#dcb6ee35 as nil")
}
if err := m.Video.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageVideo#dcb6ee35: field video: %w", err)
}
b.PutInt(len(m.AlternativeVideos))
for idx, v := range m.AlternativeVideos {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare messageVideo#dcb6ee35: field alternative_videos element with index %d: %w", idx, err)
}
}
if err := m.Cover.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageVideo#dcb6ee35: field cover: %w", err)
}
b.PutInt32(m.StartTimestamp)
if err := m.Caption.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageVideo#dcb6ee35: field caption: %w", err)
}
b.PutBool(m.ShowCaptionAboveMedia)
b.PutBool(m.HasSpoiler)
b.PutBool(m.IsSecret)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageVideo) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideo#dcb6ee35 to nil")
}
if err := b.ConsumeID(MessageVideoTypeID); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageVideo) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideo#dcb6ee35 to nil")
}
{
if err := m.Video.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field video: %w", err)
}
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field alternative_videos: %w", err)
}
if headerLen > 0 {
m.AlternativeVideos = make([]AlternativeVideo, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value AlternativeVideo
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare messageVideo#dcb6ee35: field alternative_videos: %w", err)
}
m.AlternativeVideos = append(m.AlternativeVideos, value)
}
}
{
if err := m.Cover.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field cover: %w", err)
}
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field start_timestamp: %w", err)
}
m.StartTimestamp = value
}
{
if err := m.Caption.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field caption: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field show_caption_above_media: %w", err)
}
m.ShowCaptionAboveMedia = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field has_spoiler: %w", err)
}
m.HasSpoiler = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field is_secret: %w", err)
}
m.IsSecret = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageVideo) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageVideo#dcb6ee35 as nil")
}
b.ObjStart()
b.PutID("messageVideo")
b.Comma()
b.FieldStart("video")
if err := m.Video.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageVideo#dcb6ee35: field video: %w", err)
}
b.Comma()
b.FieldStart("alternative_videos")
b.ArrStart()
for idx, v := range m.AlternativeVideos {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageVideo#dcb6ee35: field alternative_videos element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("cover")
if err := m.Cover.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageVideo#dcb6ee35: field cover: %w", err)
}
b.Comma()
b.FieldStart("start_timestamp")
b.PutInt32(m.StartTimestamp)
b.Comma()
b.FieldStart("caption")
if err := m.Caption.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageVideo#dcb6ee35: field caption: %w", err)
}
b.Comma()
b.FieldStart("show_caption_above_media")
b.PutBool(m.ShowCaptionAboveMedia)
b.Comma()
b.FieldStart("has_spoiler")
b.PutBool(m.HasSpoiler)
b.Comma()
b.FieldStart("is_secret")
b.PutBool(m.IsSecret)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageVideo) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageVideo#dcb6ee35 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageVideo"); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: %w", err)
}
case "video":
if err := m.Video.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field video: %w", err)
}
case "alternative_videos":
if err := b.Arr(func(b tdjson.Decoder) error {
var value AlternativeVideo
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field alternative_videos: %w", err)
}
m.AlternativeVideos = append(m.AlternativeVideos, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field alternative_videos: %w", err)
}
case "cover":
if err := m.Cover.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field cover: %w", err)
}
case "start_timestamp":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field start_timestamp: %w", err)
}
m.StartTimestamp = value
case "caption":
if err := m.Caption.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field caption: %w", err)
}
case "show_caption_above_media":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field show_caption_above_media: %w", err)
}
m.ShowCaptionAboveMedia = value
case "has_spoiler":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field has_spoiler: %w", err)
}
m.HasSpoiler = value
case "is_secret":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideo#dcb6ee35: field is_secret: %w", err)
}
m.IsSecret = value
default:
return b.Skip()
}
return nil
})
}
// GetVideo returns value of Video field.
func (m *MessageVideo) GetVideo() (value Video) {
if m == nil {
return
}
return m.Video
}
// GetAlternativeVideos returns value of AlternativeVideos field.
func (m *MessageVideo) GetAlternativeVideos() (value []AlternativeVideo) {
if m == nil {
return
}
return m.AlternativeVideos
}
// GetCover returns value of Cover field.
func (m *MessageVideo) GetCover() (value Photo) {
if m == nil {
return
}
return m.Cover
}
// GetStartTimestamp returns value of StartTimestamp field.
func (m *MessageVideo) GetStartTimestamp() (value int32) {
if m == nil {
return
}
return m.StartTimestamp
}
// GetCaption returns value of Caption field.
func (m *MessageVideo) GetCaption() (value FormattedText) {
if m == nil {
return
}
return m.Caption
}
// GetShowCaptionAboveMedia returns value of ShowCaptionAboveMedia field.
func (m *MessageVideo) GetShowCaptionAboveMedia() (value bool) {
if m == nil {
return
}
return m.ShowCaptionAboveMedia
}
// GetHasSpoiler returns value of HasSpoiler field.
func (m *MessageVideo) GetHasSpoiler() (value bool) {
if m == nil {
return
}
return m.HasSpoiler
}
// GetIsSecret returns value of IsSecret field.
func (m *MessageVideo) GetIsSecret() (value bool) {
if m == nil {
return
}
return m.IsSecret
}
// MessageVideoNote represents TL type `messageVideoNote#396b2486`.
type MessageVideoNote struct {
// The video note description
VideoNote VideoNote
// True, if at least one of the recipients has viewed the video note
IsViewed bool
// True, if the video note thumbnail must be blurred and the video note must be shown
// only while tapped
IsSecret bool
}
// MessageVideoNoteTypeID is TL type id of MessageVideoNote.
const MessageVideoNoteTypeID = 0x396b2486
// construct implements constructor of MessageContentClass.
func (m MessageVideoNote) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageVideoNote.
var (
_ bin.Encoder = &MessageVideoNote{}
_ bin.Decoder = &MessageVideoNote{}
_ bin.BareEncoder = &MessageVideoNote{}
_ bin.BareDecoder = &MessageVideoNote{}
_ MessageContentClass = &MessageVideoNote{}
)
func (m *MessageVideoNote) Zero() bool {
if m == nil {
return true
}
if !(m.VideoNote.Zero()) {
return false
}
if !(m.IsViewed == false) {
return false
}
if !(m.IsSecret == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageVideoNote) String() string {
if m == nil {
return "MessageVideoNote(nil)"
}
type Alias MessageVideoNote
return fmt.Sprintf("MessageVideoNote%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageVideoNote) TypeID() uint32 {
return MessageVideoNoteTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageVideoNote) TypeName() string {
return "messageVideoNote"
}
// TypeInfo returns info about TL type.
func (m *MessageVideoNote) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageVideoNote",
ID: MessageVideoNoteTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "VideoNote",
SchemaName: "video_note",
},
{
Name: "IsViewed",
SchemaName: "is_viewed",
},
{
Name: "IsSecret",
SchemaName: "is_secret",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageVideoNote) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoNote#396b2486 as nil")
}
b.PutID(MessageVideoNoteTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageVideoNote) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoNote#396b2486 as nil")
}
if err := m.VideoNote.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageVideoNote#396b2486: field video_note: %w", err)
}
b.PutBool(m.IsViewed)
b.PutBool(m.IsSecret)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageVideoNote) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoNote#396b2486 to nil")
}
if err := b.ConsumeID(MessageVideoNoteTypeID); err != nil {
return fmt.Errorf("unable to decode messageVideoNote#396b2486: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageVideoNote) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoNote#396b2486 to nil")
}
{
if err := m.VideoNote.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageVideoNote#396b2486: field video_note: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideoNote#396b2486: field is_viewed: %w", err)
}
m.IsViewed = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideoNote#396b2486: field is_secret: %w", err)
}
m.IsSecret = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageVideoNote) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoNote#396b2486 as nil")
}
b.ObjStart()
b.PutID("messageVideoNote")
b.Comma()
b.FieldStart("video_note")
if err := m.VideoNote.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageVideoNote#396b2486: field video_note: %w", err)
}
b.Comma()
b.FieldStart("is_viewed")
b.PutBool(m.IsViewed)
b.Comma()
b.FieldStart("is_secret")
b.PutBool(m.IsSecret)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageVideoNote) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoNote#396b2486 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageVideoNote"); err != nil {
return fmt.Errorf("unable to decode messageVideoNote#396b2486: %w", err)
}
case "video_note":
if err := m.VideoNote.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageVideoNote#396b2486: field video_note: %w", err)
}
case "is_viewed":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideoNote#396b2486: field is_viewed: %w", err)
}
m.IsViewed = value
case "is_secret":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVideoNote#396b2486: field is_secret: %w", err)
}
m.IsSecret = value
default:
return b.Skip()
}
return nil
})
}
// GetVideoNote returns value of VideoNote field.
func (m *MessageVideoNote) GetVideoNote() (value VideoNote) {
if m == nil {
return
}
return m.VideoNote
}
// GetIsViewed returns value of IsViewed field.
func (m *MessageVideoNote) GetIsViewed() (value bool) {
if m == nil {
return
}
return m.IsViewed
}
// GetIsSecret returns value of IsSecret field.
func (m *MessageVideoNote) GetIsSecret() (value bool) {
if m == nil {
return
}
return m.IsSecret
}
// MessageVoiceNote represents TL type `messageVoiceNote#1f753ff5`.
type MessageVoiceNote struct {
// The voice note description
VoiceNote VoiceNote
// Voice note caption
Caption FormattedText
// True, if at least one of the recipients has listened to the voice note
IsListened bool
}
// MessageVoiceNoteTypeID is TL type id of MessageVoiceNote.
const MessageVoiceNoteTypeID = 0x1f753ff5
// construct implements constructor of MessageContentClass.
func (m MessageVoiceNote) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageVoiceNote.
var (
_ bin.Encoder = &MessageVoiceNote{}
_ bin.Decoder = &MessageVoiceNote{}
_ bin.BareEncoder = &MessageVoiceNote{}
_ bin.BareDecoder = &MessageVoiceNote{}
_ MessageContentClass = &MessageVoiceNote{}
)
func (m *MessageVoiceNote) Zero() bool {
if m == nil {
return true
}
if !(m.VoiceNote.Zero()) {
return false
}
if !(m.Caption.Zero()) {
return false
}
if !(m.IsListened == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageVoiceNote) String() string {
if m == nil {
return "MessageVoiceNote(nil)"
}
type Alias MessageVoiceNote
return fmt.Sprintf("MessageVoiceNote%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageVoiceNote) TypeID() uint32 {
return MessageVoiceNoteTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageVoiceNote) TypeName() string {
return "messageVoiceNote"
}
// TypeInfo returns info about TL type.
func (m *MessageVoiceNote) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageVoiceNote",
ID: MessageVoiceNoteTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "VoiceNote",
SchemaName: "voice_note",
},
{
Name: "Caption",
SchemaName: "caption",
},
{
Name: "IsListened",
SchemaName: "is_listened",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageVoiceNote) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVoiceNote#1f753ff5 as nil")
}
b.PutID(MessageVoiceNoteTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageVoiceNote) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVoiceNote#1f753ff5 as nil")
}
if err := m.VoiceNote.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageVoiceNote#1f753ff5: field voice_note: %w", err)
}
if err := m.Caption.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageVoiceNote#1f753ff5: field caption: %w", err)
}
b.PutBool(m.IsListened)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageVoiceNote) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVoiceNote#1f753ff5 to nil")
}
if err := b.ConsumeID(MessageVoiceNoteTypeID); err != nil {
return fmt.Errorf("unable to decode messageVoiceNote#1f753ff5: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageVoiceNote) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVoiceNote#1f753ff5 to nil")
}
{
if err := m.VoiceNote.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageVoiceNote#1f753ff5: field voice_note: %w", err)
}
}
{
if err := m.Caption.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageVoiceNote#1f753ff5: field caption: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVoiceNote#1f753ff5: field is_listened: %w", err)
}
m.IsListened = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageVoiceNote) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageVoiceNote#1f753ff5 as nil")
}
b.ObjStart()
b.PutID("messageVoiceNote")
b.Comma()
b.FieldStart("voice_note")
if err := m.VoiceNote.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageVoiceNote#1f753ff5: field voice_note: %w", err)
}
b.Comma()
b.FieldStart("caption")
if err := m.Caption.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageVoiceNote#1f753ff5: field caption: %w", err)
}
b.Comma()
b.FieldStart("is_listened")
b.PutBool(m.IsListened)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageVoiceNote) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageVoiceNote#1f753ff5 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageVoiceNote"); err != nil {
return fmt.Errorf("unable to decode messageVoiceNote#1f753ff5: %w", err)
}
case "voice_note":
if err := m.VoiceNote.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageVoiceNote#1f753ff5: field voice_note: %w", err)
}
case "caption":
if err := m.Caption.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageVoiceNote#1f753ff5: field caption: %w", err)
}
case "is_listened":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageVoiceNote#1f753ff5: field is_listened: %w", err)
}
m.IsListened = value
default:
return b.Skip()
}
return nil
})
}
// GetVoiceNote returns value of VoiceNote field.
func (m *MessageVoiceNote) GetVoiceNote() (value VoiceNote) {
if m == nil {
return
}
return m.VoiceNote
}
// GetCaption returns value of Caption field.
func (m *MessageVoiceNote) GetCaption() (value FormattedText) {
if m == nil {
return
}
return m.Caption
}
// GetIsListened returns value of IsListened field.
func (m *MessageVoiceNote) GetIsListened() (value bool) {
if m == nil {
return
}
return m.IsListened
}
// MessageExpiredPhoto represents TL type `messageExpiredPhoto#ac46ddf7`.
type MessageExpiredPhoto struct {
}
// MessageExpiredPhotoTypeID is TL type id of MessageExpiredPhoto.
const MessageExpiredPhotoTypeID = 0xac46ddf7
// construct implements constructor of MessageContentClass.
func (m MessageExpiredPhoto) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageExpiredPhoto.
var (
_ bin.Encoder = &MessageExpiredPhoto{}
_ bin.Decoder = &MessageExpiredPhoto{}
_ bin.BareEncoder = &MessageExpiredPhoto{}
_ bin.BareDecoder = &MessageExpiredPhoto{}
_ MessageContentClass = &MessageExpiredPhoto{}
)
func (m *MessageExpiredPhoto) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageExpiredPhoto) String() string {
if m == nil {
return "MessageExpiredPhoto(nil)"
}
type Alias MessageExpiredPhoto
return fmt.Sprintf("MessageExpiredPhoto%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageExpiredPhoto) TypeID() uint32 {
return MessageExpiredPhotoTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageExpiredPhoto) TypeName() string {
return "messageExpiredPhoto"
}
// TypeInfo returns info about TL type.
func (m *MessageExpiredPhoto) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageExpiredPhoto",
ID: MessageExpiredPhotoTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageExpiredPhoto) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredPhoto#ac46ddf7 as nil")
}
b.PutID(MessageExpiredPhotoTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageExpiredPhoto) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredPhoto#ac46ddf7 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageExpiredPhoto) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredPhoto#ac46ddf7 to nil")
}
if err := b.ConsumeID(MessageExpiredPhotoTypeID); err != nil {
return fmt.Errorf("unable to decode messageExpiredPhoto#ac46ddf7: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageExpiredPhoto) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredPhoto#ac46ddf7 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageExpiredPhoto) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredPhoto#ac46ddf7 as nil")
}
b.ObjStart()
b.PutID("messageExpiredPhoto")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageExpiredPhoto) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredPhoto#ac46ddf7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageExpiredPhoto"); err != nil {
return fmt.Errorf("unable to decode messageExpiredPhoto#ac46ddf7: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageExpiredVideo represents TL type `messageExpiredVideo#b7bf24c3`.
type MessageExpiredVideo struct {
}
// MessageExpiredVideoTypeID is TL type id of MessageExpiredVideo.
const MessageExpiredVideoTypeID = 0xb7bf24c3
// construct implements constructor of MessageContentClass.
func (m MessageExpiredVideo) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageExpiredVideo.
var (
_ bin.Encoder = &MessageExpiredVideo{}
_ bin.Decoder = &MessageExpiredVideo{}
_ bin.BareEncoder = &MessageExpiredVideo{}
_ bin.BareDecoder = &MessageExpiredVideo{}
_ MessageContentClass = &MessageExpiredVideo{}
)
func (m *MessageExpiredVideo) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageExpiredVideo) String() string {
if m == nil {
return "MessageExpiredVideo(nil)"
}
type Alias MessageExpiredVideo
return fmt.Sprintf("MessageExpiredVideo%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageExpiredVideo) TypeID() uint32 {
return MessageExpiredVideoTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageExpiredVideo) TypeName() string {
return "messageExpiredVideo"
}
// TypeInfo returns info about TL type.
func (m *MessageExpiredVideo) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageExpiredVideo",
ID: MessageExpiredVideoTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageExpiredVideo) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredVideo#b7bf24c3 as nil")
}
b.PutID(MessageExpiredVideoTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageExpiredVideo) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredVideo#b7bf24c3 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageExpiredVideo) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredVideo#b7bf24c3 to nil")
}
if err := b.ConsumeID(MessageExpiredVideoTypeID); err != nil {
return fmt.Errorf("unable to decode messageExpiredVideo#b7bf24c3: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageExpiredVideo) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredVideo#b7bf24c3 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageExpiredVideo) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredVideo#b7bf24c3 as nil")
}
b.ObjStart()
b.PutID("messageExpiredVideo")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageExpiredVideo) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredVideo#b7bf24c3 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageExpiredVideo"); err != nil {
return fmt.Errorf("unable to decode messageExpiredVideo#b7bf24c3: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageExpiredVideoNote represents TL type `messageExpiredVideoNote#23bc43e7`.
type MessageExpiredVideoNote struct {
}
// MessageExpiredVideoNoteTypeID is TL type id of MessageExpiredVideoNote.
const MessageExpiredVideoNoteTypeID = 0x23bc43e7
// construct implements constructor of MessageContentClass.
func (m MessageExpiredVideoNote) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageExpiredVideoNote.
var (
_ bin.Encoder = &MessageExpiredVideoNote{}
_ bin.Decoder = &MessageExpiredVideoNote{}
_ bin.BareEncoder = &MessageExpiredVideoNote{}
_ bin.BareDecoder = &MessageExpiredVideoNote{}
_ MessageContentClass = &MessageExpiredVideoNote{}
)
func (m *MessageExpiredVideoNote) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageExpiredVideoNote) String() string {
if m == nil {
return "MessageExpiredVideoNote(nil)"
}
type Alias MessageExpiredVideoNote
return fmt.Sprintf("MessageExpiredVideoNote%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageExpiredVideoNote) TypeID() uint32 {
return MessageExpiredVideoNoteTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageExpiredVideoNote) TypeName() string {
return "messageExpiredVideoNote"
}
// TypeInfo returns info about TL type.
func (m *MessageExpiredVideoNote) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageExpiredVideoNote",
ID: MessageExpiredVideoNoteTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageExpiredVideoNote) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredVideoNote#23bc43e7 as nil")
}
b.PutID(MessageExpiredVideoNoteTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageExpiredVideoNote) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredVideoNote#23bc43e7 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageExpiredVideoNote) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredVideoNote#23bc43e7 to nil")
}
if err := b.ConsumeID(MessageExpiredVideoNoteTypeID); err != nil {
return fmt.Errorf("unable to decode messageExpiredVideoNote#23bc43e7: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageExpiredVideoNote) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredVideoNote#23bc43e7 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageExpiredVideoNote) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredVideoNote#23bc43e7 as nil")
}
b.ObjStart()
b.PutID("messageExpiredVideoNote")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageExpiredVideoNote) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredVideoNote#23bc43e7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageExpiredVideoNote"); err != nil {
return fmt.Errorf("unable to decode messageExpiredVideoNote#23bc43e7: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageExpiredVoiceNote represents TL type `messageExpiredVoiceNote#890757d`.
type MessageExpiredVoiceNote struct {
}
// MessageExpiredVoiceNoteTypeID is TL type id of MessageExpiredVoiceNote.
const MessageExpiredVoiceNoteTypeID = 0x890757d
// construct implements constructor of MessageContentClass.
func (m MessageExpiredVoiceNote) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageExpiredVoiceNote.
var (
_ bin.Encoder = &MessageExpiredVoiceNote{}
_ bin.Decoder = &MessageExpiredVoiceNote{}
_ bin.BareEncoder = &MessageExpiredVoiceNote{}
_ bin.BareDecoder = &MessageExpiredVoiceNote{}
_ MessageContentClass = &MessageExpiredVoiceNote{}
)
func (m *MessageExpiredVoiceNote) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageExpiredVoiceNote) String() string {
if m == nil {
return "MessageExpiredVoiceNote(nil)"
}
type Alias MessageExpiredVoiceNote
return fmt.Sprintf("MessageExpiredVoiceNote%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageExpiredVoiceNote) TypeID() uint32 {
return MessageExpiredVoiceNoteTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageExpiredVoiceNote) TypeName() string {
return "messageExpiredVoiceNote"
}
// TypeInfo returns info about TL type.
func (m *MessageExpiredVoiceNote) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageExpiredVoiceNote",
ID: MessageExpiredVoiceNoteTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageExpiredVoiceNote) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredVoiceNote#890757d as nil")
}
b.PutID(MessageExpiredVoiceNoteTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageExpiredVoiceNote) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredVoiceNote#890757d as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageExpiredVoiceNote) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredVoiceNote#890757d to nil")
}
if err := b.ConsumeID(MessageExpiredVoiceNoteTypeID); err != nil {
return fmt.Errorf("unable to decode messageExpiredVoiceNote#890757d: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageExpiredVoiceNote) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredVoiceNote#890757d to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageExpiredVoiceNote) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageExpiredVoiceNote#890757d as nil")
}
b.ObjStart()
b.PutID("messageExpiredVoiceNote")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageExpiredVoiceNote) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageExpiredVoiceNote#890757d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageExpiredVoiceNote"); err != nil {
return fmt.Errorf("unable to decode messageExpiredVoiceNote#890757d: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageLocation represents TL type `messageLocation#121e4474`.
type MessageLocation struct {
// The location description
Location Location
// Time relative to the message send date, for which the location can be updated, in
// seconds; if 0x7FFFFFFF, then location can be updated forever
LivePeriod int32
// Left time for which the location can be updated, in seconds. If 0, then the location
// can't be updated anymore. The update updateMessageContent is not sent when this field
// changes
ExpiresIn int32
// For live locations, a direction in which the location moves, in degrees; 1-360. If 0
// the direction is unknown
Heading int32
// For live locations, a maximum distance to another chat member for proximity alerts, in
// meters (0-100000). 0 if the notification is disabled. Available only to the message
// sender
ProximityAlertRadius int32
}
// MessageLocationTypeID is TL type id of MessageLocation.
const MessageLocationTypeID = 0x121e4474
// construct implements constructor of MessageContentClass.
func (m MessageLocation) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageLocation.
var (
_ bin.Encoder = &MessageLocation{}
_ bin.Decoder = &MessageLocation{}
_ bin.BareEncoder = &MessageLocation{}
_ bin.BareDecoder = &MessageLocation{}
_ MessageContentClass = &MessageLocation{}
)
func (m *MessageLocation) Zero() bool {
if m == nil {
return true
}
if !(m.Location.Zero()) {
return false
}
if !(m.LivePeriod == 0) {
return false
}
if !(m.ExpiresIn == 0) {
return false
}
if !(m.Heading == 0) {
return false
}
if !(m.ProximityAlertRadius == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageLocation) String() string {
if m == nil {
return "MessageLocation(nil)"
}
type Alias MessageLocation
return fmt.Sprintf("MessageLocation%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageLocation) TypeID() uint32 {
return MessageLocationTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageLocation) TypeName() string {
return "messageLocation"
}
// TypeInfo returns info about TL type.
func (m *MessageLocation) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageLocation",
ID: MessageLocationTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Location",
SchemaName: "location",
},
{
Name: "LivePeriod",
SchemaName: "live_period",
},
{
Name: "ExpiresIn",
SchemaName: "expires_in",
},
{
Name: "Heading",
SchemaName: "heading",
},
{
Name: "ProximityAlertRadius",
SchemaName: "proximity_alert_radius",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageLocation) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageLocation#121e4474 as nil")
}
b.PutID(MessageLocationTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageLocation) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageLocation#121e4474 as nil")
}
if err := m.Location.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageLocation#121e4474: field location: %w", err)
}
b.PutInt32(m.LivePeriod)
b.PutInt32(m.ExpiresIn)
b.PutInt32(m.Heading)
b.PutInt32(m.ProximityAlertRadius)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageLocation) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageLocation#121e4474 to nil")
}
if err := b.ConsumeID(MessageLocationTypeID); err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageLocation) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageLocation#121e4474 to nil")
}
{
if err := m.Location.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field location: %w", err)
}
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field live_period: %w", err)
}
m.LivePeriod = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field expires_in: %w", err)
}
m.ExpiresIn = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field heading: %w", err)
}
m.Heading = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field proximity_alert_radius: %w", err)
}
m.ProximityAlertRadius = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageLocation) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageLocation#121e4474 as nil")
}
b.ObjStart()
b.PutID("messageLocation")
b.Comma()
b.FieldStart("location")
if err := m.Location.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageLocation#121e4474: field location: %w", err)
}
b.Comma()
b.FieldStart("live_period")
b.PutInt32(m.LivePeriod)
b.Comma()
b.FieldStart("expires_in")
b.PutInt32(m.ExpiresIn)
b.Comma()
b.FieldStart("heading")
b.PutInt32(m.Heading)
b.Comma()
b.FieldStart("proximity_alert_radius")
b.PutInt32(m.ProximityAlertRadius)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageLocation) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageLocation#121e4474 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageLocation"); err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: %w", err)
}
case "location":
if err := m.Location.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field location: %w", err)
}
case "live_period":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field live_period: %w", err)
}
m.LivePeriod = value
case "expires_in":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field expires_in: %w", err)
}
m.ExpiresIn = value
case "heading":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field heading: %w", err)
}
m.Heading = value
case "proximity_alert_radius":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageLocation#121e4474: field proximity_alert_radius: %w", err)
}
m.ProximityAlertRadius = value
default:
return b.Skip()
}
return nil
})
}
// GetLocation returns value of Location field.
func (m *MessageLocation) GetLocation() (value Location) {
if m == nil {
return
}
return m.Location
}
// GetLivePeriod returns value of LivePeriod field.
func (m *MessageLocation) GetLivePeriod() (value int32) {
if m == nil {
return
}
return m.LivePeriod
}
// GetExpiresIn returns value of ExpiresIn field.
func (m *MessageLocation) GetExpiresIn() (value int32) {
if m == nil {
return
}
return m.ExpiresIn
}
// GetHeading returns value of Heading field.
func (m *MessageLocation) GetHeading() (value int32) {
if m == nil {
return
}
return m.Heading
}
// GetProximityAlertRadius returns value of ProximityAlertRadius field.
func (m *MessageLocation) GetProximityAlertRadius() (value int32) {
if m == nil {
return
}
return m.ProximityAlertRadius
}
// MessageVenue represents TL type `messageVenue#800f2175`.
type MessageVenue struct {
// The venue description
Venue Venue
}
// MessageVenueTypeID is TL type id of MessageVenue.
const MessageVenueTypeID = 0x800f2175
// construct implements constructor of MessageContentClass.
func (m MessageVenue) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageVenue.
var (
_ bin.Encoder = &MessageVenue{}
_ bin.Decoder = &MessageVenue{}
_ bin.BareEncoder = &MessageVenue{}
_ bin.BareDecoder = &MessageVenue{}
_ MessageContentClass = &MessageVenue{}
)
func (m *MessageVenue) Zero() bool {
if m == nil {
return true
}
if !(m.Venue.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageVenue) String() string {
if m == nil {
return "MessageVenue(nil)"
}
type Alias MessageVenue
return fmt.Sprintf("MessageVenue%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageVenue) TypeID() uint32 {
return MessageVenueTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageVenue) TypeName() string {
return "messageVenue"
}
// TypeInfo returns info about TL type.
func (m *MessageVenue) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageVenue",
ID: MessageVenueTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Venue",
SchemaName: "venue",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageVenue) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVenue#800f2175 as nil")
}
b.PutID(MessageVenueTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageVenue) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVenue#800f2175 as nil")
}
if err := m.Venue.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageVenue#800f2175: field venue: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageVenue) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVenue#800f2175 to nil")
}
if err := b.ConsumeID(MessageVenueTypeID); err != nil {
return fmt.Errorf("unable to decode messageVenue#800f2175: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageVenue) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVenue#800f2175 to nil")
}
{
if err := m.Venue.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageVenue#800f2175: field venue: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageVenue) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageVenue#800f2175 as nil")
}
b.ObjStart()
b.PutID("messageVenue")
b.Comma()
b.FieldStart("venue")
if err := m.Venue.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageVenue#800f2175: field venue: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageVenue) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageVenue#800f2175 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageVenue"); err != nil {
return fmt.Errorf("unable to decode messageVenue#800f2175: %w", err)
}
case "venue":
if err := m.Venue.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageVenue#800f2175: field venue: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetVenue returns value of Venue field.
func (m *MessageVenue) GetVenue() (value Venue) {
if m == nil {
return
}
return m.Venue
}
// MessageContact represents TL type `messageContact#e1710c5a`.
type MessageContact struct {
// The contact description
Contact Contact
}
// MessageContactTypeID is TL type id of MessageContact.
const MessageContactTypeID = 0xe1710c5a
// construct implements constructor of MessageContentClass.
func (m MessageContact) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageContact.
var (
_ bin.Encoder = &MessageContact{}
_ bin.Decoder = &MessageContact{}
_ bin.BareEncoder = &MessageContact{}
_ bin.BareDecoder = &MessageContact{}
_ MessageContentClass = &MessageContact{}
)
func (m *MessageContact) Zero() bool {
if m == nil {
return true
}
if !(m.Contact.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageContact) String() string {
if m == nil {
return "MessageContact(nil)"
}
type Alias MessageContact
return fmt.Sprintf("MessageContact%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageContact) TypeID() uint32 {
return MessageContactTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageContact) TypeName() string {
return "messageContact"
}
// TypeInfo returns info about TL type.
func (m *MessageContact) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageContact",
ID: MessageContactTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Contact",
SchemaName: "contact",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageContact) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageContact#e1710c5a as nil")
}
b.PutID(MessageContactTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageContact) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageContact#e1710c5a as nil")
}
if err := m.Contact.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageContact#e1710c5a: field contact: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageContact) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageContact#e1710c5a to nil")
}
if err := b.ConsumeID(MessageContactTypeID); err != nil {
return fmt.Errorf("unable to decode messageContact#e1710c5a: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageContact) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageContact#e1710c5a to nil")
}
{
if err := m.Contact.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageContact#e1710c5a: field contact: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageContact) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageContact#e1710c5a as nil")
}
b.ObjStart()
b.PutID("messageContact")
b.Comma()
b.FieldStart("contact")
if err := m.Contact.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageContact#e1710c5a: field contact: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageContact) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageContact#e1710c5a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageContact"); err != nil {
return fmt.Errorf("unable to decode messageContact#e1710c5a: %w", err)
}
case "contact":
if err := m.Contact.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageContact#e1710c5a: field contact: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetContact returns value of Contact field.
func (m *MessageContact) GetContact() (value Contact) {
if m == nil {
return
}
return m.Contact
}
// MessageAnimatedEmoji represents TL type `messageAnimatedEmoji#3621f5e2`.
type MessageAnimatedEmoji struct {
// The animated emoji
AnimatedEmoji AnimatedEmoji
// The corresponding emoji
Emoji string
}
// MessageAnimatedEmojiTypeID is TL type id of MessageAnimatedEmoji.
const MessageAnimatedEmojiTypeID = 0x3621f5e2
// construct implements constructor of MessageContentClass.
func (m MessageAnimatedEmoji) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageAnimatedEmoji.
var (
_ bin.Encoder = &MessageAnimatedEmoji{}
_ bin.Decoder = &MessageAnimatedEmoji{}
_ bin.BareEncoder = &MessageAnimatedEmoji{}
_ bin.BareDecoder = &MessageAnimatedEmoji{}
_ MessageContentClass = &MessageAnimatedEmoji{}
)
func (m *MessageAnimatedEmoji) Zero() bool {
if m == nil {
return true
}
if !(m.AnimatedEmoji.Zero()) {
return false
}
if !(m.Emoji == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageAnimatedEmoji) String() string {
if m == nil {
return "MessageAnimatedEmoji(nil)"
}
type Alias MessageAnimatedEmoji
return fmt.Sprintf("MessageAnimatedEmoji%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageAnimatedEmoji) TypeID() uint32 {
return MessageAnimatedEmojiTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageAnimatedEmoji) TypeName() string {
return "messageAnimatedEmoji"
}
// TypeInfo returns info about TL type.
func (m *MessageAnimatedEmoji) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageAnimatedEmoji",
ID: MessageAnimatedEmojiTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "AnimatedEmoji",
SchemaName: "animated_emoji",
},
{
Name: "Emoji",
SchemaName: "emoji",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageAnimatedEmoji) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageAnimatedEmoji#3621f5e2 as nil")
}
b.PutID(MessageAnimatedEmojiTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageAnimatedEmoji) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageAnimatedEmoji#3621f5e2 as nil")
}
if err := m.AnimatedEmoji.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageAnimatedEmoji#3621f5e2: field animated_emoji: %w", err)
}
b.PutString(m.Emoji)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageAnimatedEmoji) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageAnimatedEmoji#3621f5e2 to nil")
}
if err := b.ConsumeID(MessageAnimatedEmojiTypeID); err != nil {
return fmt.Errorf("unable to decode messageAnimatedEmoji#3621f5e2: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageAnimatedEmoji) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageAnimatedEmoji#3621f5e2 to nil")
}
{
if err := m.AnimatedEmoji.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageAnimatedEmoji#3621f5e2: field animated_emoji: %w", err)
}
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageAnimatedEmoji#3621f5e2: field emoji: %w", err)
}
m.Emoji = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageAnimatedEmoji) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageAnimatedEmoji#3621f5e2 as nil")
}
b.ObjStart()
b.PutID("messageAnimatedEmoji")
b.Comma()
b.FieldStart("animated_emoji")
if err := m.AnimatedEmoji.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageAnimatedEmoji#3621f5e2: field animated_emoji: %w", err)
}
b.Comma()
b.FieldStart("emoji")
b.PutString(m.Emoji)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageAnimatedEmoji) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageAnimatedEmoji#3621f5e2 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageAnimatedEmoji"); err != nil {
return fmt.Errorf("unable to decode messageAnimatedEmoji#3621f5e2: %w", err)
}
case "animated_emoji":
if err := m.AnimatedEmoji.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageAnimatedEmoji#3621f5e2: field animated_emoji: %w", err)
}
case "emoji":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageAnimatedEmoji#3621f5e2: field emoji: %w", err)
}
m.Emoji = value
default:
return b.Skip()
}
return nil
})
}
// GetAnimatedEmoji returns value of AnimatedEmoji field.
func (m *MessageAnimatedEmoji) GetAnimatedEmoji() (value AnimatedEmoji) {
if m == nil {
return
}
return m.AnimatedEmoji
}
// GetEmoji returns value of Emoji field.
func (m *MessageAnimatedEmoji) GetEmoji() (value string) {
if m == nil {
return
}
return m.Emoji
}
// MessageDice represents TL type `messageDice#42817239`.
type MessageDice struct {
// The animated stickers with the initial dice animation; may be null if unknown. The
// update updateMessageContent will be sent when the sticker became known
InitialState DiceStickersClass
// The animated stickers with the final dice animation; may be null if unknown. The
// update updateMessageContent will be sent when the sticker became known
FinalState DiceStickersClass
// Emoji on which the dice throw animation is based
Emoji string
// The dice value. If the value is 0, the dice don't have final state yet
Value int32
// Number of frame after which a success animation like a shower of confetti needs to be
// shown on updateMessageSendSucceeded
SuccessAnimationFrameNumber int32
}
// MessageDiceTypeID is TL type id of MessageDice.
const MessageDiceTypeID = 0x42817239
// construct implements constructor of MessageContentClass.
func (m MessageDice) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageDice.
var (
_ bin.Encoder = &MessageDice{}
_ bin.Decoder = &MessageDice{}
_ bin.BareEncoder = &MessageDice{}
_ bin.BareDecoder = &MessageDice{}
_ MessageContentClass = &MessageDice{}
)
func (m *MessageDice) Zero() bool {
if m == nil {
return true
}
if !(m.InitialState == nil) {
return false
}
if !(m.FinalState == nil) {
return false
}
if !(m.Emoji == "") {
return false
}
if !(m.Value == 0) {
return false
}
if !(m.SuccessAnimationFrameNumber == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageDice) String() string {
if m == nil {
return "MessageDice(nil)"
}
type Alias MessageDice
return fmt.Sprintf("MessageDice%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageDice) TypeID() uint32 {
return MessageDiceTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageDice) TypeName() string {
return "messageDice"
}
// TypeInfo returns info about TL type.
func (m *MessageDice) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageDice",
ID: MessageDiceTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "InitialState",
SchemaName: "initial_state",
},
{
Name: "FinalState",
SchemaName: "final_state",
},
{
Name: "Emoji",
SchemaName: "emoji",
},
{
Name: "Value",
SchemaName: "value",
},
{
Name: "SuccessAnimationFrameNumber",
SchemaName: "success_animation_frame_number",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageDice) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageDice#42817239 as nil")
}
b.PutID(MessageDiceTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageDice) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageDice#42817239 as nil")
}
if m.InitialState == nil {
return fmt.Errorf("unable to encode messageDice#42817239: field initial_state is nil")
}
if err := m.InitialState.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageDice#42817239: field initial_state: %w", err)
}
if m.FinalState == nil {
return fmt.Errorf("unable to encode messageDice#42817239: field final_state is nil")
}
if err := m.FinalState.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageDice#42817239: field final_state: %w", err)
}
b.PutString(m.Emoji)
b.PutInt32(m.Value)
b.PutInt32(m.SuccessAnimationFrameNumber)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageDice) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageDice#42817239 to nil")
}
if err := b.ConsumeID(MessageDiceTypeID); err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageDice) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageDice#42817239 to nil")
}
{
value, err := DecodeDiceStickers(b)
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field initial_state: %w", err)
}
m.InitialState = value
}
{
value, err := DecodeDiceStickers(b)
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field final_state: %w", err)
}
m.FinalState = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field emoji: %w", err)
}
m.Emoji = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field value: %w", err)
}
m.Value = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field success_animation_frame_number: %w", err)
}
m.SuccessAnimationFrameNumber = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageDice) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageDice#42817239 as nil")
}
b.ObjStart()
b.PutID("messageDice")
b.Comma()
b.FieldStart("initial_state")
if m.InitialState == nil {
return fmt.Errorf("unable to encode messageDice#42817239: field initial_state is nil")
}
if err := m.InitialState.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageDice#42817239: field initial_state: %w", err)
}
b.Comma()
b.FieldStart("final_state")
if m.FinalState == nil {
return fmt.Errorf("unable to encode messageDice#42817239: field final_state is nil")
}
if err := m.FinalState.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageDice#42817239: field final_state: %w", err)
}
b.Comma()
b.FieldStart("emoji")
b.PutString(m.Emoji)
b.Comma()
b.FieldStart("value")
b.PutInt32(m.Value)
b.Comma()
b.FieldStart("success_animation_frame_number")
b.PutInt32(m.SuccessAnimationFrameNumber)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageDice) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageDice#42817239 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageDice"); err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: %w", err)
}
case "initial_state":
value, err := DecodeTDLibJSONDiceStickers(b)
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field initial_state: %w", err)
}
m.InitialState = value
case "final_state":
value, err := DecodeTDLibJSONDiceStickers(b)
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field final_state: %w", err)
}
m.FinalState = value
case "emoji":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field emoji: %w", err)
}
m.Emoji = value
case "value":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field value: %w", err)
}
m.Value = value
case "success_animation_frame_number":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageDice#42817239: field success_animation_frame_number: %w", err)
}
m.SuccessAnimationFrameNumber = value
default:
return b.Skip()
}
return nil
})
}
// GetInitialState returns value of InitialState field.
func (m *MessageDice) GetInitialState() (value DiceStickersClass) {
if m == nil {
return
}
return m.InitialState
}
// GetFinalState returns value of FinalState field.
func (m *MessageDice) GetFinalState() (value DiceStickersClass) {
if m == nil {
return
}
return m.FinalState
}
// GetEmoji returns value of Emoji field.
func (m *MessageDice) GetEmoji() (value string) {
if m == nil {
return
}
return m.Emoji
}
// GetValue returns value of Value field.
func (m *MessageDice) GetValue() (value int32) {
if m == nil {
return
}
return m.Value
}
// GetSuccessAnimationFrameNumber returns value of SuccessAnimationFrameNumber field.
func (m *MessageDice) GetSuccessAnimationFrameNumber() (value int32) {
if m == nil {
return
}
return m.SuccessAnimationFrameNumber
}
// MessageGame represents TL type `messageGame#fbdc6976`.
type MessageGame struct {
// The game description
Game Game
}
// MessageGameTypeID is TL type id of MessageGame.
const MessageGameTypeID = 0xfbdc6976
// construct implements constructor of MessageContentClass.
func (m MessageGame) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGame.
var (
_ bin.Encoder = &MessageGame{}
_ bin.Decoder = &MessageGame{}
_ bin.BareEncoder = &MessageGame{}
_ bin.BareDecoder = &MessageGame{}
_ MessageContentClass = &MessageGame{}
)
func (m *MessageGame) Zero() bool {
if m == nil {
return true
}
if !(m.Game.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGame) String() string {
if m == nil {
return "MessageGame(nil)"
}
type Alias MessageGame
return fmt.Sprintf("MessageGame%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGame) TypeID() uint32 {
return MessageGameTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGame) TypeName() string {
return "messageGame"
}
// TypeInfo returns info about TL type.
func (m *MessageGame) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGame",
ID: MessageGameTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Game",
SchemaName: "game",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGame) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGame#fbdc6976 as nil")
}
b.PutID(MessageGameTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGame) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGame#fbdc6976 as nil")
}
if err := m.Game.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGame#fbdc6976: field game: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGame) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGame#fbdc6976 to nil")
}
if err := b.ConsumeID(MessageGameTypeID); err != nil {
return fmt.Errorf("unable to decode messageGame#fbdc6976: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGame) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGame#fbdc6976 to nil")
}
{
if err := m.Game.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageGame#fbdc6976: field game: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGame) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGame#fbdc6976 as nil")
}
b.ObjStart()
b.PutID("messageGame")
b.Comma()
b.FieldStart("game")
if err := m.Game.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGame#fbdc6976: field game: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGame) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGame#fbdc6976 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGame"); err != nil {
return fmt.Errorf("unable to decode messageGame#fbdc6976: %w", err)
}
case "game":
if err := m.Game.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageGame#fbdc6976: field game: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetGame returns value of Game field.
func (m *MessageGame) GetGame() (value Game) {
if m == nil {
return
}
return m.Game
}
// MessagePoll represents TL type `messagePoll#d888b24d`.
type MessagePoll struct {
// The poll description
Poll Poll
}
// MessagePollTypeID is TL type id of MessagePoll.
const MessagePollTypeID = 0xd888b24d
// construct implements constructor of MessageContentClass.
func (m MessagePoll) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePoll.
var (
_ bin.Encoder = &MessagePoll{}
_ bin.Decoder = &MessagePoll{}
_ bin.BareEncoder = &MessagePoll{}
_ bin.BareDecoder = &MessagePoll{}
_ MessageContentClass = &MessagePoll{}
)
func (m *MessagePoll) Zero() bool {
if m == nil {
return true
}
if !(m.Poll.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePoll) String() string {
if m == nil {
return "MessagePoll(nil)"
}
type Alias MessagePoll
return fmt.Sprintf("MessagePoll%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePoll) TypeID() uint32 {
return MessagePollTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePoll) TypeName() string {
return "messagePoll"
}
// TypeInfo returns info about TL type.
func (m *MessagePoll) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePoll",
ID: MessagePollTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Poll",
SchemaName: "poll",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePoll) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePoll#d888b24d as nil")
}
b.PutID(MessagePollTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePoll) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePoll#d888b24d as nil")
}
if err := m.Poll.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePoll#d888b24d: field poll: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePoll) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePoll#d888b24d to nil")
}
if err := b.ConsumeID(MessagePollTypeID); err != nil {
return fmt.Errorf("unable to decode messagePoll#d888b24d: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePoll) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePoll#d888b24d to nil")
}
{
if err := m.Poll.Decode(b); err != nil {
return fmt.Errorf("unable to decode messagePoll#d888b24d: field poll: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePoll) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePoll#d888b24d as nil")
}
b.ObjStart()
b.PutID("messagePoll")
b.Comma()
b.FieldStart("poll")
if err := m.Poll.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePoll#d888b24d: field poll: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePoll) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePoll#d888b24d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePoll"); err != nil {
return fmt.Errorf("unable to decode messagePoll#d888b24d: %w", err)
}
case "poll":
if err := m.Poll.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messagePoll#d888b24d: field poll: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetPoll returns value of Poll field.
func (m *MessagePoll) GetPoll() (value Poll) {
if m == nil {
return
}
return m.Poll
}
// MessageStory represents TL type `messageStory#5a4169c1`.
type MessageStory struct {
// Identifier of the chat that posted the story
StoryPosterChatID int64
// Story identifier
StoryID int32
// True, if the story was automatically forwarded because of a mention of the user
ViaMention bool
}
// MessageStoryTypeID is TL type id of MessageStory.
const MessageStoryTypeID = 0x5a4169c1
// construct implements constructor of MessageContentClass.
func (m MessageStory) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageStory.
var (
_ bin.Encoder = &MessageStory{}
_ bin.Decoder = &MessageStory{}
_ bin.BareEncoder = &MessageStory{}
_ bin.BareDecoder = &MessageStory{}
_ MessageContentClass = &MessageStory{}
)
func (m *MessageStory) Zero() bool {
if m == nil {
return true
}
if !(m.StoryPosterChatID == 0) {
return false
}
if !(m.StoryID == 0) {
return false
}
if !(m.ViaMention == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageStory) String() string {
if m == nil {
return "MessageStory(nil)"
}
type Alias MessageStory
return fmt.Sprintf("MessageStory%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageStory) TypeID() uint32 {
return MessageStoryTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageStory) TypeName() string {
return "messageStory"
}
// TypeInfo returns info about TL type.
func (m *MessageStory) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageStory",
ID: MessageStoryTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StoryPosterChatID",
SchemaName: "story_poster_chat_id",
},
{
Name: "StoryID",
SchemaName: "story_id",
},
{
Name: "ViaMention",
SchemaName: "via_mention",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageStory) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageStory#5a4169c1 as nil")
}
b.PutID(MessageStoryTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageStory) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageStory#5a4169c1 as nil")
}
b.PutInt53(m.StoryPosterChatID)
b.PutInt32(m.StoryID)
b.PutBool(m.ViaMention)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageStory) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageStory#5a4169c1 to nil")
}
if err := b.ConsumeID(MessageStoryTypeID); err != nil {
return fmt.Errorf("unable to decode messageStory#5a4169c1: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageStory) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageStory#5a4169c1 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageStory#5a4169c1: field story_poster_chat_id: %w", err)
}
m.StoryPosterChatID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageStory#5a4169c1: field story_id: %w", err)
}
m.StoryID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageStory#5a4169c1: field via_mention: %w", err)
}
m.ViaMention = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageStory) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageStory#5a4169c1 as nil")
}
b.ObjStart()
b.PutID("messageStory")
b.Comma()
b.FieldStart("story_poster_chat_id")
b.PutInt53(m.StoryPosterChatID)
b.Comma()
b.FieldStart("story_id")
b.PutInt32(m.StoryID)
b.Comma()
b.FieldStart("via_mention")
b.PutBool(m.ViaMention)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageStory) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageStory#5a4169c1 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageStory"); err != nil {
return fmt.Errorf("unable to decode messageStory#5a4169c1: %w", err)
}
case "story_poster_chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageStory#5a4169c1: field story_poster_chat_id: %w", err)
}
m.StoryPosterChatID = value
case "story_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageStory#5a4169c1: field story_id: %w", err)
}
m.StoryID = value
case "via_mention":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageStory#5a4169c1: field via_mention: %w", err)
}
m.ViaMention = value
default:
return b.Skip()
}
return nil
})
}
// GetStoryPosterChatID returns value of StoryPosterChatID field.
func (m *MessageStory) GetStoryPosterChatID() (value int64) {
if m == nil {
return
}
return m.StoryPosterChatID
}
// GetStoryID returns value of StoryID field.
func (m *MessageStory) GetStoryID() (value int32) {
if m == nil {
return
}
return m.StoryID
}
// GetViaMention returns value of ViaMention field.
func (m *MessageStory) GetViaMention() (value bool) {
if m == nil {
return
}
return m.ViaMention
}
// MessageInvoice represents TL type `messageInvoice#fadfd46`.
type MessageInvoice struct {
// Information about the product
ProductInfo ProductInfo
// Currency for the product price
Currency string
// Product total price in the smallest units of the currency
TotalAmount int64
// Unique invoice bot start_parameter to be passed to getInternalLink
StartParameter string
// True, if the invoice is a test invoice
IsTest bool
// True, if the shipping address must be specified
NeedShippingAddress bool
// The identifier of the message with the receipt, after the product has been purchased
ReceiptMessageID int64
// Extended media attached to the invoice; may be null if none
PaidMedia PaidMediaClass
// Extended media caption; may be null if none
PaidMediaCaption FormattedText
}
// MessageInvoiceTypeID is TL type id of MessageInvoice.
const MessageInvoiceTypeID = 0xfadfd46
// construct implements constructor of MessageContentClass.
func (m MessageInvoice) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageInvoice.
var (
_ bin.Encoder = &MessageInvoice{}
_ bin.Decoder = &MessageInvoice{}
_ bin.BareEncoder = &MessageInvoice{}
_ bin.BareDecoder = &MessageInvoice{}
_ MessageContentClass = &MessageInvoice{}
)
func (m *MessageInvoice) Zero() bool {
if m == nil {
return true
}
if !(m.ProductInfo.Zero()) {
return false
}
if !(m.Currency == "") {
return false
}
if !(m.TotalAmount == 0) {
return false
}
if !(m.StartParameter == "") {
return false
}
if !(m.IsTest == false) {
return false
}
if !(m.NeedShippingAddress == false) {
return false
}
if !(m.ReceiptMessageID == 0) {
return false
}
if !(m.PaidMedia == nil) {
return false
}
if !(m.PaidMediaCaption.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageInvoice) String() string {
if m == nil {
return "MessageInvoice(nil)"
}
type Alias MessageInvoice
return fmt.Sprintf("MessageInvoice%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageInvoice) TypeID() uint32 {
return MessageInvoiceTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageInvoice) TypeName() string {
return "messageInvoice"
}
// TypeInfo returns info about TL type.
func (m *MessageInvoice) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageInvoice",
ID: MessageInvoiceTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ProductInfo",
SchemaName: "product_info",
},
{
Name: "Currency",
SchemaName: "currency",
},
{
Name: "TotalAmount",
SchemaName: "total_amount",
},
{
Name: "StartParameter",
SchemaName: "start_parameter",
},
{
Name: "IsTest",
SchemaName: "is_test",
},
{
Name: "NeedShippingAddress",
SchemaName: "need_shipping_address",
},
{
Name: "ReceiptMessageID",
SchemaName: "receipt_message_id",
},
{
Name: "PaidMedia",
SchemaName: "paid_media",
},
{
Name: "PaidMediaCaption",
SchemaName: "paid_media_caption",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageInvoice) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageInvoice#fadfd46 as nil")
}
b.PutID(MessageInvoiceTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageInvoice) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageInvoice#fadfd46 as nil")
}
if err := m.ProductInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageInvoice#fadfd46: field product_info: %w", err)
}
b.PutString(m.Currency)
b.PutInt53(m.TotalAmount)
b.PutString(m.StartParameter)
b.PutBool(m.IsTest)
b.PutBool(m.NeedShippingAddress)
b.PutInt53(m.ReceiptMessageID)
if m.PaidMedia == nil {
return fmt.Errorf("unable to encode messageInvoice#fadfd46: field paid_media is nil")
}
if err := m.PaidMedia.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageInvoice#fadfd46: field paid_media: %w", err)
}
if err := m.PaidMediaCaption.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageInvoice#fadfd46: field paid_media_caption: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageInvoice) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageInvoice#fadfd46 to nil")
}
if err := b.ConsumeID(MessageInvoiceTypeID); err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageInvoice) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageInvoice#fadfd46 to nil")
}
{
if err := m.ProductInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field product_info: %w", err)
}
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field currency: %w", err)
}
m.Currency = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field total_amount: %w", err)
}
m.TotalAmount = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field start_parameter: %w", err)
}
m.StartParameter = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field is_test: %w", err)
}
m.IsTest = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field need_shipping_address: %w", err)
}
m.NeedShippingAddress = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field receipt_message_id: %w", err)
}
m.ReceiptMessageID = value
}
{
value, err := DecodePaidMedia(b)
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field paid_media: %w", err)
}
m.PaidMedia = value
}
{
if err := m.PaidMediaCaption.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field paid_media_caption: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageInvoice) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageInvoice#fadfd46 as nil")
}
b.ObjStart()
b.PutID("messageInvoice")
b.Comma()
b.FieldStart("product_info")
if err := m.ProductInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageInvoice#fadfd46: field product_info: %w", err)
}
b.Comma()
b.FieldStart("currency")
b.PutString(m.Currency)
b.Comma()
b.FieldStart("total_amount")
b.PutInt53(m.TotalAmount)
b.Comma()
b.FieldStart("start_parameter")
b.PutString(m.StartParameter)
b.Comma()
b.FieldStart("is_test")
b.PutBool(m.IsTest)
b.Comma()
b.FieldStart("need_shipping_address")
b.PutBool(m.NeedShippingAddress)
b.Comma()
b.FieldStart("receipt_message_id")
b.PutInt53(m.ReceiptMessageID)
b.Comma()
b.FieldStart("paid_media")
if m.PaidMedia == nil {
return fmt.Errorf("unable to encode messageInvoice#fadfd46: field paid_media is nil")
}
if err := m.PaidMedia.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageInvoice#fadfd46: field paid_media: %w", err)
}
b.Comma()
b.FieldStart("paid_media_caption")
if err := m.PaidMediaCaption.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageInvoice#fadfd46: field paid_media_caption: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageInvoice) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageInvoice#fadfd46 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageInvoice"); err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: %w", err)
}
case "product_info":
if err := m.ProductInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field product_info: %w", err)
}
case "currency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field currency: %w", err)
}
m.Currency = value
case "total_amount":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field total_amount: %w", err)
}
m.TotalAmount = value
case "start_parameter":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field start_parameter: %w", err)
}
m.StartParameter = value
case "is_test":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field is_test: %w", err)
}
m.IsTest = value
case "need_shipping_address":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field need_shipping_address: %w", err)
}
m.NeedShippingAddress = value
case "receipt_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field receipt_message_id: %w", err)
}
m.ReceiptMessageID = value
case "paid_media":
value, err := DecodeTDLibJSONPaidMedia(b)
if err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field paid_media: %w", err)
}
m.PaidMedia = value
case "paid_media_caption":
if err := m.PaidMediaCaption.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageInvoice#fadfd46: field paid_media_caption: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetProductInfo returns value of ProductInfo field.
func (m *MessageInvoice) GetProductInfo() (value ProductInfo) {
if m == nil {
return
}
return m.ProductInfo
}
// GetCurrency returns value of Currency field.
func (m *MessageInvoice) GetCurrency() (value string) {
if m == nil {
return
}
return m.Currency
}
// GetTotalAmount returns value of TotalAmount field.
func (m *MessageInvoice) GetTotalAmount() (value int64) {
if m == nil {
return
}
return m.TotalAmount
}
// GetStartParameter returns value of StartParameter field.
func (m *MessageInvoice) GetStartParameter() (value string) {
if m == nil {
return
}
return m.StartParameter
}
// GetIsTest returns value of IsTest field.
func (m *MessageInvoice) GetIsTest() (value bool) {
if m == nil {
return
}
return m.IsTest
}
// GetNeedShippingAddress returns value of NeedShippingAddress field.
func (m *MessageInvoice) GetNeedShippingAddress() (value bool) {
if m == nil {
return
}
return m.NeedShippingAddress
}
// GetReceiptMessageID returns value of ReceiptMessageID field.
func (m *MessageInvoice) GetReceiptMessageID() (value int64) {
if m == nil {
return
}
return m.ReceiptMessageID
}
// GetPaidMedia returns value of PaidMedia field.
func (m *MessageInvoice) GetPaidMedia() (value PaidMediaClass) {
if m == nil {
return
}
return m.PaidMedia
}
// GetPaidMediaCaption returns value of PaidMediaCaption field.
func (m *MessageInvoice) GetPaidMediaCaption() (value FormattedText) {
if m == nil {
return
}
return m.PaidMediaCaption
}
// MessageCall represents TL type `messageCall#201ede00`.
type MessageCall struct {
// True, if the call was a video call
IsVideo bool
// Reason why the call was discarded
DiscardReason CallDiscardReasonClass
// Call duration, in seconds
Duration int32
}
// MessageCallTypeID is TL type id of MessageCall.
const MessageCallTypeID = 0x201ede00
// construct implements constructor of MessageContentClass.
func (m MessageCall) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageCall.
var (
_ bin.Encoder = &MessageCall{}
_ bin.Decoder = &MessageCall{}
_ bin.BareEncoder = &MessageCall{}
_ bin.BareDecoder = &MessageCall{}
_ MessageContentClass = &MessageCall{}
)
func (m *MessageCall) Zero() bool {
if m == nil {
return true
}
if !(m.IsVideo == false) {
return false
}
if !(m.DiscardReason == nil) {
return false
}
if !(m.Duration == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageCall) String() string {
if m == nil {
return "MessageCall(nil)"
}
type Alias MessageCall
return fmt.Sprintf("MessageCall%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageCall) TypeID() uint32 {
return MessageCallTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageCall) TypeName() string {
return "messageCall"
}
// TypeInfo returns info about TL type.
func (m *MessageCall) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageCall",
ID: MessageCallTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "IsVideo",
SchemaName: "is_video",
},
{
Name: "DiscardReason",
SchemaName: "discard_reason",
},
{
Name: "Duration",
SchemaName: "duration",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageCall) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageCall#201ede00 as nil")
}
b.PutID(MessageCallTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageCall) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageCall#201ede00 as nil")
}
b.PutBool(m.IsVideo)
if m.DiscardReason == nil {
return fmt.Errorf("unable to encode messageCall#201ede00: field discard_reason is nil")
}
if err := m.DiscardReason.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageCall#201ede00: field discard_reason: %w", err)
}
b.PutInt32(m.Duration)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageCall) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageCall#201ede00 to nil")
}
if err := b.ConsumeID(MessageCallTypeID); err != nil {
return fmt.Errorf("unable to decode messageCall#201ede00: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageCall) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageCall#201ede00 to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageCall#201ede00: field is_video: %w", err)
}
m.IsVideo = value
}
{
value, err := DecodeCallDiscardReason(b)
if err != nil {
return fmt.Errorf("unable to decode messageCall#201ede00: field discard_reason: %w", err)
}
m.DiscardReason = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageCall#201ede00: field duration: %w", err)
}
m.Duration = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageCall) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageCall#201ede00 as nil")
}
b.ObjStart()
b.PutID("messageCall")
b.Comma()
b.FieldStart("is_video")
b.PutBool(m.IsVideo)
b.Comma()
b.FieldStart("discard_reason")
if m.DiscardReason == nil {
return fmt.Errorf("unable to encode messageCall#201ede00: field discard_reason is nil")
}
if err := m.DiscardReason.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageCall#201ede00: field discard_reason: %w", err)
}
b.Comma()
b.FieldStart("duration")
b.PutInt32(m.Duration)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageCall) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageCall#201ede00 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageCall"); err != nil {
return fmt.Errorf("unable to decode messageCall#201ede00: %w", err)
}
case "is_video":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageCall#201ede00: field is_video: %w", err)
}
m.IsVideo = value
case "discard_reason":
value, err := DecodeTDLibJSONCallDiscardReason(b)
if err != nil {
return fmt.Errorf("unable to decode messageCall#201ede00: field discard_reason: %w", err)
}
m.DiscardReason = value
case "duration":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageCall#201ede00: field duration: %w", err)
}
m.Duration = value
default:
return b.Skip()
}
return nil
})
}
// GetIsVideo returns value of IsVideo field.
func (m *MessageCall) GetIsVideo() (value bool) {
if m == nil {
return
}
return m.IsVideo
}
// GetDiscardReason returns value of DiscardReason field.
func (m *MessageCall) GetDiscardReason() (value CallDiscardReasonClass) {
if m == nil {
return
}
return m.DiscardReason
}
// GetDuration returns value of Duration field.
func (m *MessageCall) GetDuration() (value int32) {
if m == nil {
return
}
return m.Duration
}
// MessageGroupCall represents TL type `messageGroupCall#a764e6a1`.
type MessageGroupCall struct {
// True, if the call is active, i.e. the called user joined the call
IsActive bool
// True, if the called user missed or declined the call
WasMissed bool
// True, if the call is a video call
IsVideo bool
// Call duration, in seconds; for left calls only
Duration int32
// Identifiers of some other call participants
OtherParticipantIDs []MessageSenderClass
}
// MessageGroupCallTypeID is TL type id of MessageGroupCall.
const MessageGroupCallTypeID = 0xa764e6a1
// construct implements constructor of MessageContentClass.
func (m MessageGroupCall) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGroupCall.
var (
_ bin.Encoder = &MessageGroupCall{}
_ bin.Decoder = &MessageGroupCall{}
_ bin.BareEncoder = &MessageGroupCall{}
_ bin.BareDecoder = &MessageGroupCall{}
_ MessageContentClass = &MessageGroupCall{}
)
func (m *MessageGroupCall) Zero() bool {
if m == nil {
return true
}
if !(m.IsActive == false) {
return false
}
if !(m.WasMissed == false) {
return false
}
if !(m.IsVideo == false) {
return false
}
if !(m.Duration == 0) {
return false
}
if !(m.OtherParticipantIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGroupCall) String() string {
if m == nil {
return "MessageGroupCall(nil)"
}
type Alias MessageGroupCall
return fmt.Sprintf("MessageGroupCall%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGroupCall) TypeID() uint32 {
return MessageGroupCallTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGroupCall) TypeName() string {
return "messageGroupCall"
}
// TypeInfo returns info about TL type.
func (m *MessageGroupCall) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGroupCall",
ID: MessageGroupCallTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "IsActive",
SchemaName: "is_active",
},
{
Name: "WasMissed",
SchemaName: "was_missed",
},
{
Name: "IsVideo",
SchemaName: "is_video",
},
{
Name: "Duration",
SchemaName: "duration",
},
{
Name: "OtherParticipantIDs",
SchemaName: "other_participant_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGroupCall) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGroupCall#a764e6a1 as nil")
}
b.PutID(MessageGroupCallTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGroupCall) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGroupCall#a764e6a1 as nil")
}
b.PutBool(m.IsActive)
b.PutBool(m.WasMissed)
b.PutBool(m.IsVideo)
b.PutInt32(m.Duration)
b.PutInt(len(m.OtherParticipantIDs))
for idx, v := range m.OtherParticipantIDs {
if v == nil {
return fmt.Errorf("unable to encode messageGroupCall#a764e6a1: field other_participant_ids element with index %d is nil", idx)
}
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare messageGroupCall#a764e6a1: field other_participant_ids element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGroupCall) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGroupCall#a764e6a1 to nil")
}
if err := b.ConsumeID(MessageGroupCallTypeID); err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGroupCall) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGroupCall#a764e6a1 to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field is_active: %w", err)
}
m.IsActive = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field was_missed: %w", err)
}
m.WasMissed = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field is_video: %w", err)
}
m.IsVideo = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field duration: %w", err)
}
m.Duration = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field other_participant_ids: %w", err)
}
if headerLen > 0 {
m.OtherParticipantIDs = make([]MessageSenderClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field other_participant_ids: %w", err)
}
m.OtherParticipantIDs = append(m.OtherParticipantIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGroupCall) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGroupCall#a764e6a1 as nil")
}
b.ObjStart()
b.PutID("messageGroupCall")
b.Comma()
b.FieldStart("is_active")
b.PutBool(m.IsActive)
b.Comma()
b.FieldStart("was_missed")
b.PutBool(m.WasMissed)
b.Comma()
b.FieldStart("is_video")
b.PutBool(m.IsVideo)
b.Comma()
b.FieldStart("duration")
b.PutInt32(m.Duration)
b.Comma()
b.FieldStart("other_participant_ids")
b.ArrStart()
for idx, v := range m.OtherParticipantIDs {
if v == nil {
return fmt.Errorf("unable to encode messageGroupCall#a764e6a1: field other_participant_ids element with index %d is nil", idx)
}
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGroupCall#a764e6a1: field other_participant_ids element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGroupCall) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGroupCall#a764e6a1 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGroupCall"); err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: %w", err)
}
case "is_active":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field is_active: %w", err)
}
m.IsActive = value
case "was_missed":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field was_missed: %w", err)
}
m.WasMissed = value
case "is_video":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field is_video: %w", err)
}
m.IsVideo = value
case "duration":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field duration: %w", err)
}
m.Duration = value
case "other_participant_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field other_participant_ids: %w", err)
}
m.OtherParticipantIDs = append(m.OtherParticipantIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messageGroupCall#a764e6a1: field other_participant_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetIsActive returns value of IsActive field.
func (m *MessageGroupCall) GetIsActive() (value bool) {
if m == nil {
return
}
return m.IsActive
}
// GetWasMissed returns value of WasMissed field.
func (m *MessageGroupCall) GetWasMissed() (value bool) {
if m == nil {
return
}
return m.WasMissed
}
// GetIsVideo returns value of IsVideo field.
func (m *MessageGroupCall) GetIsVideo() (value bool) {
if m == nil {
return
}
return m.IsVideo
}
// GetDuration returns value of Duration field.
func (m *MessageGroupCall) GetDuration() (value int32) {
if m == nil {
return
}
return m.Duration
}
// GetOtherParticipantIDs returns value of OtherParticipantIDs field.
func (m *MessageGroupCall) GetOtherParticipantIDs() (value []MessageSenderClass) {
if m == nil {
return
}
return m.OtherParticipantIDs
}
// MessageVideoChatScheduled represents TL type `messageVideoChatScheduled#916c1db7`.
type MessageVideoChatScheduled struct {
// Identifier of the video chat. The video chat can be received through the method
// getGroupCall
GroupCallID int32
// Point in time (Unix timestamp) when the group call is expected to be started by an
// administrator
StartDate int32
}
// MessageVideoChatScheduledTypeID is TL type id of MessageVideoChatScheduled.
const MessageVideoChatScheduledTypeID = 0x916c1db7
// construct implements constructor of MessageContentClass.
func (m MessageVideoChatScheduled) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageVideoChatScheduled.
var (
_ bin.Encoder = &MessageVideoChatScheduled{}
_ bin.Decoder = &MessageVideoChatScheduled{}
_ bin.BareEncoder = &MessageVideoChatScheduled{}
_ bin.BareDecoder = &MessageVideoChatScheduled{}
_ MessageContentClass = &MessageVideoChatScheduled{}
)
func (m *MessageVideoChatScheduled) Zero() bool {
if m == nil {
return true
}
if !(m.GroupCallID == 0) {
return false
}
if !(m.StartDate == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageVideoChatScheduled) String() string {
if m == nil {
return "MessageVideoChatScheduled(nil)"
}
type Alias MessageVideoChatScheduled
return fmt.Sprintf("MessageVideoChatScheduled%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageVideoChatScheduled) TypeID() uint32 {
return MessageVideoChatScheduledTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageVideoChatScheduled) TypeName() string {
return "messageVideoChatScheduled"
}
// TypeInfo returns info about TL type.
func (m *MessageVideoChatScheduled) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageVideoChatScheduled",
ID: MessageVideoChatScheduledTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GroupCallID",
SchemaName: "group_call_id",
},
{
Name: "StartDate",
SchemaName: "start_date",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageVideoChatScheduled) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoChatScheduled#916c1db7 as nil")
}
b.PutID(MessageVideoChatScheduledTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageVideoChatScheduled) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoChatScheduled#916c1db7 as nil")
}
b.PutInt32(m.GroupCallID)
b.PutInt32(m.StartDate)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageVideoChatScheduled) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoChatScheduled#916c1db7 to nil")
}
if err := b.ConsumeID(MessageVideoChatScheduledTypeID); err != nil {
return fmt.Errorf("unable to decode messageVideoChatScheduled#916c1db7: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageVideoChatScheduled) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoChatScheduled#916c1db7 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideoChatScheduled#916c1db7: field group_call_id: %w", err)
}
m.GroupCallID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideoChatScheduled#916c1db7: field start_date: %w", err)
}
m.StartDate = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageVideoChatScheduled) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoChatScheduled#916c1db7 as nil")
}
b.ObjStart()
b.PutID("messageVideoChatScheduled")
b.Comma()
b.FieldStart("group_call_id")
b.PutInt32(m.GroupCallID)
b.Comma()
b.FieldStart("start_date")
b.PutInt32(m.StartDate)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageVideoChatScheduled) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoChatScheduled#916c1db7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageVideoChatScheduled"); err != nil {
return fmt.Errorf("unable to decode messageVideoChatScheduled#916c1db7: %w", err)
}
case "group_call_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideoChatScheduled#916c1db7: field group_call_id: %w", err)
}
m.GroupCallID = value
case "start_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideoChatScheduled#916c1db7: field start_date: %w", err)
}
m.StartDate = value
default:
return b.Skip()
}
return nil
})
}
// GetGroupCallID returns value of GroupCallID field.
func (m *MessageVideoChatScheduled) GetGroupCallID() (value int32) {
if m == nil {
return
}
return m.GroupCallID
}
// GetStartDate returns value of StartDate field.
func (m *MessageVideoChatScheduled) GetStartDate() (value int32) {
if m == nil {
return
}
return m.StartDate
}
// MessageVideoChatStarted represents TL type `messageVideoChatStarted#1f114559`.
type MessageVideoChatStarted struct {
// Identifier of the video chat. The video chat can be received through the method
// getGroupCall
GroupCallID int32
}
// MessageVideoChatStartedTypeID is TL type id of MessageVideoChatStarted.
const MessageVideoChatStartedTypeID = 0x1f114559
// construct implements constructor of MessageContentClass.
func (m MessageVideoChatStarted) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageVideoChatStarted.
var (
_ bin.Encoder = &MessageVideoChatStarted{}
_ bin.Decoder = &MessageVideoChatStarted{}
_ bin.BareEncoder = &MessageVideoChatStarted{}
_ bin.BareDecoder = &MessageVideoChatStarted{}
_ MessageContentClass = &MessageVideoChatStarted{}
)
func (m *MessageVideoChatStarted) Zero() bool {
if m == nil {
return true
}
if !(m.GroupCallID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageVideoChatStarted) String() string {
if m == nil {
return "MessageVideoChatStarted(nil)"
}
type Alias MessageVideoChatStarted
return fmt.Sprintf("MessageVideoChatStarted%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageVideoChatStarted) TypeID() uint32 {
return MessageVideoChatStartedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageVideoChatStarted) TypeName() string {
return "messageVideoChatStarted"
}
// TypeInfo returns info about TL type.
func (m *MessageVideoChatStarted) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageVideoChatStarted",
ID: MessageVideoChatStartedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GroupCallID",
SchemaName: "group_call_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageVideoChatStarted) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoChatStarted#1f114559 as nil")
}
b.PutID(MessageVideoChatStartedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageVideoChatStarted) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoChatStarted#1f114559 as nil")
}
b.PutInt32(m.GroupCallID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageVideoChatStarted) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoChatStarted#1f114559 to nil")
}
if err := b.ConsumeID(MessageVideoChatStartedTypeID); err != nil {
return fmt.Errorf("unable to decode messageVideoChatStarted#1f114559: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageVideoChatStarted) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoChatStarted#1f114559 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideoChatStarted#1f114559: field group_call_id: %w", err)
}
m.GroupCallID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageVideoChatStarted) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoChatStarted#1f114559 as nil")
}
b.ObjStart()
b.PutID("messageVideoChatStarted")
b.Comma()
b.FieldStart("group_call_id")
b.PutInt32(m.GroupCallID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageVideoChatStarted) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoChatStarted#1f114559 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageVideoChatStarted"); err != nil {
return fmt.Errorf("unable to decode messageVideoChatStarted#1f114559: %w", err)
}
case "group_call_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideoChatStarted#1f114559: field group_call_id: %w", err)
}
m.GroupCallID = value
default:
return b.Skip()
}
return nil
})
}
// GetGroupCallID returns value of GroupCallID field.
func (m *MessageVideoChatStarted) GetGroupCallID() (value int32) {
if m == nil {
return
}
return m.GroupCallID
}
// MessageVideoChatEnded represents TL type `messageVideoChatEnded#79262c57`.
type MessageVideoChatEnded struct {
// Call duration, in seconds
Duration int32
}
// MessageVideoChatEndedTypeID is TL type id of MessageVideoChatEnded.
const MessageVideoChatEndedTypeID = 0x79262c57
// construct implements constructor of MessageContentClass.
func (m MessageVideoChatEnded) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageVideoChatEnded.
var (
_ bin.Encoder = &MessageVideoChatEnded{}
_ bin.Decoder = &MessageVideoChatEnded{}
_ bin.BareEncoder = &MessageVideoChatEnded{}
_ bin.BareDecoder = &MessageVideoChatEnded{}
_ MessageContentClass = &MessageVideoChatEnded{}
)
func (m *MessageVideoChatEnded) Zero() bool {
if m == nil {
return true
}
if !(m.Duration == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageVideoChatEnded) String() string {
if m == nil {
return "MessageVideoChatEnded(nil)"
}
type Alias MessageVideoChatEnded
return fmt.Sprintf("MessageVideoChatEnded%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageVideoChatEnded) TypeID() uint32 {
return MessageVideoChatEndedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageVideoChatEnded) TypeName() string {
return "messageVideoChatEnded"
}
// TypeInfo returns info about TL type.
func (m *MessageVideoChatEnded) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageVideoChatEnded",
ID: MessageVideoChatEndedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Duration",
SchemaName: "duration",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageVideoChatEnded) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoChatEnded#79262c57 as nil")
}
b.PutID(MessageVideoChatEndedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageVideoChatEnded) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoChatEnded#79262c57 as nil")
}
b.PutInt32(m.Duration)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageVideoChatEnded) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoChatEnded#79262c57 to nil")
}
if err := b.ConsumeID(MessageVideoChatEndedTypeID); err != nil {
return fmt.Errorf("unable to decode messageVideoChatEnded#79262c57: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageVideoChatEnded) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoChatEnded#79262c57 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideoChatEnded#79262c57: field duration: %w", err)
}
m.Duration = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageVideoChatEnded) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageVideoChatEnded#79262c57 as nil")
}
b.ObjStart()
b.PutID("messageVideoChatEnded")
b.Comma()
b.FieldStart("duration")
b.PutInt32(m.Duration)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageVideoChatEnded) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageVideoChatEnded#79262c57 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageVideoChatEnded"); err != nil {
return fmt.Errorf("unable to decode messageVideoChatEnded#79262c57: %w", err)
}
case "duration":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageVideoChatEnded#79262c57: field duration: %w", err)
}
m.Duration = value
default:
return b.Skip()
}
return nil
})
}
// GetDuration returns value of Duration field.
func (m *MessageVideoChatEnded) GetDuration() (value int32) {
if m == nil {
return
}
return m.Duration
}
// MessageInviteVideoChatParticipants represents TL type `messageInviteVideoChatParticipants#f58d603`.
type MessageInviteVideoChatParticipants struct {
// Identifier of the video chat. The video chat can be received through the method
// getGroupCall
GroupCallID int32
// Invited user identifiers
UserIDs []int64
}
// MessageInviteVideoChatParticipantsTypeID is TL type id of MessageInviteVideoChatParticipants.
const MessageInviteVideoChatParticipantsTypeID = 0xf58d603
// construct implements constructor of MessageContentClass.
func (m MessageInviteVideoChatParticipants) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageInviteVideoChatParticipants.
var (
_ bin.Encoder = &MessageInviteVideoChatParticipants{}
_ bin.Decoder = &MessageInviteVideoChatParticipants{}
_ bin.BareEncoder = &MessageInviteVideoChatParticipants{}
_ bin.BareDecoder = &MessageInviteVideoChatParticipants{}
_ MessageContentClass = &MessageInviteVideoChatParticipants{}
)
func (m *MessageInviteVideoChatParticipants) Zero() bool {
if m == nil {
return true
}
if !(m.GroupCallID == 0) {
return false
}
if !(m.UserIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageInviteVideoChatParticipants) String() string {
if m == nil {
return "MessageInviteVideoChatParticipants(nil)"
}
type Alias MessageInviteVideoChatParticipants
return fmt.Sprintf("MessageInviteVideoChatParticipants%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageInviteVideoChatParticipants) TypeID() uint32 {
return MessageInviteVideoChatParticipantsTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageInviteVideoChatParticipants) TypeName() string {
return "messageInviteVideoChatParticipants"
}
// TypeInfo returns info about TL type.
func (m *MessageInviteVideoChatParticipants) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageInviteVideoChatParticipants",
ID: MessageInviteVideoChatParticipantsTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GroupCallID",
SchemaName: "group_call_id",
},
{
Name: "UserIDs",
SchemaName: "user_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageInviteVideoChatParticipants) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageInviteVideoChatParticipants#f58d603 as nil")
}
b.PutID(MessageInviteVideoChatParticipantsTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageInviteVideoChatParticipants) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageInviteVideoChatParticipants#f58d603 as nil")
}
b.PutInt32(m.GroupCallID)
b.PutInt(len(m.UserIDs))
for _, v := range m.UserIDs {
b.PutInt53(v)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageInviteVideoChatParticipants) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageInviteVideoChatParticipants#f58d603 to nil")
}
if err := b.ConsumeID(MessageInviteVideoChatParticipantsTypeID); err != nil {
return fmt.Errorf("unable to decode messageInviteVideoChatParticipants#f58d603: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageInviteVideoChatParticipants) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageInviteVideoChatParticipants#f58d603 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageInviteVideoChatParticipants#f58d603: field group_call_id: %w", err)
}
m.GroupCallID = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messageInviteVideoChatParticipants#f58d603: field user_ids: %w", err)
}
if headerLen > 0 {
m.UserIDs = make([]int64, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageInviteVideoChatParticipants#f58d603: field user_ids: %w", err)
}
m.UserIDs = append(m.UserIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageInviteVideoChatParticipants) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageInviteVideoChatParticipants#f58d603 as nil")
}
b.ObjStart()
b.PutID("messageInviteVideoChatParticipants")
b.Comma()
b.FieldStart("group_call_id")
b.PutInt32(m.GroupCallID)
b.Comma()
b.FieldStart("user_ids")
b.ArrStart()
for _, v := range m.UserIDs {
b.PutInt53(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageInviteVideoChatParticipants) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageInviteVideoChatParticipants#f58d603 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageInviteVideoChatParticipants"); err != nil {
return fmt.Errorf("unable to decode messageInviteVideoChatParticipants#f58d603: %w", err)
}
case "group_call_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageInviteVideoChatParticipants#f58d603: field group_call_id: %w", err)
}
m.GroupCallID = value
case "user_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageInviteVideoChatParticipants#f58d603: field user_ids: %w", err)
}
m.UserIDs = append(m.UserIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messageInviteVideoChatParticipants#f58d603: field user_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetGroupCallID returns value of GroupCallID field.
func (m *MessageInviteVideoChatParticipants) GetGroupCallID() (value int32) {
if m == nil {
return
}
return m.GroupCallID
}
// GetUserIDs returns value of UserIDs field.
func (m *MessageInviteVideoChatParticipants) GetUserIDs() (value []int64) {
if m == nil {
return
}
return m.UserIDs
}
// MessageBasicGroupChatCreate represents TL type `messageBasicGroupChatCreate#8b60f757`.
type MessageBasicGroupChatCreate struct {
// Title of the basic group
Title string
// User identifiers of members in the basic group
MemberUserIDs []int64
}
// MessageBasicGroupChatCreateTypeID is TL type id of MessageBasicGroupChatCreate.
const MessageBasicGroupChatCreateTypeID = 0x8b60f757
// construct implements constructor of MessageContentClass.
func (m MessageBasicGroupChatCreate) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageBasicGroupChatCreate.
var (
_ bin.Encoder = &MessageBasicGroupChatCreate{}
_ bin.Decoder = &MessageBasicGroupChatCreate{}
_ bin.BareEncoder = &MessageBasicGroupChatCreate{}
_ bin.BareDecoder = &MessageBasicGroupChatCreate{}
_ MessageContentClass = &MessageBasicGroupChatCreate{}
)
func (m *MessageBasicGroupChatCreate) Zero() bool {
if m == nil {
return true
}
if !(m.Title == "") {
return false
}
if !(m.MemberUserIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageBasicGroupChatCreate) String() string {
if m == nil {
return "MessageBasicGroupChatCreate(nil)"
}
type Alias MessageBasicGroupChatCreate
return fmt.Sprintf("MessageBasicGroupChatCreate%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageBasicGroupChatCreate) TypeID() uint32 {
return MessageBasicGroupChatCreateTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageBasicGroupChatCreate) TypeName() string {
return "messageBasicGroupChatCreate"
}
// TypeInfo returns info about TL type.
func (m *MessageBasicGroupChatCreate) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageBasicGroupChatCreate",
ID: MessageBasicGroupChatCreateTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Title",
SchemaName: "title",
},
{
Name: "MemberUserIDs",
SchemaName: "member_user_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageBasicGroupChatCreate) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageBasicGroupChatCreate#8b60f757 as nil")
}
b.PutID(MessageBasicGroupChatCreateTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageBasicGroupChatCreate) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageBasicGroupChatCreate#8b60f757 as nil")
}
b.PutString(m.Title)
b.PutInt(len(m.MemberUserIDs))
for _, v := range m.MemberUserIDs {
b.PutInt53(v)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageBasicGroupChatCreate) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageBasicGroupChatCreate#8b60f757 to nil")
}
if err := b.ConsumeID(MessageBasicGroupChatCreateTypeID); err != nil {
return fmt.Errorf("unable to decode messageBasicGroupChatCreate#8b60f757: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageBasicGroupChatCreate) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageBasicGroupChatCreate#8b60f757 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageBasicGroupChatCreate#8b60f757: field title: %w", err)
}
m.Title = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messageBasicGroupChatCreate#8b60f757: field member_user_ids: %w", err)
}
if headerLen > 0 {
m.MemberUserIDs = make([]int64, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageBasicGroupChatCreate#8b60f757: field member_user_ids: %w", err)
}
m.MemberUserIDs = append(m.MemberUserIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageBasicGroupChatCreate) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageBasicGroupChatCreate#8b60f757 as nil")
}
b.ObjStart()
b.PutID("messageBasicGroupChatCreate")
b.Comma()
b.FieldStart("title")
b.PutString(m.Title)
b.Comma()
b.FieldStart("member_user_ids")
b.ArrStart()
for _, v := range m.MemberUserIDs {
b.PutInt53(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageBasicGroupChatCreate) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageBasicGroupChatCreate#8b60f757 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageBasicGroupChatCreate"); err != nil {
return fmt.Errorf("unable to decode messageBasicGroupChatCreate#8b60f757: %w", err)
}
case "title":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageBasicGroupChatCreate#8b60f757: field title: %w", err)
}
m.Title = value
case "member_user_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageBasicGroupChatCreate#8b60f757: field member_user_ids: %w", err)
}
m.MemberUserIDs = append(m.MemberUserIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messageBasicGroupChatCreate#8b60f757: field member_user_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetTitle returns value of Title field.
func (m *MessageBasicGroupChatCreate) GetTitle() (value string) {
if m == nil {
return
}
return m.Title
}
// GetMemberUserIDs returns value of MemberUserIDs field.
func (m *MessageBasicGroupChatCreate) GetMemberUserIDs() (value []int64) {
if m == nil {
return
}
return m.MemberUserIDs
}
// MessageSupergroupChatCreate represents TL type `messageSupergroupChatCreate#e61cb71b`.
type MessageSupergroupChatCreate struct {
// Title of the supergroup or channel
Title string
}
// MessageSupergroupChatCreateTypeID is TL type id of MessageSupergroupChatCreate.
const MessageSupergroupChatCreateTypeID = 0xe61cb71b
// construct implements constructor of MessageContentClass.
func (m MessageSupergroupChatCreate) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageSupergroupChatCreate.
var (
_ bin.Encoder = &MessageSupergroupChatCreate{}
_ bin.Decoder = &MessageSupergroupChatCreate{}
_ bin.BareEncoder = &MessageSupergroupChatCreate{}
_ bin.BareDecoder = &MessageSupergroupChatCreate{}
_ MessageContentClass = &MessageSupergroupChatCreate{}
)
func (m *MessageSupergroupChatCreate) Zero() bool {
if m == nil {
return true
}
if !(m.Title == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageSupergroupChatCreate) String() string {
if m == nil {
return "MessageSupergroupChatCreate(nil)"
}
type Alias MessageSupergroupChatCreate
return fmt.Sprintf("MessageSupergroupChatCreate%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageSupergroupChatCreate) TypeID() uint32 {
return MessageSupergroupChatCreateTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageSupergroupChatCreate) TypeName() string {
return "messageSupergroupChatCreate"
}
// TypeInfo returns info about TL type.
func (m *MessageSupergroupChatCreate) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageSupergroupChatCreate",
ID: MessageSupergroupChatCreateTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Title",
SchemaName: "title",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageSupergroupChatCreate) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageSupergroupChatCreate#e61cb71b as nil")
}
b.PutID(MessageSupergroupChatCreateTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageSupergroupChatCreate) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageSupergroupChatCreate#e61cb71b as nil")
}
b.PutString(m.Title)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageSupergroupChatCreate) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageSupergroupChatCreate#e61cb71b to nil")
}
if err := b.ConsumeID(MessageSupergroupChatCreateTypeID); err != nil {
return fmt.Errorf("unable to decode messageSupergroupChatCreate#e61cb71b: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageSupergroupChatCreate) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageSupergroupChatCreate#e61cb71b to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageSupergroupChatCreate#e61cb71b: field title: %w", err)
}
m.Title = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageSupergroupChatCreate) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageSupergroupChatCreate#e61cb71b as nil")
}
b.ObjStart()
b.PutID("messageSupergroupChatCreate")
b.Comma()
b.FieldStart("title")
b.PutString(m.Title)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageSupergroupChatCreate) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageSupergroupChatCreate#e61cb71b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageSupergroupChatCreate"); err != nil {
return fmt.Errorf("unable to decode messageSupergroupChatCreate#e61cb71b: %w", err)
}
case "title":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageSupergroupChatCreate#e61cb71b: field title: %w", err)
}
m.Title = value
default:
return b.Skip()
}
return nil
})
}
// GetTitle returns value of Title field.
func (m *MessageSupergroupChatCreate) GetTitle() (value string) {
if m == nil {
return
}
return m.Title
}
// MessageChatChangeTitle represents TL type `messageChatChangeTitle#2c99bb41`.
type MessageChatChangeTitle struct {
// New chat title
Title string
}
// MessageChatChangeTitleTypeID is TL type id of MessageChatChangeTitle.
const MessageChatChangeTitleTypeID = 0x2c99bb41
// construct implements constructor of MessageContentClass.
func (m MessageChatChangeTitle) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatChangeTitle.
var (
_ bin.Encoder = &MessageChatChangeTitle{}
_ bin.Decoder = &MessageChatChangeTitle{}
_ bin.BareEncoder = &MessageChatChangeTitle{}
_ bin.BareDecoder = &MessageChatChangeTitle{}
_ MessageContentClass = &MessageChatChangeTitle{}
)
func (m *MessageChatChangeTitle) Zero() bool {
if m == nil {
return true
}
if !(m.Title == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatChangeTitle) String() string {
if m == nil {
return "MessageChatChangeTitle(nil)"
}
type Alias MessageChatChangeTitle
return fmt.Sprintf("MessageChatChangeTitle%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatChangeTitle) TypeID() uint32 {
return MessageChatChangeTitleTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatChangeTitle) TypeName() string {
return "messageChatChangeTitle"
}
// TypeInfo returns info about TL type.
func (m *MessageChatChangeTitle) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatChangeTitle",
ID: MessageChatChangeTitleTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Title",
SchemaName: "title",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatChangeTitle) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatChangeTitle#2c99bb41 as nil")
}
b.PutID(MessageChatChangeTitleTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatChangeTitle) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatChangeTitle#2c99bb41 as nil")
}
b.PutString(m.Title)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatChangeTitle) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatChangeTitle#2c99bb41 to nil")
}
if err := b.ConsumeID(MessageChatChangeTitleTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatChangeTitle#2c99bb41: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatChangeTitle) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatChangeTitle#2c99bb41 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageChatChangeTitle#2c99bb41: field title: %w", err)
}
m.Title = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatChangeTitle) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatChangeTitle#2c99bb41 as nil")
}
b.ObjStart()
b.PutID("messageChatChangeTitle")
b.Comma()
b.FieldStart("title")
b.PutString(m.Title)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatChangeTitle) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatChangeTitle#2c99bb41 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatChangeTitle"); err != nil {
return fmt.Errorf("unable to decode messageChatChangeTitle#2c99bb41: %w", err)
}
case "title":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageChatChangeTitle#2c99bb41: field title: %w", err)
}
m.Title = value
default:
return b.Skip()
}
return nil
})
}
// GetTitle returns value of Title field.
func (m *MessageChatChangeTitle) GetTitle() (value string) {
if m == nil {
return
}
return m.Title
}
// MessageChatChangePhoto represents TL type `messageChatChangePhoto#cf84454b`.
type MessageChatChangePhoto struct {
// New chat photo
Photo ChatPhoto
}
// MessageChatChangePhotoTypeID is TL type id of MessageChatChangePhoto.
const MessageChatChangePhotoTypeID = 0xcf84454b
// construct implements constructor of MessageContentClass.
func (m MessageChatChangePhoto) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatChangePhoto.
var (
_ bin.Encoder = &MessageChatChangePhoto{}
_ bin.Decoder = &MessageChatChangePhoto{}
_ bin.BareEncoder = &MessageChatChangePhoto{}
_ bin.BareDecoder = &MessageChatChangePhoto{}
_ MessageContentClass = &MessageChatChangePhoto{}
)
func (m *MessageChatChangePhoto) Zero() bool {
if m == nil {
return true
}
if !(m.Photo.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatChangePhoto) String() string {
if m == nil {
return "MessageChatChangePhoto(nil)"
}
type Alias MessageChatChangePhoto
return fmt.Sprintf("MessageChatChangePhoto%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatChangePhoto) TypeID() uint32 {
return MessageChatChangePhotoTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatChangePhoto) TypeName() string {
return "messageChatChangePhoto"
}
// TypeInfo returns info about TL type.
func (m *MessageChatChangePhoto) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatChangePhoto",
ID: MessageChatChangePhotoTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Photo",
SchemaName: "photo",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatChangePhoto) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatChangePhoto#cf84454b as nil")
}
b.PutID(MessageChatChangePhotoTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatChangePhoto) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatChangePhoto#cf84454b as nil")
}
if err := m.Photo.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageChatChangePhoto#cf84454b: field photo: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatChangePhoto) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatChangePhoto#cf84454b to nil")
}
if err := b.ConsumeID(MessageChatChangePhotoTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatChangePhoto#cf84454b: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatChangePhoto) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatChangePhoto#cf84454b to nil")
}
{
if err := m.Photo.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageChatChangePhoto#cf84454b: field photo: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatChangePhoto) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatChangePhoto#cf84454b as nil")
}
b.ObjStart()
b.PutID("messageChatChangePhoto")
b.Comma()
b.FieldStart("photo")
if err := m.Photo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageChatChangePhoto#cf84454b: field photo: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatChangePhoto) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatChangePhoto#cf84454b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatChangePhoto"); err != nil {
return fmt.Errorf("unable to decode messageChatChangePhoto#cf84454b: %w", err)
}
case "photo":
if err := m.Photo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageChatChangePhoto#cf84454b: field photo: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetPhoto returns value of Photo field.
func (m *MessageChatChangePhoto) GetPhoto() (value ChatPhoto) {
if m == nil {
return
}
return m.Photo
}
// MessageChatDeletePhoto represents TL type `messageChatDeletePhoto#f502a9e7`.
type MessageChatDeletePhoto struct {
}
// MessageChatDeletePhotoTypeID is TL type id of MessageChatDeletePhoto.
const MessageChatDeletePhotoTypeID = 0xf502a9e7
// construct implements constructor of MessageContentClass.
func (m MessageChatDeletePhoto) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatDeletePhoto.
var (
_ bin.Encoder = &MessageChatDeletePhoto{}
_ bin.Decoder = &MessageChatDeletePhoto{}
_ bin.BareEncoder = &MessageChatDeletePhoto{}
_ bin.BareDecoder = &MessageChatDeletePhoto{}
_ MessageContentClass = &MessageChatDeletePhoto{}
)
func (m *MessageChatDeletePhoto) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatDeletePhoto) String() string {
if m == nil {
return "MessageChatDeletePhoto(nil)"
}
type Alias MessageChatDeletePhoto
return fmt.Sprintf("MessageChatDeletePhoto%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatDeletePhoto) TypeID() uint32 {
return MessageChatDeletePhotoTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatDeletePhoto) TypeName() string {
return "messageChatDeletePhoto"
}
// TypeInfo returns info about TL type.
func (m *MessageChatDeletePhoto) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatDeletePhoto",
ID: MessageChatDeletePhotoTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatDeletePhoto) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatDeletePhoto#f502a9e7 as nil")
}
b.PutID(MessageChatDeletePhotoTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatDeletePhoto) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatDeletePhoto#f502a9e7 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatDeletePhoto) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatDeletePhoto#f502a9e7 to nil")
}
if err := b.ConsumeID(MessageChatDeletePhotoTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatDeletePhoto#f502a9e7: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatDeletePhoto) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatDeletePhoto#f502a9e7 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatDeletePhoto) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatDeletePhoto#f502a9e7 as nil")
}
b.ObjStart()
b.PutID("messageChatDeletePhoto")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatDeletePhoto) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatDeletePhoto#f502a9e7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatDeletePhoto"); err != nil {
return fmt.Errorf("unable to decode messageChatDeletePhoto#f502a9e7: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageChatAddMembers represents TL type `messageChatAddMembers#1e95b1cd`.
type MessageChatAddMembers struct {
// User identifiers of the new members
MemberUserIDs []int64
}
// MessageChatAddMembersTypeID is TL type id of MessageChatAddMembers.
const MessageChatAddMembersTypeID = 0x1e95b1cd
// construct implements constructor of MessageContentClass.
func (m MessageChatAddMembers) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatAddMembers.
var (
_ bin.Encoder = &MessageChatAddMembers{}
_ bin.Decoder = &MessageChatAddMembers{}
_ bin.BareEncoder = &MessageChatAddMembers{}
_ bin.BareDecoder = &MessageChatAddMembers{}
_ MessageContentClass = &MessageChatAddMembers{}
)
func (m *MessageChatAddMembers) Zero() bool {
if m == nil {
return true
}
if !(m.MemberUserIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatAddMembers) String() string {
if m == nil {
return "MessageChatAddMembers(nil)"
}
type Alias MessageChatAddMembers
return fmt.Sprintf("MessageChatAddMembers%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatAddMembers) TypeID() uint32 {
return MessageChatAddMembersTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatAddMembers) TypeName() string {
return "messageChatAddMembers"
}
// TypeInfo returns info about TL type.
func (m *MessageChatAddMembers) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatAddMembers",
ID: MessageChatAddMembersTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "MemberUserIDs",
SchemaName: "member_user_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatAddMembers) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatAddMembers#1e95b1cd as nil")
}
b.PutID(MessageChatAddMembersTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatAddMembers) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatAddMembers#1e95b1cd as nil")
}
b.PutInt(len(m.MemberUserIDs))
for _, v := range m.MemberUserIDs {
b.PutInt53(v)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatAddMembers) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatAddMembers#1e95b1cd to nil")
}
if err := b.ConsumeID(MessageChatAddMembersTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatAddMembers#1e95b1cd: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatAddMembers) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatAddMembers#1e95b1cd to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messageChatAddMembers#1e95b1cd: field member_user_ids: %w", err)
}
if headerLen > 0 {
m.MemberUserIDs = make([]int64, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatAddMembers#1e95b1cd: field member_user_ids: %w", err)
}
m.MemberUserIDs = append(m.MemberUserIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatAddMembers) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatAddMembers#1e95b1cd as nil")
}
b.ObjStart()
b.PutID("messageChatAddMembers")
b.Comma()
b.FieldStart("member_user_ids")
b.ArrStart()
for _, v := range m.MemberUserIDs {
b.PutInt53(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatAddMembers) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatAddMembers#1e95b1cd to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatAddMembers"); err != nil {
return fmt.Errorf("unable to decode messageChatAddMembers#1e95b1cd: %w", err)
}
case "member_user_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatAddMembers#1e95b1cd: field member_user_ids: %w", err)
}
m.MemberUserIDs = append(m.MemberUserIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messageChatAddMembers#1e95b1cd: field member_user_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetMemberUserIDs returns value of MemberUserIDs field.
func (m *MessageChatAddMembers) GetMemberUserIDs() (value []int64) {
if m == nil {
return
}
return m.MemberUserIDs
}
// MessageChatJoinByLink represents TL type `messageChatJoinByLink#6e0f407f`.
type MessageChatJoinByLink struct {
}
// MessageChatJoinByLinkTypeID is TL type id of MessageChatJoinByLink.
const MessageChatJoinByLinkTypeID = 0x6e0f407f
// construct implements constructor of MessageContentClass.
func (m MessageChatJoinByLink) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatJoinByLink.
var (
_ bin.Encoder = &MessageChatJoinByLink{}
_ bin.Decoder = &MessageChatJoinByLink{}
_ bin.BareEncoder = &MessageChatJoinByLink{}
_ bin.BareDecoder = &MessageChatJoinByLink{}
_ MessageContentClass = &MessageChatJoinByLink{}
)
func (m *MessageChatJoinByLink) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatJoinByLink) String() string {
if m == nil {
return "MessageChatJoinByLink(nil)"
}
type Alias MessageChatJoinByLink
return fmt.Sprintf("MessageChatJoinByLink%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatJoinByLink) TypeID() uint32 {
return MessageChatJoinByLinkTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatJoinByLink) TypeName() string {
return "messageChatJoinByLink"
}
// TypeInfo returns info about TL type.
func (m *MessageChatJoinByLink) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatJoinByLink",
ID: MessageChatJoinByLinkTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatJoinByLink) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatJoinByLink#6e0f407f as nil")
}
b.PutID(MessageChatJoinByLinkTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatJoinByLink) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatJoinByLink#6e0f407f as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatJoinByLink) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatJoinByLink#6e0f407f to nil")
}
if err := b.ConsumeID(MessageChatJoinByLinkTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatJoinByLink#6e0f407f: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatJoinByLink) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatJoinByLink#6e0f407f to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatJoinByLink) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatJoinByLink#6e0f407f as nil")
}
b.ObjStart()
b.PutID("messageChatJoinByLink")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatJoinByLink) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatJoinByLink#6e0f407f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatJoinByLink"); err != nil {
return fmt.Errorf("unable to decode messageChatJoinByLink#6e0f407f: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageChatJoinByRequest represents TL type `messageChatJoinByRequest#4740cb7c`.
type MessageChatJoinByRequest struct {
}
// MessageChatJoinByRequestTypeID is TL type id of MessageChatJoinByRequest.
const MessageChatJoinByRequestTypeID = 0x4740cb7c
// construct implements constructor of MessageContentClass.
func (m MessageChatJoinByRequest) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatJoinByRequest.
var (
_ bin.Encoder = &MessageChatJoinByRequest{}
_ bin.Decoder = &MessageChatJoinByRequest{}
_ bin.BareEncoder = &MessageChatJoinByRequest{}
_ bin.BareDecoder = &MessageChatJoinByRequest{}
_ MessageContentClass = &MessageChatJoinByRequest{}
)
func (m *MessageChatJoinByRequest) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatJoinByRequest) String() string {
if m == nil {
return "MessageChatJoinByRequest(nil)"
}
type Alias MessageChatJoinByRequest
return fmt.Sprintf("MessageChatJoinByRequest%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatJoinByRequest) TypeID() uint32 {
return MessageChatJoinByRequestTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatJoinByRequest) TypeName() string {
return "messageChatJoinByRequest"
}
// TypeInfo returns info about TL type.
func (m *MessageChatJoinByRequest) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatJoinByRequest",
ID: MessageChatJoinByRequestTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatJoinByRequest) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatJoinByRequest#4740cb7c as nil")
}
b.PutID(MessageChatJoinByRequestTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatJoinByRequest) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatJoinByRequest#4740cb7c as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatJoinByRequest) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatJoinByRequest#4740cb7c to nil")
}
if err := b.ConsumeID(MessageChatJoinByRequestTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatJoinByRequest#4740cb7c: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatJoinByRequest) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatJoinByRequest#4740cb7c to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatJoinByRequest) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatJoinByRequest#4740cb7c as nil")
}
b.ObjStart()
b.PutID("messageChatJoinByRequest")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatJoinByRequest) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatJoinByRequest#4740cb7c to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatJoinByRequest"); err != nil {
return fmt.Errorf("unable to decode messageChatJoinByRequest#4740cb7c: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageChatDeleteMember represents TL type `messageChatDeleteMember#37e931a9`.
type MessageChatDeleteMember struct {
// User identifier of the deleted chat member
UserID int64
}
// MessageChatDeleteMemberTypeID is TL type id of MessageChatDeleteMember.
const MessageChatDeleteMemberTypeID = 0x37e931a9
// construct implements constructor of MessageContentClass.
func (m MessageChatDeleteMember) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatDeleteMember.
var (
_ bin.Encoder = &MessageChatDeleteMember{}
_ bin.Decoder = &MessageChatDeleteMember{}
_ bin.BareEncoder = &MessageChatDeleteMember{}
_ bin.BareDecoder = &MessageChatDeleteMember{}
_ MessageContentClass = &MessageChatDeleteMember{}
)
func (m *MessageChatDeleteMember) Zero() bool {
if m == nil {
return true
}
if !(m.UserID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatDeleteMember) String() string {
if m == nil {
return "MessageChatDeleteMember(nil)"
}
type Alias MessageChatDeleteMember
return fmt.Sprintf("MessageChatDeleteMember%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatDeleteMember) TypeID() uint32 {
return MessageChatDeleteMemberTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatDeleteMember) TypeName() string {
return "messageChatDeleteMember"
}
// TypeInfo returns info about TL type.
func (m *MessageChatDeleteMember) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatDeleteMember",
ID: MessageChatDeleteMemberTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatDeleteMember) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatDeleteMember#37e931a9 as nil")
}
b.PutID(MessageChatDeleteMemberTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatDeleteMember) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatDeleteMember#37e931a9 as nil")
}
b.PutInt53(m.UserID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatDeleteMember) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatDeleteMember#37e931a9 to nil")
}
if err := b.ConsumeID(MessageChatDeleteMemberTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatDeleteMember#37e931a9: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatDeleteMember) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatDeleteMember#37e931a9 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatDeleteMember#37e931a9: field user_id: %w", err)
}
m.UserID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatDeleteMember) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatDeleteMember#37e931a9 as nil")
}
b.ObjStart()
b.PutID("messageChatDeleteMember")
b.Comma()
b.FieldStart("user_id")
b.PutInt53(m.UserID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatDeleteMember) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatDeleteMember#37e931a9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatDeleteMember"); err != nil {
return fmt.Errorf("unable to decode messageChatDeleteMember#37e931a9: %w", err)
}
case "user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatDeleteMember#37e931a9: field user_id: %w", err)
}
m.UserID = value
default:
return b.Skip()
}
return nil
})
}
// GetUserID returns value of UserID field.
func (m *MessageChatDeleteMember) GetUserID() (value int64) {
if m == nil {
return
}
return m.UserID
}
// MessageChatUpgradeTo represents TL type `messageChatUpgradeTo#63f549b`.
type MessageChatUpgradeTo struct {
// Identifier of the supergroup to which the basic group was upgraded
SupergroupID int64
}
// MessageChatUpgradeToTypeID is TL type id of MessageChatUpgradeTo.
const MessageChatUpgradeToTypeID = 0x63f549b
// construct implements constructor of MessageContentClass.
func (m MessageChatUpgradeTo) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatUpgradeTo.
var (
_ bin.Encoder = &MessageChatUpgradeTo{}
_ bin.Decoder = &MessageChatUpgradeTo{}
_ bin.BareEncoder = &MessageChatUpgradeTo{}
_ bin.BareDecoder = &MessageChatUpgradeTo{}
_ MessageContentClass = &MessageChatUpgradeTo{}
)
func (m *MessageChatUpgradeTo) Zero() bool {
if m == nil {
return true
}
if !(m.SupergroupID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatUpgradeTo) String() string {
if m == nil {
return "MessageChatUpgradeTo(nil)"
}
type Alias MessageChatUpgradeTo
return fmt.Sprintf("MessageChatUpgradeTo%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatUpgradeTo) TypeID() uint32 {
return MessageChatUpgradeToTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatUpgradeTo) TypeName() string {
return "messageChatUpgradeTo"
}
// TypeInfo returns info about TL type.
func (m *MessageChatUpgradeTo) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatUpgradeTo",
ID: MessageChatUpgradeToTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "SupergroupID",
SchemaName: "supergroup_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatUpgradeTo) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatUpgradeTo#63f549b as nil")
}
b.PutID(MessageChatUpgradeToTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatUpgradeTo) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatUpgradeTo#63f549b as nil")
}
b.PutInt53(m.SupergroupID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatUpgradeTo) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatUpgradeTo#63f549b to nil")
}
if err := b.ConsumeID(MessageChatUpgradeToTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeTo#63f549b: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatUpgradeTo) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatUpgradeTo#63f549b to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeTo#63f549b: field supergroup_id: %w", err)
}
m.SupergroupID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatUpgradeTo) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatUpgradeTo#63f549b as nil")
}
b.ObjStart()
b.PutID("messageChatUpgradeTo")
b.Comma()
b.FieldStart("supergroup_id")
b.PutInt53(m.SupergroupID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatUpgradeTo) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatUpgradeTo#63f549b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatUpgradeTo"); err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeTo#63f549b: %w", err)
}
case "supergroup_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeTo#63f549b: field supergroup_id: %w", err)
}
m.SupergroupID = value
default:
return b.Skip()
}
return nil
})
}
// GetSupergroupID returns value of SupergroupID field.
func (m *MessageChatUpgradeTo) GetSupergroupID() (value int64) {
if m == nil {
return
}
return m.SupergroupID
}
// MessageChatUpgradeFrom represents TL type `messageChatUpgradeFrom#136daadc`.
type MessageChatUpgradeFrom struct {
// Title of the newly created supergroup
Title string
// The identifier of the original basic group
BasicGroupID int64
}
// MessageChatUpgradeFromTypeID is TL type id of MessageChatUpgradeFrom.
const MessageChatUpgradeFromTypeID = 0x136daadc
// construct implements constructor of MessageContentClass.
func (m MessageChatUpgradeFrom) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatUpgradeFrom.
var (
_ bin.Encoder = &MessageChatUpgradeFrom{}
_ bin.Decoder = &MessageChatUpgradeFrom{}
_ bin.BareEncoder = &MessageChatUpgradeFrom{}
_ bin.BareDecoder = &MessageChatUpgradeFrom{}
_ MessageContentClass = &MessageChatUpgradeFrom{}
)
func (m *MessageChatUpgradeFrom) Zero() bool {
if m == nil {
return true
}
if !(m.Title == "") {
return false
}
if !(m.BasicGroupID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatUpgradeFrom) String() string {
if m == nil {
return "MessageChatUpgradeFrom(nil)"
}
type Alias MessageChatUpgradeFrom
return fmt.Sprintf("MessageChatUpgradeFrom%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatUpgradeFrom) TypeID() uint32 {
return MessageChatUpgradeFromTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatUpgradeFrom) TypeName() string {
return "messageChatUpgradeFrom"
}
// TypeInfo returns info about TL type.
func (m *MessageChatUpgradeFrom) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatUpgradeFrom",
ID: MessageChatUpgradeFromTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Title",
SchemaName: "title",
},
{
Name: "BasicGroupID",
SchemaName: "basic_group_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatUpgradeFrom) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatUpgradeFrom#136daadc as nil")
}
b.PutID(MessageChatUpgradeFromTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatUpgradeFrom) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatUpgradeFrom#136daadc as nil")
}
b.PutString(m.Title)
b.PutInt53(m.BasicGroupID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatUpgradeFrom) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatUpgradeFrom#136daadc to nil")
}
if err := b.ConsumeID(MessageChatUpgradeFromTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeFrom#136daadc: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatUpgradeFrom) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatUpgradeFrom#136daadc to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeFrom#136daadc: field title: %w", err)
}
m.Title = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeFrom#136daadc: field basic_group_id: %w", err)
}
m.BasicGroupID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatUpgradeFrom) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatUpgradeFrom#136daadc as nil")
}
b.ObjStart()
b.PutID("messageChatUpgradeFrom")
b.Comma()
b.FieldStart("title")
b.PutString(m.Title)
b.Comma()
b.FieldStart("basic_group_id")
b.PutInt53(m.BasicGroupID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatUpgradeFrom) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatUpgradeFrom#136daadc to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatUpgradeFrom"); err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeFrom#136daadc: %w", err)
}
case "title":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeFrom#136daadc: field title: %w", err)
}
m.Title = value
case "basic_group_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatUpgradeFrom#136daadc: field basic_group_id: %w", err)
}
m.BasicGroupID = value
default:
return b.Skip()
}
return nil
})
}
// GetTitle returns value of Title field.
func (m *MessageChatUpgradeFrom) GetTitle() (value string) {
if m == nil {
return
}
return m.Title
}
// GetBasicGroupID returns value of BasicGroupID field.
func (m *MessageChatUpgradeFrom) GetBasicGroupID() (value int64) {
if m == nil {
return
}
return m.BasicGroupID
}
// MessagePinMessage represents TL type `messagePinMessage#38d55039`.
type MessagePinMessage struct {
// Identifier of the pinned message, can be an identifier of a deleted message or 0
MessageID int64
}
// MessagePinMessageTypeID is TL type id of MessagePinMessage.
const MessagePinMessageTypeID = 0x38d55039
// construct implements constructor of MessageContentClass.
func (m MessagePinMessage) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePinMessage.
var (
_ bin.Encoder = &MessagePinMessage{}
_ bin.Decoder = &MessagePinMessage{}
_ bin.BareEncoder = &MessagePinMessage{}
_ bin.BareDecoder = &MessagePinMessage{}
_ MessageContentClass = &MessagePinMessage{}
)
func (m *MessagePinMessage) Zero() bool {
if m == nil {
return true
}
if !(m.MessageID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePinMessage) String() string {
if m == nil {
return "MessagePinMessage(nil)"
}
type Alias MessagePinMessage
return fmt.Sprintf("MessagePinMessage%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePinMessage) TypeID() uint32 {
return MessagePinMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePinMessage) TypeName() string {
return "messagePinMessage"
}
// TypeInfo returns info about TL type.
func (m *MessagePinMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePinMessage",
ID: MessagePinMessageTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "MessageID",
SchemaName: "message_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePinMessage) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePinMessage#38d55039 as nil")
}
b.PutID(MessagePinMessageTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePinMessage) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePinMessage#38d55039 as nil")
}
b.PutInt53(m.MessageID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePinMessage) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePinMessage#38d55039 to nil")
}
if err := b.ConsumeID(MessagePinMessageTypeID); err != nil {
return fmt.Errorf("unable to decode messagePinMessage#38d55039: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePinMessage) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePinMessage#38d55039 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePinMessage#38d55039: field message_id: %w", err)
}
m.MessageID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePinMessage) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePinMessage#38d55039 as nil")
}
b.ObjStart()
b.PutID("messagePinMessage")
b.Comma()
b.FieldStart("message_id")
b.PutInt53(m.MessageID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePinMessage) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePinMessage#38d55039 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePinMessage"); err != nil {
return fmt.Errorf("unable to decode messagePinMessage#38d55039: %w", err)
}
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePinMessage#38d55039: field message_id: %w", err)
}
m.MessageID = value
default:
return b.Skip()
}
return nil
})
}
// GetMessageID returns value of MessageID field.
func (m *MessagePinMessage) GetMessageID() (value int64) {
if m == nil {
return
}
return m.MessageID
}
// MessageScreenshotTaken represents TL type `messageScreenshotTaken#a2b86dab`.
type MessageScreenshotTaken struct {
}
// MessageScreenshotTakenTypeID is TL type id of MessageScreenshotTaken.
const MessageScreenshotTakenTypeID = 0xa2b86dab
// construct implements constructor of MessageContentClass.
func (m MessageScreenshotTaken) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageScreenshotTaken.
var (
_ bin.Encoder = &MessageScreenshotTaken{}
_ bin.Decoder = &MessageScreenshotTaken{}
_ bin.BareEncoder = &MessageScreenshotTaken{}
_ bin.BareDecoder = &MessageScreenshotTaken{}
_ MessageContentClass = &MessageScreenshotTaken{}
)
func (m *MessageScreenshotTaken) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageScreenshotTaken) String() string {
if m == nil {
return "MessageScreenshotTaken(nil)"
}
type Alias MessageScreenshotTaken
return fmt.Sprintf("MessageScreenshotTaken%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageScreenshotTaken) TypeID() uint32 {
return MessageScreenshotTakenTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageScreenshotTaken) TypeName() string {
return "messageScreenshotTaken"
}
// TypeInfo returns info about TL type.
func (m *MessageScreenshotTaken) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageScreenshotTaken",
ID: MessageScreenshotTakenTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageScreenshotTaken) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageScreenshotTaken#a2b86dab as nil")
}
b.PutID(MessageScreenshotTakenTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageScreenshotTaken) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageScreenshotTaken#a2b86dab as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageScreenshotTaken) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageScreenshotTaken#a2b86dab to nil")
}
if err := b.ConsumeID(MessageScreenshotTakenTypeID); err != nil {
return fmt.Errorf("unable to decode messageScreenshotTaken#a2b86dab: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageScreenshotTaken) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageScreenshotTaken#a2b86dab to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageScreenshotTaken) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageScreenshotTaken#a2b86dab as nil")
}
b.ObjStart()
b.PutID("messageScreenshotTaken")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageScreenshotTaken) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageScreenshotTaken#a2b86dab to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageScreenshotTaken"); err != nil {
return fmt.Errorf("unable to decode messageScreenshotTaken#a2b86dab: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageChatSetBackground represents TL type `messageChatSetBackground#3d5d7c40`.
type MessageChatSetBackground struct {
// Identifier of the message with a previously set same background; 0 if none. Can be an
// identifier of a deleted message
OldBackgroundMessageID int64
// The new background
Background ChatBackground
// True, if the background was set only for self
OnlyForSelf bool
}
// MessageChatSetBackgroundTypeID is TL type id of MessageChatSetBackground.
const MessageChatSetBackgroundTypeID = 0x3d5d7c40
// construct implements constructor of MessageContentClass.
func (m MessageChatSetBackground) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatSetBackground.
var (
_ bin.Encoder = &MessageChatSetBackground{}
_ bin.Decoder = &MessageChatSetBackground{}
_ bin.BareEncoder = &MessageChatSetBackground{}
_ bin.BareDecoder = &MessageChatSetBackground{}
_ MessageContentClass = &MessageChatSetBackground{}
)
func (m *MessageChatSetBackground) Zero() bool {
if m == nil {
return true
}
if !(m.OldBackgroundMessageID == 0) {
return false
}
if !(m.Background.Zero()) {
return false
}
if !(m.OnlyForSelf == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatSetBackground) String() string {
if m == nil {
return "MessageChatSetBackground(nil)"
}
type Alias MessageChatSetBackground
return fmt.Sprintf("MessageChatSetBackground%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatSetBackground) TypeID() uint32 {
return MessageChatSetBackgroundTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatSetBackground) TypeName() string {
return "messageChatSetBackground"
}
// TypeInfo returns info about TL type.
func (m *MessageChatSetBackground) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatSetBackground",
ID: MessageChatSetBackgroundTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "OldBackgroundMessageID",
SchemaName: "old_background_message_id",
},
{
Name: "Background",
SchemaName: "background",
},
{
Name: "OnlyForSelf",
SchemaName: "only_for_self",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatSetBackground) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatSetBackground#3d5d7c40 as nil")
}
b.PutID(MessageChatSetBackgroundTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatSetBackground) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatSetBackground#3d5d7c40 as nil")
}
b.PutInt53(m.OldBackgroundMessageID)
if err := m.Background.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageChatSetBackground#3d5d7c40: field background: %w", err)
}
b.PutBool(m.OnlyForSelf)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatSetBackground) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatSetBackground#3d5d7c40 to nil")
}
if err := b.ConsumeID(MessageChatSetBackgroundTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatSetBackground#3d5d7c40: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatSetBackground) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatSetBackground#3d5d7c40 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetBackground#3d5d7c40: field old_background_message_id: %w", err)
}
m.OldBackgroundMessageID = value
}
{
if err := m.Background.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageChatSetBackground#3d5d7c40: field background: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetBackground#3d5d7c40: field only_for_self: %w", err)
}
m.OnlyForSelf = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatSetBackground) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatSetBackground#3d5d7c40 as nil")
}
b.ObjStart()
b.PutID("messageChatSetBackground")
b.Comma()
b.FieldStart("old_background_message_id")
b.PutInt53(m.OldBackgroundMessageID)
b.Comma()
b.FieldStart("background")
if err := m.Background.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageChatSetBackground#3d5d7c40: field background: %w", err)
}
b.Comma()
b.FieldStart("only_for_self")
b.PutBool(m.OnlyForSelf)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatSetBackground) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatSetBackground#3d5d7c40 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatSetBackground"); err != nil {
return fmt.Errorf("unable to decode messageChatSetBackground#3d5d7c40: %w", err)
}
case "old_background_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetBackground#3d5d7c40: field old_background_message_id: %w", err)
}
m.OldBackgroundMessageID = value
case "background":
if err := m.Background.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageChatSetBackground#3d5d7c40: field background: %w", err)
}
case "only_for_self":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetBackground#3d5d7c40: field only_for_self: %w", err)
}
m.OnlyForSelf = value
default:
return b.Skip()
}
return nil
})
}
// GetOldBackgroundMessageID returns value of OldBackgroundMessageID field.
func (m *MessageChatSetBackground) GetOldBackgroundMessageID() (value int64) {
if m == nil {
return
}
return m.OldBackgroundMessageID
}
// GetBackground returns value of Background field.
func (m *MessageChatSetBackground) GetBackground() (value ChatBackground) {
if m == nil {
return
}
return m.Background
}
// GetOnlyForSelf returns value of OnlyForSelf field.
func (m *MessageChatSetBackground) GetOnlyForSelf() (value bool) {
if m == nil {
return
}
return m.OnlyForSelf
}
// MessageChatSetTheme represents TL type `messageChatSetTheme#99ae9408`.
type MessageChatSetTheme struct {
// If non-empty, name of a new theme, set for the chat. Otherwise, chat theme was reset
// to the default one
ThemeName string
}
// MessageChatSetThemeTypeID is TL type id of MessageChatSetTheme.
const MessageChatSetThemeTypeID = 0x99ae9408
// construct implements constructor of MessageContentClass.
func (m MessageChatSetTheme) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatSetTheme.
var (
_ bin.Encoder = &MessageChatSetTheme{}
_ bin.Decoder = &MessageChatSetTheme{}
_ bin.BareEncoder = &MessageChatSetTheme{}
_ bin.BareDecoder = &MessageChatSetTheme{}
_ MessageContentClass = &MessageChatSetTheme{}
)
func (m *MessageChatSetTheme) Zero() bool {
if m == nil {
return true
}
if !(m.ThemeName == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatSetTheme) String() string {
if m == nil {
return "MessageChatSetTheme(nil)"
}
type Alias MessageChatSetTheme
return fmt.Sprintf("MessageChatSetTheme%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatSetTheme) TypeID() uint32 {
return MessageChatSetThemeTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatSetTheme) TypeName() string {
return "messageChatSetTheme"
}
// TypeInfo returns info about TL type.
func (m *MessageChatSetTheme) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatSetTheme",
ID: MessageChatSetThemeTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ThemeName",
SchemaName: "theme_name",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatSetTheme) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatSetTheme#99ae9408 as nil")
}
b.PutID(MessageChatSetThemeTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatSetTheme) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatSetTheme#99ae9408 as nil")
}
b.PutString(m.ThemeName)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatSetTheme) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatSetTheme#99ae9408 to nil")
}
if err := b.ConsumeID(MessageChatSetThemeTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatSetTheme#99ae9408: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatSetTheme) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatSetTheme#99ae9408 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetTheme#99ae9408: field theme_name: %w", err)
}
m.ThemeName = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatSetTheme) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatSetTheme#99ae9408 as nil")
}
b.ObjStart()
b.PutID("messageChatSetTheme")
b.Comma()
b.FieldStart("theme_name")
b.PutString(m.ThemeName)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatSetTheme) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatSetTheme#99ae9408 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatSetTheme"); err != nil {
return fmt.Errorf("unable to decode messageChatSetTheme#99ae9408: %w", err)
}
case "theme_name":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetTheme#99ae9408: field theme_name: %w", err)
}
m.ThemeName = value
default:
return b.Skip()
}
return nil
})
}
// GetThemeName returns value of ThemeName field.
func (m *MessageChatSetTheme) GetThemeName() (value string) {
if m == nil {
return
}
return m.ThemeName
}
// MessageChatSetMessageAutoDeleteTime represents TL type `messageChatSetMessageAutoDeleteTime#619e052e`.
type MessageChatSetMessageAutoDeleteTime struct {
// New value auto-delete or self-destruct time, in seconds; 0 if disabled
MessageAutoDeleteTime int32
// If not 0, a user identifier, which default setting was automatically applied
FromUserID int64
}
// MessageChatSetMessageAutoDeleteTimeTypeID is TL type id of MessageChatSetMessageAutoDeleteTime.
const MessageChatSetMessageAutoDeleteTimeTypeID = 0x619e052e
// construct implements constructor of MessageContentClass.
func (m MessageChatSetMessageAutoDeleteTime) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatSetMessageAutoDeleteTime.
var (
_ bin.Encoder = &MessageChatSetMessageAutoDeleteTime{}
_ bin.Decoder = &MessageChatSetMessageAutoDeleteTime{}
_ bin.BareEncoder = &MessageChatSetMessageAutoDeleteTime{}
_ bin.BareDecoder = &MessageChatSetMessageAutoDeleteTime{}
_ MessageContentClass = &MessageChatSetMessageAutoDeleteTime{}
)
func (m *MessageChatSetMessageAutoDeleteTime) Zero() bool {
if m == nil {
return true
}
if !(m.MessageAutoDeleteTime == 0) {
return false
}
if !(m.FromUserID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatSetMessageAutoDeleteTime) String() string {
if m == nil {
return "MessageChatSetMessageAutoDeleteTime(nil)"
}
type Alias MessageChatSetMessageAutoDeleteTime
return fmt.Sprintf("MessageChatSetMessageAutoDeleteTime%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatSetMessageAutoDeleteTime) TypeID() uint32 {
return MessageChatSetMessageAutoDeleteTimeTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatSetMessageAutoDeleteTime) TypeName() string {
return "messageChatSetMessageAutoDeleteTime"
}
// TypeInfo returns info about TL type.
func (m *MessageChatSetMessageAutoDeleteTime) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatSetMessageAutoDeleteTime",
ID: MessageChatSetMessageAutoDeleteTimeTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "MessageAutoDeleteTime",
SchemaName: "message_auto_delete_time",
},
{
Name: "FromUserID",
SchemaName: "from_user_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatSetMessageAutoDeleteTime) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatSetMessageAutoDeleteTime#619e052e as nil")
}
b.PutID(MessageChatSetMessageAutoDeleteTimeTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatSetMessageAutoDeleteTime) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatSetMessageAutoDeleteTime#619e052e as nil")
}
b.PutInt32(m.MessageAutoDeleteTime)
b.PutInt53(m.FromUserID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatSetMessageAutoDeleteTime) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatSetMessageAutoDeleteTime#619e052e to nil")
}
if err := b.ConsumeID(MessageChatSetMessageAutoDeleteTimeTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatSetMessageAutoDeleteTime#619e052e: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatSetMessageAutoDeleteTime) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatSetMessageAutoDeleteTime#619e052e to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetMessageAutoDeleteTime#619e052e: field message_auto_delete_time: %w", err)
}
m.MessageAutoDeleteTime = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetMessageAutoDeleteTime#619e052e: field from_user_id: %w", err)
}
m.FromUserID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatSetMessageAutoDeleteTime) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatSetMessageAutoDeleteTime#619e052e as nil")
}
b.ObjStart()
b.PutID("messageChatSetMessageAutoDeleteTime")
b.Comma()
b.FieldStart("message_auto_delete_time")
b.PutInt32(m.MessageAutoDeleteTime)
b.Comma()
b.FieldStart("from_user_id")
b.PutInt53(m.FromUserID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatSetMessageAutoDeleteTime) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatSetMessageAutoDeleteTime#619e052e to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatSetMessageAutoDeleteTime"); err != nil {
return fmt.Errorf("unable to decode messageChatSetMessageAutoDeleteTime#619e052e: %w", err)
}
case "message_auto_delete_time":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetMessageAutoDeleteTime#619e052e: field message_auto_delete_time: %w", err)
}
m.MessageAutoDeleteTime = value
case "from_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageChatSetMessageAutoDeleteTime#619e052e: field from_user_id: %w", err)
}
m.FromUserID = value
default:
return b.Skip()
}
return nil
})
}
// GetMessageAutoDeleteTime returns value of MessageAutoDeleteTime field.
func (m *MessageChatSetMessageAutoDeleteTime) GetMessageAutoDeleteTime() (value int32) {
if m == nil {
return
}
return m.MessageAutoDeleteTime
}
// GetFromUserID returns value of FromUserID field.
func (m *MessageChatSetMessageAutoDeleteTime) GetFromUserID() (value int64) {
if m == nil {
return
}
return m.FromUserID
}
// MessageChatBoost represents TL type `messageChatBoost#5e5f658b`.
type MessageChatBoost struct {
// Number of times the chat was boosted
BoostCount int32
}
// MessageChatBoostTypeID is TL type id of MessageChatBoost.
const MessageChatBoostTypeID = 0x5e5f658b
// construct implements constructor of MessageContentClass.
func (m MessageChatBoost) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatBoost.
var (
_ bin.Encoder = &MessageChatBoost{}
_ bin.Decoder = &MessageChatBoost{}
_ bin.BareEncoder = &MessageChatBoost{}
_ bin.BareDecoder = &MessageChatBoost{}
_ MessageContentClass = &MessageChatBoost{}
)
func (m *MessageChatBoost) Zero() bool {
if m == nil {
return true
}
if !(m.BoostCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatBoost) String() string {
if m == nil {
return "MessageChatBoost(nil)"
}
type Alias MessageChatBoost
return fmt.Sprintf("MessageChatBoost%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatBoost) TypeID() uint32 {
return MessageChatBoostTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatBoost) TypeName() string {
return "messageChatBoost"
}
// TypeInfo returns info about TL type.
func (m *MessageChatBoost) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatBoost",
ID: MessageChatBoostTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "BoostCount",
SchemaName: "boost_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatBoost) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatBoost#5e5f658b as nil")
}
b.PutID(MessageChatBoostTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatBoost) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatBoost#5e5f658b as nil")
}
b.PutInt32(m.BoostCount)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatBoost) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatBoost#5e5f658b to nil")
}
if err := b.ConsumeID(MessageChatBoostTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatBoost#5e5f658b: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatBoost) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatBoost#5e5f658b to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageChatBoost#5e5f658b: field boost_count: %w", err)
}
m.BoostCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatBoost) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatBoost#5e5f658b as nil")
}
b.ObjStart()
b.PutID("messageChatBoost")
b.Comma()
b.FieldStart("boost_count")
b.PutInt32(m.BoostCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatBoost) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatBoost#5e5f658b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatBoost"); err != nil {
return fmt.Errorf("unable to decode messageChatBoost#5e5f658b: %w", err)
}
case "boost_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageChatBoost#5e5f658b: field boost_count: %w", err)
}
m.BoostCount = value
default:
return b.Skip()
}
return nil
})
}
// GetBoostCount returns value of BoostCount field.
func (m *MessageChatBoost) GetBoostCount() (value int32) {
if m == nil {
return
}
return m.BoostCount
}
// MessageForumTopicCreated represents TL type `messageForumTopicCreated#b8ce47d1`.
type MessageForumTopicCreated struct {
// Name of the topic
Name string
// Icon of the topic
Icon ForumTopicIcon
}
// MessageForumTopicCreatedTypeID is TL type id of MessageForumTopicCreated.
const MessageForumTopicCreatedTypeID = 0xb8ce47d1
// construct implements constructor of MessageContentClass.
func (m MessageForumTopicCreated) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageForumTopicCreated.
var (
_ bin.Encoder = &MessageForumTopicCreated{}
_ bin.Decoder = &MessageForumTopicCreated{}
_ bin.BareEncoder = &MessageForumTopicCreated{}
_ bin.BareDecoder = &MessageForumTopicCreated{}
_ MessageContentClass = &MessageForumTopicCreated{}
)
func (m *MessageForumTopicCreated) Zero() bool {
if m == nil {
return true
}
if !(m.Name == "") {
return false
}
if !(m.Icon.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageForumTopicCreated) String() string {
if m == nil {
return "MessageForumTopicCreated(nil)"
}
type Alias MessageForumTopicCreated
return fmt.Sprintf("MessageForumTopicCreated%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageForumTopicCreated) TypeID() uint32 {
return MessageForumTopicCreatedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageForumTopicCreated) TypeName() string {
return "messageForumTopicCreated"
}
// TypeInfo returns info about TL type.
func (m *MessageForumTopicCreated) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageForumTopicCreated",
ID: MessageForumTopicCreatedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Name",
SchemaName: "name",
},
{
Name: "Icon",
SchemaName: "icon",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageForumTopicCreated) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicCreated#b8ce47d1 as nil")
}
b.PutID(MessageForumTopicCreatedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageForumTopicCreated) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicCreated#b8ce47d1 as nil")
}
b.PutString(m.Name)
if err := m.Icon.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageForumTopicCreated#b8ce47d1: field icon: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageForumTopicCreated) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicCreated#b8ce47d1 to nil")
}
if err := b.ConsumeID(MessageForumTopicCreatedTypeID); err != nil {
return fmt.Errorf("unable to decode messageForumTopicCreated#b8ce47d1: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageForumTopicCreated) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicCreated#b8ce47d1 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicCreated#b8ce47d1: field name: %w", err)
}
m.Name = value
}
{
if err := m.Icon.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageForumTopicCreated#b8ce47d1: field icon: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageForumTopicCreated) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicCreated#b8ce47d1 as nil")
}
b.ObjStart()
b.PutID("messageForumTopicCreated")
b.Comma()
b.FieldStart("name")
b.PutString(m.Name)
b.Comma()
b.FieldStart("icon")
if err := m.Icon.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageForumTopicCreated#b8ce47d1: field icon: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageForumTopicCreated) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicCreated#b8ce47d1 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageForumTopicCreated"); err != nil {
return fmt.Errorf("unable to decode messageForumTopicCreated#b8ce47d1: %w", err)
}
case "name":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicCreated#b8ce47d1: field name: %w", err)
}
m.Name = value
case "icon":
if err := m.Icon.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageForumTopicCreated#b8ce47d1: field icon: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetName returns value of Name field.
func (m *MessageForumTopicCreated) GetName() (value string) {
if m == nil {
return
}
return m.Name
}
// GetIcon returns value of Icon field.
func (m *MessageForumTopicCreated) GetIcon() (value ForumTopicIcon) {
if m == nil {
return
}
return m.Icon
}
// MessageForumTopicEdited represents TL type `messageForumTopicEdited#c0b780`.
type MessageForumTopicEdited struct {
// If non-empty, the new name of the topic
Name string
// True, if icon's custom_emoji_id is changed
EditIconCustomEmojiID bool
// New unique identifier of the custom emoji shown on the topic icon; 0 if none. Must be
// ignored if edit_icon_custom_emoji_id is false
IconCustomEmojiID int64
}
// MessageForumTopicEditedTypeID is TL type id of MessageForumTopicEdited.
const MessageForumTopicEditedTypeID = 0xc0b780
// construct implements constructor of MessageContentClass.
func (m MessageForumTopicEdited) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageForumTopicEdited.
var (
_ bin.Encoder = &MessageForumTopicEdited{}
_ bin.Decoder = &MessageForumTopicEdited{}
_ bin.BareEncoder = &MessageForumTopicEdited{}
_ bin.BareDecoder = &MessageForumTopicEdited{}
_ MessageContentClass = &MessageForumTopicEdited{}
)
func (m *MessageForumTopicEdited) Zero() bool {
if m == nil {
return true
}
if !(m.Name == "") {
return false
}
if !(m.EditIconCustomEmojiID == false) {
return false
}
if !(m.IconCustomEmojiID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageForumTopicEdited) String() string {
if m == nil {
return "MessageForumTopicEdited(nil)"
}
type Alias MessageForumTopicEdited
return fmt.Sprintf("MessageForumTopicEdited%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageForumTopicEdited) TypeID() uint32 {
return MessageForumTopicEditedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageForumTopicEdited) TypeName() string {
return "messageForumTopicEdited"
}
// TypeInfo returns info about TL type.
func (m *MessageForumTopicEdited) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageForumTopicEdited",
ID: MessageForumTopicEditedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Name",
SchemaName: "name",
},
{
Name: "EditIconCustomEmojiID",
SchemaName: "edit_icon_custom_emoji_id",
},
{
Name: "IconCustomEmojiID",
SchemaName: "icon_custom_emoji_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageForumTopicEdited) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicEdited#c0b780 as nil")
}
b.PutID(MessageForumTopicEditedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageForumTopicEdited) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicEdited#c0b780 as nil")
}
b.PutString(m.Name)
b.PutBool(m.EditIconCustomEmojiID)
b.PutLong(m.IconCustomEmojiID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageForumTopicEdited) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicEdited#c0b780 to nil")
}
if err := b.ConsumeID(MessageForumTopicEditedTypeID); err != nil {
return fmt.Errorf("unable to decode messageForumTopicEdited#c0b780: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageForumTopicEdited) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicEdited#c0b780 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicEdited#c0b780: field name: %w", err)
}
m.Name = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicEdited#c0b780: field edit_icon_custom_emoji_id: %w", err)
}
m.EditIconCustomEmojiID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicEdited#c0b780: field icon_custom_emoji_id: %w", err)
}
m.IconCustomEmojiID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageForumTopicEdited) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicEdited#c0b780 as nil")
}
b.ObjStart()
b.PutID("messageForumTopicEdited")
b.Comma()
b.FieldStart("name")
b.PutString(m.Name)
b.Comma()
b.FieldStart("edit_icon_custom_emoji_id")
b.PutBool(m.EditIconCustomEmojiID)
b.Comma()
b.FieldStart("icon_custom_emoji_id")
b.PutLong(m.IconCustomEmojiID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageForumTopicEdited) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicEdited#c0b780 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageForumTopicEdited"); err != nil {
return fmt.Errorf("unable to decode messageForumTopicEdited#c0b780: %w", err)
}
case "name":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicEdited#c0b780: field name: %w", err)
}
m.Name = value
case "edit_icon_custom_emoji_id":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicEdited#c0b780: field edit_icon_custom_emoji_id: %w", err)
}
m.EditIconCustomEmojiID = value
case "icon_custom_emoji_id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicEdited#c0b780: field icon_custom_emoji_id: %w", err)
}
m.IconCustomEmojiID = value
default:
return b.Skip()
}
return nil
})
}
// GetName returns value of Name field.
func (m *MessageForumTopicEdited) GetName() (value string) {
if m == nil {
return
}
return m.Name
}
// GetEditIconCustomEmojiID returns value of EditIconCustomEmojiID field.
func (m *MessageForumTopicEdited) GetEditIconCustomEmojiID() (value bool) {
if m == nil {
return
}
return m.EditIconCustomEmojiID
}
// GetIconCustomEmojiID returns value of IconCustomEmojiID field.
func (m *MessageForumTopicEdited) GetIconCustomEmojiID() (value int64) {
if m == nil {
return
}
return m.IconCustomEmojiID
}
// MessageForumTopicIsClosedToggled represents TL type `messageForumTopicIsClosedToggled#4b578fe0`.
type MessageForumTopicIsClosedToggled struct {
// True, if the topic was closed; otherwise, the topic was reopened
IsClosed bool
}
// MessageForumTopicIsClosedToggledTypeID is TL type id of MessageForumTopicIsClosedToggled.
const MessageForumTopicIsClosedToggledTypeID = 0x4b578fe0
// construct implements constructor of MessageContentClass.
func (m MessageForumTopicIsClosedToggled) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageForumTopicIsClosedToggled.
var (
_ bin.Encoder = &MessageForumTopicIsClosedToggled{}
_ bin.Decoder = &MessageForumTopicIsClosedToggled{}
_ bin.BareEncoder = &MessageForumTopicIsClosedToggled{}
_ bin.BareDecoder = &MessageForumTopicIsClosedToggled{}
_ MessageContentClass = &MessageForumTopicIsClosedToggled{}
)
func (m *MessageForumTopicIsClosedToggled) Zero() bool {
if m == nil {
return true
}
if !(m.IsClosed == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageForumTopicIsClosedToggled) String() string {
if m == nil {
return "MessageForumTopicIsClosedToggled(nil)"
}
type Alias MessageForumTopicIsClosedToggled
return fmt.Sprintf("MessageForumTopicIsClosedToggled%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageForumTopicIsClosedToggled) TypeID() uint32 {
return MessageForumTopicIsClosedToggledTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageForumTopicIsClosedToggled) TypeName() string {
return "messageForumTopicIsClosedToggled"
}
// TypeInfo returns info about TL type.
func (m *MessageForumTopicIsClosedToggled) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageForumTopicIsClosedToggled",
ID: MessageForumTopicIsClosedToggledTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "IsClosed",
SchemaName: "is_closed",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageForumTopicIsClosedToggled) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicIsClosedToggled#4b578fe0 as nil")
}
b.PutID(MessageForumTopicIsClosedToggledTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageForumTopicIsClosedToggled) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicIsClosedToggled#4b578fe0 as nil")
}
b.PutBool(m.IsClosed)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageForumTopicIsClosedToggled) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicIsClosedToggled#4b578fe0 to nil")
}
if err := b.ConsumeID(MessageForumTopicIsClosedToggledTypeID); err != nil {
return fmt.Errorf("unable to decode messageForumTopicIsClosedToggled#4b578fe0: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageForumTopicIsClosedToggled) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicIsClosedToggled#4b578fe0 to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicIsClosedToggled#4b578fe0: field is_closed: %w", err)
}
m.IsClosed = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageForumTopicIsClosedToggled) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicIsClosedToggled#4b578fe0 as nil")
}
b.ObjStart()
b.PutID("messageForumTopicIsClosedToggled")
b.Comma()
b.FieldStart("is_closed")
b.PutBool(m.IsClosed)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageForumTopicIsClosedToggled) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicIsClosedToggled#4b578fe0 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageForumTopicIsClosedToggled"); err != nil {
return fmt.Errorf("unable to decode messageForumTopicIsClosedToggled#4b578fe0: %w", err)
}
case "is_closed":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicIsClosedToggled#4b578fe0: field is_closed: %w", err)
}
m.IsClosed = value
default:
return b.Skip()
}
return nil
})
}
// GetIsClosed returns value of IsClosed field.
func (m *MessageForumTopicIsClosedToggled) GetIsClosed() (value bool) {
if m == nil {
return
}
return m.IsClosed
}
// MessageForumTopicIsHiddenToggled represents TL type `messageForumTopicIsHiddenToggled#979393fe`.
type MessageForumTopicIsHiddenToggled struct {
// True, if the topic was hidden; otherwise, the topic was unhidden
IsHidden bool
}
// MessageForumTopicIsHiddenToggledTypeID is TL type id of MessageForumTopicIsHiddenToggled.
const MessageForumTopicIsHiddenToggledTypeID = 0x979393fe
// construct implements constructor of MessageContentClass.
func (m MessageForumTopicIsHiddenToggled) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageForumTopicIsHiddenToggled.
var (
_ bin.Encoder = &MessageForumTopicIsHiddenToggled{}
_ bin.Decoder = &MessageForumTopicIsHiddenToggled{}
_ bin.BareEncoder = &MessageForumTopicIsHiddenToggled{}
_ bin.BareDecoder = &MessageForumTopicIsHiddenToggled{}
_ MessageContentClass = &MessageForumTopicIsHiddenToggled{}
)
func (m *MessageForumTopicIsHiddenToggled) Zero() bool {
if m == nil {
return true
}
if !(m.IsHidden == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageForumTopicIsHiddenToggled) String() string {
if m == nil {
return "MessageForumTopicIsHiddenToggled(nil)"
}
type Alias MessageForumTopicIsHiddenToggled
return fmt.Sprintf("MessageForumTopicIsHiddenToggled%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageForumTopicIsHiddenToggled) TypeID() uint32 {
return MessageForumTopicIsHiddenToggledTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageForumTopicIsHiddenToggled) TypeName() string {
return "messageForumTopicIsHiddenToggled"
}
// TypeInfo returns info about TL type.
func (m *MessageForumTopicIsHiddenToggled) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageForumTopicIsHiddenToggled",
ID: MessageForumTopicIsHiddenToggledTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "IsHidden",
SchemaName: "is_hidden",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageForumTopicIsHiddenToggled) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicIsHiddenToggled#979393fe as nil")
}
b.PutID(MessageForumTopicIsHiddenToggledTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageForumTopicIsHiddenToggled) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicIsHiddenToggled#979393fe as nil")
}
b.PutBool(m.IsHidden)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageForumTopicIsHiddenToggled) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicIsHiddenToggled#979393fe to nil")
}
if err := b.ConsumeID(MessageForumTopicIsHiddenToggledTypeID); err != nil {
return fmt.Errorf("unable to decode messageForumTopicIsHiddenToggled#979393fe: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageForumTopicIsHiddenToggled) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicIsHiddenToggled#979393fe to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicIsHiddenToggled#979393fe: field is_hidden: %w", err)
}
m.IsHidden = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageForumTopicIsHiddenToggled) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageForumTopicIsHiddenToggled#979393fe as nil")
}
b.ObjStart()
b.PutID("messageForumTopicIsHiddenToggled")
b.Comma()
b.FieldStart("is_hidden")
b.PutBool(m.IsHidden)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageForumTopicIsHiddenToggled) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageForumTopicIsHiddenToggled#979393fe to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageForumTopicIsHiddenToggled"); err != nil {
return fmt.Errorf("unable to decode messageForumTopicIsHiddenToggled#979393fe: %w", err)
}
case "is_hidden":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageForumTopicIsHiddenToggled#979393fe: field is_hidden: %w", err)
}
m.IsHidden = value
default:
return b.Skip()
}
return nil
})
}
// GetIsHidden returns value of IsHidden field.
func (m *MessageForumTopicIsHiddenToggled) GetIsHidden() (value bool) {
if m == nil {
return
}
return m.IsHidden
}
// MessageSuggestProfilePhoto represents TL type `messageSuggestProfilePhoto#b5611ee7`.
type MessageSuggestProfilePhoto struct {
// The suggested chat photo. Use the method setProfilePhoto with inputChatPhotoPrevious
// to apply the photo
Photo ChatPhoto
}
// MessageSuggestProfilePhotoTypeID is TL type id of MessageSuggestProfilePhoto.
const MessageSuggestProfilePhotoTypeID = 0xb5611ee7
// construct implements constructor of MessageContentClass.
func (m MessageSuggestProfilePhoto) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageSuggestProfilePhoto.
var (
_ bin.Encoder = &MessageSuggestProfilePhoto{}
_ bin.Decoder = &MessageSuggestProfilePhoto{}
_ bin.BareEncoder = &MessageSuggestProfilePhoto{}
_ bin.BareDecoder = &MessageSuggestProfilePhoto{}
_ MessageContentClass = &MessageSuggestProfilePhoto{}
)
func (m *MessageSuggestProfilePhoto) Zero() bool {
if m == nil {
return true
}
if !(m.Photo.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageSuggestProfilePhoto) String() string {
if m == nil {
return "MessageSuggestProfilePhoto(nil)"
}
type Alias MessageSuggestProfilePhoto
return fmt.Sprintf("MessageSuggestProfilePhoto%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageSuggestProfilePhoto) TypeID() uint32 {
return MessageSuggestProfilePhotoTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageSuggestProfilePhoto) TypeName() string {
return "messageSuggestProfilePhoto"
}
// TypeInfo returns info about TL type.
func (m *MessageSuggestProfilePhoto) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageSuggestProfilePhoto",
ID: MessageSuggestProfilePhotoTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Photo",
SchemaName: "photo",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageSuggestProfilePhoto) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageSuggestProfilePhoto#b5611ee7 as nil")
}
b.PutID(MessageSuggestProfilePhotoTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageSuggestProfilePhoto) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageSuggestProfilePhoto#b5611ee7 as nil")
}
if err := m.Photo.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageSuggestProfilePhoto#b5611ee7: field photo: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageSuggestProfilePhoto) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageSuggestProfilePhoto#b5611ee7 to nil")
}
if err := b.ConsumeID(MessageSuggestProfilePhotoTypeID); err != nil {
return fmt.Errorf("unable to decode messageSuggestProfilePhoto#b5611ee7: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageSuggestProfilePhoto) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageSuggestProfilePhoto#b5611ee7 to nil")
}
{
if err := m.Photo.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageSuggestProfilePhoto#b5611ee7: field photo: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageSuggestProfilePhoto) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageSuggestProfilePhoto#b5611ee7 as nil")
}
b.ObjStart()
b.PutID("messageSuggestProfilePhoto")
b.Comma()
b.FieldStart("photo")
if err := m.Photo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageSuggestProfilePhoto#b5611ee7: field photo: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageSuggestProfilePhoto) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageSuggestProfilePhoto#b5611ee7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageSuggestProfilePhoto"); err != nil {
return fmt.Errorf("unable to decode messageSuggestProfilePhoto#b5611ee7: %w", err)
}
case "photo":
if err := m.Photo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageSuggestProfilePhoto#b5611ee7: field photo: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetPhoto returns value of Photo field.
func (m *MessageSuggestProfilePhoto) GetPhoto() (value ChatPhoto) {
if m == nil {
return
}
return m.Photo
}
// MessageCustomServiceAction represents TL type `messageCustomServiceAction#5595c772`.
type MessageCustomServiceAction struct {
// Message text to be shown in the chat
Text string
}
// MessageCustomServiceActionTypeID is TL type id of MessageCustomServiceAction.
const MessageCustomServiceActionTypeID = 0x5595c772
// construct implements constructor of MessageContentClass.
func (m MessageCustomServiceAction) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageCustomServiceAction.
var (
_ bin.Encoder = &MessageCustomServiceAction{}
_ bin.Decoder = &MessageCustomServiceAction{}
_ bin.BareEncoder = &MessageCustomServiceAction{}
_ bin.BareDecoder = &MessageCustomServiceAction{}
_ MessageContentClass = &MessageCustomServiceAction{}
)
func (m *MessageCustomServiceAction) Zero() bool {
if m == nil {
return true
}
if !(m.Text == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageCustomServiceAction) String() string {
if m == nil {
return "MessageCustomServiceAction(nil)"
}
type Alias MessageCustomServiceAction
return fmt.Sprintf("MessageCustomServiceAction%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageCustomServiceAction) TypeID() uint32 {
return MessageCustomServiceActionTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageCustomServiceAction) TypeName() string {
return "messageCustomServiceAction"
}
// TypeInfo returns info about TL type.
func (m *MessageCustomServiceAction) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageCustomServiceAction",
ID: MessageCustomServiceActionTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Text",
SchemaName: "text",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageCustomServiceAction) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageCustomServiceAction#5595c772 as nil")
}
b.PutID(MessageCustomServiceActionTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageCustomServiceAction) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageCustomServiceAction#5595c772 as nil")
}
b.PutString(m.Text)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageCustomServiceAction) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageCustomServiceAction#5595c772 to nil")
}
if err := b.ConsumeID(MessageCustomServiceActionTypeID); err != nil {
return fmt.Errorf("unable to decode messageCustomServiceAction#5595c772: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageCustomServiceAction) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageCustomServiceAction#5595c772 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageCustomServiceAction#5595c772: field text: %w", err)
}
m.Text = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageCustomServiceAction) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageCustomServiceAction#5595c772 as nil")
}
b.ObjStart()
b.PutID("messageCustomServiceAction")
b.Comma()
b.FieldStart("text")
b.PutString(m.Text)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageCustomServiceAction) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageCustomServiceAction#5595c772 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageCustomServiceAction"); err != nil {
return fmt.Errorf("unable to decode messageCustomServiceAction#5595c772: %w", err)
}
case "text":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageCustomServiceAction#5595c772: field text: %w", err)
}
m.Text = value
default:
return b.Skip()
}
return nil
})
}
// GetText returns value of Text field.
func (m *MessageCustomServiceAction) GetText() (value string) {
if m == nil {
return
}
return m.Text
}
// MessageGameScore represents TL type `messageGameScore#50299d7f`.
type MessageGameScore struct {
// Identifier of the message with the game, can be an identifier of a deleted message
GameMessageID int64
// Identifier of the game; may be different from the games presented in the message with
// the game
GameID int64
// New score
Score int32
}
// MessageGameScoreTypeID is TL type id of MessageGameScore.
const MessageGameScoreTypeID = 0x50299d7f
// construct implements constructor of MessageContentClass.
func (m MessageGameScore) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGameScore.
var (
_ bin.Encoder = &MessageGameScore{}
_ bin.Decoder = &MessageGameScore{}
_ bin.BareEncoder = &MessageGameScore{}
_ bin.BareDecoder = &MessageGameScore{}
_ MessageContentClass = &MessageGameScore{}
)
func (m *MessageGameScore) Zero() bool {
if m == nil {
return true
}
if !(m.GameMessageID == 0) {
return false
}
if !(m.GameID == 0) {
return false
}
if !(m.Score == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGameScore) String() string {
if m == nil {
return "MessageGameScore(nil)"
}
type Alias MessageGameScore
return fmt.Sprintf("MessageGameScore%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGameScore) TypeID() uint32 {
return MessageGameScoreTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGameScore) TypeName() string {
return "messageGameScore"
}
// TypeInfo returns info about TL type.
func (m *MessageGameScore) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGameScore",
ID: MessageGameScoreTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GameMessageID",
SchemaName: "game_message_id",
},
{
Name: "GameID",
SchemaName: "game_id",
},
{
Name: "Score",
SchemaName: "score",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGameScore) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGameScore#50299d7f as nil")
}
b.PutID(MessageGameScoreTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGameScore) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGameScore#50299d7f as nil")
}
b.PutInt53(m.GameMessageID)
b.PutLong(m.GameID)
b.PutInt32(m.Score)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGameScore) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGameScore#50299d7f to nil")
}
if err := b.ConsumeID(MessageGameScoreTypeID); err != nil {
return fmt.Errorf("unable to decode messageGameScore#50299d7f: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGameScore) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGameScore#50299d7f to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGameScore#50299d7f: field game_message_id: %w", err)
}
m.GameMessageID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messageGameScore#50299d7f: field game_id: %w", err)
}
m.GameID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGameScore#50299d7f: field score: %w", err)
}
m.Score = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGameScore) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGameScore#50299d7f as nil")
}
b.ObjStart()
b.PutID("messageGameScore")
b.Comma()
b.FieldStart("game_message_id")
b.PutInt53(m.GameMessageID)
b.Comma()
b.FieldStart("game_id")
b.PutLong(m.GameID)
b.Comma()
b.FieldStart("score")
b.PutInt32(m.Score)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGameScore) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGameScore#50299d7f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGameScore"); err != nil {
return fmt.Errorf("unable to decode messageGameScore#50299d7f: %w", err)
}
case "game_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGameScore#50299d7f: field game_message_id: %w", err)
}
m.GameMessageID = value
case "game_id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messageGameScore#50299d7f: field game_id: %w", err)
}
m.GameID = value
case "score":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGameScore#50299d7f: field score: %w", err)
}
m.Score = value
default:
return b.Skip()
}
return nil
})
}
// GetGameMessageID returns value of GameMessageID field.
func (m *MessageGameScore) GetGameMessageID() (value int64) {
if m == nil {
return
}
return m.GameMessageID
}
// GetGameID returns value of GameID field.
func (m *MessageGameScore) GetGameID() (value int64) {
if m == nil {
return
}
return m.GameID
}
// GetScore returns value of Score field.
func (m *MessageGameScore) GetScore() (value int32) {
if m == nil {
return
}
return m.Score
}
// MessagePaymentSuccessful represents TL type `messagePaymentSuccessful#3e661911`.
type MessagePaymentSuccessful struct {
// Identifier of the chat, containing the corresponding invoice message
InvoiceChatID int64
// Identifier of the message with the corresponding invoice; can be 0 or an identifier of
// a deleted message
InvoiceMessageID int64
// Currency for the price of the product
Currency string
// Total price for the product, in the smallest units of the currency
TotalAmount int64
// Point in time (Unix timestamp) when the subscription will expire; 0 if unknown or the
// payment isn't recurring
SubscriptionUntilDate int32
// True, if this is a recurring payment
IsRecurring bool
// True, if this is the first recurring payment
IsFirstRecurring bool
// Name of the invoice; may be empty if unknown
InvoiceName string
}
// MessagePaymentSuccessfulTypeID is TL type id of MessagePaymentSuccessful.
const MessagePaymentSuccessfulTypeID = 0x3e661911
// construct implements constructor of MessageContentClass.
func (m MessagePaymentSuccessful) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePaymentSuccessful.
var (
_ bin.Encoder = &MessagePaymentSuccessful{}
_ bin.Decoder = &MessagePaymentSuccessful{}
_ bin.BareEncoder = &MessagePaymentSuccessful{}
_ bin.BareDecoder = &MessagePaymentSuccessful{}
_ MessageContentClass = &MessagePaymentSuccessful{}
)
func (m *MessagePaymentSuccessful) Zero() bool {
if m == nil {
return true
}
if !(m.InvoiceChatID == 0) {
return false
}
if !(m.InvoiceMessageID == 0) {
return false
}
if !(m.Currency == "") {
return false
}
if !(m.TotalAmount == 0) {
return false
}
if !(m.SubscriptionUntilDate == 0) {
return false
}
if !(m.IsRecurring == false) {
return false
}
if !(m.IsFirstRecurring == false) {
return false
}
if !(m.InvoiceName == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePaymentSuccessful) String() string {
if m == nil {
return "MessagePaymentSuccessful(nil)"
}
type Alias MessagePaymentSuccessful
return fmt.Sprintf("MessagePaymentSuccessful%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePaymentSuccessful) TypeID() uint32 {
return MessagePaymentSuccessfulTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePaymentSuccessful) TypeName() string {
return "messagePaymentSuccessful"
}
// TypeInfo returns info about TL type.
func (m *MessagePaymentSuccessful) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePaymentSuccessful",
ID: MessagePaymentSuccessfulTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "InvoiceChatID",
SchemaName: "invoice_chat_id",
},
{
Name: "InvoiceMessageID",
SchemaName: "invoice_message_id",
},
{
Name: "Currency",
SchemaName: "currency",
},
{
Name: "TotalAmount",
SchemaName: "total_amount",
},
{
Name: "SubscriptionUntilDate",
SchemaName: "subscription_until_date",
},
{
Name: "IsRecurring",
SchemaName: "is_recurring",
},
{
Name: "IsFirstRecurring",
SchemaName: "is_first_recurring",
},
{
Name: "InvoiceName",
SchemaName: "invoice_name",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePaymentSuccessful) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaymentSuccessful#3e661911 as nil")
}
b.PutID(MessagePaymentSuccessfulTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePaymentSuccessful) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaymentSuccessful#3e661911 as nil")
}
b.PutInt53(m.InvoiceChatID)
b.PutInt53(m.InvoiceMessageID)
b.PutString(m.Currency)
b.PutInt53(m.TotalAmount)
b.PutInt32(m.SubscriptionUntilDate)
b.PutBool(m.IsRecurring)
b.PutBool(m.IsFirstRecurring)
b.PutString(m.InvoiceName)
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePaymentSuccessful) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaymentSuccessful#3e661911 to nil")
}
if err := b.ConsumeID(MessagePaymentSuccessfulTypeID); err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePaymentSuccessful) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaymentSuccessful#3e661911 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field invoice_chat_id: %w", err)
}
m.InvoiceChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field invoice_message_id: %w", err)
}
m.InvoiceMessageID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field currency: %w", err)
}
m.Currency = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field total_amount: %w", err)
}
m.TotalAmount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field subscription_until_date: %w", err)
}
m.SubscriptionUntilDate = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field is_recurring: %w", err)
}
m.IsRecurring = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field is_first_recurring: %w", err)
}
m.IsFirstRecurring = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field invoice_name: %w", err)
}
m.InvoiceName = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePaymentSuccessful) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePaymentSuccessful#3e661911 as nil")
}
b.ObjStart()
b.PutID("messagePaymentSuccessful")
b.Comma()
b.FieldStart("invoice_chat_id")
b.PutInt53(m.InvoiceChatID)
b.Comma()
b.FieldStart("invoice_message_id")
b.PutInt53(m.InvoiceMessageID)
b.Comma()
b.FieldStart("currency")
b.PutString(m.Currency)
b.Comma()
b.FieldStart("total_amount")
b.PutInt53(m.TotalAmount)
b.Comma()
b.FieldStart("subscription_until_date")
b.PutInt32(m.SubscriptionUntilDate)
b.Comma()
b.FieldStart("is_recurring")
b.PutBool(m.IsRecurring)
b.Comma()
b.FieldStart("is_first_recurring")
b.PutBool(m.IsFirstRecurring)
b.Comma()
b.FieldStart("invoice_name")
b.PutString(m.InvoiceName)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePaymentSuccessful) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePaymentSuccessful#3e661911 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePaymentSuccessful"); err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: %w", err)
}
case "invoice_chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field invoice_chat_id: %w", err)
}
m.InvoiceChatID = value
case "invoice_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field invoice_message_id: %w", err)
}
m.InvoiceMessageID = value
case "currency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field currency: %w", err)
}
m.Currency = value
case "total_amount":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field total_amount: %w", err)
}
m.TotalAmount = value
case "subscription_until_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field subscription_until_date: %w", err)
}
m.SubscriptionUntilDate = value
case "is_recurring":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field is_recurring: %w", err)
}
m.IsRecurring = value
case "is_first_recurring":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field is_first_recurring: %w", err)
}
m.IsFirstRecurring = value
case "invoice_name":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessful#3e661911: field invoice_name: %w", err)
}
m.InvoiceName = value
default:
return b.Skip()
}
return nil
})
}
// GetInvoiceChatID returns value of InvoiceChatID field.
func (m *MessagePaymentSuccessful) GetInvoiceChatID() (value int64) {
if m == nil {
return
}
return m.InvoiceChatID
}
// GetInvoiceMessageID returns value of InvoiceMessageID field.
func (m *MessagePaymentSuccessful) GetInvoiceMessageID() (value int64) {
if m == nil {
return
}
return m.InvoiceMessageID
}
// GetCurrency returns value of Currency field.
func (m *MessagePaymentSuccessful) GetCurrency() (value string) {
if m == nil {
return
}
return m.Currency
}
// GetTotalAmount returns value of TotalAmount field.
func (m *MessagePaymentSuccessful) GetTotalAmount() (value int64) {
if m == nil {
return
}
return m.TotalAmount
}
// GetSubscriptionUntilDate returns value of SubscriptionUntilDate field.
func (m *MessagePaymentSuccessful) GetSubscriptionUntilDate() (value int32) {
if m == nil {
return
}
return m.SubscriptionUntilDate
}
// GetIsRecurring returns value of IsRecurring field.
func (m *MessagePaymentSuccessful) GetIsRecurring() (value bool) {
if m == nil {
return
}
return m.IsRecurring
}
// GetIsFirstRecurring returns value of IsFirstRecurring field.
func (m *MessagePaymentSuccessful) GetIsFirstRecurring() (value bool) {
if m == nil {
return
}
return m.IsFirstRecurring
}
// GetInvoiceName returns value of InvoiceName field.
func (m *MessagePaymentSuccessful) GetInvoiceName() (value string) {
if m == nil {
return
}
return m.InvoiceName
}
// MessagePaymentSuccessfulBot represents TL type `messagePaymentSuccessfulBot#c7664dbf`.
type MessagePaymentSuccessfulBot struct {
// Currency for price of the product
Currency string
// Total price for the product, in the smallest units of the currency
TotalAmount int64
// Point in time (Unix timestamp) when the subscription will expire; 0 if unknown or the
// payment isn't recurring
SubscriptionUntilDate int32
// True, if this is a recurring payment
IsRecurring bool
// True, if this is the first recurring payment
IsFirstRecurring bool
// Invoice payload
InvoicePayload []byte
// Identifier of the shipping option chosen by the user; may be empty if not applicable;
// for bots only
ShippingOptionID string
// Information about the order; may be null; for bots only
OrderInfo OrderInfo
// Telegram payment identifier
TelegramPaymentChargeID string
// Provider payment identifier
ProviderPaymentChargeID string
}
// MessagePaymentSuccessfulBotTypeID is TL type id of MessagePaymentSuccessfulBot.
const MessagePaymentSuccessfulBotTypeID = 0xc7664dbf
// construct implements constructor of MessageContentClass.
func (m MessagePaymentSuccessfulBot) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePaymentSuccessfulBot.
var (
_ bin.Encoder = &MessagePaymentSuccessfulBot{}
_ bin.Decoder = &MessagePaymentSuccessfulBot{}
_ bin.BareEncoder = &MessagePaymentSuccessfulBot{}
_ bin.BareDecoder = &MessagePaymentSuccessfulBot{}
_ MessageContentClass = &MessagePaymentSuccessfulBot{}
)
func (m *MessagePaymentSuccessfulBot) Zero() bool {
if m == nil {
return true
}
if !(m.Currency == "") {
return false
}
if !(m.TotalAmount == 0) {
return false
}
if !(m.SubscriptionUntilDate == 0) {
return false
}
if !(m.IsRecurring == false) {
return false
}
if !(m.IsFirstRecurring == false) {
return false
}
if !(m.InvoicePayload == nil) {
return false
}
if !(m.ShippingOptionID == "") {
return false
}
if !(m.OrderInfo.Zero()) {
return false
}
if !(m.TelegramPaymentChargeID == "") {
return false
}
if !(m.ProviderPaymentChargeID == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePaymentSuccessfulBot) String() string {
if m == nil {
return "MessagePaymentSuccessfulBot(nil)"
}
type Alias MessagePaymentSuccessfulBot
return fmt.Sprintf("MessagePaymentSuccessfulBot%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePaymentSuccessfulBot) TypeID() uint32 {
return MessagePaymentSuccessfulBotTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePaymentSuccessfulBot) TypeName() string {
return "messagePaymentSuccessfulBot"
}
// TypeInfo returns info about TL type.
func (m *MessagePaymentSuccessfulBot) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePaymentSuccessfulBot",
ID: MessagePaymentSuccessfulBotTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Currency",
SchemaName: "currency",
},
{
Name: "TotalAmount",
SchemaName: "total_amount",
},
{
Name: "SubscriptionUntilDate",
SchemaName: "subscription_until_date",
},
{
Name: "IsRecurring",
SchemaName: "is_recurring",
},
{
Name: "IsFirstRecurring",
SchemaName: "is_first_recurring",
},
{
Name: "InvoicePayload",
SchemaName: "invoice_payload",
},
{
Name: "ShippingOptionID",
SchemaName: "shipping_option_id",
},
{
Name: "OrderInfo",
SchemaName: "order_info",
},
{
Name: "TelegramPaymentChargeID",
SchemaName: "telegram_payment_charge_id",
},
{
Name: "ProviderPaymentChargeID",
SchemaName: "provider_payment_charge_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePaymentSuccessfulBot) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaymentSuccessfulBot#c7664dbf as nil")
}
b.PutID(MessagePaymentSuccessfulBotTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePaymentSuccessfulBot) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaymentSuccessfulBot#c7664dbf as nil")
}
b.PutString(m.Currency)
b.PutInt53(m.TotalAmount)
b.PutInt32(m.SubscriptionUntilDate)
b.PutBool(m.IsRecurring)
b.PutBool(m.IsFirstRecurring)
b.PutBytes(m.InvoicePayload)
b.PutString(m.ShippingOptionID)
if err := m.OrderInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePaymentSuccessfulBot#c7664dbf: field order_info: %w", err)
}
b.PutString(m.TelegramPaymentChargeID)
b.PutString(m.ProviderPaymentChargeID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePaymentSuccessfulBot) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaymentSuccessfulBot#c7664dbf to nil")
}
if err := b.ConsumeID(MessagePaymentSuccessfulBotTypeID); err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePaymentSuccessfulBot) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaymentSuccessfulBot#c7664dbf to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field currency: %w", err)
}
m.Currency = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field total_amount: %w", err)
}
m.TotalAmount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field subscription_until_date: %w", err)
}
m.SubscriptionUntilDate = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field is_recurring: %w", err)
}
m.IsRecurring = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field is_first_recurring: %w", err)
}
m.IsFirstRecurring = value
}
{
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field invoice_payload: %w", err)
}
m.InvoicePayload = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field shipping_option_id: %w", err)
}
m.ShippingOptionID = value
}
{
if err := m.OrderInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field order_info: %w", err)
}
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field telegram_payment_charge_id: %w", err)
}
m.TelegramPaymentChargeID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field provider_payment_charge_id: %w", err)
}
m.ProviderPaymentChargeID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePaymentSuccessfulBot) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePaymentSuccessfulBot#c7664dbf as nil")
}
b.ObjStart()
b.PutID("messagePaymentSuccessfulBot")
b.Comma()
b.FieldStart("currency")
b.PutString(m.Currency)
b.Comma()
b.FieldStart("total_amount")
b.PutInt53(m.TotalAmount)
b.Comma()
b.FieldStart("subscription_until_date")
b.PutInt32(m.SubscriptionUntilDate)
b.Comma()
b.FieldStart("is_recurring")
b.PutBool(m.IsRecurring)
b.Comma()
b.FieldStart("is_first_recurring")
b.PutBool(m.IsFirstRecurring)
b.Comma()
b.FieldStart("invoice_payload")
b.PutBytes(m.InvoicePayload)
b.Comma()
b.FieldStart("shipping_option_id")
b.PutString(m.ShippingOptionID)
b.Comma()
b.FieldStart("order_info")
if err := m.OrderInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePaymentSuccessfulBot#c7664dbf: field order_info: %w", err)
}
b.Comma()
b.FieldStart("telegram_payment_charge_id")
b.PutString(m.TelegramPaymentChargeID)
b.Comma()
b.FieldStart("provider_payment_charge_id")
b.PutString(m.ProviderPaymentChargeID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePaymentSuccessfulBot) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePaymentSuccessfulBot#c7664dbf to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePaymentSuccessfulBot"); err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: %w", err)
}
case "currency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field currency: %w", err)
}
m.Currency = value
case "total_amount":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field total_amount: %w", err)
}
m.TotalAmount = value
case "subscription_until_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field subscription_until_date: %w", err)
}
m.SubscriptionUntilDate = value
case "is_recurring":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field is_recurring: %w", err)
}
m.IsRecurring = value
case "is_first_recurring":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field is_first_recurring: %w", err)
}
m.IsFirstRecurring = value
case "invoice_payload":
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field invoice_payload: %w", err)
}
m.InvoicePayload = value
case "shipping_option_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field shipping_option_id: %w", err)
}
m.ShippingOptionID = value
case "order_info":
if err := m.OrderInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field order_info: %w", err)
}
case "telegram_payment_charge_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field telegram_payment_charge_id: %w", err)
}
m.TelegramPaymentChargeID = value
case "provider_payment_charge_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentSuccessfulBot#c7664dbf: field provider_payment_charge_id: %w", err)
}
m.ProviderPaymentChargeID = value
default:
return b.Skip()
}
return nil
})
}
// GetCurrency returns value of Currency field.
func (m *MessagePaymentSuccessfulBot) GetCurrency() (value string) {
if m == nil {
return
}
return m.Currency
}
// GetTotalAmount returns value of TotalAmount field.
func (m *MessagePaymentSuccessfulBot) GetTotalAmount() (value int64) {
if m == nil {
return
}
return m.TotalAmount
}
// GetSubscriptionUntilDate returns value of SubscriptionUntilDate field.
func (m *MessagePaymentSuccessfulBot) GetSubscriptionUntilDate() (value int32) {
if m == nil {
return
}
return m.SubscriptionUntilDate
}
// GetIsRecurring returns value of IsRecurring field.
func (m *MessagePaymentSuccessfulBot) GetIsRecurring() (value bool) {
if m == nil {
return
}
return m.IsRecurring
}
// GetIsFirstRecurring returns value of IsFirstRecurring field.
func (m *MessagePaymentSuccessfulBot) GetIsFirstRecurring() (value bool) {
if m == nil {
return
}
return m.IsFirstRecurring
}
// GetInvoicePayload returns value of InvoicePayload field.
func (m *MessagePaymentSuccessfulBot) GetInvoicePayload() (value []byte) {
if m == nil {
return
}
return m.InvoicePayload
}
// GetShippingOptionID returns value of ShippingOptionID field.
func (m *MessagePaymentSuccessfulBot) GetShippingOptionID() (value string) {
if m == nil {
return
}
return m.ShippingOptionID
}
// GetOrderInfo returns value of OrderInfo field.
func (m *MessagePaymentSuccessfulBot) GetOrderInfo() (value OrderInfo) {
if m == nil {
return
}
return m.OrderInfo
}
// GetTelegramPaymentChargeID returns value of TelegramPaymentChargeID field.
func (m *MessagePaymentSuccessfulBot) GetTelegramPaymentChargeID() (value string) {
if m == nil {
return
}
return m.TelegramPaymentChargeID
}
// GetProviderPaymentChargeID returns value of ProviderPaymentChargeID field.
func (m *MessagePaymentSuccessfulBot) GetProviderPaymentChargeID() (value string) {
if m == nil {
return
}
return m.ProviderPaymentChargeID
}
// MessagePaymentRefunded represents TL type `messagePaymentRefunded#11bcb8f3`.
type MessagePaymentRefunded struct {
// Identifier of the previous owner of the Telegram Stars that refunds them
OwnerID MessageSenderClass
// Currency for the price of the product
Currency string
// Total price for the product, in the smallest units of the currency
TotalAmount int64
// Invoice payload; only for bots
InvoicePayload []byte
// Telegram payment identifier
TelegramPaymentChargeID string
// Provider payment identifier
ProviderPaymentChargeID string
}
// MessagePaymentRefundedTypeID is TL type id of MessagePaymentRefunded.
const MessagePaymentRefundedTypeID = 0x11bcb8f3
// construct implements constructor of MessageContentClass.
func (m MessagePaymentRefunded) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePaymentRefunded.
var (
_ bin.Encoder = &MessagePaymentRefunded{}
_ bin.Decoder = &MessagePaymentRefunded{}
_ bin.BareEncoder = &MessagePaymentRefunded{}
_ bin.BareDecoder = &MessagePaymentRefunded{}
_ MessageContentClass = &MessagePaymentRefunded{}
)
func (m *MessagePaymentRefunded) Zero() bool {
if m == nil {
return true
}
if !(m.OwnerID == nil) {
return false
}
if !(m.Currency == "") {
return false
}
if !(m.TotalAmount == 0) {
return false
}
if !(m.InvoicePayload == nil) {
return false
}
if !(m.TelegramPaymentChargeID == "") {
return false
}
if !(m.ProviderPaymentChargeID == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePaymentRefunded) String() string {
if m == nil {
return "MessagePaymentRefunded(nil)"
}
type Alias MessagePaymentRefunded
return fmt.Sprintf("MessagePaymentRefunded%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePaymentRefunded) TypeID() uint32 {
return MessagePaymentRefundedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePaymentRefunded) TypeName() string {
return "messagePaymentRefunded"
}
// TypeInfo returns info about TL type.
func (m *MessagePaymentRefunded) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePaymentRefunded",
ID: MessagePaymentRefundedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "OwnerID",
SchemaName: "owner_id",
},
{
Name: "Currency",
SchemaName: "currency",
},
{
Name: "TotalAmount",
SchemaName: "total_amount",
},
{
Name: "InvoicePayload",
SchemaName: "invoice_payload",
},
{
Name: "TelegramPaymentChargeID",
SchemaName: "telegram_payment_charge_id",
},
{
Name: "ProviderPaymentChargeID",
SchemaName: "provider_payment_charge_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePaymentRefunded) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaymentRefunded#11bcb8f3 as nil")
}
b.PutID(MessagePaymentRefundedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePaymentRefunded) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaymentRefunded#11bcb8f3 as nil")
}
if m.OwnerID == nil {
return fmt.Errorf("unable to encode messagePaymentRefunded#11bcb8f3: field owner_id is nil")
}
if err := m.OwnerID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePaymentRefunded#11bcb8f3: field owner_id: %w", err)
}
b.PutString(m.Currency)
b.PutInt53(m.TotalAmount)
b.PutBytes(m.InvoicePayload)
b.PutString(m.TelegramPaymentChargeID)
b.PutString(m.ProviderPaymentChargeID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePaymentRefunded) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaymentRefunded#11bcb8f3 to nil")
}
if err := b.ConsumeID(MessagePaymentRefundedTypeID); err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePaymentRefunded) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaymentRefunded#11bcb8f3 to nil")
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field owner_id: %w", err)
}
m.OwnerID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field currency: %w", err)
}
m.Currency = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field total_amount: %w", err)
}
m.TotalAmount = value
}
{
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field invoice_payload: %w", err)
}
m.InvoicePayload = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field telegram_payment_charge_id: %w", err)
}
m.TelegramPaymentChargeID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field provider_payment_charge_id: %w", err)
}
m.ProviderPaymentChargeID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePaymentRefunded) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePaymentRefunded#11bcb8f3 as nil")
}
b.ObjStart()
b.PutID("messagePaymentRefunded")
b.Comma()
b.FieldStart("owner_id")
if m.OwnerID == nil {
return fmt.Errorf("unable to encode messagePaymentRefunded#11bcb8f3: field owner_id is nil")
}
if err := m.OwnerID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePaymentRefunded#11bcb8f3: field owner_id: %w", err)
}
b.Comma()
b.FieldStart("currency")
b.PutString(m.Currency)
b.Comma()
b.FieldStart("total_amount")
b.PutInt53(m.TotalAmount)
b.Comma()
b.FieldStart("invoice_payload")
b.PutBytes(m.InvoicePayload)
b.Comma()
b.FieldStart("telegram_payment_charge_id")
b.PutString(m.TelegramPaymentChargeID)
b.Comma()
b.FieldStart("provider_payment_charge_id")
b.PutString(m.ProviderPaymentChargeID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePaymentRefunded) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePaymentRefunded#11bcb8f3 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePaymentRefunded"); err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: %w", err)
}
case "owner_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field owner_id: %w", err)
}
m.OwnerID = value
case "currency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field currency: %w", err)
}
m.Currency = value
case "total_amount":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field total_amount: %w", err)
}
m.TotalAmount = value
case "invoice_payload":
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field invoice_payload: %w", err)
}
m.InvoicePayload = value
case "telegram_payment_charge_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field telegram_payment_charge_id: %w", err)
}
m.TelegramPaymentChargeID = value
case "provider_payment_charge_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePaymentRefunded#11bcb8f3: field provider_payment_charge_id: %w", err)
}
m.ProviderPaymentChargeID = value
default:
return b.Skip()
}
return nil
})
}
// GetOwnerID returns value of OwnerID field.
func (m *MessagePaymentRefunded) GetOwnerID() (value MessageSenderClass) {
if m == nil {
return
}
return m.OwnerID
}
// GetCurrency returns value of Currency field.
func (m *MessagePaymentRefunded) GetCurrency() (value string) {
if m == nil {
return
}
return m.Currency
}
// GetTotalAmount returns value of TotalAmount field.
func (m *MessagePaymentRefunded) GetTotalAmount() (value int64) {
if m == nil {
return
}
return m.TotalAmount
}
// GetInvoicePayload returns value of InvoicePayload field.
func (m *MessagePaymentRefunded) GetInvoicePayload() (value []byte) {
if m == nil {
return
}
return m.InvoicePayload
}
// GetTelegramPaymentChargeID returns value of TelegramPaymentChargeID field.
func (m *MessagePaymentRefunded) GetTelegramPaymentChargeID() (value string) {
if m == nil {
return
}
return m.TelegramPaymentChargeID
}
// GetProviderPaymentChargeID returns value of ProviderPaymentChargeID field.
func (m *MessagePaymentRefunded) GetProviderPaymentChargeID() (value string) {
if m == nil {
return
}
return m.ProviderPaymentChargeID
}
// MessageGiftedPremium represents TL type `messageGiftedPremium#e4d0e07a`.
type MessageGiftedPremium struct {
// The identifier of a user that gifted Telegram Premium; 0 if the gift was anonymous or
// is outgoing
GifterUserID int64
// The identifier of a user that received Telegram Premium; 0 if the gift is incoming
ReceiverUserID int64
// Message added to the gifted Telegram Premium by the sender
Text FormattedText
// Currency for the paid amount
Currency string
// The paid amount, in the smallest units of the currency
Amount int64
// Cryptocurrency used to pay for the gift; may be empty if none
Cryptocurrency string
// The paid amount, in the smallest units of the cryptocurrency; 0 if none
CryptocurrencyAmount int64
// Number of months the Telegram Premium subscription will be active
MonthCount int32
// A sticker to be shown in the message; may be null if unknown
Sticker Sticker
}
// MessageGiftedPremiumTypeID is TL type id of MessageGiftedPremium.
const MessageGiftedPremiumTypeID = 0xe4d0e07a
// construct implements constructor of MessageContentClass.
func (m MessageGiftedPremium) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGiftedPremium.
var (
_ bin.Encoder = &MessageGiftedPremium{}
_ bin.Decoder = &MessageGiftedPremium{}
_ bin.BareEncoder = &MessageGiftedPremium{}
_ bin.BareDecoder = &MessageGiftedPremium{}
_ MessageContentClass = &MessageGiftedPremium{}
)
func (m *MessageGiftedPremium) Zero() bool {
if m == nil {
return true
}
if !(m.GifterUserID == 0) {
return false
}
if !(m.ReceiverUserID == 0) {
return false
}
if !(m.Text.Zero()) {
return false
}
if !(m.Currency == "") {
return false
}
if !(m.Amount == 0) {
return false
}
if !(m.Cryptocurrency == "") {
return false
}
if !(m.CryptocurrencyAmount == 0) {
return false
}
if !(m.MonthCount == 0) {
return false
}
if !(m.Sticker.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGiftedPremium) String() string {
if m == nil {
return "MessageGiftedPremium(nil)"
}
type Alias MessageGiftedPremium
return fmt.Sprintf("MessageGiftedPremium%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGiftedPremium) TypeID() uint32 {
return MessageGiftedPremiumTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGiftedPremium) TypeName() string {
return "messageGiftedPremium"
}
// TypeInfo returns info about TL type.
func (m *MessageGiftedPremium) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGiftedPremium",
ID: MessageGiftedPremiumTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GifterUserID",
SchemaName: "gifter_user_id",
},
{
Name: "ReceiverUserID",
SchemaName: "receiver_user_id",
},
{
Name: "Text",
SchemaName: "text",
},
{
Name: "Currency",
SchemaName: "currency",
},
{
Name: "Amount",
SchemaName: "amount",
},
{
Name: "Cryptocurrency",
SchemaName: "cryptocurrency",
},
{
Name: "CryptocurrencyAmount",
SchemaName: "cryptocurrency_amount",
},
{
Name: "MonthCount",
SchemaName: "month_count",
},
{
Name: "Sticker",
SchemaName: "sticker",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGiftedPremium) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiftedPremium#e4d0e07a as nil")
}
b.PutID(MessageGiftedPremiumTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGiftedPremium) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiftedPremium#e4d0e07a as nil")
}
b.PutInt53(m.GifterUserID)
b.PutInt53(m.ReceiverUserID)
if err := m.Text.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGiftedPremium#e4d0e07a: field text: %w", err)
}
b.PutString(m.Currency)
b.PutInt53(m.Amount)
b.PutString(m.Cryptocurrency)
b.PutLong(m.CryptocurrencyAmount)
b.PutInt32(m.MonthCount)
if err := m.Sticker.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGiftedPremium#e4d0e07a: field sticker: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGiftedPremium) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiftedPremium#e4d0e07a to nil")
}
if err := b.ConsumeID(MessageGiftedPremiumTypeID); err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGiftedPremium) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiftedPremium#e4d0e07a to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field gifter_user_id: %w", err)
}
m.GifterUserID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field receiver_user_id: %w", err)
}
m.ReceiverUserID = value
}
{
if err := m.Text.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field text: %w", err)
}
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field currency: %w", err)
}
m.Currency = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field amount: %w", err)
}
m.Amount = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field cryptocurrency: %w", err)
}
m.Cryptocurrency = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field cryptocurrency_amount: %w", err)
}
m.CryptocurrencyAmount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field month_count: %w", err)
}
m.MonthCount = value
}
{
if err := m.Sticker.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field sticker: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGiftedPremium) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGiftedPremium#e4d0e07a as nil")
}
b.ObjStart()
b.PutID("messageGiftedPremium")
b.Comma()
b.FieldStart("gifter_user_id")
b.PutInt53(m.GifterUserID)
b.Comma()
b.FieldStart("receiver_user_id")
b.PutInt53(m.ReceiverUserID)
b.Comma()
b.FieldStart("text")
if err := m.Text.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGiftedPremium#e4d0e07a: field text: %w", err)
}
b.Comma()
b.FieldStart("currency")
b.PutString(m.Currency)
b.Comma()
b.FieldStart("amount")
b.PutInt53(m.Amount)
b.Comma()
b.FieldStart("cryptocurrency")
b.PutString(m.Cryptocurrency)
b.Comma()
b.FieldStart("cryptocurrency_amount")
b.PutLong(m.CryptocurrencyAmount)
b.Comma()
b.FieldStart("month_count")
b.PutInt32(m.MonthCount)
b.Comma()
b.FieldStart("sticker")
if err := m.Sticker.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGiftedPremium#e4d0e07a: field sticker: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGiftedPremium) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGiftedPremium#e4d0e07a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGiftedPremium"); err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: %w", err)
}
case "gifter_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field gifter_user_id: %w", err)
}
m.GifterUserID = value
case "receiver_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field receiver_user_id: %w", err)
}
m.ReceiverUserID = value
case "text":
if err := m.Text.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field text: %w", err)
}
case "currency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field currency: %w", err)
}
m.Currency = value
case "amount":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field amount: %w", err)
}
m.Amount = value
case "cryptocurrency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field cryptocurrency: %w", err)
}
m.Cryptocurrency = value
case "cryptocurrency_amount":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field cryptocurrency_amount: %w", err)
}
m.CryptocurrencyAmount = value
case "month_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field month_count: %w", err)
}
m.MonthCount = value
case "sticker":
if err := m.Sticker.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageGiftedPremium#e4d0e07a: field sticker: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetGifterUserID returns value of GifterUserID field.
func (m *MessageGiftedPremium) GetGifterUserID() (value int64) {
if m == nil {
return
}
return m.GifterUserID
}
// GetReceiverUserID returns value of ReceiverUserID field.
func (m *MessageGiftedPremium) GetReceiverUserID() (value int64) {
if m == nil {
return
}
return m.ReceiverUserID
}
// GetText returns value of Text field.
func (m *MessageGiftedPremium) GetText() (value FormattedText) {
if m == nil {
return
}
return m.Text
}
// GetCurrency returns value of Currency field.
func (m *MessageGiftedPremium) GetCurrency() (value string) {
if m == nil {
return
}
return m.Currency
}
// GetAmount returns value of Amount field.
func (m *MessageGiftedPremium) GetAmount() (value int64) {
if m == nil {
return
}
return m.Amount
}
// GetCryptocurrency returns value of Cryptocurrency field.
func (m *MessageGiftedPremium) GetCryptocurrency() (value string) {
if m == nil {
return
}
return m.Cryptocurrency
}
// GetCryptocurrencyAmount returns value of CryptocurrencyAmount field.
func (m *MessageGiftedPremium) GetCryptocurrencyAmount() (value int64) {
if m == nil {
return
}
return m.CryptocurrencyAmount
}
// GetMonthCount returns value of MonthCount field.
func (m *MessageGiftedPremium) GetMonthCount() (value int32) {
if m == nil {
return
}
return m.MonthCount
}
// GetSticker returns value of Sticker field.
func (m *MessageGiftedPremium) GetSticker() (value Sticker) {
if m == nil {
return
}
return m.Sticker
}
// MessagePremiumGiftCode represents TL type `messagePremiumGiftCode#29d22e4e`.
type MessagePremiumGiftCode struct {
// Identifier of a chat or a user that created the gift code; may be null if unknown
CreatorID MessageSenderClass
// Message added to the gift
Text FormattedText
// True, if the gift code was created for a giveaway
IsFromGiveaway bool
// True, if the winner for the corresponding Telegram Premium subscription wasn't chosen
IsUnclaimed bool
// Currency for the paid amount; empty if unknown
Currency string
// The paid amount, in the smallest units of the currency; 0 if unknown
Amount int64
// Cryptocurrency used to pay for the gift; may be empty if none or unknown
Cryptocurrency string
// The paid amount, in the smallest units of the cryptocurrency; 0 if unknown
CryptocurrencyAmount int64
// Number of months the Telegram Premium subscription will be active after code
// activation
MonthCount int32
// A sticker to be shown in the message; may be null if unknown
Sticker Sticker
// The gift code
Code string
}
// MessagePremiumGiftCodeTypeID is TL type id of MessagePremiumGiftCode.
const MessagePremiumGiftCodeTypeID = 0x29d22e4e
// construct implements constructor of MessageContentClass.
func (m MessagePremiumGiftCode) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePremiumGiftCode.
var (
_ bin.Encoder = &MessagePremiumGiftCode{}
_ bin.Decoder = &MessagePremiumGiftCode{}
_ bin.BareEncoder = &MessagePremiumGiftCode{}
_ bin.BareDecoder = &MessagePremiumGiftCode{}
_ MessageContentClass = &MessagePremiumGiftCode{}
)
func (m *MessagePremiumGiftCode) Zero() bool {
if m == nil {
return true
}
if !(m.CreatorID == nil) {
return false
}
if !(m.Text.Zero()) {
return false
}
if !(m.IsFromGiveaway == false) {
return false
}
if !(m.IsUnclaimed == false) {
return false
}
if !(m.Currency == "") {
return false
}
if !(m.Amount == 0) {
return false
}
if !(m.Cryptocurrency == "") {
return false
}
if !(m.CryptocurrencyAmount == 0) {
return false
}
if !(m.MonthCount == 0) {
return false
}
if !(m.Sticker.Zero()) {
return false
}
if !(m.Code == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePremiumGiftCode) String() string {
if m == nil {
return "MessagePremiumGiftCode(nil)"
}
type Alias MessagePremiumGiftCode
return fmt.Sprintf("MessagePremiumGiftCode%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePremiumGiftCode) TypeID() uint32 {
return MessagePremiumGiftCodeTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePremiumGiftCode) TypeName() string {
return "messagePremiumGiftCode"
}
// TypeInfo returns info about TL type.
func (m *MessagePremiumGiftCode) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePremiumGiftCode",
ID: MessagePremiumGiftCodeTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "CreatorID",
SchemaName: "creator_id",
},
{
Name: "Text",
SchemaName: "text",
},
{
Name: "IsFromGiveaway",
SchemaName: "is_from_giveaway",
},
{
Name: "IsUnclaimed",
SchemaName: "is_unclaimed",
},
{
Name: "Currency",
SchemaName: "currency",
},
{
Name: "Amount",
SchemaName: "amount",
},
{
Name: "Cryptocurrency",
SchemaName: "cryptocurrency",
},
{
Name: "CryptocurrencyAmount",
SchemaName: "cryptocurrency_amount",
},
{
Name: "MonthCount",
SchemaName: "month_count",
},
{
Name: "Sticker",
SchemaName: "sticker",
},
{
Name: "Code",
SchemaName: "code",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePremiumGiftCode) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePremiumGiftCode#29d22e4e as nil")
}
b.PutID(MessagePremiumGiftCodeTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePremiumGiftCode) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePremiumGiftCode#29d22e4e as nil")
}
if m.CreatorID == nil {
return fmt.Errorf("unable to encode messagePremiumGiftCode#29d22e4e: field creator_id is nil")
}
if err := m.CreatorID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePremiumGiftCode#29d22e4e: field creator_id: %w", err)
}
if err := m.Text.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePremiumGiftCode#29d22e4e: field text: %w", err)
}
b.PutBool(m.IsFromGiveaway)
b.PutBool(m.IsUnclaimed)
b.PutString(m.Currency)
b.PutInt53(m.Amount)
b.PutString(m.Cryptocurrency)
b.PutLong(m.CryptocurrencyAmount)
b.PutInt32(m.MonthCount)
if err := m.Sticker.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePremiumGiftCode#29d22e4e: field sticker: %w", err)
}
b.PutString(m.Code)
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePremiumGiftCode) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePremiumGiftCode#29d22e4e to nil")
}
if err := b.ConsumeID(MessagePremiumGiftCodeTypeID); err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePremiumGiftCode) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePremiumGiftCode#29d22e4e to nil")
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field creator_id: %w", err)
}
m.CreatorID = value
}
{
if err := m.Text.Decode(b); err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field text: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field is_from_giveaway: %w", err)
}
m.IsFromGiveaway = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field is_unclaimed: %w", err)
}
m.IsUnclaimed = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field currency: %w", err)
}
m.Currency = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field amount: %w", err)
}
m.Amount = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field cryptocurrency: %w", err)
}
m.Cryptocurrency = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field cryptocurrency_amount: %w", err)
}
m.CryptocurrencyAmount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field month_count: %w", err)
}
m.MonthCount = value
}
{
if err := m.Sticker.Decode(b); err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field sticker: %w", err)
}
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field code: %w", err)
}
m.Code = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePremiumGiftCode) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePremiumGiftCode#29d22e4e as nil")
}
b.ObjStart()
b.PutID("messagePremiumGiftCode")
b.Comma()
b.FieldStart("creator_id")
if m.CreatorID == nil {
return fmt.Errorf("unable to encode messagePremiumGiftCode#29d22e4e: field creator_id is nil")
}
if err := m.CreatorID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePremiumGiftCode#29d22e4e: field creator_id: %w", err)
}
b.Comma()
b.FieldStart("text")
if err := m.Text.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePremiumGiftCode#29d22e4e: field text: %w", err)
}
b.Comma()
b.FieldStart("is_from_giveaway")
b.PutBool(m.IsFromGiveaway)
b.Comma()
b.FieldStart("is_unclaimed")
b.PutBool(m.IsUnclaimed)
b.Comma()
b.FieldStart("currency")
b.PutString(m.Currency)
b.Comma()
b.FieldStart("amount")
b.PutInt53(m.Amount)
b.Comma()
b.FieldStart("cryptocurrency")
b.PutString(m.Cryptocurrency)
b.Comma()
b.FieldStart("cryptocurrency_amount")
b.PutLong(m.CryptocurrencyAmount)
b.Comma()
b.FieldStart("month_count")
b.PutInt32(m.MonthCount)
b.Comma()
b.FieldStart("sticker")
if err := m.Sticker.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePremiumGiftCode#29d22e4e: field sticker: %w", err)
}
b.Comma()
b.FieldStart("code")
b.PutString(m.Code)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePremiumGiftCode) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePremiumGiftCode#29d22e4e to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePremiumGiftCode"); err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: %w", err)
}
case "creator_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field creator_id: %w", err)
}
m.CreatorID = value
case "text":
if err := m.Text.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field text: %w", err)
}
case "is_from_giveaway":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field is_from_giveaway: %w", err)
}
m.IsFromGiveaway = value
case "is_unclaimed":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field is_unclaimed: %w", err)
}
m.IsUnclaimed = value
case "currency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field currency: %w", err)
}
m.Currency = value
case "amount":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field amount: %w", err)
}
m.Amount = value
case "cryptocurrency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field cryptocurrency: %w", err)
}
m.Cryptocurrency = value
case "cryptocurrency_amount":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field cryptocurrency_amount: %w", err)
}
m.CryptocurrencyAmount = value
case "month_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field month_count: %w", err)
}
m.MonthCount = value
case "sticker":
if err := m.Sticker.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field sticker: %w", err)
}
case "code":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messagePremiumGiftCode#29d22e4e: field code: %w", err)
}
m.Code = value
default:
return b.Skip()
}
return nil
})
}
// GetCreatorID returns value of CreatorID field.
func (m *MessagePremiumGiftCode) GetCreatorID() (value MessageSenderClass) {
if m == nil {
return
}
return m.CreatorID
}
// GetText returns value of Text field.
func (m *MessagePremiumGiftCode) GetText() (value FormattedText) {
if m == nil {
return
}
return m.Text
}
// GetIsFromGiveaway returns value of IsFromGiveaway field.
func (m *MessagePremiumGiftCode) GetIsFromGiveaway() (value bool) {
if m == nil {
return
}
return m.IsFromGiveaway
}
// GetIsUnclaimed returns value of IsUnclaimed field.
func (m *MessagePremiumGiftCode) GetIsUnclaimed() (value bool) {
if m == nil {
return
}
return m.IsUnclaimed
}
// GetCurrency returns value of Currency field.
func (m *MessagePremiumGiftCode) GetCurrency() (value string) {
if m == nil {
return
}
return m.Currency
}
// GetAmount returns value of Amount field.
func (m *MessagePremiumGiftCode) GetAmount() (value int64) {
if m == nil {
return
}
return m.Amount
}
// GetCryptocurrency returns value of Cryptocurrency field.
func (m *MessagePremiumGiftCode) GetCryptocurrency() (value string) {
if m == nil {
return
}
return m.Cryptocurrency
}
// GetCryptocurrencyAmount returns value of CryptocurrencyAmount field.
func (m *MessagePremiumGiftCode) GetCryptocurrencyAmount() (value int64) {
if m == nil {
return
}
return m.CryptocurrencyAmount
}
// GetMonthCount returns value of MonthCount field.
func (m *MessagePremiumGiftCode) GetMonthCount() (value int32) {
if m == nil {
return
}
return m.MonthCount
}
// GetSticker returns value of Sticker field.
func (m *MessagePremiumGiftCode) GetSticker() (value Sticker) {
if m == nil {
return
}
return m.Sticker
}
// GetCode returns value of Code field.
func (m *MessagePremiumGiftCode) GetCode() (value string) {
if m == nil {
return
}
return m.Code
}
// MessageGiveawayCreated represents TL type `messageGiveawayCreated#39f3639f`.
type MessageGiveawayCreated struct {
// Number of Telegram Stars that will be shared by winners of the giveaway; 0 for
// Telegram Premium giveaways
StarCount int64
}
// MessageGiveawayCreatedTypeID is TL type id of MessageGiveawayCreated.
const MessageGiveawayCreatedTypeID = 0x39f3639f
// construct implements constructor of MessageContentClass.
func (m MessageGiveawayCreated) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGiveawayCreated.
var (
_ bin.Encoder = &MessageGiveawayCreated{}
_ bin.Decoder = &MessageGiveawayCreated{}
_ bin.BareEncoder = &MessageGiveawayCreated{}
_ bin.BareDecoder = &MessageGiveawayCreated{}
_ MessageContentClass = &MessageGiveawayCreated{}
)
func (m *MessageGiveawayCreated) Zero() bool {
if m == nil {
return true
}
if !(m.StarCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGiveawayCreated) String() string {
if m == nil {
return "MessageGiveawayCreated(nil)"
}
type Alias MessageGiveawayCreated
return fmt.Sprintf("MessageGiveawayCreated%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGiveawayCreated) TypeID() uint32 {
return MessageGiveawayCreatedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGiveawayCreated) TypeName() string {
return "messageGiveawayCreated"
}
// TypeInfo returns info about TL type.
func (m *MessageGiveawayCreated) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGiveawayCreated",
ID: MessageGiveawayCreatedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StarCount",
SchemaName: "star_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGiveawayCreated) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayCreated#39f3639f as nil")
}
b.PutID(MessageGiveawayCreatedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGiveawayCreated) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayCreated#39f3639f as nil")
}
b.PutInt53(m.StarCount)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGiveawayCreated) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayCreated#39f3639f to nil")
}
if err := b.ConsumeID(MessageGiveawayCreatedTypeID); err != nil {
return fmt.Errorf("unable to decode messageGiveawayCreated#39f3639f: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGiveawayCreated) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayCreated#39f3639f to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCreated#39f3639f: field star_count: %w", err)
}
m.StarCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGiveawayCreated) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayCreated#39f3639f as nil")
}
b.ObjStart()
b.PutID("messageGiveawayCreated")
b.Comma()
b.FieldStart("star_count")
b.PutInt53(m.StarCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGiveawayCreated) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayCreated#39f3639f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGiveawayCreated"); err != nil {
return fmt.Errorf("unable to decode messageGiveawayCreated#39f3639f: %w", err)
}
case "star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCreated#39f3639f: field star_count: %w", err)
}
m.StarCount = value
default:
return b.Skip()
}
return nil
})
}
// GetStarCount returns value of StarCount field.
func (m *MessageGiveawayCreated) GetStarCount() (value int64) {
if m == nil {
return
}
return m.StarCount
}
// MessageGiveaway represents TL type `messageGiveaway#eb61daa8`.
type MessageGiveaway struct {
// Giveaway parameters
Parameters GiveawayParameters
// Number of users which will receive Telegram Premium subscription gift codes
WinnerCount int32
// Prize of the giveaway
Prize GiveawayPrizeClass
// A sticker to be shown in the message; may be null if unknown
Sticker Sticker
}
// MessageGiveawayTypeID is TL type id of MessageGiveaway.
const MessageGiveawayTypeID = 0xeb61daa8
// construct implements constructor of MessageContentClass.
func (m MessageGiveaway) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGiveaway.
var (
_ bin.Encoder = &MessageGiveaway{}
_ bin.Decoder = &MessageGiveaway{}
_ bin.BareEncoder = &MessageGiveaway{}
_ bin.BareDecoder = &MessageGiveaway{}
_ MessageContentClass = &MessageGiveaway{}
)
func (m *MessageGiveaway) Zero() bool {
if m == nil {
return true
}
if !(m.Parameters.Zero()) {
return false
}
if !(m.WinnerCount == 0) {
return false
}
if !(m.Prize == nil) {
return false
}
if !(m.Sticker.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGiveaway) String() string {
if m == nil {
return "MessageGiveaway(nil)"
}
type Alias MessageGiveaway
return fmt.Sprintf("MessageGiveaway%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGiveaway) TypeID() uint32 {
return MessageGiveawayTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGiveaway) TypeName() string {
return "messageGiveaway"
}
// TypeInfo returns info about TL type.
func (m *MessageGiveaway) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGiveaway",
ID: MessageGiveawayTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Parameters",
SchemaName: "parameters",
},
{
Name: "WinnerCount",
SchemaName: "winner_count",
},
{
Name: "Prize",
SchemaName: "prize",
},
{
Name: "Sticker",
SchemaName: "sticker",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGiveaway) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveaway#eb61daa8 as nil")
}
b.PutID(MessageGiveawayTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGiveaway) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveaway#eb61daa8 as nil")
}
if err := m.Parameters.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGiveaway#eb61daa8: field parameters: %w", err)
}
b.PutInt32(m.WinnerCount)
if m.Prize == nil {
return fmt.Errorf("unable to encode messageGiveaway#eb61daa8: field prize is nil")
}
if err := m.Prize.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGiveaway#eb61daa8: field prize: %w", err)
}
if err := m.Sticker.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGiveaway#eb61daa8: field sticker: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGiveaway) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveaway#eb61daa8 to nil")
}
if err := b.ConsumeID(MessageGiveawayTypeID); err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGiveaway) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveaway#eb61daa8 to nil")
}
{
if err := m.Parameters.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: field parameters: %w", err)
}
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: field winner_count: %w", err)
}
m.WinnerCount = value
}
{
value, err := DecodeGiveawayPrize(b)
if err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: field prize: %w", err)
}
m.Prize = value
}
{
if err := m.Sticker.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: field sticker: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGiveaway) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveaway#eb61daa8 as nil")
}
b.ObjStart()
b.PutID("messageGiveaway")
b.Comma()
b.FieldStart("parameters")
if err := m.Parameters.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGiveaway#eb61daa8: field parameters: %w", err)
}
b.Comma()
b.FieldStart("winner_count")
b.PutInt32(m.WinnerCount)
b.Comma()
b.FieldStart("prize")
if m.Prize == nil {
return fmt.Errorf("unable to encode messageGiveaway#eb61daa8: field prize is nil")
}
if err := m.Prize.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGiveaway#eb61daa8: field prize: %w", err)
}
b.Comma()
b.FieldStart("sticker")
if err := m.Sticker.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGiveaway#eb61daa8: field sticker: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGiveaway) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveaway#eb61daa8 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGiveaway"); err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: %w", err)
}
case "parameters":
if err := m.Parameters.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: field parameters: %w", err)
}
case "winner_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: field winner_count: %w", err)
}
m.WinnerCount = value
case "prize":
value, err := DecodeTDLibJSONGiveawayPrize(b)
if err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: field prize: %w", err)
}
m.Prize = value
case "sticker":
if err := m.Sticker.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageGiveaway#eb61daa8: field sticker: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetParameters returns value of Parameters field.
func (m *MessageGiveaway) GetParameters() (value GiveawayParameters) {
if m == nil {
return
}
return m.Parameters
}
// GetWinnerCount returns value of WinnerCount field.
func (m *MessageGiveaway) GetWinnerCount() (value int32) {
if m == nil {
return
}
return m.WinnerCount
}
// GetPrize returns value of Prize field.
func (m *MessageGiveaway) GetPrize() (value GiveawayPrizeClass) {
if m == nil {
return
}
return m.Prize
}
// GetSticker returns value of Sticker field.
func (m *MessageGiveaway) GetSticker() (value Sticker) {
if m == nil {
return
}
return m.Sticker
}
// MessageGiveawayCompleted represents TL type `messageGiveawayCompleted#e424c8f7`.
type MessageGiveawayCompleted struct {
// Identifier of the message with the giveaway; can be 0 if the message was deleted
GiveawayMessageID int64
// Number of winners in the giveaway
WinnerCount int32
// True, if the giveaway is a Telegram Star giveaway
IsStarGiveaway bool
// Number of undistributed prizes; for Telegram Premium giveaways only
UnclaimedPrizeCount int32
}
// MessageGiveawayCompletedTypeID is TL type id of MessageGiveawayCompleted.
const MessageGiveawayCompletedTypeID = 0xe424c8f7
// construct implements constructor of MessageContentClass.
func (m MessageGiveawayCompleted) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGiveawayCompleted.
var (
_ bin.Encoder = &MessageGiveawayCompleted{}
_ bin.Decoder = &MessageGiveawayCompleted{}
_ bin.BareEncoder = &MessageGiveawayCompleted{}
_ bin.BareDecoder = &MessageGiveawayCompleted{}
_ MessageContentClass = &MessageGiveawayCompleted{}
)
func (m *MessageGiveawayCompleted) Zero() bool {
if m == nil {
return true
}
if !(m.GiveawayMessageID == 0) {
return false
}
if !(m.WinnerCount == 0) {
return false
}
if !(m.IsStarGiveaway == false) {
return false
}
if !(m.UnclaimedPrizeCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGiveawayCompleted) String() string {
if m == nil {
return "MessageGiveawayCompleted(nil)"
}
type Alias MessageGiveawayCompleted
return fmt.Sprintf("MessageGiveawayCompleted%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGiveawayCompleted) TypeID() uint32 {
return MessageGiveawayCompletedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGiveawayCompleted) TypeName() string {
return "messageGiveawayCompleted"
}
// TypeInfo returns info about TL type.
func (m *MessageGiveawayCompleted) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGiveawayCompleted",
ID: MessageGiveawayCompletedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GiveawayMessageID",
SchemaName: "giveaway_message_id",
},
{
Name: "WinnerCount",
SchemaName: "winner_count",
},
{
Name: "IsStarGiveaway",
SchemaName: "is_star_giveaway",
},
{
Name: "UnclaimedPrizeCount",
SchemaName: "unclaimed_prize_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGiveawayCompleted) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayCompleted#e424c8f7 as nil")
}
b.PutID(MessageGiveawayCompletedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGiveawayCompleted) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayCompleted#e424c8f7 as nil")
}
b.PutInt53(m.GiveawayMessageID)
b.PutInt32(m.WinnerCount)
b.PutBool(m.IsStarGiveaway)
b.PutInt32(m.UnclaimedPrizeCount)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGiveawayCompleted) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayCompleted#e424c8f7 to nil")
}
if err := b.ConsumeID(MessageGiveawayCompletedTypeID); err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGiveawayCompleted) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayCompleted#e424c8f7 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: field giveaway_message_id: %w", err)
}
m.GiveawayMessageID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: field winner_count: %w", err)
}
m.WinnerCount = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: field is_star_giveaway: %w", err)
}
m.IsStarGiveaway = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: field unclaimed_prize_count: %w", err)
}
m.UnclaimedPrizeCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGiveawayCompleted) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayCompleted#e424c8f7 as nil")
}
b.ObjStart()
b.PutID("messageGiveawayCompleted")
b.Comma()
b.FieldStart("giveaway_message_id")
b.PutInt53(m.GiveawayMessageID)
b.Comma()
b.FieldStart("winner_count")
b.PutInt32(m.WinnerCount)
b.Comma()
b.FieldStart("is_star_giveaway")
b.PutBool(m.IsStarGiveaway)
b.Comma()
b.FieldStart("unclaimed_prize_count")
b.PutInt32(m.UnclaimedPrizeCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGiveawayCompleted) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayCompleted#e424c8f7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGiveawayCompleted"); err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: %w", err)
}
case "giveaway_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: field giveaway_message_id: %w", err)
}
m.GiveawayMessageID = value
case "winner_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: field winner_count: %w", err)
}
m.WinnerCount = value
case "is_star_giveaway":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: field is_star_giveaway: %w", err)
}
m.IsStarGiveaway = value
case "unclaimed_prize_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayCompleted#e424c8f7: field unclaimed_prize_count: %w", err)
}
m.UnclaimedPrizeCount = value
default:
return b.Skip()
}
return nil
})
}
// GetGiveawayMessageID returns value of GiveawayMessageID field.
func (m *MessageGiveawayCompleted) GetGiveawayMessageID() (value int64) {
if m == nil {
return
}
return m.GiveawayMessageID
}
// GetWinnerCount returns value of WinnerCount field.
func (m *MessageGiveawayCompleted) GetWinnerCount() (value int32) {
if m == nil {
return
}
return m.WinnerCount
}
// GetIsStarGiveaway returns value of IsStarGiveaway field.
func (m *MessageGiveawayCompleted) GetIsStarGiveaway() (value bool) {
if m == nil {
return
}
return m.IsStarGiveaway
}
// GetUnclaimedPrizeCount returns value of UnclaimedPrizeCount field.
func (m *MessageGiveawayCompleted) GetUnclaimedPrizeCount() (value int32) {
if m == nil {
return
}
return m.UnclaimedPrizeCount
}
// MessageGiveawayWinners represents TL type `messageGiveawayWinners#1d99a27a`.
type MessageGiveawayWinners struct {
// Identifier of the supergroup or channel chat, which was automatically boosted by the
// winners of the giveaway
BoostedChatID int64
// Identifier of the message with the giveaway in the boosted chat
GiveawayMessageID int64
// Number of other chats that participated in the giveaway
AdditionalChatCount int32
// Point in time (Unix timestamp) when the winners were selected. May be bigger than
// winners selection date specified in parameters of the giveaway
ActualWinnersSelectionDate int32
// True, if only new members of the chats were eligible for the giveaway
OnlyNewMembers bool
// True, if the giveaway was canceled and was fully refunded
WasRefunded bool
// Prize of the giveaway
Prize GiveawayPrizeClass
// Additional description of the giveaway prize
PrizeDescription string
// Total number of winners in the giveaway
WinnerCount int32
// Up to 100 user identifiers of the winners of the giveaway
WinnerUserIDs []int64
// Number of undistributed prizes; for Telegram Premium giveaways only
UnclaimedPrizeCount int32
}
// MessageGiveawayWinnersTypeID is TL type id of MessageGiveawayWinners.
const MessageGiveawayWinnersTypeID = 0x1d99a27a
// construct implements constructor of MessageContentClass.
func (m MessageGiveawayWinners) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGiveawayWinners.
var (
_ bin.Encoder = &MessageGiveawayWinners{}
_ bin.Decoder = &MessageGiveawayWinners{}
_ bin.BareEncoder = &MessageGiveawayWinners{}
_ bin.BareDecoder = &MessageGiveawayWinners{}
_ MessageContentClass = &MessageGiveawayWinners{}
)
func (m *MessageGiveawayWinners) Zero() bool {
if m == nil {
return true
}
if !(m.BoostedChatID == 0) {
return false
}
if !(m.GiveawayMessageID == 0) {
return false
}
if !(m.AdditionalChatCount == 0) {
return false
}
if !(m.ActualWinnersSelectionDate == 0) {
return false
}
if !(m.OnlyNewMembers == false) {
return false
}
if !(m.WasRefunded == false) {
return false
}
if !(m.Prize == nil) {
return false
}
if !(m.PrizeDescription == "") {
return false
}
if !(m.WinnerCount == 0) {
return false
}
if !(m.WinnerUserIDs == nil) {
return false
}
if !(m.UnclaimedPrizeCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGiveawayWinners) String() string {
if m == nil {
return "MessageGiveawayWinners(nil)"
}
type Alias MessageGiveawayWinners
return fmt.Sprintf("MessageGiveawayWinners%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGiveawayWinners) TypeID() uint32 {
return MessageGiveawayWinnersTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGiveawayWinners) TypeName() string {
return "messageGiveawayWinners"
}
// TypeInfo returns info about TL type.
func (m *MessageGiveawayWinners) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGiveawayWinners",
ID: MessageGiveawayWinnersTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "BoostedChatID",
SchemaName: "boosted_chat_id",
},
{
Name: "GiveawayMessageID",
SchemaName: "giveaway_message_id",
},
{
Name: "AdditionalChatCount",
SchemaName: "additional_chat_count",
},
{
Name: "ActualWinnersSelectionDate",
SchemaName: "actual_winners_selection_date",
},
{
Name: "OnlyNewMembers",
SchemaName: "only_new_members",
},
{
Name: "WasRefunded",
SchemaName: "was_refunded",
},
{
Name: "Prize",
SchemaName: "prize",
},
{
Name: "PrizeDescription",
SchemaName: "prize_description",
},
{
Name: "WinnerCount",
SchemaName: "winner_count",
},
{
Name: "WinnerUserIDs",
SchemaName: "winner_user_ids",
},
{
Name: "UnclaimedPrizeCount",
SchemaName: "unclaimed_prize_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGiveawayWinners) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayWinners#1d99a27a as nil")
}
b.PutID(MessageGiveawayWinnersTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGiveawayWinners) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayWinners#1d99a27a as nil")
}
b.PutInt53(m.BoostedChatID)
b.PutInt53(m.GiveawayMessageID)
b.PutInt32(m.AdditionalChatCount)
b.PutInt32(m.ActualWinnersSelectionDate)
b.PutBool(m.OnlyNewMembers)
b.PutBool(m.WasRefunded)
if m.Prize == nil {
return fmt.Errorf("unable to encode messageGiveawayWinners#1d99a27a: field prize is nil")
}
if err := m.Prize.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGiveawayWinners#1d99a27a: field prize: %w", err)
}
b.PutString(m.PrizeDescription)
b.PutInt32(m.WinnerCount)
b.PutInt(len(m.WinnerUserIDs))
for _, v := range m.WinnerUserIDs {
b.PutInt53(v)
}
b.PutInt32(m.UnclaimedPrizeCount)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGiveawayWinners) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayWinners#1d99a27a to nil")
}
if err := b.ConsumeID(MessageGiveawayWinnersTypeID); err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGiveawayWinners) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayWinners#1d99a27a to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field boosted_chat_id: %w", err)
}
m.BoostedChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field giveaway_message_id: %w", err)
}
m.GiveawayMessageID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field additional_chat_count: %w", err)
}
m.AdditionalChatCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field actual_winners_selection_date: %w", err)
}
m.ActualWinnersSelectionDate = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field only_new_members: %w", err)
}
m.OnlyNewMembers = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field was_refunded: %w", err)
}
m.WasRefunded = value
}
{
value, err := DecodeGiveawayPrize(b)
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field prize: %w", err)
}
m.Prize = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field prize_description: %w", err)
}
m.PrizeDescription = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field winner_count: %w", err)
}
m.WinnerCount = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field winner_user_ids: %w", err)
}
if headerLen > 0 {
m.WinnerUserIDs = make([]int64, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field winner_user_ids: %w", err)
}
m.WinnerUserIDs = append(m.WinnerUserIDs, value)
}
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field unclaimed_prize_count: %w", err)
}
m.UnclaimedPrizeCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGiveawayWinners) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayWinners#1d99a27a as nil")
}
b.ObjStart()
b.PutID("messageGiveawayWinners")
b.Comma()
b.FieldStart("boosted_chat_id")
b.PutInt53(m.BoostedChatID)
b.Comma()
b.FieldStart("giveaway_message_id")
b.PutInt53(m.GiveawayMessageID)
b.Comma()
b.FieldStart("additional_chat_count")
b.PutInt32(m.AdditionalChatCount)
b.Comma()
b.FieldStart("actual_winners_selection_date")
b.PutInt32(m.ActualWinnersSelectionDate)
b.Comma()
b.FieldStart("only_new_members")
b.PutBool(m.OnlyNewMembers)
b.Comma()
b.FieldStart("was_refunded")
b.PutBool(m.WasRefunded)
b.Comma()
b.FieldStart("prize")
if m.Prize == nil {
return fmt.Errorf("unable to encode messageGiveawayWinners#1d99a27a: field prize is nil")
}
if err := m.Prize.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGiveawayWinners#1d99a27a: field prize: %w", err)
}
b.Comma()
b.FieldStart("prize_description")
b.PutString(m.PrizeDescription)
b.Comma()
b.FieldStart("winner_count")
b.PutInt32(m.WinnerCount)
b.Comma()
b.FieldStart("winner_user_ids")
b.ArrStart()
for _, v := range m.WinnerUserIDs {
b.PutInt53(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("unclaimed_prize_count")
b.PutInt32(m.UnclaimedPrizeCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGiveawayWinners) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayWinners#1d99a27a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGiveawayWinners"); err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: %w", err)
}
case "boosted_chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field boosted_chat_id: %w", err)
}
m.BoostedChatID = value
case "giveaway_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field giveaway_message_id: %w", err)
}
m.GiveawayMessageID = value
case "additional_chat_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field additional_chat_count: %w", err)
}
m.AdditionalChatCount = value
case "actual_winners_selection_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field actual_winners_selection_date: %w", err)
}
m.ActualWinnersSelectionDate = value
case "only_new_members":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field only_new_members: %w", err)
}
m.OnlyNewMembers = value
case "was_refunded":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field was_refunded: %w", err)
}
m.WasRefunded = value
case "prize":
value, err := DecodeTDLibJSONGiveawayPrize(b)
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field prize: %w", err)
}
m.Prize = value
case "prize_description":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field prize_description: %w", err)
}
m.PrizeDescription = value
case "winner_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field winner_count: %w", err)
}
m.WinnerCount = value
case "winner_user_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field winner_user_ids: %w", err)
}
m.WinnerUserIDs = append(m.WinnerUserIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field winner_user_ids: %w", err)
}
case "unclaimed_prize_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayWinners#1d99a27a: field unclaimed_prize_count: %w", err)
}
m.UnclaimedPrizeCount = value
default:
return b.Skip()
}
return nil
})
}
// GetBoostedChatID returns value of BoostedChatID field.
func (m *MessageGiveawayWinners) GetBoostedChatID() (value int64) {
if m == nil {
return
}
return m.BoostedChatID
}
// GetGiveawayMessageID returns value of GiveawayMessageID field.
func (m *MessageGiveawayWinners) GetGiveawayMessageID() (value int64) {
if m == nil {
return
}
return m.GiveawayMessageID
}
// GetAdditionalChatCount returns value of AdditionalChatCount field.
func (m *MessageGiveawayWinners) GetAdditionalChatCount() (value int32) {
if m == nil {
return
}
return m.AdditionalChatCount
}
// GetActualWinnersSelectionDate returns value of ActualWinnersSelectionDate field.
func (m *MessageGiveawayWinners) GetActualWinnersSelectionDate() (value int32) {
if m == nil {
return
}
return m.ActualWinnersSelectionDate
}
// GetOnlyNewMembers returns value of OnlyNewMembers field.
func (m *MessageGiveawayWinners) GetOnlyNewMembers() (value bool) {
if m == nil {
return
}
return m.OnlyNewMembers
}
// GetWasRefunded returns value of WasRefunded field.
func (m *MessageGiveawayWinners) GetWasRefunded() (value bool) {
if m == nil {
return
}
return m.WasRefunded
}
// GetPrize returns value of Prize field.
func (m *MessageGiveawayWinners) GetPrize() (value GiveawayPrizeClass) {
if m == nil {
return
}
return m.Prize
}
// GetPrizeDescription returns value of PrizeDescription field.
func (m *MessageGiveawayWinners) GetPrizeDescription() (value string) {
if m == nil {
return
}
return m.PrizeDescription
}
// GetWinnerCount returns value of WinnerCount field.
func (m *MessageGiveawayWinners) GetWinnerCount() (value int32) {
if m == nil {
return
}
return m.WinnerCount
}
// GetWinnerUserIDs returns value of WinnerUserIDs field.
func (m *MessageGiveawayWinners) GetWinnerUserIDs() (value []int64) {
if m == nil {
return
}
return m.WinnerUserIDs
}
// GetUnclaimedPrizeCount returns value of UnclaimedPrizeCount field.
func (m *MessageGiveawayWinners) GetUnclaimedPrizeCount() (value int32) {
if m == nil {
return
}
return m.UnclaimedPrizeCount
}
// MessageGiftedStars represents TL type `messageGiftedStars#41bdbea7`.
type MessageGiftedStars struct {
// The identifier of a user that gifted Telegram Stars; 0 if the gift was anonymous or is
// outgoing
GifterUserID int64
// The identifier of a user that received Telegram Stars; 0 if the gift is incoming
ReceiverUserID int64
// Currency for the paid amount
Currency string
// The paid amount, in the smallest units of the currency
Amount int64
// Cryptocurrency used to pay for the gift; may be empty if none
Cryptocurrency string
// The paid amount, in the smallest units of the cryptocurrency; 0 if none
CryptocurrencyAmount int64
// Number of Telegram Stars that were gifted
StarCount int64
// Identifier of the transaction for Telegram Stars purchase; for receiver only
TransactionID string
// A sticker to be shown in the message; may be null if unknown
Sticker Sticker
}
// MessageGiftedStarsTypeID is TL type id of MessageGiftedStars.
const MessageGiftedStarsTypeID = 0x41bdbea7
// construct implements constructor of MessageContentClass.
func (m MessageGiftedStars) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGiftedStars.
var (
_ bin.Encoder = &MessageGiftedStars{}
_ bin.Decoder = &MessageGiftedStars{}
_ bin.BareEncoder = &MessageGiftedStars{}
_ bin.BareDecoder = &MessageGiftedStars{}
_ MessageContentClass = &MessageGiftedStars{}
)
func (m *MessageGiftedStars) Zero() bool {
if m == nil {
return true
}
if !(m.GifterUserID == 0) {
return false
}
if !(m.ReceiverUserID == 0) {
return false
}
if !(m.Currency == "") {
return false
}
if !(m.Amount == 0) {
return false
}
if !(m.Cryptocurrency == "") {
return false
}
if !(m.CryptocurrencyAmount == 0) {
return false
}
if !(m.StarCount == 0) {
return false
}
if !(m.TransactionID == "") {
return false
}
if !(m.Sticker.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGiftedStars) String() string {
if m == nil {
return "MessageGiftedStars(nil)"
}
type Alias MessageGiftedStars
return fmt.Sprintf("MessageGiftedStars%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGiftedStars) TypeID() uint32 {
return MessageGiftedStarsTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGiftedStars) TypeName() string {
return "messageGiftedStars"
}
// TypeInfo returns info about TL type.
func (m *MessageGiftedStars) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGiftedStars",
ID: MessageGiftedStarsTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GifterUserID",
SchemaName: "gifter_user_id",
},
{
Name: "ReceiverUserID",
SchemaName: "receiver_user_id",
},
{
Name: "Currency",
SchemaName: "currency",
},
{
Name: "Amount",
SchemaName: "amount",
},
{
Name: "Cryptocurrency",
SchemaName: "cryptocurrency",
},
{
Name: "CryptocurrencyAmount",
SchemaName: "cryptocurrency_amount",
},
{
Name: "StarCount",
SchemaName: "star_count",
},
{
Name: "TransactionID",
SchemaName: "transaction_id",
},
{
Name: "Sticker",
SchemaName: "sticker",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGiftedStars) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiftedStars#41bdbea7 as nil")
}
b.PutID(MessageGiftedStarsTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGiftedStars) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiftedStars#41bdbea7 as nil")
}
b.PutInt53(m.GifterUserID)
b.PutInt53(m.ReceiverUserID)
b.PutString(m.Currency)
b.PutInt53(m.Amount)
b.PutString(m.Cryptocurrency)
b.PutLong(m.CryptocurrencyAmount)
b.PutInt53(m.StarCount)
b.PutString(m.TransactionID)
if err := m.Sticker.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGiftedStars#41bdbea7: field sticker: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGiftedStars) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiftedStars#41bdbea7 to nil")
}
if err := b.ConsumeID(MessageGiftedStarsTypeID); err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGiftedStars) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiftedStars#41bdbea7 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field gifter_user_id: %w", err)
}
m.GifterUserID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field receiver_user_id: %w", err)
}
m.ReceiverUserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field currency: %w", err)
}
m.Currency = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field amount: %w", err)
}
m.Amount = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field cryptocurrency: %w", err)
}
m.Cryptocurrency = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field cryptocurrency_amount: %w", err)
}
m.CryptocurrencyAmount = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field star_count: %w", err)
}
m.StarCount = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field transaction_id: %w", err)
}
m.TransactionID = value
}
{
if err := m.Sticker.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field sticker: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGiftedStars) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGiftedStars#41bdbea7 as nil")
}
b.ObjStart()
b.PutID("messageGiftedStars")
b.Comma()
b.FieldStart("gifter_user_id")
b.PutInt53(m.GifterUserID)
b.Comma()
b.FieldStart("receiver_user_id")
b.PutInt53(m.ReceiverUserID)
b.Comma()
b.FieldStart("currency")
b.PutString(m.Currency)
b.Comma()
b.FieldStart("amount")
b.PutInt53(m.Amount)
b.Comma()
b.FieldStart("cryptocurrency")
b.PutString(m.Cryptocurrency)
b.Comma()
b.FieldStart("cryptocurrency_amount")
b.PutLong(m.CryptocurrencyAmount)
b.Comma()
b.FieldStart("star_count")
b.PutInt53(m.StarCount)
b.Comma()
b.FieldStart("transaction_id")
b.PutString(m.TransactionID)
b.Comma()
b.FieldStart("sticker")
if err := m.Sticker.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGiftedStars#41bdbea7: field sticker: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGiftedStars) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGiftedStars#41bdbea7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGiftedStars"); err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: %w", err)
}
case "gifter_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field gifter_user_id: %w", err)
}
m.GifterUserID = value
case "receiver_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field receiver_user_id: %w", err)
}
m.ReceiverUserID = value
case "currency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field currency: %w", err)
}
m.Currency = value
case "amount":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field amount: %w", err)
}
m.Amount = value
case "cryptocurrency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field cryptocurrency: %w", err)
}
m.Cryptocurrency = value
case "cryptocurrency_amount":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field cryptocurrency_amount: %w", err)
}
m.CryptocurrencyAmount = value
case "star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field star_count: %w", err)
}
m.StarCount = value
case "transaction_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field transaction_id: %w", err)
}
m.TransactionID = value
case "sticker":
if err := m.Sticker.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageGiftedStars#41bdbea7: field sticker: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetGifterUserID returns value of GifterUserID field.
func (m *MessageGiftedStars) GetGifterUserID() (value int64) {
if m == nil {
return
}
return m.GifterUserID
}
// GetReceiverUserID returns value of ReceiverUserID field.
func (m *MessageGiftedStars) GetReceiverUserID() (value int64) {
if m == nil {
return
}
return m.ReceiverUserID
}
// GetCurrency returns value of Currency field.
func (m *MessageGiftedStars) GetCurrency() (value string) {
if m == nil {
return
}
return m.Currency
}
// GetAmount returns value of Amount field.
func (m *MessageGiftedStars) GetAmount() (value int64) {
if m == nil {
return
}
return m.Amount
}
// GetCryptocurrency returns value of Cryptocurrency field.
func (m *MessageGiftedStars) GetCryptocurrency() (value string) {
if m == nil {
return
}
return m.Cryptocurrency
}
// GetCryptocurrencyAmount returns value of CryptocurrencyAmount field.
func (m *MessageGiftedStars) GetCryptocurrencyAmount() (value int64) {
if m == nil {
return
}
return m.CryptocurrencyAmount
}
// GetStarCount returns value of StarCount field.
func (m *MessageGiftedStars) GetStarCount() (value int64) {
if m == nil {
return
}
return m.StarCount
}
// GetTransactionID returns value of TransactionID field.
func (m *MessageGiftedStars) GetTransactionID() (value string) {
if m == nil {
return
}
return m.TransactionID
}
// GetSticker returns value of Sticker field.
func (m *MessageGiftedStars) GetSticker() (value Sticker) {
if m == nil {
return
}
return m.Sticker
}
// MessageGiveawayPrizeStars represents TL type `messageGiveawayPrizeStars#aa0f5de3`.
type MessageGiveawayPrizeStars struct {
// Number of Telegram Stars that were received
StarCount int64
// Identifier of the transaction for Telegram Stars credit
TransactionID string
// Identifier of the supergroup or channel chat, which was automatically boosted by the
// winners of the giveaway
BoostedChatID int64
// Identifier of the message with the giveaway in the boosted chat; can be 0 if the
// message was deleted
GiveawayMessageID int64
// True, if the corresponding winner wasn't chosen and the Telegram Stars were received
// by the owner of the boosted chat
IsUnclaimed bool
// A sticker to be shown in the message; may be null if unknown
Sticker Sticker
}
// MessageGiveawayPrizeStarsTypeID is TL type id of MessageGiveawayPrizeStars.
const MessageGiveawayPrizeStarsTypeID = 0xaa0f5de3
// construct implements constructor of MessageContentClass.
func (m MessageGiveawayPrizeStars) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGiveawayPrizeStars.
var (
_ bin.Encoder = &MessageGiveawayPrizeStars{}
_ bin.Decoder = &MessageGiveawayPrizeStars{}
_ bin.BareEncoder = &MessageGiveawayPrizeStars{}
_ bin.BareDecoder = &MessageGiveawayPrizeStars{}
_ MessageContentClass = &MessageGiveawayPrizeStars{}
)
func (m *MessageGiveawayPrizeStars) Zero() bool {
if m == nil {
return true
}
if !(m.StarCount == 0) {
return false
}
if !(m.TransactionID == "") {
return false
}
if !(m.BoostedChatID == 0) {
return false
}
if !(m.GiveawayMessageID == 0) {
return false
}
if !(m.IsUnclaimed == false) {
return false
}
if !(m.Sticker.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGiveawayPrizeStars) String() string {
if m == nil {
return "MessageGiveawayPrizeStars(nil)"
}
type Alias MessageGiveawayPrizeStars
return fmt.Sprintf("MessageGiveawayPrizeStars%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGiveawayPrizeStars) TypeID() uint32 {
return MessageGiveawayPrizeStarsTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGiveawayPrizeStars) TypeName() string {
return "messageGiveawayPrizeStars"
}
// TypeInfo returns info about TL type.
func (m *MessageGiveawayPrizeStars) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGiveawayPrizeStars",
ID: MessageGiveawayPrizeStarsTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StarCount",
SchemaName: "star_count",
},
{
Name: "TransactionID",
SchemaName: "transaction_id",
},
{
Name: "BoostedChatID",
SchemaName: "boosted_chat_id",
},
{
Name: "GiveawayMessageID",
SchemaName: "giveaway_message_id",
},
{
Name: "IsUnclaimed",
SchemaName: "is_unclaimed",
},
{
Name: "Sticker",
SchemaName: "sticker",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGiveawayPrizeStars) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayPrizeStars#aa0f5de3 as nil")
}
b.PutID(MessageGiveawayPrizeStarsTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGiveawayPrizeStars) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayPrizeStars#aa0f5de3 as nil")
}
b.PutInt53(m.StarCount)
b.PutString(m.TransactionID)
b.PutInt53(m.BoostedChatID)
b.PutInt53(m.GiveawayMessageID)
b.PutBool(m.IsUnclaimed)
if err := m.Sticker.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGiveawayPrizeStars#aa0f5de3: field sticker: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGiveawayPrizeStars) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayPrizeStars#aa0f5de3 to nil")
}
if err := b.ConsumeID(MessageGiveawayPrizeStarsTypeID); err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGiveawayPrizeStars) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayPrizeStars#aa0f5de3 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field star_count: %w", err)
}
m.StarCount = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field transaction_id: %w", err)
}
m.TransactionID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field boosted_chat_id: %w", err)
}
m.BoostedChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field giveaway_message_id: %w", err)
}
m.GiveawayMessageID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field is_unclaimed: %w", err)
}
m.IsUnclaimed = value
}
{
if err := m.Sticker.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field sticker: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGiveawayPrizeStars) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGiveawayPrizeStars#aa0f5de3 as nil")
}
b.ObjStart()
b.PutID("messageGiveawayPrizeStars")
b.Comma()
b.FieldStart("star_count")
b.PutInt53(m.StarCount)
b.Comma()
b.FieldStart("transaction_id")
b.PutString(m.TransactionID)
b.Comma()
b.FieldStart("boosted_chat_id")
b.PutInt53(m.BoostedChatID)
b.Comma()
b.FieldStart("giveaway_message_id")
b.PutInt53(m.GiveawayMessageID)
b.Comma()
b.FieldStart("is_unclaimed")
b.PutBool(m.IsUnclaimed)
b.Comma()
b.FieldStart("sticker")
if err := m.Sticker.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGiveawayPrizeStars#aa0f5de3: field sticker: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGiveawayPrizeStars) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGiveawayPrizeStars#aa0f5de3 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGiveawayPrizeStars"); err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: %w", err)
}
case "star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field star_count: %w", err)
}
m.StarCount = value
case "transaction_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field transaction_id: %w", err)
}
m.TransactionID = value
case "boosted_chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field boosted_chat_id: %w", err)
}
m.BoostedChatID = value
case "giveaway_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field giveaway_message_id: %w", err)
}
m.GiveawayMessageID = value
case "is_unclaimed":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field is_unclaimed: %w", err)
}
m.IsUnclaimed = value
case "sticker":
if err := m.Sticker.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageGiveawayPrizeStars#aa0f5de3: field sticker: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetStarCount returns value of StarCount field.
func (m *MessageGiveawayPrizeStars) GetStarCount() (value int64) {
if m == nil {
return
}
return m.StarCount
}
// GetTransactionID returns value of TransactionID field.
func (m *MessageGiveawayPrizeStars) GetTransactionID() (value string) {
if m == nil {
return
}
return m.TransactionID
}
// GetBoostedChatID returns value of BoostedChatID field.
func (m *MessageGiveawayPrizeStars) GetBoostedChatID() (value int64) {
if m == nil {
return
}
return m.BoostedChatID
}
// GetGiveawayMessageID returns value of GiveawayMessageID field.
func (m *MessageGiveawayPrizeStars) GetGiveawayMessageID() (value int64) {
if m == nil {
return
}
return m.GiveawayMessageID
}
// GetIsUnclaimed returns value of IsUnclaimed field.
func (m *MessageGiveawayPrizeStars) GetIsUnclaimed() (value bool) {
if m == nil {
return
}
return m.IsUnclaimed
}
// GetSticker returns value of Sticker field.
func (m *MessageGiveawayPrizeStars) GetSticker() (value Sticker) {
if m == nil {
return
}
return m.Sticker
}
// MessageGift represents TL type `messageGift#24434257`.
type MessageGift struct {
// The gift
Gift Gift
// Sender of the gift
SenderID MessageSenderClass
// Receiver of the gift
ReceiverID MessageSenderClass
// Unique identifier of the received gift for the current user; only for the receiver of
// the gift
ReceivedGiftID string
// Message added to the gift
Text FormattedText
// Number of Telegram Stars that can be claimed by the receiver instead of the regular
// gift; 0 if the gift can't be sold by the receiver
SellStarCount int64
// Number of Telegram Stars that were paid by the sender for the ability to upgrade the
// gift
PrepaidUpgradeStarCount int64
// True, if the sender and gift text are shown only to the gift receiver; otherwise,
// everyone will be able to see them
IsPrivate bool
// True, if the gift is displayed on the user's or the channel's profile page; only for
// the receiver of the gift
IsSaved bool
// True, if the gift can be upgraded to a unique gift; only for the receiver of the gift
CanBeUpgraded bool
// True, if the gift was converted to Telegram Stars; only for the receiver of the gift
WasConverted bool
// True, if the gift was upgraded to a unique gift
WasUpgraded bool
// True, if the gift was refunded and isn't available anymore
WasRefunded bool
// Identifier of the corresponding upgraded gift; may be empty if unknown. Use
// getReceivedGift to get information about the gift
UpgradedReceivedGiftID string
}
// MessageGiftTypeID is TL type id of MessageGift.
const MessageGiftTypeID = 0x24434257
// construct implements constructor of MessageContentClass.
func (m MessageGift) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageGift.
var (
_ bin.Encoder = &MessageGift{}
_ bin.Decoder = &MessageGift{}
_ bin.BareEncoder = &MessageGift{}
_ bin.BareDecoder = &MessageGift{}
_ MessageContentClass = &MessageGift{}
)
func (m *MessageGift) Zero() bool {
if m == nil {
return true
}
if !(m.Gift.Zero()) {
return false
}
if !(m.SenderID == nil) {
return false
}
if !(m.ReceiverID == nil) {
return false
}
if !(m.ReceivedGiftID == "") {
return false
}
if !(m.Text.Zero()) {
return false
}
if !(m.SellStarCount == 0) {
return false
}
if !(m.PrepaidUpgradeStarCount == 0) {
return false
}
if !(m.IsPrivate == false) {
return false
}
if !(m.IsSaved == false) {
return false
}
if !(m.CanBeUpgraded == false) {
return false
}
if !(m.WasConverted == false) {
return false
}
if !(m.WasUpgraded == false) {
return false
}
if !(m.WasRefunded == false) {
return false
}
if !(m.UpgradedReceivedGiftID == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageGift) String() string {
if m == nil {
return "MessageGift(nil)"
}
type Alias MessageGift
return fmt.Sprintf("MessageGift%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageGift) TypeID() uint32 {
return MessageGiftTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageGift) TypeName() string {
return "messageGift"
}
// TypeInfo returns info about TL type.
func (m *MessageGift) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageGift",
ID: MessageGiftTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Gift",
SchemaName: "gift",
},
{
Name: "SenderID",
SchemaName: "sender_id",
},
{
Name: "ReceiverID",
SchemaName: "receiver_id",
},
{
Name: "ReceivedGiftID",
SchemaName: "received_gift_id",
},
{
Name: "Text",
SchemaName: "text",
},
{
Name: "SellStarCount",
SchemaName: "sell_star_count",
},
{
Name: "PrepaidUpgradeStarCount",
SchemaName: "prepaid_upgrade_star_count",
},
{
Name: "IsPrivate",
SchemaName: "is_private",
},
{
Name: "IsSaved",
SchemaName: "is_saved",
},
{
Name: "CanBeUpgraded",
SchemaName: "can_be_upgraded",
},
{
Name: "WasConverted",
SchemaName: "was_converted",
},
{
Name: "WasUpgraded",
SchemaName: "was_upgraded",
},
{
Name: "WasRefunded",
SchemaName: "was_refunded",
},
{
Name: "UpgradedReceivedGiftID",
SchemaName: "upgraded_received_gift_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageGift) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGift#24434257 as nil")
}
b.PutID(MessageGiftTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageGift) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageGift#24434257 as nil")
}
if err := m.Gift.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGift#24434257: field gift: %w", err)
}
if m.SenderID == nil {
return fmt.Errorf("unable to encode messageGift#24434257: field sender_id is nil")
}
if err := m.SenderID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGift#24434257: field sender_id: %w", err)
}
if m.ReceiverID == nil {
return fmt.Errorf("unable to encode messageGift#24434257: field receiver_id is nil")
}
if err := m.ReceiverID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGift#24434257: field receiver_id: %w", err)
}
b.PutString(m.ReceivedGiftID)
if err := m.Text.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageGift#24434257: field text: %w", err)
}
b.PutInt53(m.SellStarCount)
b.PutInt53(m.PrepaidUpgradeStarCount)
b.PutBool(m.IsPrivate)
b.PutBool(m.IsSaved)
b.PutBool(m.CanBeUpgraded)
b.PutBool(m.WasConverted)
b.PutBool(m.WasUpgraded)
b.PutBool(m.WasRefunded)
b.PutString(m.UpgradedReceivedGiftID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageGift) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGift#24434257 to nil")
}
if err := b.ConsumeID(MessageGiftTypeID); err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageGift) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageGift#24434257 to nil")
}
{
if err := m.Gift.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field gift: %w", err)
}
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field sender_id: %w", err)
}
m.SenderID = value
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field receiver_id: %w", err)
}
m.ReceiverID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field received_gift_id: %w", err)
}
m.ReceivedGiftID = value
}
{
if err := m.Text.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field text: %w", err)
}
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field sell_star_count: %w", err)
}
m.SellStarCount = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field prepaid_upgrade_star_count: %w", err)
}
m.PrepaidUpgradeStarCount = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field is_private: %w", err)
}
m.IsPrivate = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field is_saved: %w", err)
}
m.IsSaved = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field can_be_upgraded: %w", err)
}
m.CanBeUpgraded = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field was_converted: %w", err)
}
m.WasConverted = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field was_upgraded: %w", err)
}
m.WasUpgraded = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field was_refunded: %w", err)
}
m.WasRefunded = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field upgraded_received_gift_id: %w", err)
}
m.UpgradedReceivedGiftID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageGift) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageGift#24434257 as nil")
}
b.ObjStart()
b.PutID("messageGift")
b.Comma()
b.FieldStart("gift")
if err := m.Gift.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGift#24434257: field gift: %w", err)
}
b.Comma()
b.FieldStart("sender_id")
if m.SenderID == nil {
return fmt.Errorf("unable to encode messageGift#24434257: field sender_id is nil")
}
if err := m.SenderID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGift#24434257: field sender_id: %w", err)
}
b.Comma()
b.FieldStart("receiver_id")
if m.ReceiverID == nil {
return fmt.Errorf("unable to encode messageGift#24434257: field receiver_id is nil")
}
if err := m.ReceiverID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGift#24434257: field receiver_id: %w", err)
}
b.Comma()
b.FieldStart("received_gift_id")
b.PutString(m.ReceivedGiftID)
b.Comma()
b.FieldStart("text")
if err := m.Text.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageGift#24434257: field text: %w", err)
}
b.Comma()
b.FieldStart("sell_star_count")
b.PutInt53(m.SellStarCount)
b.Comma()
b.FieldStart("prepaid_upgrade_star_count")
b.PutInt53(m.PrepaidUpgradeStarCount)
b.Comma()
b.FieldStart("is_private")
b.PutBool(m.IsPrivate)
b.Comma()
b.FieldStart("is_saved")
b.PutBool(m.IsSaved)
b.Comma()
b.FieldStart("can_be_upgraded")
b.PutBool(m.CanBeUpgraded)
b.Comma()
b.FieldStart("was_converted")
b.PutBool(m.WasConverted)
b.Comma()
b.FieldStart("was_upgraded")
b.PutBool(m.WasUpgraded)
b.Comma()
b.FieldStart("was_refunded")
b.PutBool(m.WasRefunded)
b.Comma()
b.FieldStart("upgraded_received_gift_id")
b.PutString(m.UpgradedReceivedGiftID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageGift) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageGift#24434257 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageGift"); err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: %w", err)
}
case "gift":
if err := m.Gift.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field gift: %w", err)
}
case "sender_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field sender_id: %w", err)
}
m.SenderID = value
case "receiver_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field receiver_id: %w", err)
}
m.ReceiverID = value
case "received_gift_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field received_gift_id: %w", err)
}
m.ReceivedGiftID = value
case "text":
if err := m.Text.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field text: %w", err)
}
case "sell_star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field sell_star_count: %w", err)
}
m.SellStarCount = value
case "prepaid_upgrade_star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field prepaid_upgrade_star_count: %w", err)
}
m.PrepaidUpgradeStarCount = value
case "is_private":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field is_private: %w", err)
}
m.IsPrivate = value
case "is_saved":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field is_saved: %w", err)
}
m.IsSaved = value
case "can_be_upgraded":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field can_be_upgraded: %w", err)
}
m.CanBeUpgraded = value
case "was_converted":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field was_converted: %w", err)
}
m.WasConverted = value
case "was_upgraded":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field was_upgraded: %w", err)
}
m.WasUpgraded = value
case "was_refunded":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field was_refunded: %w", err)
}
m.WasRefunded = value
case "upgraded_received_gift_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageGift#24434257: field upgraded_received_gift_id: %w", err)
}
m.UpgradedReceivedGiftID = value
default:
return b.Skip()
}
return nil
})
}
// GetGift returns value of Gift field.
func (m *MessageGift) GetGift() (value Gift) {
if m == nil {
return
}
return m.Gift
}
// GetSenderID returns value of SenderID field.
func (m *MessageGift) GetSenderID() (value MessageSenderClass) {
if m == nil {
return
}
return m.SenderID
}
// GetReceiverID returns value of ReceiverID field.
func (m *MessageGift) GetReceiverID() (value MessageSenderClass) {
if m == nil {
return
}
return m.ReceiverID
}
// GetReceivedGiftID returns value of ReceivedGiftID field.
func (m *MessageGift) GetReceivedGiftID() (value string) {
if m == nil {
return
}
return m.ReceivedGiftID
}
// GetText returns value of Text field.
func (m *MessageGift) GetText() (value FormattedText) {
if m == nil {
return
}
return m.Text
}
// GetSellStarCount returns value of SellStarCount field.
func (m *MessageGift) GetSellStarCount() (value int64) {
if m == nil {
return
}
return m.SellStarCount
}
// GetPrepaidUpgradeStarCount returns value of PrepaidUpgradeStarCount field.
func (m *MessageGift) GetPrepaidUpgradeStarCount() (value int64) {
if m == nil {
return
}
return m.PrepaidUpgradeStarCount
}
// GetIsPrivate returns value of IsPrivate field.
func (m *MessageGift) GetIsPrivate() (value bool) {
if m == nil {
return
}
return m.IsPrivate
}
// GetIsSaved returns value of IsSaved field.
func (m *MessageGift) GetIsSaved() (value bool) {
if m == nil {
return
}
return m.IsSaved
}
// GetCanBeUpgraded returns value of CanBeUpgraded field.
func (m *MessageGift) GetCanBeUpgraded() (value bool) {
if m == nil {
return
}
return m.CanBeUpgraded
}
// GetWasConverted returns value of WasConverted field.
func (m *MessageGift) GetWasConverted() (value bool) {
if m == nil {
return
}
return m.WasConverted
}
// GetWasUpgraded returns value of WasUpgraded field.
func (m *MessageGift) GetWasUpgraded() (value bool) {
if m == nil {
return
}
return m.WasUpgraded
}
// GetWasRefunded returns value of WasRefunded field.
func (m *MessageGift) GetWasRefunded() (value bool) {
if m == nil {
return
}
return m.WasRefunded
}
// GetUpgradedReceivedGiftID returns value of UpgradedReceivedGiftID field.
func (m *MessageGift) GetUpgradedReceivedGiftID() (value string) {
if m == nil {
return
}
return m.UpgradedReceivedGiftID
}
// MessageUpgradedGift represents TL type `messageUpgradedGift#bf9d0e9`.
type MessageUpgradedGift struct {
// The gift
Gift UpgradedGift
// Sender of the gift; may be null for anonymous gifts
SenderID MessageSenderClass
// Receiver of the gift
ReceiverID MessageSenderClass
// Unique identifier of the received gift for the current user; only for the receiver of
// the gift
ReceivedGiftID string
// True, if the gift was obtained by upgrading of a previously received gift; otherwise,
// this is a transferred or resold gift
IsUpgrade bool
// True, if the gift is displayed on the user's or the channel's profile page; only for
// the receiver of the gift
IsSaved bool
// True, if the gift can be transferred to another owner; only for the receiver of the
// gift
CanBeTransferred bool
// True, if the gift was transferred to another owner; only for the receiver of the gift
WasTransferred bool
// Number of Telegram Stars that were paid by the sender for the gift; 0 if the gift was
// upgraded or transferred
LastResaleStarCount int64
// Number of Telegram Stars that must be paid to transfer the upgraded gift; only for the
// receiver of the gift
TransferStarCount int64
// Point in time (Unix timestamp) when the gift can be transferred to another owner; 0 if
// the gift can be transferred immediately or transfer isn't possible; only for the
// receiver of the gift
NextTransferDate int32
// Point in time (Unix timestamp) when the gift can be resold to another user; 0 if the
// gift can't be resold; only for the receiver of the gift
NextResaleDate int32
// Point in time (Unix timestamp) when the gift can be transferred to the TON blockchain
// as an NFT; 0 if NFT export isn't possible; only for the receiver of the gift
ExportDate int32
}
// MessageUpgradedGiftTypeID is TL type id of MessageUpgradedGift.
const MessageUpgradedGiftTypeID = 0xbf9d0e9
// construct implements constructor of MessageContentClass.
func (m MessageUpgradedGift) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageUpgradedGift.
var (
_ bin.Encoder = &MessageUpgradedGift{}
_ bin.Decoder = &MessageUpgradedGift{}
_ bin.BareEncoder = &MessageUpgradedGift{}
_ bin.BareDecoder = &MessageUpgradedGift{}
_ MessageContentClass = &MessageUpgradedGift{}
)
func (m *MessageUpgradedGift) Zero() bool {
if m == nil {
return true
}
if !(m.Gift.Zero()) {
return false
}
if !(m.SenderID == nil) {
return false
}
if !(m.ReceiverID == nil) {
return false
}
if !(m.ReceivedGiftID == "") {
return false
}
if !(m.IsUpgrade == false) {
return false
}
if !(m.IsSaved == false) {
return false
}
if !(m.CanBeTransferred == false) {
return false
}
if !(m.WasTransferred == false) {
return false
}
if !(m.LastResaleStarCount == 0) {
return false
}
if !(m.TransferStarCount == 0) {
return false
}
if !(m.NextTransferDate == 0) {
return false
}
if !(m.NextResaleDate == 0) {
return false
}
if !(m.ExportDate == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageUpgradedGift) String() string {
if m == nil {
return "MessageUpgradedGift(nil)"
}
type Alias MessageUpgradedGift
return fmt.Sprintf("MessageUpgradedGift%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageUpgradedGift) TypeID() uint32 {
return MessageUpgradedGiftTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageUpgradedGift) TypeName() string {
return "messageUpgradedGift"
}
// TypeInfo returns info about TL type.
func (m *MessageUpgradedGift) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageUpgradedGift",
ID: MessageUpgradedGiftTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Gift",
SchemaName: "gift",
},
{
Name: "SenderID",
SchemaName: "sender_id",
},
{
Name: "ReceiverID",
SchemaName: "receiver_id",
},
{
Name: "ReceivedGiftID",
SchemaName: "received_gift_id",
},
{
Name: "IsUpgrade",
SchemaName: "is_upgrade",
},
{
Name: "IsSaved",
SchemaName: "is_saved",
},
{
Name: "CanBeTransferred",
SchemaName: "can_be_transferred",
},
{
Name: "WasTransferred",
SchemaName: "was_transferred",
},
{
Name: "LastResaleStarCount",
SchemaName: "last_resale_star_count",
},
{
Name: "TransferStarCount",
SchemaName: "transfer_star_count",
},
{
Name: "NextTransferDate",
SchemaName: "next_transfer_date",
},
{
Name: "NextResaleDate",
SchemaName: "next_resale_date",
},
{
Name: "ExportDate",
SchemaName: "export_date",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageUpgradedGift) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageUpgradedGift#bf9d0e9 as nil")
}
b.PutID(MessageUpgradedGiftTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageUpgradedGift) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageUpgradedGift#bf9d0e9 as nil")
}
if err := m.Gift.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field gift: %w", err)
}
if m.SenderID == nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field sender_id is nil")
}
if err := m.SenderID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field sender_id: %w", err)
}
if m.ReceiverID == nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field receiver_id is nil")
}
if err := m.ReceiverID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field receiver_id: %w", err)
}
b.PutString(m.ReceivedGiftID)
b.PutBool(m.IsUpgrade)
b.PutBool(m.IsSaved)
b.PutBool(m.CanBeTransferred)
b.PutBool(m.WasTransferred)
b.PutInt53(m.LastResaleStarCount)
b.PutInt53(m.TransferStarCount)
b.PutInt32(m.NextTransferDate)
b.PutInt32(m.NextResaleDate)
b.PutInt32(m.ExportDate)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageUpgradedGift) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageUpgradedGift#bf9d0e9 to nil")
}
if err := b.ConsumeID(MessageUpgradedGiftTypeID); err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageUpgradedGift) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageUpgradedGift#bf9d0e9 to nil")
}
{
if err := m.Gift.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field gift: %w", err)
}
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field sender_id: %w", err)
}
m.SenderID = value
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field receiver_id: %w", err)
}
m.ReceiverID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field received_gift_id: %w", err)
}
m.ReceivedGiftID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field is_upgrade: %w", err)
}
m.IsUpgrade = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field is_saved: %w", err)
}
m.IsSaved = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field can_be_transferred: %w", err)
}
m.CanBeTransferred = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field was_transferred: %w", err)
}
m.WasTransferred = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field last_resale_star_count: %w", err)
}
m.LastResaleStarCount = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field transfer_star_count: %w", err)
}
m.TransferStarCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field next_transfer_date: %w", err)
}
m.NextTransferDate = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field next_resale_date: %w", err)
}
m.NextResaleDate = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field export_date: %w", err)
}
m.ExportDate = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageUpgradedGift) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageUpgradedGift#bf9d0e9 as nil")
}
b.ObjStart()
b.PutID("messageUpgradedGift")
b.Comma()
b.FieldStart("gift")
if err := m.Gift.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field gift: %w", err)
}
b.Comma()
b.FieldStart("sender_id")
if m.SenderID == nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field sender_id is nil")
}
if err := m.SenderID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field sender_id: %w", err)
}
b.Comma()
b.FieldStart("receiver_id")
if m.ReceiverID == nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field receiver_id is nil")
}
if err := m.ReceiverID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageUpgradedGift#bf9d0e9: field receiver_id: %w", err)
}
b.Comma()
b.FieldStart("received_gift_id")
b.PutString(m.ReceivedGiftID)
b.Comma()
b.FieldStart("is_upgrade")
b.PutBool(m.IsUpgrade)
b.Comma()
b.FieldStart("is_saved")
b.PutBool(m.IsSaved)
b.Comma()
b.FieldStart("can_be_transferred")
b.PutBool(m.CanBeTransferred)
b.Comma()
b.FieldStart("was_transferred")
b.PutBool(m.WasTransferred)
b.Comma()
b.FieldStart("last_resale_star_count")
b.PutInt53(m.LastResaleStarCount)
b.Comma()
b.FieldStart("transfer_star_count")
b.PutInt53(m.TransferStarCount)
b.Comma()
b.FieldStart("next_transfer_date")
b.PutInt32(m.NextTransferDate)
b.Comma()
b.FieldStart("next_resale_date")
b.PutInt32(m.NextResaleDate)
b.Comma()
b.FieldStart("export_date")
b.PutInt32(m.ExportDate)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageUpgradedGift) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageUpgradedGift#bf9d0e9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageUpgradedGift"); err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: %w", err)
}
case "gift":
if err := m.Gift.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field gift: %w", err)
}
case "sender_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field sender_id: %w", err)
}
m.SenderID = value
case "receiver_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field receiver_id: %w", err)
}
m.ReceiverID = value
case "received_gift_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field received_gift_id: %w", err)
}
m.ReceivedGiftID = value
case "is_upgrade":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field is_upgrade: %w", err)
}
m.IsUpgrade = value
case "is_saved":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field is_saved: %w", err)
}
m.IsSaved = value
case "can_be_transferred":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field can_be_transferred: %w", err)
}
m.CanBeTransferred = value
case "was_transferred":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field was_transferred: %w", err)
}
m.WasTransferred = value
case "last_resale_star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field last_resale_star_count: %w", err)
}
m.LastResaleStarCount = value
case "transfer_star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field transfer_star_count: %w", err)
}
m.TransferStarCount = value
case "next_transfer_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field next_transfer_date: %w", err)
}
m.NextTransferDate = value
case "next_resale_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field next_resale_date: %w", err)
}
m.NextResaleDate = value
case "export_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageUpgradedGift#bf9d0e9: field export_date: %w", err)
}
m.ExportDate = value
default:
return b.Skip()
}
return nil
})
}
// GetGift returns value of Gift field.
func (m *MessageUpgradedGift) GetGift() (value UpgradedGift) {
if m == nil {
return
}
return m.Gift
}
// GetSenderID returns value of SenderID field.
func (m *MessageUpgradedGift) GetSenderID() (value MessageSenderClass) {
if m == nil {
return
}
return m.SenderID
}
// GetReceiverID returns value of ReceiverID field.
func (m *MessageUpgradedGift) GetReceiverID() (value MessageSenderClass) {
if m == nil {
return
}
return m.ReceiverID
}
// GetReceivedGiftID returns value of ReceivedGiftID field.
func (m *MessageUpgradedGift) GetReceivedGiftID() (value string) {
if m == nil {
return
}
return m.ReceivedGiftID
}
// GetIsUpgrade returns value of IsUpgrade field.
func (m *MessageUpgradedGift) GetIsUpgrade() (value bool) {
if m == nil {
return
}
return m.IsUpgrade
}
// GetIsSaved returns value of IsSaved field.
func (m *MessageUpgradedGift) GetIsSaved() (value bool) {
if m == nil {
return
}
return m.IsSaved
}
// GetCanBeTransferred returns value of CanBeTransferred field.
func (m *MessageUpgradedGift) GetCanBeTransferred() (value bool) {
if m == nil {
return
}
return m.CanBeTransferred
}
// GetWasTransferred returns value of WasTransferred field.
func (m *MessageUpgradedGift) GetWasTransferred() (value bool) {
if m == nil {
return
}
return m.WasTransferred
}
// GetLastResaleStarCount returns value of LastResaleStarCount field.
func (m *MessageUpgradedGift) GetLastResaleStarCount() (value int64) {
if m == nil {
return
}
return m.LastResaleStarCount
}
// GetTransferStarCount returns value of TransferStarCount field.
func (m *MessageUpgradedGift) GetTransferStarCount() (value int64) {
if m == nil {
return
}
return m.TransferStarCount
}
// GetNextTransferDate returns value of NextTransferDate field.
func (m *MessageUpgradedGift) GetNextTransferDate() (value int32) {
if m == nil {
return
}
return m.NextTransferDate
}
// GetNextResaleDate returns value of NextResaleDate field.
func (m *MessageUpgradedGift) GetNextResaleDate() (value int32) {
if m == nil {
return
}
return m.NextResaleDate
}
// GetExportDate returns value of ExportDate field.
func (m *MessageUpgradedGift) GetExportDate() (value int32) {
if m == nil {
return
}
return m.ExportDate
}
// MessageRefundedUpgradedGift represents TL type `messageRefundedUpgradedGift#8fd7946f`.
type MessageRefundedUpgradedGift struct {
// The gift
Gift Gift
// Sender of the gift
SenderID MessageSenderClass
// Receiver of the gift
ReceiverID MessageSenderClass
// True, if the gift was obtained by upgrading of a previously received gift; otherwise,
// this is a transferred or resold gift
IsUpgrade bool
}
// MessageRefundedUpgradedGiftTypeID is TL type id of MessageRefundedUpgradedGift.
const MessageRefundedUpgradedGiftTypeID = 0x8fd7946f
// construct implements constructor of MessageContentClass.
func (m MessageRefundedUpgradedGift) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageRefundedUpgradedGift.
var (
_ bin.Encoder = &MessageRefundedUpgradedGift{}
_ bin.Decoder = &MessageRefundedUpgradedGift{}
_ bin.BareEncoder = &MessageRefundedUpgradedGift{}
_ bin.BareDecoder = &MessageRefundedUpgradedGift{}
_ MessageContentClass = &MessageRefundedUpgradedGift{}
)
func (m *MessageRefundedUpgradedGift) Zero() bool {
if m == nil {
return true
}
if !(m.Gift.Zero()) {
return false
}
if !(m.SenderID == nil) {
return false
}
if !(m.ReceiverID == nil) {
return false
}
if !(m.IsUpgrade == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageRefundedUpgradedGift) String() string {
if m == nil {
return "MessageRefundedUpgradedGift(nil)"
}
type Alias MessageRefundedUpgradedGift
return fmt.Sprintf("MessageRefundedUpgradedGift%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageRefundedUpgradedGift) TypeID() uint32 {
return MessageRefundedUpgradedGiftTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageRefundedUpgradedGift) TypeName() string {
return "messageRefundedUpgradedGift"
}
// TypeInfo returns info about TL type.
func (m *MessageRefundedUpgradedGift) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageRefundedUpgradedGift",
ID: MessageRefundedUpgradedGiftTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Gift",
SchemaName: "gift",
},
{
Name: "SenderID",
SchemaName: "sender_id",
},
{
Name: "ReceiverID",
SchemaName: "receiver_id",
},
{
Name: "IsUpgrade",
SchemaName: "is_upgrade",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageRefundedUpgradedGift) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageRefundedUpgradedGift#8fd7946f as nil")
}
b.PutID(MessageRefundedUpgradedGiftTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageRefundedUpgradedGift) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageRefundedUpgradedGift#8fd7946f as nil")
}
if err := m.Gift.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field gift: %w", err)
}
if m.SenderID == nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field sender_id is nil")
}
if err := m.SenderID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field sender_id: %w", err)
}
if m.ReceiverID == nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field receiver_id is nil")
}
if err := m.ReceiverID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field receiver_id: %w", err)
}
b.PutBool(m.IsUpgrade)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageRefundedUpgradedGift) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageRefundedUpgradedGift#8fd7946f to nil")
}
if err := b.ConsumeID(MessageRefundedUpgradedGiftTypeID); err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageRefundedUpgradedGift) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageRefundedUpgradedGift#8fd7946f to nil")
}
{
if err := m.Gift.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: field gift: %w", err)
}
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: field sender_id: %w", err)
}
m.SenderID = value
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: field receiver_id: %w", err)
}
m.ReceiverID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: field is_upgrade: %w", err)
}
m.IsUpgrade = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageRefundedUpgradedGift) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageRefundedUpgradedGift#8fd7946f as nil")
}
b.ObjStart()
b.PutID("messageRefundedUpgradedGift")
b.Comma()
b.FieldStart("gift")
if err := m.Gift.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field gift: %w", err)
}
b.Comma()
b.FieldStart("sender_id")
if m.SenderID == nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field sender_id is nil")
}
if err := m.SenderID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field sender_id: %w", err)
}
b.Comma()
b.FieldStart("receiver_id")
if m.ReceiverID == nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field receiver_id is nil")
}
if err := m.ReceiverID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageRefundedUpgradedGift#8fd7946f: field receiver_id: %w", err)
}
b.Comma()
b.FieldStart("is_upgrade")
b.PutBool(m.IsUpgrade)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageRefundedUpgradedGift) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageRefundedUpgradedGift#8fd7946f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageRefundedUpgradedGift"); err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: %w", err)
}
case "gift":
if err := m.Gift.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: field gift: %w", err)
}
case "sender_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: field sender_id: %w", err)
}
m.SenderID = value
case "receiver_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: field receiver_id: %w", err)
}
m.ReceiverID = value
case "is_upgrade":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageRefundedUpgradedGift#8fd7946f: field is_upgrade: %w", err)
}
m.IsUpgrade = value
default:
return b.Skip()
}
return nil
})
}
// GetGift returns value of Gift field.
func (m *MessageRefundedUpgradedGift) GetGift() (value Gift) {
if m == nil {
return
}
return m.Gift
}
// GetSenderID returns value of SenderID field.
func (m *MessageRefundedUpgradedGift) GetSenderID() (value MessageSenderClass) {
if m == nil {
return
}
return m.SenderID
}
// GetReceiverID returns value of ReceiverID field.
func (m *MessageRefundedUpgradedGift) GetReceiverID() (value MessageSenderClass) {
if m == nil {
return
}
return m.ReceiverID
}
// GetIsUpgrade returns value of IsUpgrade field.
func (m *MessageRefundedUpgradedGift) GetIsUpgrade() (value bool) {
if m == nil {
return
}
return m.IsUpgrade
}
// MessagePaidMessagesRefunded represents TL type `messagePaidMessagesRefunded#2298408f`.
type MessagePaidMessagesRefunded struct {
// The number of refunded messages
MessageCount int32
// The number of refunded Telegram Stars
StarCount int64
}
// MessagePaidMessagesRefundedTypeID is TL type id of MessagePaidMessagesRefunded.
const MessagePaidMessagesRefundedTypeID = 0x2298408f
// construct implements constructor of MessageContentClass.
func (m MessagePaidMessagesRefunded) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePaidMessagesRefunded.
var (
_ bin.Encoder = &MessagePaidMessagesRefunded{}
_ bin.Decoder = &MessagePaidMessagesRefunded{}
_ bin.BareEncoder = &MessagePaidMessagesRefunded{}
_ bin.BareDecoder = &MessagePaidMessagesRefunded{}
_ MessageContentClass = &MessagePaidMessagesRefunded{}
)
func (m *MessagePaidMessagesRefunded) Zero() bool {
if m == nil {
return true
}
if !(m.MessageCount == 0) {
return false
}
if !(m.StarCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePaidMessagesRefunded) String() string {
if m == nil {
return "MessagePaidMessagesRefunded(nil)"
}
type Alias MessagePaidMessagesRefunded
return fmt.Sprintf("MessagePaidMessagesRefunded%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePaidMessagesRefunded) TypeID() uint32 {
return MessagePaidMessagesRefundedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePaidMessagesRefunded) TypeName() string {
return "messagePaidMessagesRefunded"
}
// TypeInfo returns info about TL type.
func (m *MessagePaidMessagesRefunded) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePaidMessagesRefunded",
ID: MessagePaidMessagesRefundedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "MessageCount",
SchemaName: "message_count",
},
{
Name: "StarCount",
SchemaName: "star_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePaidMessagesRefunded) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaidMessagesRefunded#2298408f as nil")
}
b.PutID(MessagePaidMessagesRefundedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePaidMessagesRefunded) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaidMessagesRefunded#2298408f as nil")
}
b.PutInt32(m.MessageCount)
b.PutInt53(m.StarCount)
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePaidMessagesRefunded) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaidMessagesRefunded#2298408f to nil")
}
if err := b.ConsumeID(MessagePaidMessagesRefundedTypeID); err != nil {
return fmt.Errorf("unable to decode messagePaidMessagesRefunded#2298408f: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePaidMessagesRefunded) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaidMessagesRefunded#2298408f to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMessagesRefunded#2298408f: field message_count: %w", err)
}
m.MessageCount = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMessagesRefunded#2298408f: field star_count: %w", err)
}
m.StarCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePaidMessagesRefunded) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePaidMessagesRefunded#2298408f as nil")
}
b.ObjStart()
b.PutID("messagePaidMessagesRefunded")
b.Comma()
b.FieldStart("message_count")
b.PutInt32(m.MessageCount)
b.Comma()
b.FieldStart("star_count")
b.PutInt53(m.StarCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePaidMessagesRefunded) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePaidMessagesRefunded#2298408f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePaidMessagesRefunded"); err != nil {
return fmt.Errorf("unable to decode messagePaidMessagesRefunded#2298408f: %w", err)
}
case "message_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMessagesRefunded#2298408f: field message_count: %w", err)
}
m.MessageCount = value
case "star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMessagesRefunded#2298408f: field star_count: %w", err)
}
m.StarCount = value
default:
return b.Skip()
}
return nil
})
}
// GetMessageCount returns value of MessageCount field.
func (m *MessagePaidMessagesRefunded) GetMessageCount() (value int32) {
if m == nil {
return
}
return m.MessageCount
}
// GetStarCount returns value of StarCount field.
func (m *MessagePaidMessagesRefunded) GetStarCount() (value int64) {
if m == nil {
return
}
return m.StarCount
}
// MessagePaidMessagePriceChanged represents TL type `messagePaidMessagePriceChanged#eb708d0b`.
type MessagePaidMessagePriceChanged struct {
// The new number of Telegram Stars that must be paid by non-administrator users of the
// supergroup chat for each sent message
PaidMessageStarCount int64
}
// MessagePaidMessagePriceChangedTypeID is TL type id of MessagePaidMessagePriceChanged.
const MessagePaidMessagePriceChangedTypeID = 0xeb708d0b
// construct implements constructor of MessageContentClass.
func (m MessagePaidMessagePriceChanged) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePaidMessagePriceChanged.
var (
_ bin.Encoder = &MessagePaidMessagePriceChanged{}
_ bin.Decoder = &MessagePaidMessagePriceChanged{}
_ bin.BareEncoder = &MessagePaidMessagePriceChanged{}
_ bin.BareDecoder = &MessagePaidMessagePriceChanged{}
_ MessageContentClass = &MessagePaidMessagePriceChanged{}
)
func (m *MessagePaidMessagePriceChanged) Zero() bool {
if m == nil {
return true
}
if !(m.PaidMessageStarCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePaidMessagePriceChanged) String() string {
if m == nil {
return "MessagePaidMessagePriceChanged(nil)"
}
type Alias MessagePaidMessagePriceChanged
return fmt.Sprintf("MessagePaidMessagePriceChanged%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePaidMessagePriceChanged) TypeID() uint32 {
return MessagePaidMessagePriceChangedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePaidMessagePriceChanged) TypeName() string {
return "messagePaidMessagePriceChanged"
}
// TypeInfo returns info about TL type.
func (m *MessagePaidMessagePriceChanged) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePaidMessagePriceChanged",
ID: MessagePaidMessagePriceChangedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PaidMessageStarCount",
SchemaName: "paid_message_star_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePaidMessagePriceChanged) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaidMessagePriceChanged#eb708d0b as nil")
}
b.PutID(MessagePaidMessagePriceChangedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePaidMessagePriceChanged) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePaidMessagePriceChanged#eb708d0b as nil")
}
b.PutInt53(m.PaidMessageStarCount)
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePaidMessagePriceChanged) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaidMessagePriceChanged#eb708d0b to nil")
}
if err := b.ConsumeID(MessagePaidMessagePriceChangedTypeID); err != nil {
return fmt.Errorf("unable to decode messagePaidMessagePriceChanged#eb708d0b: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePaidMessagePriceChanged) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePaidMessagePriceChanged#eb708d0b to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMessagePriceChanged#eb708d0b: field paid_message_star_count: %w", err)
}
m.PaidMessageStarCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePaidMessagePriceChanged) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePaidMessagePriceChanged#eb708d0b as nil")
}
b.ObjStart()
b.PutID("messagePaidMessagePriceChanged")
b.Comma()
b.FieldStart("paid_message_star_count")
b.PutInt53(m.PaidMessageStarCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePaidMessagePriceChanged) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePaidMessagePriceChanged#eb708d0b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePaidMessagePriceChanged"); err != nil {
return fmt.Errorf("unable to decode messagePaidMessagePriceChanged#eb708d0b: %w", err)
}
case "paid_message_star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messagePaidMessagePriceChanged#eb708d0b: field paid_message_star_count: %w", err)
}
m.PaidMessageStarCount = value
default:
return b.Skip()
}
return nil
})
}
// GetPaidMessageStarCount returns value of PaidMessageStarCount field.
func (m *MessagePaidMessagePriceChanged) GetPaidMessageStarCount() (value int64) {
if m == nil {
return
}
return m.PaidMessageStarCount
}
// MessageDirectMessagePriceChanged represents TL type `messageDirectMessagePriceChanged#4eba4db7`.
type MessageDirectMessagePriceChanged struct {
// True, if direct messages group was enabled for the channel; false otherwise
IsEnabled bool
// The new number of Telegram Stars that must be paid by non-administrator users of the
// channel chat for each message sent to the direct messages group;
PaidMessageStarCount int64
}
// MessageDirectMessagePriceChangedTypeID is TL type id of MessageDirectMessagePriceChanged.
const MessageDirectMessagePriceChangedTypeID = 0x4eba4db7
// construct implements constructor of MessageContentClass.
func (m MessageDirectMessagePriceChanged) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageDirectMessagePriceChanged.
var (
_ bin.Encoder = &MessageDirectMessagePriceChanged{}
_ bin.Decoder = &MessageDirectMessagePriceChanged{}
_ bin.BareEncoder = &MessageDirectMessagePriceChanged{}
_ bin.BareDecoder = &MessageDirectMessagePriceChanged{}
_ MessageContentClass = &MessageDirectMessagePriceChanged{}
)
func (m *MessageDirectMessagePriceChanged) Zero() bool {
if m == nil {
return true
}
if !(m.IsEnabled == false) {
return false
}
if !(m.PaidMessageStarCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageDirectMessagePriceChanged) String() string {
if m == nil {
return "MessageDirectMessagePriceChanged(nil)"
}
type Alias MessageDirectMessagePriceChanged
return fmt.Sprintf("MessageDirectMessagePriceChanged%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageDirectMessagePriceChanged) TypeID() uint32 {
return MessageDirectMessagePriceChangedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageDirectMessagePriceChanged) TypeName() string {
return "messageDirectMessagePriceChanged"
}
// TypeInfo returns info about TL type.
func (m *MessageDirectMessagePriceChanged) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageDirectMessagePriceChanged",
ID: MessageDirectMessagePriceChangedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "IsEnabled",
SchemaName: "is_enabled",
},
{
Name: "PaidMessageStarCount",
SchemaName: "paid_message_star_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageDirectMessagePriceChanged) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageDirectMessagePriceChanged#4eba4db7 as nil")
}
b.PutID(MessageDirectMessagePriceChangedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageDirectMessagePriceChanged) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageDirectMessagePriceChanged#4eba4db7 as nil")
}
b.PutBool(m.IsEnabled)
b.PutInt53(m.PaidMessageStarCount)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageDirectMessagePriceChanged) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageDirectMessagePriceChanged#4eba4db7 to nil")
}
if err := b.ConsumeID(MessageDirectMessagePriceChangedTypeID); err != nil {
return fmt.Errorf("unable to decode messageDirectMessagePriceChanged#4eba4db7: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageDirectMessagePriceChanged) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageDirectMessagePriceChanged#4eba4db7 to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageDirectMessagePriceChanged#4eba4db7: field is_enabled: %w", err)
}
m.IsEnabled = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageDirectMessagePriceChanged#4eba4db7: field paid_message_star_count: %w", err)
}
m.PaidMessageStarCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageDirectMessagePriceChanged) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageDirectMessagePriceChanged#4eba4db7 as nil")
}
b.ObjStart()
b.PutID("messageDirectMessagePriceChanged")
b.Comma()
b.FieldStart("is_enabled")
b.PutBool(m.IsEnabled)
b.Comma()
b.FieldStart("paid_message_star_count")
b.PutInt53(m.PaidMessageStarCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageDirectMessagePriceChanged) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageDirectMessagePriceChanged#4eba4db7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageDirectMessagePriceChanged"); err != nil {
return fmt.Errorf("unable to decode messageDirectMessagePriceChanged#4eba4db7: %w", err)
}
case "is_enabled":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode messageDirectMessagePriceChanged#4eba4db7: field is_enabled: %w", err)
}
m.IsEnabled = value
case "paid_message_star_count":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode messageDirectMessagePriceChanged#4eba4db7: field paid_message_star_count: %w", err)
}
m.PaidMessageStarCount = value
default:
return b.Skip()
}
return nil
})
}
// GetIsEnabled returns value of IsEnabled field.
func (m *MessageDirectMessagePriceChanged) GetIsEnabled() (value bool) {
if m == nil {
return
}
return m.IsEnabled
}
// GetPaidMessageStarCount returns value of PaidMessageStarCount field.
func (m *MessageDirectMessagePriceChanged) GetPaidMessageStarCount() (value int64) {
if m == nil {
return
}
return m.PaidMessageStarCount
}
// MessageContactRegistered represents TL type `messageContactRegistered#a678fcff`.
type MessageContactRegistered struct {
}
// MessageContactRegisteredTypeID is TL type id of MessageContactRegistered.
const MessageContactRegisteredTypeID = 0xa678fcff
// construct implements constructor of MessageContentClass.
func (m MessageContactRegistered) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageContactRegistered.
var (
_ bin.Encoder = &MessageContactRegistered{}
_ bin.Decoder = &MessageContactRegistered{}
_ bin.BareEncoder = &MessageContactRegistered{}
_ bin.BareDecoder = &MessageContactRegistered{}
_ MessageContentClass = &MessageContactRegistered{}
)
func (m *MessageContactRegistered) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageContactRegistered) String() string {
if m == nil {
return "MessageContactRegistered(nil)"
}
type Alias MessageContactRegistered
return fmt.Sprintf("MessageContactRegistered%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageContactRegistered) TypeID() uint32 {
return MessageContactRegisteredTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageContactRegistered) TypeName() string {
return "messageContactRegistered"
}
// TypeInfo returns info about TL type.
func (m *MessageContactRegistered) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageContactRegistered",
ID: MessageContactRegisteredTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageContactRegistered) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageContactRegistered#a678fcff as nil")
}
b.PutID(MessageContactRegisteredTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageContactRegistered) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageContactRegistered#a678fcff as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageContactRegistered) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageContactRegistered#a678fcff to nil")
}
if err := b.ConsumeID(MessageContactRegisteredTypeID); err != nil {
return fmt.Errorf("unable to decode messageContactRegistered#a678fcff: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageContactRegistered) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageContactRegistered#a678fcff to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageContactRegistered) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageContactRegistered#a678fcff as nil")
}
b.ObjStart()
b.PutID("messageContactRegistered")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageContactRegistered) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageContactRegistered#a678fcff to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageContactRegistered"); err != nil {
return fmt.Errorf("unable to decode messageContactRegistered#a678fcff: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageUsersShared represents TL type `messageUsersShared#7f1f4a22`.
type MessageUsersShared struct {
// The shared users
Users []SharedUser
// Identifier of the keyboard button with the request
ButtonID int32
}
// MessageUsersSharedTypeID is TL type id of MessageUsersShared.
const MessageUsersSharedTypeID = 0x7f1f4a22
// construct implements constructor of MessageContentClass.
func (m MessageUsersShared) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageUsersShared.
var (
_ bin.Encoder = &MessageUsersShared{}
_ bin.Decoder = &MessageUsersShared{}
_ bin.BareEncoder = &MessageUsersShared{}
_ bin.BareDecoder = &MessageUsersShared{}
_ MessageContentClass = &MessageUsersShared{}
)
func (m *MessageUsersShared) Zero() bool {
if m == nil {
return true
}
if !(m.Users == nil) {
return false
}
if !(m.ButtonID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageUsersShared) String() string {
if m == nil {
return "MessageUsersShared(nil)"
}
type Alias MessageUsersShared
return fmt.Sprintf("MessageUsersShared%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageUsersShared) TypeID() uint32 {
return MessageUsersSharedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageUsersShared) TypeName() string {
return "messageUsersShared"
}
// TypeInfo returns info about TL type.
func (m *MessageUsersShared) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageUsersShared",
ID: MessageUsersSharedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Users",
SchemaName: "users",
},
{
Name: "ButtonID",
SchemaName: "button_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageUsersShared) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageUsersShared#7f1f4a22 as nil")
}
b.PutID(MessageUsersSharedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageUsersShared) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageUsersShared#7f1f4a22 as nil")
}
b.PutInt(len(m.Users))
for idx, v := range m.Users {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare messageUsersShared#7f1f4a22: field users element with index %d: %w", idx, err)
}
}
b.PutInt32(m.ButtonID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageUsersShared) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageUsersShared#7f1f4a22 to nil")
}
if err := b.ConsumeID(MessageUsersSharedTypeID); err != nil {
return fmt.Errorf("unable to decode messageUsersShared#7f1f4a22: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageUsersShared) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageUsersShared#7f1f4a22 to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messageUsersShared#7f1f4a22: field users: %w", err)
}
if headerLen > 0 {
m.Users = make([]SharedUser, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value SharedUser
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare messageUsersShared#7f1f4a22: field users: %w", err)
}
m.Users = append(m.Users, value)
}
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageUsersShared#7f1f4a22: field button_id: %w", err)
}
m.ButtonID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageUsersShared) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageUsersShared#7f1f4a22 as nil")
}
b.ObjStart()
b.PutID("messageUsersShared")
b.Comma()
b.FieldStart("users")
b.ArrStart()
for idx, v := range m.Users {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageUsersShared#7f1f4a22: field users element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("button_id")
b.PutInt32(m.ButtonID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageUsersShared) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageUsersShared#7f1f4a22 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageUsersShared"); err != nil {
return fmt.Errorf("unable to decode messageUsersShared#7f1f4a22: %w", err)
}
case "users":
if err := b.Arr(func(b tdjson.Decoder) error {
var value SharedUser
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageUsersShared#7f1f4a22: field users: %w", err)
}
m.Users = append(m.Users, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messageUsersShared#7f1f4a22: field users: %w", err)
}
case "button_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageUsersShared#7f1f4a22: field button_id: %w", err)
}
m.ButtonID = value
default:
return b.Skip()
}
return nil
})
}
// GetUsers returns value of Users field.
func (m *MessageUsersShared) GetUsers() (value []SharedUser) {
if m == nil {
return
}
return m.Users
}
// GetButtonID returns value of ButtonID field.
func (m *MessageUsersShared) GetButtonID() (value int32) {
if m == nil {
return
}
return m.ButtonID
}
// MessageChatShared represents TL type `messageChatShared#aec6d961`.
type MessageChatShared struct {
// The shared chat
Chat SharedChat
// Identifier of the keyboard button with the request
ButtonID int32
}
// MessageChatSharedTypeID is TL type id of MessageChatShared.
const MessageChatSharedTypeID = 0xaec6d961
// construct implements constructor of MessageContentClass.
func (m MessageChatShared) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageChatShared.
var (
_ bin.Encoder = &MessageChatShared{}
_ bin.Decoder = &MessageChatShared{}
_ bin.BareEncoder = &MessageChatShared{}
_ bin.BareDecoder = &MessageChatShared{}
_ MessageContentClass = &MessageChatShared{}
)
func (m *MessageChatShared) Zero() bool {
if m == nil {
return true
}
if !(m.Chat.Zero()) {
return false
}
if !(m.ButtonID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageChatShared) String() string {
if m == nil {
return "MessageChatShared(nil)"
}
type Alias MessageChatShared
return fmt.Sprintf("MessageChatShared%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageChatShared) TypeID() uint32 {
return MessageChatSharedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageChatShared) TypeName() string {
return "messageChatShared"
}
// TypeInfo returns info about TL type.
func (m *MessageChatShared) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageChatShared",
ID: MessageChatSharedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Chat",
SchemaName: "chat",
},
{
Name: "ButtonID",
SchemaName: "button_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageChatShared) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatShared#aec6d961 as nil")
}
b.PutID(MessageChatSharedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageChatShared) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageChatShared#aec6d961 as nil")
}
if err := m.Chat.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageChatShared#aec6d961: field chat: %w", err)
}
b.PutInt32(m.ButtonID)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageChatShared) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatShared#aec6d961 to nil")
}
if err := b.ConsumeID(MessageChatSharedTypeID); err != nil {
return fmt.Errorf("unable to decode messageChatShared#aec6d961: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageChatShared) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageChatShared#aec6d961 to nil")
}
{
if err := m.Chat.Decode(b); err != nil {
return fmt.Errorf("unable to decode messageChatShared#aec6d961: field chat: %w", err)
}
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageChatShared#aec6d961: field button_id: %w", err)
}
m.ButtonID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageChatShared) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageChatShared#aec6d961 as nil")
}
b.ObjStart()
b.PutID("messageChatShared")
b.Comma()
b.FieldStart("chat")
if err := m.Chat.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageChatShared#aec6d961: field chat: %w", err)
}
b.Comma()
b.FieldStart("button_id")
b.PutInt32(m.ButtonID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageChatShared) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageChatShared#aec6d961 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageChatShared"); err != nil {
return fmt.Errorf("unable to decode messageChatShared#aec6d961: %w", err)
}
case "chat":
if err := m.Chat.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messageChatShared#aec6d961: field chat: %w", err)
}
case "button_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageChatShared#aec6d961: field button_id: %w", err)
}
m.ButtonID = value
default:
return b.Skip()
}
return nil
})
}
// GetChat returns value of Chat field.
func (m *MessageChatShared) GetChat() (value SharedChat) {
if m == nil {
return
}
return m.Chat
}
// GetButtonID returns value of ButtonID field.
func (m *MessageChatShared) GetButtonID() (value int32) {
if m == nil {
return
}
return m.ButtonID
}
// MessageBotWriteAccessAllowed represents TL type `messageBotWriteAccessAllowed#9a8ab7b4`.
type MessageBotWriteAccessAllowed struct {
// The reason why the bot was allowed to write messages
Reason BotWriteAccessAllowReasonClass
}
// MessageBotWriteAccessAllowedTypeID is TL type id of MessageBotWriteAccessAllowed.
const MessageBotWriteAccessAllowedTypeID = 0x9a8ab7b4
// construct implements constructor of MessageContentClass.
func (m MessageBotWriteAccessAllowed) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageBotWriteAccessAllowed.
var (
_ bin.Encoder = &MessageBotWriteAccessAllowed{}
_ bin.Decoder = &MessageBotWriteAccessAllowed{}
_ bin.BareEncoder = &MessageBotWriteAccessAllowed{}
_ bin.BareDecoder = &MessageBotWriteAccessAllowed{}
_ MessageContentClass = &MessageBotWriteAccessAllowed{}
)
func (m *MessageBotWriteAccessAllowed) Zero() bool {
if m == nil {
return true
}
if !(m.Reason == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageBotWriteAccessAllowed) String() string {
if m == nil {
return "MessageBotWriteAccessAllowed(nil)"
}
type Alias MessageBotWriteAccessAllowed
return fmt.Sprintf("MessageBotWriteAccessAllowed%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageBotWriteAccessAllowed) TypeID() uint32 {
return MessageBotWriteAccessAllowedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageBotWriteAccessAllowed) TypeName() string {
return "messageBotWriteAccessAllowed"
}
// TypeInfo returns info about TL type.
func (m *MessageBotWriteAccessAllowed) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageBotWriteAccessAllowed",
ID: MessageBotWriteAccessAllowedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Reason",
SchemaName: "reason",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageBotWriteAccessAllowed) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageBotWriteAccessAllowed#9a8ab7b4 as nil")
}
b.PutID(MessageBotWriteAccessAllowedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageBotWriteAccessAllowed) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageBotWriteAccessAllowed#9a8ab7b4 as nil")
}
if m.Reason == nil {
return fmt.Errorf("unable to encode messageBotWriteAccessAllowed#9a8ab7b4: field reason is nil")
}
if err := m.Reason.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageBotWriteAccessAllowed#9a8ab7b4: field reason: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageBotWriteAccessAllowed) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageBotWriteAccessAllowed#9a8ab7b4 to nil")
}
if err := b.ConsumeID(MessageBotWriteAccessAllowedTypeID); err != nil {
return fmt.Errorf("unable to decode messageBotWriteAccessAllowed#9a8ab7b4: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageBotWriteAccessAllowed) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageBotWriteAccessAllowed#9a8ab7b4 to nil")
}
{
value, err := DecodeBotWriteAccessAllowReason(b)
if err != nil {
return fmt.Errorf("unable to decode messageBotWriteAccessAllowed#9a8ab7b4: field reason: %w", err)
}
m.Reason = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageBotWriteAccessAllowed) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageBotWriteAccessAllowed#9a8ab7b4 as nil")
}
b.ObjStart()
b.PutID("messageBotWriteAccessAllowed")
b.Comma()
b.FieldStart("reason")
if m.Reason == nil {
return fmt.Errorf("unable to encode messageBotWriteAccessAllowed#9a8ab7b4: field reason is nil")
}
if err := m.Reason.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageBotWriteAccessAllowed#9a8ab7b4: field reason: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageBotWriteAccessAllowed) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageBotWriteAccessAllowed#9a8ab7b4 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageBotWriteAccessAllowed"); err != nil {
return fmt.Errorf("unable to decode messageBotWriteAccessAllowed#9a8ab7b4: %w", err)
}
case "reason":
value, err := DecodeTDLibJSONBotWriteAccessAllowReason(b)
if err != nil {
return fmt.Errorf("unable to decode messageBotWriteAccessAllowed#9a8ab7b4: field reason: %w", err)
}
m.Reason = value
default:
return b.Skip()
}
return nil
})
}
// GetReason returns value of Reason field.
func (m *MessageBotWriteAccessAllowed) GetReason() (value BotWriteAccessAllowReasonClass) {
if m == nil {
return
}
return m.Reason
}
// MessageWebAppDataSent represents TL type `messageWebAppDataSent#fb033912`.
type MessageWebAppDataSent struct {
// Text of the keyboardButtonTypeWebApp button, which opened the Web App
ButtonText string
}
// MessageWebAppDataSentTypeID is TL type id of MessageWebAppDataSent.
const MessageWebAppDataSentTypeID = 0xfb033912
// construct implements constructor of MessageContentClass.
func (m MessageWebAppDataSent) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageWebAppDataSent.
var (
_ bin.Encoder = &MessageWebAppDataSent{}
_ bin.Decoder = &MessageWebAppDataSent{}
_ bin.BareEncoder = &MessageWebAppDataSent{}
_ bin.BareDecoder = &MessageWebAppDataSent{}
_ MessageContentClass = &MessageWebAppDataSent{}
)
func (m *MessageWebAppDataSent) Zero() bool {
if m == nil {
return true
}
if !(m.ButtonText == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageWebAppDataSent) String() string {
if m == nil {
return "MessageWebAppDataSent(nil)"
}
type Alias MessageWebAppDataSent
return fmt.Sprintf("MessageWebAppDataSent%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageWebAppDataSent) TypeID() uint32 {
return MessageWebAppDataSentTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageWebAppDataSent) TypeName() string {
return "messageWebAppDataSent"
}
// TypeInfo returns info about TL type.
func (m *MessageWebAppDataSent) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageWebAppDataSent",
ID: MessageWebAppDataSentTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ButtonText",
SchemaName: "button_text",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageWebAppDataSent) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageWebAppDataSent#fb033912 as nil")
}
b.PutID(MessageWebAppDataSentTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageWebAppDataSent) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageWebAppDataSent#fb033912 as nil")
}
b.PutString(m.ButtonText)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageWebAppDataSent) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageWebAppDataSent#fb033912 to nil")
}
if err := b.ConsumeID(MessageWebAppDataSentTypeID); err != nil {
return fmt.Errorf("unable to decode messageWebAppDataSent#fb033912: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageWebAppDataSent) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageWebAppDataSent#fb033912 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageWebAppDataSent#fb033912: field button_text: %w", err)
}
m.ButtonText = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageWebAppDataSent) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageWebAppDataSent#fb033912 as nil")
}
b.ObjStart()
b.PutID("messageWebAppDataSent")
b.Comma()
b.FieldStart("button_text")
b.PutString(m.ButtonText)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageWebAppDataSent) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageWebAppDataSent#fb033912 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageWebAppDataSent"); err != nil {
return fmt.Errorf("unable to decode messageWebAppDataSent#fb033912: %w", err)
}
case "button_text":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageWebAppDataSent#fb033912: field button_text: %w", err)
}
m.ButtonText = value
default:
return b.Skip()
}
return nil
})
}
// GetButtonText returns value of ButtonText field.
func (m *MessageWebAppDataSent) GetButtonText() (value string) {
if m == nil {
return
}
return m.ButtonText
}
// MessageWebAppDataReceived represents TL type `messageWebAppDataReceived#ff7d1a15`.
type MessageWebAppDataReceived struct {
// Text of the keyboardButtonTypeWebApp button, which opened the Web App
ButtonText string
// The data
Data string
}
// MessageWebAppDataReceivedTypeID is TL type id of MessageWebAppDataReceived.
const MessageWebAppDataReceivedTypeID = 0xff7d1a15
// construct implements constructor of MessageContentClass.
func (m MessageWebAppDataReceived) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageWebAppDataReceived.
var (
_ bin.Encoder = &MessageWebAppDataReceived{}
_ bin.Decoder = &MessageWebAppDataReceived{}
_ bin.BareEncoder = &MessageWebAppDataReceived{}
_ bin.BareDecoder = &MessageWebAppDataReceived{}
_ MessageContentClass = &MessageWebAppDataReceived{}
)
func (m *MessageWebAppDataReceived) Zero() bool {
if m == nil {
return true
}
if !(m.ButtonText == "") {
return false
}
if !(m.Data == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageWebAppDataReceived) String() string {
if m == nil {
return "MessageWebAppDataReceived(nil)"
}
type Alias MessageWebAppDataReceived
return fmt.Sprintf("MessageWebAppDataReceived%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageWebAppDataReceived) TypeID() uint32 {
return MessageWebAppDataReceivedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageWebAppDataReceived) TypeName() string {
return "messageWebAppDataReceived"
}
// TypeInfo returns info about TL type.
func (m *MessageWebAppDataReceived) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageWebAppDataReceived",
ID: MessageWebAppDataReceivedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ButtonText",
SchemaName: "button_text",
},
{
Name: "Data",
SchemaName: "data",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageWebAppDataReceived) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageWebAppDataReceived#ff7d1a15 as nil")
}
b.PutID(MessageWebAppDataReceivedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageWebAppDataReceived) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageWebAppDataReceived#ff7d1a15 as nil")
}
b.PutString(m.ButtonText)
b.PutString(m.Data)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageWebAppDataReceived) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageWebAppDataReceived#ff7d1a15 to nil")
}
if err := b.ConsumeID(MessageWebAppDataReceivedTypeID); err != nil {
return fmt.Errorf("unable to decode messageWebAppDataReceived#ff7d1a15: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageWebAppDataReceived) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageWebAppDataReceived#ff7d1a15 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageWebAppDataReceived#ff7d1a15: field button_text: %w", err)
}
m.ButtonText = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageWebAppDataReceived#ff7d1a15: field data: %w", err)
}
m.Data = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageWebAppDataReceived) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageWebAppDataReceived#ff7d1a15 as nil")
}
b.ObjStart()
b.PutID("messageWebAppDataReceived")
b.Comma()
b.FieldStart("button_text")
b.PutString(m.ButtonText)
b.Comma()
b.FieldStart("data")
b.PutString(m.Data)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageWebAppDataReceived) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageWebAppDataReceived#ff7d1a15 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageWebAppDataReceived"); err != nil {
return fmt.Errorf("unable to decode messageWebAppDataReceived#ff7d1a15: %w", err)
}
case "button_text":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageWebAppDataReceived#ff7d1a15: field button_text: %w", err)
}
m.ButtonText = value
case "data":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode messageWebAppDataReceived#ff7d1a15: field data: %w", err)
}
m.Data = value
default:
return b.Skip()
}
return nil
})
}
// GetButtonText returns value of ButtonText field.
func (m *MessageWebAppDataReceived) GetButtonText() (value string) {
if m == nil {
return
}
return m.ButtonText
}
// GetData returns value of Data field.
func (m *MessageWebAppDataReceived) GetData() (value string) {
if m == nil {
return
}
return m.Data
}
// MessagePassportDataSent represents TL type `messagePassportDataSent#26c5ed6b`.
type MessagePassportDataSent struct {
// List of Telegram Passport element types sent
Types []PassportElementTypeClass
}
// MessagePassportDataSentTypeID is TL type id of MessagePassportDataSent.
const MessagePassportDataSentTypeID = 0x26c5ed6b
// construct implements constructor of MessageContentClass.
func (m MessagePassportDataSent) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePassportDataSent.
var (
_ bin.Encoder = &MessagePassportDataSent{}
_ bin.Decoder = &MessagePassportDataSent{}
_ bin.BareEncoder = &MessagePassportDataSent{}
_ bin.BareDecoder = &MessagePassportDataSent{}
_ MessageContentClass = &MessagePassportDataSent{}
)
func (m *MessagePassportDataSent) Zero() bool {
if m == nil {
return true
}
if !(m.Types == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePassportDataSent) String() string {
if m == nil {
return "MessagePassportDataSent(nil)"
}
type Alias MessagePassportDataSent
return fmt.Sprintf("MessagePassportDataSent%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePassportDataSent) TypeID() uint32 {
return MessagePassportDataSentTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePassportDataSent) TypeName() string {
return "messagePassportDataSent"
}
// TypeInfo returns info about TL type.
func (m *MessagePassportDataSent) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePassportDataSent",
ID: MessagePassportDataSentTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Types",
SchemaName: "types",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePassportDataSent) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePassportDataSent#26c5ed6b as nil")
}
b.PutID(MessagePassportDataSentTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePassportDataSent) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePassportDataSent#26c5ed6b as nil")
}
b.PutInt(len(m.Types))
for idx, v := range m.Types {
if v == nil {
return fmt.Errorf("unable to encode messagePassportDataSent#26c5ed6b: field types element with index %d is nil", idx)
}
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare messagePassportDataSent#26c5ed6b: field types element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePassportDataSent) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePassportDataSent#26c5ed6b to nil")
}
if err := b.ConsumeID(MessagePassportDataSentTypeID); err != nil {
return fmt.Errorf("unable to decode messagePassportDataSent#26c5ed6b: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePassportDataSent) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePassportDataSent#26c5ed6b to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messagePassportDataSent#26c5ed6b: field types: %w", err)
}
if headerLen > 0 {
m.Types = make([]PassportElementTypeClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodePassportElementType(b)
if err != nil {
return fmt.Errorf("unable to decode messagePassportDataSent#26c5ed6b: field types: %w", err)
}
m.Types = append(m.Types, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePassportDataSent) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePassportDataSent#26c5ed6b as nil")
}
b.ObjStart()
b.PutID("messagePassportDataSent")
b.Comma()
b.FieldStart("types")
b.ArrStart()
for idx, v := range m.Types {
if v == nil {
return fmt.Errorf("unable to encode messagePassportDataSent#26c5ed6b: field types element with index %d is nil", idx)
}
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePassportDataSent#26c5ed6b: field types element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePassportDataSent) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePassportDataSent#26c5ed6b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePassportDataSent"); err != nil {
return fmt.Errorf("unable to decode messagePassportDataSent#26c5ed6b: %w", err)
}
case "types":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := DecodeTDLibJSONPassportElementType(b)
if err != nil {
return fmt.Errorf("unable to decode messagePassportDataSent#26c5ed6b: field types: %w", err)
}
m.Types = append(m.Types, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messagePassportDataSent#26c5ed6b: field types: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetTypes returns value of Types field.
func (m *MessagePassportDataSent) GetTypes() (value []PassportElementTypeClass) {
if m == nil {
return
}
return m.Types
}
// MessagePassportDataReceived represents TL type `messagePassportDataReceived#e0b936b9`.
type MessagePassportDataReceived struct {
// List of received Telegram Passport elements
Elements []EncryptedPassportElement
// Encrypted data credentials
Credentials EncryptedCredentials
}
// MessagePassportDataReceivedTypeID is TL type id of MessagePassportDataReceived.
const MessagePassportDataReceivedTypeID = 0xe0b936b9
// construct implements constructor of MessageContentClass.
func (m MessagePassportDataReceived) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessagePassportDataReceived.
var (
_ bin.Encoder = &MessagePassportDataReceived{}
_ bin.Decoder = &MessagePassportDataReceived{}
_ bin.BareEncoder = &MessagePassportDataReceived{}
_ bin.BareDecoder = &MessagePassportDataReceived{}
_ MessageContentClass = &MessagePassportDataReceived{}
)
func (m *MessagePassportDataReceived) Zero() bool {
if m == nil {
return true
}
if !(m.Elements == nil) {
return false
}
if !(m.Credentials.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessagePassportDataReceived) String() string {
if m == nil {
return "MessagePassportDataReceived(nil)"
}
type Alias MessagePassportDataReceived
return fmt.Sprintf("MessagePassportDataReceived%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessagePassportDataReceived) TypeID() uint32 {
return MessagePassportDataReceivedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessagePassportDataReceived) TypeName() string {
return "messagePassportDataReceived"
}
// TypeInfo returns info about TL type.
func (m *MessagePassportDataReceived) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messagePassportDataReceived",
ID: MessagePassportDataReceivedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Elements",
SchemaName: "elements",
},
{
Name: "Credentials",
SchemaName: "credentials",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessagePassportDataReceived) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePassportDataReceived#e0b936b9 as nil")
}
b.PutID(MessagePassportDataReceivedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessagePassportDataReceived) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messagePassportDataReceived#e0b936b9 as nil")
}
b.PutInt(len(m.Elements))
for idx, v := range m.Elements {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare messagePassportDataReceived#e0b936b9: field elements element with index %d: %w", idx, err)
}
}
if err := m.Credentials.Encode(b); err != nil {
return fmt.Errorf("unable to encode messagePassportDataReceived#e0b936b9: field credentials: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessagePassportDataReceived) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePassportDataReceived#e0b936b9 to nil")
}
if err := b.ConsumeID(MessagePassportDataReceivedTypeID); err != nil {
return fmt.Errorf("unable to decode messagePassportDataReceived#e0b936b9: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessagePassportDataReceived) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messagePassportDataReceived#e0b936b9 to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode messagePassportDataReceived#e0b936b9: field elements: %w", err)
}
if headerLen > 0 {
m.Elements = make([]EncryptedPassportElement, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value EncryptedPassportElement
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare messagePassportDataReceived#e0b936b9: field elements: %w", err)
}
m.Elements = append(m.Elements, value)
}
}
{
if err := m.Credentials.Decode(b); err != nil {
return fmt.Errorf("unable to decode messagePassportDataReceived#e0b936b9: field credentials: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessagePassportDataReceived) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messagePassportDataReceived#e0b936b9 as nil")
}
b.ObjStart()
b.PutID("messagePassportDataReceived")
b.Comma()
b.FieldStart("elements")
b.ArrStart()
for idx, v := range m.Elements {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePassportDataReceived#e0b936b9: field elements element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("credentials")
if err := m.Credentials.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messagePassportDataReceived#e0b936b9: field credentials: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessagePassportDataReceived) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messagePassportDataReceived#e0b936b9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messagePassportDataReceived"); err != nil {
return fmt.Errorf("unable to decode messagePassportDataReceived#e0b936b9: %w", err)
}
case "elements":
if err := b.Arr(func(b tdjson.Decoder) error {
var value EncryptedPassportElement
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messagePassportDataReceived#e0b936b9: field elements: %w", err)
}
m.Elements = append(m.Elements, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode messagePassportDataReceived#e0b936b9: field elements: %w", err)
}
case "credentials":
if err := m.Credentials.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode messagePassportDataReceived#e0b936b9: field credentials: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetElements returns value of Elements field.
func (m *MessagePassportDataReceived) GetElements() (value []EncryptedPassportElement) {
if m == nil {
return
}
return m.Elements
}
// GetCredentials returns value of Credentials field.
func (m *MessagePassportDataReceived) GetCredentials() (value EncryptedCredentials) {
if m == nil {
return
}
return m.Credentials
}
// MessageProximityAlertTriggered represents TL type `messageProximityAlertTriggered#409f6d3`.
type MessageProximityAlertTriggered struct {
// The identifier of a user or chat that triggered the proximity alert
TravelerID MessageSenderClass
// The identifier of a user or chat that subscribed for the proximity alert
WatcherID MessageSenderClass
// The distance between the users
Distance int32
}
// MessageProximityAlertTriggeredTypeID is TL type id of MessageProximityAlertTriggered.
const MessageProximityAlertTriggeredTypeID = 0x409f6d3
// construct implements constructor of MessageContentClass.
func (m MessageProximityAlertTriggered) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageProximityAlertTriggered.
var (
_ bin.Encoder = &MessageProximityAlertTriggered{}
_ bin.Decoder = &MessageProximityAlertTriggered{}
_ bin.BareEncoder = &MessageProximityAlertTriggered{}
_ bin.BareDecoder = &MessageProximityAlertTriggered{}
_ MessageContentClass = &MessageProximityAlertTriggered{}
)
func (m *MessageProximityAlertTriggered) Zero() bool {
if m == nil {
return true
}
if !(m.TravelerID == nil) {
return false
}
if !(m.WatcherID == nil) {
return false
}
if !(m.Distance == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (m *MessageProximityAlertTriggered) String() string {
if m == nil {
return "MessageProximityAlertTriggered(nil)"
}
type Alias MessageProximityAlertTriggered
return fmt.Sprintf("MessageProximityAlertTriggered%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageProximityAlertTriggered) TypeID() uint32 {
return MessageProximityAlertTriggeredTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageProximityAlertTriggered) TypeName() string {
return "messageProximityAlertTriggered"
}
// TypeInfo returns info about TL type.
func (m *MessageProximityAlertTriggered) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageProximityAlertTriggered",
ID: MessageProximityAlertTriggeredTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "TravelerID",
SchemaName: "traveler_id",
},
{
Name: "WatcherID",
SchemaName: "watcher_id",
},
{
Name: "Distance",
SchemaName: "distance",
},
}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageProximityAlertTriggered) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageProximityAlertTriggered#409f6d3 as nil")
}
b.PutID(MessageProximityAlertTriggeredTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageProximityAlertTriggered) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageProximityAlertTriggered#409f6d3 as nil")
}
if m.TravelerID == nil {
return fmt.Errorf("unable to encode messageProximityAlertTriggered#409f6d3: field traveler_id is nil")
}
if err := m.TravelerID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageProximityAlertTriggered#409f6d3: field traveler_id: %w", err)
}
if m.WatcherID == nil {
return fmt.Errorf("unable to encode messageProximityAlertTriggered#409f6d3: field watcher_id is nil")
}
if err := m.WatcherID.Encode(b); err != nil {
return fmt.Errorf("unable to encode messageProximityAlertTriggered#409f6d3: field watcher_id: %w", err)
}
b.PutInt32(m.Distance)
return nil
}
// Decode implements bin.Decoder.
func (m *MessageProximityAlertTriggered) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageProximityAlertTriggered#409f6d3 to nil")
}
if err := b.ConsumeID(MessageProximityAlertTriggeredTypeID); err != nil {
return fmt.Errorf("unable to decode messageProximityAlertTriggered#409f6d3: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageProximityAlertTriggered) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageProximityAlertTriggered#409f6d3 to nil")
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageProximityAlertTriggered#409f6d3: field traveler_id: %w", err)
}
m.TravelerID = value
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageProximityAlertTriggered#409f6d3: field watcher_id: %w", err)
}
m.WatcherID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageProximityAlertTriggered#409f6d3: field distance: %w", err)
}
m.Distance = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageProximityAlertTriggered) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageProximityAlertTriggered#409f6d3 as nil")
}
b.ObjStart()
b.PutID("messageProximityAlertTriggered")
b.Comma()
b.FieldStart("traveler_id")
if m.TravelerID == nil {
return fmt.Errorf("unable to encode messageProximityAlertTriggered#409f6d3: field traveler_id is nil")
}
if err := m.TravelerID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageProximityAlertTriggered#409f6d3: field traveler_id: %w", err)
}
b.Comma()
b.FieldStart("watcher_id")
if m.WatcherID == nil {
return fmt.Errorf("unable to encode messageProximityAlertTriggered#409f6d3: field watcher_id is nil")
}
if err := m.WatcherID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode messageProximityAlertTriggered#409f6d3: field watcher_id: %w", err)
}
b.Comma()
b.FieldStart("distance")
b.PutInt32(m.Distance)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageProximityAlertTriggered) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageProximityAlertTriggered#409f6d3 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageProximityAlertTriggered"); err != nil {
return fmt.Errorf("unable to decode messageProximityAlertTriggered#409f6d3: %w", err)
}
case "traveler_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageProximityAlertTriggered#409f6d3: field traveler_id: %w", err)
}
m.TravelerID = value
case "watcher_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode messageProximityAlertTriggered#409f6d3: field watcher_id: %w", err)
}
m.WatcherID = value
case "distance":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode messageProximityAlertTriggered#409f6d3: field distance: %w", err)
}
m.Distance = value
default:
return b.Skip()
}
return nil
})
}
// GetTravelerID returns value of TravelerID field.
func (m *MessageProximityAlertTriggered) GetTravelerID() (value MessageSenderClass) {
if m == nil {
return
}
return m.TravelerID
}
// GetWatcherID returns value of WatcherID field.
func (m *MessageProximityAlertTriggered) GetWatcherID() (value MessageSenderClass) {
if m == nil {
return
}
return m.WatcherID
}
// GetDistance returns value of Distance field.
func (m *MessageProximityAlertTriggered) GetDistance() (value int32) {
if m == nil {
return
}
return m.Distance
}
// MessageUnsupported represents TL type `messageUnsupported#93b6f585`.
type MessageUnsupported struct {
}
// MessageUnsupportedTypeID is TL type id of MessageUnsupported.
const MessageUnsupportedTypeID = 0x93b6f585
// construct implements constructor of MessageContentClass.
func (m MessageUnsupported) construct() MessageContentClass { return &m }
// Ensuring interfaces in compile-time for MessageUnsupported.
var (
_ bin.Encoder = &MessageUnsupported{}
_ bin.Decoder = &MessageUnsupported{}
_ bin.BareEncoder = &MessageUnsupported{}
_ bin.BareDecoder = &MessageUnsupported{}
_ MessageContentClass = &MessageUnsupported{}
)
func (m *MessageUnsupported) Zero() bool {
if m == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (m *MessageUnsupported) String() string {
if m == nil {
return "MessageUnsupported(nil)"
}
type Alias MessageUnsupported
return fmt.Sprintf("MessageUnsupported%+v", Alias(*m))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*MessageUnsupported) TypeID() uint32 {
return MessageUnsupportedTypeID
}
// TypeName returns name of type in TL schema.
func (*MessageUnsupported) TypeName() string {
return "messageUnsupported"
}
// TypeInfo returns info about TL type.
func (m *MessageUnsupported) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "messageUnsupported",
ID: MessageUnsupportedTypeID,
}
if m == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (m *MessageUnsupported) Encode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageUnsupported#93b6f585 as nil")
}
b.PutID(MessageUnsupportedTypeID)
return m.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (m *MessageUnsupported) EncodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't encode messageUnsupported#93b6f585 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (m *MessageUnsupported) Decode(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageUnsupported#93b6f585 to nil")
}
if err := b.ConsumeID(MessageUnsupportedTypeID); err != nil {
return fmt.Errorf("unable to decode messageUnsupported#93b6f585: %w", err)
}
return m.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (m *MessageUnsupported) DecodeBare(b *bin.Buffer) error {
if m == nil {
return fmt.Errorf("can't decode messageUnsupported#93b6f585 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (m *MessageUnsupported) EncodeTDLibJSON(b tdjson.Encoder) error {
if m == nil {
return fmt.Errorf("can't encode messageUnsupported#93b6f585 as nil")
}
b.ObjStart()
b.PutID("messageUnsupported")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (m *MessageUnsupported) DecodeTDLibJSON(b tdjson.Decoder) error {
if m == nil {
return fmt.Errorf("can't decode messageUnsupported#93b6f585 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("messageUnsupported"); err != nil {
return fmt.Errorf("unable to decode messageUnsupported#93b6f585: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// MessageContentClassName is schema name of MessageContentClass.
const MessageContentClassName = "MessageContent"
// MessageContentClass represents MessageContent generic type.
//
// Example:
//
// g, err := tdapi.DecodeMessageContent(buf)
// if err != nil {
// panic(err)
// }
// switch v := g.(type) {
// case *tdapi.MessageText: // messageText#68654c84
// case *tdapi.MessageAnimation: // messageAnimation#8ecb1128
// case *tdapi.MessageAudio: // messageAudio#107e741c
// case *tdapi.MessageDocument: // messageDocument#2394ab77
// case *tdapi.MessagePaidMedia: // messagePaidMedia#3e5fd7c2
// case *tdapi.MessagePhoto: // messagePhoto#754c7e1f
// case *tdapi.MessageSticker: // messageSticker#e5f0dcca
// case *tdapi.MessageVideo: // messageVideo#dcb6ee35
// case *tdapi.MessageVideoNote: // messageVideoNote#396b2486
// case *tdapi.MessageVoiceNote: // messageVoiceNote#1f753ff5
// case *tdapi.MessageExpiredPhoto: // messageExpiredPhoto#ac46ddf7
// case *tdapi.MessageExpiredVideo: // messageExpiredVideo#b7bf24c3
// case *tdapi.MessageExpiredVideoNote: // messageExpiredVideoNote#23bc43e7
// case *tdapi.MessageExpiredVoiceNote: // messageExpiredVoiceNote#890757d
// case *tdapi.MessageLocation: // messageLocation#121e4474
// case *tdapi.MessageVenue: // messageVenue#800f2175
// case *tdapi.MessageContact: // messageContact#e1710c5a
// case *tdapi.MessageAnimatedEmoji: // messageAnimatedEmoji#3621f5e2
// case *tdapi.MessageDice: // messageDice#42817239
// case *tdapi.MessageGame: // messageGame#fbdc6976
// case *tdapi.MessagePoll: // messagePoll#d888b24d
// case *tdapi.MessageStory: // messageStory#5a4169c1
// case *tdapi.MessageInvoice: // messageInvoice#fadfd46
// case *tdapi.MessageCall: // messageCall#201ede00
// case *tdapi.MessageGroupCall: // messageGroupCall#a764e6a1
// case *tdapi.MessageVideoChatScheduled: // messageVideoChatScheduled#916c1db7
// case *tdapi.MessageVideoChatStarted: // messageVideoChatStarted#1f114559
// case *tdapi.MessageVideoChatEnded: // messageVideoChatEnded#79262c57
// case *tdapi.MessageInviteVideoChatParticipants: // messageInviteVideoChatParticipants#f58d603
// case *tdapi.MessageBasicGroupChatCreate: // messageBasicGroupChatCreate#8b60f757
// case *tdapi.MessageSupergroupChatCreate: // messageSupergroupChatCreate#e61cb71b
// case *tdapi.MessageChatChangeTitle: // messageChatChangeTitle#2c99bb41
// case *tdapi.MessageChatChangePhoto: // messageChatChangePhoto#cf84454b
// case *tdapi.MessageChatDeletePhoto: // messageChatDeletePhoto#f502a9e7
// case *tdapi.MessageChatAddMembers: // messageChatAddMembers#1e95b1cd
// case *tdapi.MessageChatJoinByLink: // messageChatJoinByLink#6e0f407f
// case *tdapi.MessageChatJoinByRequest: // messageChatJoinByRequest#4740cb7c
// case *tdapi.MessageChatDeleteMember: // messageChatDeleteMember#37e931a9
// case *tdapi.MessageChatUpgradeTo: // messageChatUpgradeTo#63f549b
// case *tdapi.MessageChatUpgradeFrom: // messageChatUpgradeFrom#136daadc
// case *tdapi.MessagePinMessage: // messagePinMessage#38d55039
// case *tdapi.MessageScreenshotTaken: // messageScreenshotTaken#a2b86dab
// case *tdapi.MessageChatSetBackground: // messageChatSetBackground#3d5d7c40
// case *tdapi.MessageChatSetTheme: // messageChatSetTheme#99ae9408
// case *tdapi.MessageChatSetMessageAutoDeleteTime: // messageChatSetMessageAutoDeleteTime#619e052e
// case *tdapi.MessageChatBoost: // messageChatBoost#5e5f658b
// case *tdapi.MessageForumTopicCreated: // messageForumTopicCreated#b8ce47d1
// case *tdapi.MessageForumTopicEdited: // messageForumTopicEdited#c0b780
// case *tdapi.MessageForumTopicIsClosedToggled: // messageForumTopicIsClosedToggled#4b578fe0
// case *tdapi.MessageForumTopicIsHiddenToggled: // messageForumTopicIsHiddenToggled#979393fe
// case *tdapi.MessageSuggestProfilePhoto: // messageSuggestProfilePhoto#b5611ee7
// case *tdapi.MessageCustomServiceAction: // messageCustomServiceAction#5595c772
// case *tdapi.MessageGameScore: // messageGameScore#50299d7f
// case *tdapi.MessagePaymentSuccessful: // messagePaymentSuccessful#3e661911
// case *tdapi.MessagePaymentSuccessfulBot: // messagePaymentSuccessfulBot#c7664dbf
// case *tdapi.MessagePaymentRefunded: // messagePaymentRefunded#11bcb8f3
// case *tdapi.MessageGiftedPremium: // messageGiftedPremium#e4d0e07a
// case *tdapi.MessagePremiumGiftCode: // messagePremiumGiftCode#29d22e4e
// case *tdapi.MessageGiveawayCreated: // messageGiveawayCreated#39f3639f
// case *tdapi.MessageGiveaway: // messageGiveaway#eb61daa8
// case *tdapi.MessageGiveawayCompleted: // messageGiveawayCompleted#e424c8f7
// case *tdapi.MessageGiveawayWinners: // messageGiveawayWinners#1d99a27a
// case *tdapi.MessageGiftedStars: // messageGiftedStars#41bdbea7
// case *tdapi.MessageGiveawayPrizeStars: // messageGiveawayPrizeStars#aa0f5de3
// case *tdapi.MessageGift: // messageGift#24434257
// case *tdapi.MessageUpgradedGift: // messageUpgradedGift#bf9d0e9
// case *tdapi.MessageRefundedUpgradedGift: // messageRefundedUpgradedGift#8fd7946f
// case *tdapi.MessagePaidMessagesRefunded: // messagePaidMessagesRefunded#2298408f
// case *tdapi.MessagePaidMessagePriceChanged: // messagePaidMessagePriceChanged#eb708d0b
// case *tdapi.MessageDirectMessagePriceChanged: // messageDirectMessagePriceChanged#4eba4db7
// case *tdapi.MessageContactRegistered: // messageContactRegistered#a678fcff
// case *tdapi.MessageUsersShared: // messageUsersShared#7f1f4a22
// case *tdapi.MessageChatShared: // messageChatShared#aec6d961
// case *tdapi.MessageBotWriteAccessAllowed: // messageBotWriteAccessAllowed#9a8ab7b4
// case *tdapi.MessageWebAppDataSent: // messageWebAppDataSent#fb033912
// case *tdapi.MessageWebAppDataReceived: // messageWebAppDataReceived#ff7d1a15
// case *tdapi.MessagePassportDataSent: // messagePassportDataSent#26c5ed6b
// case *tdapi.MessagePassportDataReceived: // messagePassportDataReceived#e0b936b9
// case *tdapi.MessageProximityAlertTriggered: // messageProximityAlertTriggered#409f6d3
// case *tdapi.MessageUnsupported: // messageUnsupported#93b6f585
// default: panic(v)
// }
type MessageContentClass interface {
bin.Encoder
bin.Decoder
bin.BareEncoder
bin.BareDecoder
construct() MessageContentClass
// 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
}
// DecodeMessageContent implements binary de-serialization for MessageContentClass.
func DecodeMessageContent(buf *bin.Buffer) (MessageContentClass, error) {
id, err := buf.PeekID()
if err != nil {
return nil, err
}
switch id {
case MessageTextTypeID:
// Decoding messageText#68654c84.
v := MessageText{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageAnimationTypeID:
// Decoding messageAnimation#8ecb1128.
v := MessageAnimation{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageAudioTypeID:
// Decoding messageAudio#107e741c.
v := MessageAudio{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageDocumentTypeID:
// Decoding messageDocument#2394ab77.
v := MessageDocument{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePaidMediaTypeID:
// Decoding messagePaidMedia#3e5fd7c2.
v := MessagePaidMedia{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePhotoTypeID:
// Decoding messagePhoto#754c7e1f.
v := MessagePhoto{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageStickerTypeID:
// Decoding messageSticker#e5f0dcca.
v := MessageSticker{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageVideoTypeID:
// Decoding messageVideo#dcb6ee35.
v := MessageVideo{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageVideoNoteTypeID:
// Decoding messageVideoNote#396b2486.
v := MessageVideoNote{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageVoiceNoteTypeID:
// Decoding messageVoiceNote#1f753ff5.
v := MessageVoiceNote{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageExpiredPhotoTypeID:
// Decoding messageExpiredPhoto#ac46ddf7.
v := MessageExpiredPhoto{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageExpiredVideoTypeID:
// Decoding messageExpiredVideo#b7bf24c3.
v := MessageExpiredVideo{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageExpiredVideoNoteTypeID:
// Decoding messageExpiredVideoNote#23bc43e7.
v := MessageExpiredVideoNote{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageExpiredVoiceNoteTypeID:
// Decoding messageExpiredVoiceNote#890757d.
v := MessageExpiredVoiceNote{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageLocationTypeID:
// Decoding messageLocation#121e4474.
v := MessageLocation{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageVenueTypeID:
// Decoding messageVenue#800f2175.
v := MessageVenue{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageContactTypeID:
// Decoding messageContact#e1710c5a.
v := MessageContact{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageAnimatedEmojiTypeID:
// Decoding messageAnimatedEmoji#3621f5e2.
v := MessageAnimatedEmoji{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageDiceTypeID:
// Decoding messageDice#42817239.
v := MessageDice{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGameTypeID:
// Decoding messageGame#fbdc6976.
v := MessageGame{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePollTypeID:
// Decoding messagePoll#d888b24d.
v := MessagePoll{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageStoryTypeID:
// Decoding messageStory#5a4169c1.
v := MessageStory{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageInvoiceTypeID:
// Decoding messageInvoice#fadfd46.
v := MessageInvoice{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageCallTypeID:
// Decoding messageCall#201ede00.
v := MessageCall{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGroupCallTypeID:
// Decoding messageGroupCall#a764e6a1.
v := MessageGroupCall{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageVideoChatScheduledTypeID:
// Decoding messageVideoChatScheduled#916c1db7.
v := MessageVideoChatScheduled{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageVideoChatStartedTypeID:
// Decoding messageVideoChatStarted#1f114559.
v := MessageVideoChatStarted{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageVideoChatEndedTypeID:
// Decoding messageVideoChatEnded#79262c57.
v := MessageVideoChatEnded{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageInviteVideoChatParticipantsTypeID:
// Decoding messageInviteVideoChatParticipants#f58d603.
v := MessageInviteVideoChatParticipants{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageBasicGroupChatCreateTypeID:
// Decoding messageBasicGroupChatCreate#8b60f757.
v := MessageBasicGroupChatCreate{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageSupergroupChatCreateTypeID:
// Decoding messageSupergroupChatCreate#e61cb71b.
v := MessageSupergroupChatCreate{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatChangeTitleTypeID:
// Decoding messageChatChangeTitle#2c99bb41.
v := MessageChatChangeTitle{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatChangePhotoTypeID:
// Decoding messageChatChangePhoto#cf84454b.
v := MessageChatChangePhoto{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatDeletePhotoTypeID:
// Decoding messageChatDeletePhoto#f502a9e7.
v := MessageChatDeletePhoto{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatAddMembersTypeID:
// Decoding messageChatAddMembers#1e95b1cd.
v := MessageChatAddMembers{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatJoinByLinkTypeID:
// Decoding messageChatJoinByLink#6e0f407f.
v := MessageChatJoinByLink{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatJoinByRequestTypeID:
// Decoding messageChatJoinByRequest#4740cb7c.
v := MessageChatJoinByRequest{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatDeleteMemberTypeID:
// Decoding messageChatDeleteMember#37e931a9.
v := MessageChatDeleteMember{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatUpgradeToTypeID:
// Decoding messageChatUpgradeTo#63f549b.
v := MessageChatUpgradeTo{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatUpgradeFromTypeID:
// Decoding messageChatUpgradeFrom#136daadc.
v := MessageChatUpgradeFrom{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePinMessageTypeID:
// Decoding messagePinMessage#38d55039.
v := MessagePinMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageScreenshotTakenTypeID:
// Decoding messageScreenshotTaken#a2b86dab.
v := MessageScreenshotTaken{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatSetBackgroundTypeID:
// Decoding messageChatSetBackground#3d5d7c40.
v := MessageChatSetBackground{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatSetThemeTypeID:
// Decoding messageChatSetTheme#99ae9408.
v := MessageChatSetTheme{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatSetMessageAutoDeleteTimeTypeID:
// Decoding messageChatSetMessageAutoDeleteTime#619e052e.
v := MessageChatSetMessageAutoDeleteTime{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatBoostTypeID:
// Decoding messageChatBoost#5e5f658b.
v := MessageChatBoost{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageForumTopicCreatedTypeID:
// Decoding messageForumTopicCreated#b8ce47d1.
v := MessageForumTopicCreated{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageForumTopicEditedTypeID:
// Decoding messageForumTopicEdited#c0b780.
v := MessageForumTopicEdited{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageForumTopicIsClosedToggledTypeID:
// Decoding messageForumTopicIsClosedToggled#4b578fe0.
v := MessageForumTopicIsClosedToggled{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageForumTopicIsHiddenToggledTypeID:
// Decoding messageForumTopicIsHiddenToggled#979393fe.
v := MessageForumTopicIsHiddenToggled{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageSuggestProfilePhotoTypeID:
// Decoding messageSuggestProfilePhoto#b5611ee7.
v := MessageSuggestProfilePhoto{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageCustomServiceActionTypeID:
// Decoding messageCustomServiceAction#5595c772.
v := MessageCustomServiceAction{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGameScoreTypeID:
// Decoding messageGameScore#50299d7f.
v := MessageGameScore{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePaymentSuccessfulTypeID:
// Decoding messagePaymentSuccessful#3e661911.
v := MessagePaymentSuccessful{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePaymentSuccessfulBotTypeID:
// Decoding messagePaymentSuccessfulBot#c7664dbf.
v := MessagePaymentSuccessfulBot{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePaymentRefundedTypeID:
// Decoding messagePaymentRefunded#11bcb8f3.
v := MessagePaymentRefunded{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGiftedPremiumTypeID:
// Decoding messageGiftedPremium#e4d0e07a.
v := MessageGiftedPremium{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePremiumGiftCodeTypeID:
// Decoding messagePremiumGiftCode#29d22e4e.
v := MessagePremiumGiftCode{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGiveawayCreatedTypeID:
// Decoding messageGiveawayCreated#39f3639f.
v := MessageGiveawayCreated{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGiveawayTypeID:
// Decoding messageGiveaway#eb61daa8.
v := MessageGiveaway{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGiveawayCompletedTypeID:
// Decoding messageGiveawayCompleted#e424c8f7.
v := MessageGiveawayCompleted{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGiveawayWinnersTypeID:
// Decoding messageGiveawayWinners#1d99a27a.
v := MessageGiveawayWinners{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGiftedStarsTypeID:
// Decoding messageGiftedStars#41bdbea7.
v := MessageGiftedStars{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGiveawayPrizeStarsTypeID:
// Decoding messageGiveawayPrizeStars#aa0f5de3.
v := MessageGiveawayPrizeStars{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageGiftTypeID:
// Decoding messageGift#24434257.
v := MessageGift{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageUpgradedGiftTypeID:
// Decoding messageUpgradedGift#bf9d0e9.
v := MessageUpgradedGift{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageRefundedUpgradedGiftTypeID:
// Decoding messageRefundedUpgradedGift#8fd7946f.
v := MessageRefundedUpgradedGift{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePaidMessagesRefundedTypeID:
// Decoding messagePaidMessagesRefunded#2298408f.
v := MessagePaidMessagesRefunded{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePaidMessagePriceChangedTypeID:
// Decoding messagePaidMessagePriceChanged#eb708d0b.
v := MessagePaidMessagePriceChanged{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageDirectMessagePriceChangedTypeID:
// Decoding messageDirectMessagePriceChanged#4eba4db7.
v := MessageDirectMessagePriceChanged{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageContactRegisteredTypeID:
// Decoding messageContactRegistered#a678fcff.
v := MessageContactRegistered{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageUsersSharedTypeID:
// Decoding messageUsersShared#7f1f4a22.
v := MessageUsersShared{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageChatSharedTypeID:
// Decoding messageChatShared#aec6d961.
v := MessageChatShared{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageBotWriteAccessAllowedTypeID:
// Decoding messageBotWriteAccessAllowed#9a8ab7b4.
v := MessageBotWriteAccessAllowed{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageWebAppDataSentTypeID:
// Decoding messageWebAppDataSent#fb033912.
v := MessageWebAppDataSent{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageWebAppDataReceivedTypeID:
// Decoding messageWebAppDataReceived#ff7d1a15.
v := MessageWebAppDataReceived{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePassportDataSentTypeID:
// Decoding messagePassportDataSent#26c5ed6b.
v := MessagePassportDataSent{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessagePassportDataReceivedTypeID:
// Decoding messagePassportDataReceived#e0b936b9.
v := MessagePassportDataReceived{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageProximityAlertTriggeredTypeID:
// Decoding messageProximityAlertTriggered#409f6d3.
v := MessageProximityAlertTriggered{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case MessageUnsupportedTypeID:
// Decoding messageUnsupported#93b6f585.
v := MessageUnsupported{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", bin.NewUnexpectedID(id))
}
}
// DecodeTDLibJSONMessageContent implements binary de-serialization for MessageContentClass.
func DecodeTDLibJSONMessageContent(buf tdjson.Decoder) (MessageContentClass, error) {
id, err := buf.FindTypeID()
if err != nil {
return nil, err
}
switch id {
case "messageText":
// Decoding messageText#68654c84.
v := MessageText{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageAnimation":
// Decoding messageAnimation#8ecb1128.
v := MessageAnimation{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageAudio":
// Decoding messageAudio#107e741c.
v := MessageAudio{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageDocument":
// Decoding messageDocument#2394ab77.
v := MessageDocument{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePaidMedia":
// Decoding messagePaidMedia#3e5fd7c2.
v := MessagePaidMedia{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePhoto":
// Decoding messagePhoto#754c7e1f.
v := MessagePhoto{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageSticker":
// Decoding messageSticker#e5f0dcca.
v := MessageSticker{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageVideo":
// Decoding messageVideo#dcb6ee35.
v := MessageVideo{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageVideoNote":
// Decoding messageVideoNote#396b2486.
v := MessageVideoNote{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageVoiceNote":
// Decoding messageVoiceNote#1f753ff5.
v := MessageVoiceNote{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageExpiredPhoto":
// Decoding messageExpiredPhoto#ac46ddf7.
v := MessageExpiredPhoto{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageExpiredVideo":
// Decoding messageExpiredVideo#b7bf24c3.
v := MessageExpiredVideo{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageExpiredVideoNote":
// Decoding messageExpiredVideoNote#23bc43e7.
v := MessageExpiredVideoNote{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageExpiredVoiceNote":
// Decoding messageExpiredVoiceNote#890757d.
v := MessageExpiredVoiceNote{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageLocation":
// Decoding messageLocation#121e4474.
v := MessageLocation{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageVenue":
// Decoding messageVenue#800f2175.
v := MessageVenue{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageContact":
// Decoding messageContact#e1710c5a.
v := MessageContact{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageAnimatedEmoji":
// Decoding messageAnimatedEmoji#3621f5e2.
v := MessageAnimatedEmoji{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageDice":
// Decoding messageDice#42817239.
v := MessageDice{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGame":
// Decoding messageGame#fbdc6976.
v := MessageGame{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePoll":
// Decoding messagePoll#d888b24d.
v := MessagePoll{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageStory":
// Decoding messageStory#5a4169c1.
v := MessageStory{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageInvoice":
// Decoding messageInvoice#fadfd46.
v := MessageInvoice{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageCall":
// Decoding messageCall#201ede00.
v := MessageCall{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGroupCall":
// Decoding messageGroupCall#a764e6a1.
v := MessageGroupCall{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageVideoChatScheduled":
// Decoding messageVideoChatScheduled#916c1db7.
v := MessageVideoChatScheduled{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageVideoChatStarted":
// Decoding messageVideoChatStarted#1f114559.
v := MessageVideoChatStarted{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageVideoChatEnded":
// Decoding messageVideoChatEnded#79262c57.
v := MessageVideoChatEnded{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageInviteVideoChatParticipants":
// Decoding messageInviteVideoChatParticipants#f58d603.
v := MessageInviteVideoChatParticipants{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageBasicGroupChatCreate":
// Decoding messageBasicGroupChatCreate#8b60f757.
v := MessageBasicGroupChatCreate{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageSupergroupChatCreate":
// Decoding messageSupergroupChatCreate#e61cb71b.
v := MessageSupergroupChatCreate{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatChangeTitle":
// Decoding messageChatChangeTitle#2c99bb41.
v := MessageChatChangeTitle{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatChangePhoto":
// Decoding messageChatChangePhoto#cf84454b.
v := MessageChatChangePhoto{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatDeletePhoto":
// Decoding messageChatDeletePhoto#f502a9e7.
v := MessageChatDeletePhoto{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatAddMembers":
// Decoding messageChatAddMembers#1e95b1cd.
v := MessageChatAddMembers{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatJoinByLink":
// Decoding messageChatJoinByLink#6e0f407f.
v := MessageChatJoinByLink{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatJoinByRequest":
// Decoding messageChatJoinByRequest#4740cb7c.
v := MessageChatJoinByRequest{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatDeleteMember":
// Decoding messageChatDeleteMember#37e931a9.
v := MessageChatDeleteMember{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatUpgradeTo":
// Decoding messageChatUpgradeTo#63f549b.
v := MessageChatUpgradeTo{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatUpgradeFrom":
// Decoding messageChatUpgradeFrom#136daadc.
v := MessageChatUpgradeFrom{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePinMessage":
// Decoding messagePinMessage#38d55039.
v := MessagePinMessage{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageScreenshotTaken":
// Decoding messageScreenshotTaken#a2b86dab.
v := MessageScreenshotTaken{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatSetBackground":
// Decoding messageChatSetBackground#3d5d7c40.
v := MessageChatSetBackground{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatSetTheme":
// Decoding messageChatSetTheme#99ae9408.
v := MessageChatSetTheme{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatSetMessageAutoDeleteTime":
// Decoding messageChatSetMessageAutoDeleteTime#619e052e.
v := MessageChatSetMessageAutoDeleteTime{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatBoost":
// Decoding messageChatBoost#5e5f658b.
v := MessageChatBoost{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageForumTopicCreated":
// Decoding messageForumTopicCreated#b8ce47d1.
v := MessageForumTopicCreated{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageForumTopicEdited":
// Decoding messageForumTopicEdited#c0b780.
v := MessageForumTopicEdited{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageForumTopicIsClosedToggled":
// Decoding messageForumTopicIsClosedToggled#4b578fe0.
v := MessageForumTopicIsClosedToggled{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageForumTopicIsHiddenToggled":
// Decoding messageForumTopicIsHiddenToggled#979393fe.
v := MessageForumTopicIsHiddenToggled{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageSuggestProfilePhoto":
// Decoding messageSuggestProfilePhoto#b5611ee7.
v := MessageSuggestProfilePhoto{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageCustomServiceAction":
// Decoding messageCustomServiceAction#5595c772.
v := MessageCustomServiceAction{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGameScore":
// Decoding messageGameScore#50299d7f.
v := MessageGameScore{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePaymentSuccessful":
// Decoding messagePaymentSuccessful#3e661911.
v := MessagePaymentSuccessful{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePaymentSuccessfulBot":
// Decoding messagePaymentSuccessfulBot#c7664dbf.
v := MessagePaymentSuccessfulBot{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePaymentRefunded":
// Decoding messagePaymentRefunded#11bcb8f3.
v := MessagePaymentRefunded{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGiftedPremium":
// Decoding messageGiftedPremium#e4d0e07a.
v := MessageGiftedPremium{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePremiumGiftCode":
// Decoding messagePremiumGiftCode#29d22e4e.
v := MessagePremiumGiftCode{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGiveawayCreated":
// Decoding messageGiveawayCreated#39f3639f.
v := MessageGiveawayCreated{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGiveaway":
// Decoding messageGiveaway#eb61daa8.
v := MessageGiveaway{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGiveawayCompleted":
// Decoding messageGiveawayCompleted#e424c8f7.
v := MessageGiveawayCompleted{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGiveawayWinners":
// Decoding messageGiveawayWinners#1d99a27a.
v := MessageGiveawayWinners{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGiftedStars":
// Decoding messageGiftedStars#41bdbea7.
v := MessageGiftedStars{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGiveawayPrizeStars":
// Decoding messageGiveawayPrizeStars#aa0f5de3.
v := MessageGiveawayPrizeStars{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageGift":
// Decoding messageGift#24434257.
v := MessageGift{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageUpgradedGift":
// Decoding messageUpgradedGift#bf9d0e9.
v := MessageUpgradedGift{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageRefundedUpgradedGift":
// Decoding messageRefundedUpgradedGift#8fd7946f.
v := MessageRefundedUpgradedGift{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePaidMessagesRefunded":
// Decoding messagePaidMessagesRefunded#2298408f.
v := MessagePaidMessagesRefunded{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePaidMessagePriceChanged":
// Decoding messagePaidMessagePriceChanged#eb708d0b.
v := MessagePaidMessagePriceChanged{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageDirectMessagePriceChanged":
// Decoding messageDirectMessagePriceChanged#4eba4db7.
v := MessageDirectMessagePriceChanged{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageContactRegistered":
// Decoding messageContactRegistered#a678fcff.
v := MessageContactRegistered{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageUsersShared":
// Decoding messageUsersShared#7f1f4a22.
v := MessageUsersShared{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageChatShared":
// Decoding messageChatShared#aec6d961.
v := MessageChatShared{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageBotWriteAccessAllowed":
// Decoding messageBotWriteAccessAllowed#9a8ab7b4.
v := MessageBotWriteAccessAllowed{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageWebAppDataSent":
// Decoding messageWebAppDataSent#fb033912.
v := MessageWebAppDataSent{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageWebAppDataReceived":
// Decoding messageWebAppDataReceived#ff7d1a15.
v := MessageWebAppDataReceived{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePassportDataSent":
// Decoding messagePassportDataSent#26c5ed6b.
v := MessagePassportDataSent{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messagePassportDataReceived":
// Decoding messagePassportDataReceived#e0b936b9.
v := MessagePassportDataReceived{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageProximityAlertTriggered":
// Decoding messageProximityAlertTriggered#409f6d3.
v := MessageProximityAlertTriggered{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
case "messageUnsupported":
// Decoding messageUnsupported#93b6f585.
v := MessageUnsupported{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode MessageContentClass: %w", tdjson.NewUnexpectedID(id))
}
}
// MessageContent boxes the MessageContentClass providing a helper.
type MessageContentBox struct {
MessageContent MessageContentClass
}
// Decode implements bin.Decoder for MessageContentBox.
func (b *MessageContentBox) Decode(buf *bin.Buffer) error {
if b == nil {
return fmt.Errorf("unable to decode MessageContentBox to nil")
}
v, err := DecodeMessageContent(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.MessageContent = v
return nil
}
// Encode implements bin.Encode for MessageContentBox.
func (b *MessageContentBox) Encode(buf *bin.Buffer) error {
if b == nil || b.MessageContent == nil {
return fmt.Errorf("unable to encode MessageContentClass as nil")
}
return b.MessageContent.Encode(buf)
}
// DecodeTDLibJSON implements bin.Decoder for MessageContentBox.
func (b *MessageContentBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
if b == nil {
return fmt.Errorf("unable to decode MessageContentBox to nil")
}
v, err := DecodeTDLibJSONMessageContent(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.MessageContent = v
return nil
}
// EncodeTDLibJSON implements bin.Encode for MessageContentBox.
func (b *MessageContentBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
if b == nil || b.MessageContent == nil {
return fmt.Errorf("unable to encode MessageContentClass as nil")
}
return b.MessageContent.EncodeTDLibJSON(buf)
}