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

37554 lines
1018 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{}
)
// UpdateAuthorizationState represents TL type `updateAuthorizationState#60b30ee2`.
type UpdateAuthorizationState struct {
// New authorization state
AuthorizationState AuthorizationStateClass
}
// UpdateAuthorizationStateTypeID is TL type id of UpdateAuthorizationState.
const UpdateAuthorizationStateTypeID = 0x60b30ee2
// construct implements constructor of UpdateClass.
func (u UpdateAuthorizationState) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateAuthorizationState.
var (
_ bin.Encoder = &UpdateAuthorizationState{}
_ bin.Decoder = &UpdateAuthorizationState{}
_ bin.BareEncoder = &UpdateAuthorizationState{}
_ bin.BareDecoder = &UpdateAuthorizationState{}
_ UpdateClass = &UpdateAuthorizationState{}
)
func (u *UpdateAuthorizationState) Zero() bool {
if u == nil {
return true
}
if !(u.AuthorizationState == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateAuthorizationState) String() string {
if u == nil {
return "UpdateAuthorizationState(nil)"
}
type Alias UpdateAuthorizationState
return fmt.Sprintf("UpdateAuthorizationState%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateAuthorizationState) TypeID() uint32 {
return UpdateAuthorizationStateTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateAuthorizationState) TypeName() string {
return "updateAuthorizationState"
}
// TypeInfo returns info about TL type.
func (u *UpdateAuthorizationState) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateAuthorizationState",
ID: UpdateAuthorizationStateTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "AuthorizationState",
SchemaName: "authorization_state",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateAuthorizationState) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAuthorizationState#60b30ee2 as nil")
}
b.PutID(UpdateAuthorizationStateTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateAuthorizationState) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAuthorizationState#60b30ee2 as nil")
}
if u.AuthorizationState == nil {
return fmt.Errorf("unable to encode updateAuthorizationState#60b30ee2: field authorization_state is nil")
}
if err := u.AuthorizationState.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateAuthorizationState#60b30ee2: field authorization_state: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateAuthorizationState) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAuthorizationState#60b30ee2 to nil")
}
if err := b.ConsumeID(UpdateAuthorizationStateTypeID); err != nil {
return fmt.Errorf("unable to decode updateAuthorizationState#60b30ee2: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateAuthorizationState) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAuthorizationState#60b30ee2 to nil")
}
{
value, err := DecodeAuthorizationState(b)
if err != nil {
return fmt.Errorf("unable to decode updateAuthorizationState#60b30ee2: field authorization_state: %w", err)
}
u.AuthorizationState = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateAuthorizationState) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateAuthorizationState#60b30ee2 as nil")
}
b.ObjStart()
b.PutID("updateAuthorizationState")
b.Comma()
b.FieldStart("authorization_state")
if u.AuthorizationState == nil {
return fmt.Errorf("unable to encode updateAuthorizationState#60b30ee2: field authorization_state is nil")
}
if err := u.AuthorizationState.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateAuthorizationState#60b30ee2: field authorization_state: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateAuthorizationState) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateAuthorizationState#60b30ee2 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateAuthorizationState"); err != nil {
return fmt.Errorf("unable to decode updateAuthorizationState#60b30ee2: %w", err)
}
case "authorization_state":
value, err := DecodeTDLibJSONAuthorizationState(b)
if err != nil {
return fmt.Errorf("unable to decode updateAuthorizationState#60b30ee2: field authorization_state: %w", err)
}
u.AuthorizationState = value
default:
return b.Skip()
}
return nil
})
}
// GetAuthorizationState returns value of AuthorizationState field.
func (u *UpdateAuthorizationState) GetAuthorizationState() (value AuthorizationStateClass) {
if u == nil {
return
}
return u.AuthorizationState
}
// UpdateNewMessage represents TL type `updateNewMessage#de6fb20e`.
type UpdateNewMessage struct {
// The new message
Message Message
}
// UpdateNewMessageTypeID is TL type id of UpdateNewMessage.
const UpdateNewMessageTypeID = 0xde6fb20e
// construct implements constructor of UpdateClass.
func (u UpdateNewMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewMessage.
var (
_ bin.Encoder = &UpdateNewMessage{}
_ bin.Decoder = &UpdateNewMessage{}
_ bin.BareEncoder = &UpdateNewMessage{}
_ bin.BareDecoder = &UpdateNewMessage{}
_ UpdateClass = &UpdateNewMessage{}
)
func (u *UpdateNewMessage) Zero() bool {
if u == nil {
return true
}
if !(u.Message.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewMessage) String() string {
if u == nil {
return "UpdateNewMessage(nil)"
}
type Alias UpdateNewMessage
return fmt.Sprintf("UpdateNewMessage%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewMessage) TypeID() uint32 {
return UpdateNewMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewMessage) TypeName() string {
return "updateNewMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewMessage",
ID: UpdateNewMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Message",
SchemaName: "message",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewMessage#de6fb20e as nil")
}
b.PutID(UpdateNewMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewMessage#de6fb20e as nil")
}
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewMessage#de6fb20e: field message: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewMessage#de6fb20e to nil")
}
if err := b.ConsumeID(UpdateNewMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewMessage#de6fb20e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewMessage#de6fb20e to nil")
}
{
if err := u.Message.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewMessage#de6fb20e: field message: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewMessage) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewMessage#de6fb20e as nil")
}
b.ObjStart()
b.PutID("updateNewMessage")
b.Comma()
b.FieldStart("message")
if err := u.Message.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewMessage#de6fb20e: field message: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewMessage) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewMessage#de6fb20e to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewMessage"); err != nil {
return fmt.Errorf("unable to decode updateNewMessage#de6fb20e: %w", err)
}
case "message":
if err := u.Message.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewMessage#de6fb20e: field message: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetMessage returns value of Message field.
func (u *UpdateNewMessage) GetMessage() (value Message) {
if u == nil {
return
}
return u.Message
}
// UpdateMessageSendAcknowledged represents TL type `updateMessageSendAcknowledged#4da7d239`.
type UpdateMessageSendAcknowledged struct {
// The chat identifier of the sent message
ChatID int64
// A temporary message identifier
MessageID int64
}
// UpdateMessageSendAcknowledgedTypeID is TL type id of UpdateMessageSendAcknowledged.
const UpdateMessageSendAcknowledgedTypeID = 0x4da7d239
// construct implements constructor of UpdateClass.
func (u UpdateMessageSendAcknowledged) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageSendAcknowledged.
var (
_ bin.Encoder = &UpdateMessageSendAcknowledged{}
_ bin.Decoder = &UpdateMessageSendAcknowledged{}
_ bin.BareEncoder = &UpdateMessageSendAcknowledged{}
_ bin.BareDecoder = &UpdateMessageSendAcknowledged{}
_ UpdateClass = &UpdateMessageSendAcknowledged{}
)
func (u *UpdateMessageSendAcknowledged) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageSendAcknowledged) String() string {
if u == nil {
return "UpdateMessageSendAcknowledged(nil)"
}
type Alias UpdateMessageSendAcknowledged
return fmt.Sprintf("UpdateMessageSendAcknowledged%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageSendAcknowledged) TypeID() uint32 {
return UpdateMessageSendAcknowledgedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageSendAcknowledged) TypeName() string {
return "updateMessageSendAcknowledged"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageSendAcknowledged) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageSendAcknowledged",
ID: UpdateMessageSendAcknowledgedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageSendAcknowledged) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageSendAcknowledged#4da7d239 as nil")
}
b.PutID(UpdateMessageSendAcknowledgedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageSendAcknowledged) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageSendAcknowledged#4da7d239 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageSendAcknowledged) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageSendAcknowledged#4da7d239 to nil")
}
if err := b.ConsumeID(UpdateMessageSendAcknowledgedTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageSendAcknowledged#4da7d239: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageSendAcknowledged) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageSendAcknowledged#4da7d239 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageSendAcknowledged#4da7d239: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageSendAcknowledged#4da7d239: field message_id: %w", err)
}
u.MessageID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageSendAcknowledged) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageSendAcknowledged#4da7d239 as nil")
}
b.ObjStart()
b.PutID("updateMessageSendAcknowledged")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageSendAcknowledged) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageSendAcknowledged#4da7d239 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageSendAcknowledged"); err != nil {
return fmt.Errorf("unable to decode updateMessageSendAcknowledged#4da7d239: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageSendAcknowledged#4da7d239: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageSendAcknowledged#4da7d239: field message_id: %w", err)
}
u.MessageID = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageSendAcknowledged) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageSendAcknowledged) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// UpdateMessageSendSucceeded represents TL type `updateMessageSendSucceeded#6c399d7d`.
type UpdateMessageSendSucceeded struct {
// The sent message. Almost any field of the new message can be different from the
// corresponding field of the original message.
Message Message
// The previous temporary message identifier
OldMessageID int64
}
// UpdateMessageSendSucceededTypeID is TL type id of UpdateMessageSendSucceeded.
const UpdateMessageSendSucceededTypeID = 0x6c399d7d
// construct implements constructor of UpdateClass.
func (u UpdateMessageSendSucceeded) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageSendSucceeded.
var (
_ bin.Encoder = &UpdateMessageSendSucceeded{}
_ bin.Decoder = &UpdateMessageSendSucceeded{}
_ bin.BareEncoder = &UpdateMessageSendSucceeded{}
_ bin.BareDecoder = &UpdateMessageSendSucceeded{}
_ UpdateClass = &UpdateMessageSendSucceeded{}
)
func (u *UpdateMessageSendSucceeded) Zero() bool {
if u == nil {
return true
}
if !(u.Message.Zero()) {
return false
}
if !(u.OldMessageID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageSendSucceeded) String() string {
if u == nil {
return "UpdateMessageSendSucceeded(nil)"
}
type Alias UpdateMessageSendSucceeded
return fmt.Sprintf("UpdateMessageSendSucceeded%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageSendSucceeded) TypeID() uint32 {
return UpdateMessageSendSucceededTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageSendSucceeded) TypeName() string {
return "updateMessageSendSucceeded"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageSendSucceeded) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageSendSucceeded",
ID: UpdateMessageSendSucceededTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Message",
SchemaName: "message",
},
{
Name: "OldMessageID",
SchemaName: "old_message_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageSendSucceeded) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageSendSucceeded#6c399d7d as nil")
}
b.PutID(UpdateMessageSendSucceededTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageSendSucceeded) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageSendSucceeded#6c399d7d as nil")
}
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageSendSucceeded#6c399d7d: field message: %w", err)
}
b.PutInt53(u.OldMessageID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageSendSucceeded) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageSendSucceeded#6c399d7d to nil")
}
if err := b.ConsumeID(UpdateMessageSendSucceededTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageSendSucceeded#6c399d7d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageSendSucceeded) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageSendSucceeded#6c399d7d to nil")
}
{
if err := u.Message.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateMessageSendSucceeded#6c399d7d: field message: %w", err)
}
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageSendSucceeded#6c399d7d: field old_message_id: %w", err)
}
u.OldMessageID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageSendSucceeded) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageSendSucceeded#6c399d7d as nil")
}
b.ObjStart()
b.PutID("updateMessageSendSucceeded")
b.Comma()
b.FieldStart("message")
if err := u.Message.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageSendSucceeded#6c399d7d: field message: %w", err)
}
b.Comma()
b.FieldStart("old_message_id")
b.PutInt53(u.OldMessageID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageSendSucceeded) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageSendSucceeded#6c399d7d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageSendSucceeded"); err != nil {
return fmt.Errorf("unable to decode updateMessageSendSucceeded#6c399d7d: %w", err)
}
case "message":
if err := u.Message.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateMessageSendSucceeded#6c399d7d: field message: %w", err)
}
case "old_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageSendSucceeded#6c399d7d: field old_message_id: %w", err)
}
u.OldMessageID = value
default:
return b.Skip()
}
return nil
})
}
// GetMessage returns value of Message field.
func (u *UpdateMessageSendSucceeded) GetMessage() (value Message) {
if u == nil {
return
}
return u.Message
}
// GetOldMessageID returns value of OldMessageID field.
func (u *UpdateMessageSendSucceeded) GetOldMessageID() (value int64) {
if u == nil {
return
}
return u.OldMessageID
}
// UpdateMessageSendFailed represents TL type `updateMessageSendFailed#da1bf8e7`.
type UpdateMessageSendFailed struct {
// The failed to send message
Message Message
// The previous temporary message identifier
OldMessageID int64
// The cause of the message sending failure
Error Error
}
// UpdateMessageSendFailedTypeID is TL type id of UpdateMessageSendFailed.
const UpdateMessageSendFailedTypeID = 0xda1bf8e7
// construct implements constructor of UpdateClass.
func (u UpdateMessageSendFailed) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageSendFailed.
var (
_ bin.Encoder = &UpdateMessageSendFailed{}
_ bin.Decoder = &UpdateMessageSendFailed{}
_ bin.BareEncoder = &UpdateMessageSendFailed{}
_ bin.BareDecoder = &UpdateMessageSendFailed{}
_ UpdateClass = &UpdateMessageSendFailed{}
)
func (u *UpdateMessageSendFailed) Zero() bool {
if u == nil {
return true
}
if !(u.Message.Zero()) {
return false
}
if !(u.OldMessageID == 0) {
return false
}
if !(u.Error.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageSendFailed) String() string {
if u == nil {
return "UpdateMessageSendFailed(nil)"
}
type Alias UpdateMessageSendFailed
return fmt.Sprintf("UpdateMessageSendFailed%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageSendFailed) TypeID() uint32 {
return UpdateMessageSendFailedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageSendFailed) TypeName() string {
return "updateMessageSendFailed"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageSendFailed) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageSendFailed",
ID: UpdateMessageSendFailedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Message",
SchemaName: "message",
},
{
Name: "OldMessageID",
SchemaName: "old_message_id",
},
{
Name: "Error",
SchemaName: "error",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageSendFailed) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageSendFailed#da1bf8e7 as nil")
}
b.PutID(UpdateMessageSendFailedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageSendFailed) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageSendFailed#da1bf8e7 as nil")
}
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageSendFailed#da1bf8e7: field message: %w", err)
}
b.PutInt53(u.OldMessageID)
if err := u.Error.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageSendFailed#da1bf8e7: field error: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageSendFailed) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageSendFailed#da1bf8e7 to nil")
}
if err := b.ConsumeID(UpdateMessageSendFailedTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageSendFailed#da1bf8e7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageSendFailed) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageSendFailed#da1bf8e7 to nil")
}
{
if err := u.Message.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateMessageSendFailed#da1bf8e7: field message: %w", err)
}
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageSendFailed#da1bf8e7: field old_message_id: %w", err)
}
u.OldMessageID = value
}
{
if err := u.Error.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateMessageSendFailed#da1bf8e7: field error: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageSendFailed) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageSendFailed#da1bf8e7 as nil")
}
b.ObjStart()
b.PutID("updateMessageSendFailed")
b.Comma()
b.FieldStart("message")
if err := u.Message.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageSendFailed#da1bf8e7: field message: %w", err)
}
b.Comma()
b.FieldStart("old_message_id")
b.PutInt53(u.OldMessageID)
b.Comma()
b.FieldStart("error")
if err := u.Error.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageSendFailed#da1bf8e7: field error: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageSendFailed) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageSendFailed#da1bf8e7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageSendFailed"); err != nil {
return fmt.Errorf("unable to decode updateMessageSendFailed#da1bf8e7: %w", err)
}
case "message":
if err := u.Message.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateMessageSendFailed#da1bf8e7: field message: %w", err)
}
case "old_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageSendFailed#da1bf8e7: field old_message_id: %w", err)
}
u.OldMessageID = value
case "error":
if err := u.Error.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateMessageSendFailed#da1bf8e7: field error: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetMessage returns value of Message field.
func (u *UpdateMessageSendFailed) GetMessage() (value Message) {
if u == nil {
return
}
return u.Message
}
// GetOldMessageID returns value of OldMessageID field.
func (u *UpdateMessageSendFailed) GetOldMessageID() (value int64) {
if u == nil {
return
}
return u.OldMessageID
}
// GetError returns value of Error field.
func (u *UpdateMessageSendFailed) GetError() (value Error) {
if u == nil {
return
}
return u.Error
}
// UpdateMessageContent represents TL type `updateMessageContent#1e36bb24`.
type UpdateMessageContent struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
// New message content
NewContent MessageContentClass
}
// UpdateMessageContentTypeID is TL type id of UpdateMessageContent.
const UpdateMessageContentTypeID = 0x1e36bb24
// construct implements constructor of UpdateClass.
func (u UpdateMessageContent) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageContent.
var (
_ bin.Encoder = &UpdateMessageContent{}
_ bin.Decoder = &UpdateMessageContent{}
_ bin.BareEncoder = &UpdateMessageContent{}
_ bin.BareDecoder = &UpdateMessageContent{}
_ UpdateClass = &UpdateMessageContent{}
)
func (u *UpdateMessageContent) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.NewContent == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageContent) String() string {
if u == nil {
return "UpdateMessageContent(nil)"
}
type Alias UpdateMessageContent
return fmt.Sprintf("UpdateMessageContent%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageContent) TypeID() uint32 {
return UpdateMessageContentTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageContent) TypeName() string {
return "updateMessageContent"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageContent) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageContent",
ID: UpdateMessageContentTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "NewContent",
SchemaName: "new_content",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageContent) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageContent#1e36bb24 as nil")
}
b.PutID(UpdateMessageContentTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageContent) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageContent#1e36bb24 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
if u.NewContent == nil {
return fmt.Errorf("unable to encode updateMessageContent#1e36bb24: field new_content is nil")
}
if err := u.NewContent.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageContent#1e36bb24: field new_content: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageContent) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageContent#1e36bb24 to nil")
}
if err := b.ConsumeID(UpdateMessageContentTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageContent#1e36bb24: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageContent) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageContent#1e36bb24 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageContent#1e36bb24: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageContent#1e36bb24: field message_id: %w", err)
}
u.MessageID = value
}
{
value, err := DecodeMessageContent(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageContent#1e36bb24: field new_content: %w", err)
}
u.NewContent = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageContent) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageContent#1e36bb24 as nil")
}
b.ObjStart()
b.PutID("updateMessageContent")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("new_content")
if u.NewContent == nil {
return fmt.Errorf("unable to encode updateMessageContent#1e36bb24: field new_content is nil")
}
if err := u.NewContent.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageContent#1e36bb24: field new_content: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageContent) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageContent#1e36bb24 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageContent"); err != nil {
return fmt.Errorf("unable to decode updateMessageContent#1e36bb24: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageContent#1e36bb24: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageContent#1e36bb24: field message_id: %w", err)
}
u.MessageID = value
case "new_content":
value, err := DecodeTDLibJSONMessageContent(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageContent#1e36bb24: field new_content: %w", err)
}
u.NewContent = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageContent) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageContent) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetNewContent returns value of NewContent field.
func (u *UpdateMessageContent) GetNewContent() (value MessageContentClass) {
if u == nil {
return
}
return u.NewContent
}
// UpdateMessageEdited represents TL type `updateMessageEdited#dea602e6`.
type UpdateMessageEdited struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
// Point in time (Unix timestamp) when the message was edited
EditDate int32
// New message reply markup; may be null
ReplyMarkup ReplyMarkupClass
}
// UpdateMessageEditedTypeID is TL type id of UpdateMessageEdited.
const UpdateMessageEditedTypeID = 0xdea602e6
// construct implements constructor of UpdateClass.
func (u UpdateMessageEdited) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageEdited.
var (
_ bin.Encoder = &UpdateMessageEdited{}
_ bin.Decoder = &UpdateMessageEdited{}
_ bin.BareEncoder = &UpdateMessageEdited{}
_ bin.BareDecoder = &UpdateMessageEdited{}
_ UpdateClass = &UpdateMessageEdited{}
)
func (u *UpdateMessageEdited) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.EditDate == 0) {
return false
}
if !(u.ReplyMarkup == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageEdited) String() string {
if u == nil {
return "UpdateMessageEdited(nil)"
}
type Alias UpdateMessageEdited
return fmt.Sprintf("UpdateMessageEdited%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageEdited) TypeID() uint32 {
return UpdateMessageEditedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageEdited) TypeName() string {
return "updateMessageEdited"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageEdited) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageEdited",
ID: UpdateMessageEditedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "EditDate",
SchemaName: "edit_date",
},
{
Name: "ReplyMarkup",
SchemaName: "reply_markup",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageEdited) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageEdited#dea602e6 as nil")
}
b.PutID(UpdateMessageEditedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageEdited) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageEdited#dea602e6 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
b.PutInt32(u.EditDate)
if u.ReplyMarkup == nil {
return fmt.Errorf("unable to encode updateMessageEdited#dea602e6: field reply_markup is nil")
}
if err := u.ReplyMarkup.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageEdited#dea602e6: field reply_markup: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageEdited) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageEdited#dea602e6 to nil")
}
if err := b.ConsumeID(UpdateMessageEditedTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageEdited) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageEdited#dea602e6 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: field message_id: %w", err)
}
u.MessageID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: field edit_date: %w", err)
}
u.EditDate = value
}
{
value, err := DecodeReplyMarkup(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: field reply_markup: %w", err)
}
u.ReplyMarkup = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageEdited) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageEdited#dea602e6 as nil")
}
b.ObjStart()
b.PutID("updateMessageEdited")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("edit_date")
b.PutInt32(u.EditDate)
b.Comma()
b.FieldStart("reply_markup")
if u.ReplyMarkup == nil {
return fmt.Errorf("unable to encode updateMessageEdited#dea602e6: field reply_markup is nil")
}
if err := u.ReplyMarkup.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageEdited#dea602e6: field reply_markup: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageEdited) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageEdited#dea602e6 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageEdited"); err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: field message_id: %w", err)
}
u.MessageID = value
case "edit_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: field edit_date: %w", err)
}
u.EditDate = value
case "reply_markup":
value, err := DecodeTDLibJSONReplyMarkup(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageEdited#dea602e6: field reply_markup: %w", err)
}
u.ReplyMarkup = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageEdited) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageEdited) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetEditDate returns value of EditDate field.
func (u *UpdateMessageEdited) GetEditDate() (value int32) {
if u == nil {
return
}
return u.EditDate
}
// GetReplyMarkup returns value of ReplyMarkup field.
func (u *UpdateMessageEdited) GetReplyMarkup() (value ReplyMarkupClass) {
if u == nil {
return
}
return u.ReplyMarkup
}
// UpdateMessageIsPinned represents TL type `updateMessageIsPinned#41bc233d`.
type UpdateMessageIsPinned struct {
// Chat identifier
ChatID int64
// The message identifier
MessageID int64
// True, if the message is pinned
IsPinned bool
}
// UpdateMessageIsPinnedTypeID is TL type id of UpdateMessageIsPinned.
const UpdateMessageIsPinnedTypeID = 0x41bc233d
// construct implements constructor of UpdateClass.
func (u UpdateMessageIsPinned) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageIsPinned.
var (
_ bin.Encoder = &UpdateMessageIsPinned{}
_ bin.Decoder = &UpdateMessageIsPinned{}
_ bin.BareEncoder = &UpdateMessageIsPinned{}
_ bin.BareDecoder = &UpdateMessageIsPinned{}
_ UpdateClass = &UpdateMessageIsPinned{}
)
func (u *UpdateMessageIsPinned) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.IsPinned == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageIsPinned) String() string {
if u == nil {
return "UpdateMessageIsPinned(nil)"
}
type Alias UpdateMessageIsPinned
return fmt.Sprintf("UpdateMessageIsPinned%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageIsPinned) TypeID() uint32 {
return UpdateMessageIsPinnedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageIsPinned) TypeName() string {
return "updateMessageIsPinned"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageIsPinned) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageIsPinned",
ID: UpdateMessageIsPinnedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "IsPinned",
SchemaName: "is_pinned",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageIsPinned) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageIsPinned#41bc233d as nil")
}
b.PutID(UpdateMessageIsPinnedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageIsPinned) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageIsPinned#41bc233d as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
b.PutBool(u.IsPinned)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageIsPinned) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageIsPinned#41bc233d to nil")
}
if err := b.ConsumeID(UpdateMessageIsPinnedTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageIsPinned#41bc233d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageIsPinned) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageIsPinned#41bc233d to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageIsPinned#41bc233d: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageIsPinned#41bc233d: field message_id: %w", err)
}
u.MessageID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateMessageIsPinned#41bc233d: field is_pinned: %w", err)
}
u.IsPinned = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageIsPinned) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageIsPinned#41bc233d as nil")
}
b.ObjStart()
b.PutID("updateMessageIsPinned")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("is_pinned")
b.PutBool(u.IsPinned)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageIsPinned) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageIsPinned#41bc233d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageIsPinned"); err != nil {
return fmt.Errorf("unable to decode updateMessageIsPinned#41bc233d: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageIsPinned#41bc233d: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageIsPinned#41bc233d: field message_id: %w", err)
}
u.MessageID = value
case "is_pinned":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateMessageIsPinned#41bc233d: field is_pinned: %w", err)
}
u.IsPinned = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageIsPinned) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageIsPinned) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetIsPinned returns value of IsPinned field.
func (u *UpdateMessageIsPinned) GetIsPinned() (value bool) {
if u == nil {
return
}
return u.IsPinned
}
// UpdateMessageInteractionInfo represents TL type `updateMessageInteractionInfo#ab803bfe`.
type UpdateMessageInteractionInfo struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
// New information about interactions with the message; may be null
InteractionInfo MessageInteractionInfo
}
// UpdateMessageInteractionInfoTypeID is TL type id of UpdateMessageInteractionInfo.
const UpdateMessageInteractionInfoTypeID = 0xab803bfe
// construct implements constructor of UpdateClass.
func (u UpdateMessageInteractionInfo) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageInteractionInfo.
var (
_ bin.Encoder = &UpdateMessageInteractionInfo{}
_ bin.Decoder = &UpdateMessageInteractionInfo{}
_ bin.BareEncoder = &UpdateMessageInteractionInfo{}
_ bin.BareDecoder = &UpdateMessageInteractionInfo{}
_ UpdateClass = &UpdateMessageInteractionInfo{}
)
func (u *UpdateMessageInteractionInfo) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.InteractionInfo.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageInteractionInfo) String() string {
if u == nil {
return "UpdateMessageInteractionInfo(nil)"
}
type Alias UpdateMessageInteractionInfo
return fmt.Sprintf("UpdateMessageInteractionInfo%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageInteractionInfo) TypeID() uint32 {
return UpdateMessageInteractionInfoTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageInteractionInfo) TypeName() string {
return "updateMessageInteractionInfo"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageInteractionInfo) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageInteractionInfo",
ID: UpdateMessageInteractionInfoTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "InteractionInfo",
SchemaName: "interaction_info",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageInteractionInfo) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageInteractionInfo#ab803bfe as nil")
}
b.PutID(UpdateMessageInteractionInfoTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageInteractionInfo) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageInteractionInfo#ab803bfe as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
if err := u.InteractionInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageInteractionInfo#ab803bfe: field interaction_info: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageInteractionInfo) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageInteractionInfo#ab803bfe to nil")
}
if err := b.ConsumeID(UpdateMessageInteractionInfoTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageInteractionInfo#ab803bfe: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageInteractionInfo) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageInteractionInfo#ab803bfe to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageInteractionInfo#ab803bfe: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageInteractionInfo#ab803bfe: field message_id: %w", err)
}
u.MessageID = value
}
{
if err := u.InteractionInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateMessageInteractionInfo#ab803bfe: field interaction_info: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageInteractionInfo) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageInteractionInfo#ab803bfe as nil")
}
b.ObjStart()
b.PutID("updateMessageInteractionInfo")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("interaction_info")
if err := u.InteractionInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageInteractionInfo#ab803bfe: field interaction_info: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageInteractionInfo) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageInteractionInfo#ab803bfe to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageInteractionInfo"); err != nil {
return fmt.Errorf("unable to decode updateMessageInteractionInfo#ab803bfe: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageInteractionInfo#ab803bfe: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageInteractionInfo#ab803bfe: field message_id: %w", err)
}
u.MessageID = value
case "interaction_info":
if err := u.InteractionInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateMessageInteractionInfo#ab803bfe: field interaction_info: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageInteractionInfo) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageInteractionInfo) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetInteractionInfo returns value of InteractionInfo field.
func (u *UpdateMessageInteractionInfo) GetInteractionInfo() (value MessageInteractionInfo) {
if u == nil {
return
}
return u.InteractionInfo
}
// UpdateMessageContentOpened represents TL type `updateMessageContentOpened#a55ea885`.
type UpdateMessageContentOpened struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
}
// UpdateMessageContentOpenedTypeID is TL type id of UpdateMessageContentOpened.
const UpdateMessageContentOpenedTypeID = 0xa55ea885
// construct implements constructor of UpdateClass.
func (u UpdateMessageContentOpened) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageContentOpened.
var (
_ bin.Encoder = &UpdateMessageContentOpened{}
_ bin.Decoder = &UpdateMessageContentOpened{}
_ bin.BareEncoder = &UpdateMessageContentOpened{}
_ bin.BareDecoder = &UpdateMessageContentOpened{}
_ UpdateClass = &UpdateMessageContentOpened{}
)
func (u *UpdateMessageContentOpened) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageContentOpened) String() string {
if u == nil {
return "UpdateMessageContentOpened(nil)"
}
type Alias UpdateMessageContentOpened
return fmt.Sprintf("UpdateMessageContentOpened%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageContentOpened) TypeID() uint32 {
return UpdateMessageContentOpenedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageContentOpened) TypeName() string {
return "updateMessageContentOpened"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageContentOpened) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageContentOpened",
ID: UpdateMessageContentOpenedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageContentOpened) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageContentOpened#a55ea885 as nil")
}
b.PutID(UpdateMessageContentOpenedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageContentOpened) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageContentOpened#a55ea885 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageContentOpened) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageContentOpened#a55ea885 to nil")
}
if err := b.ConsumeID(UpdateMessageContentOpenedTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageContentOpened#a55ea885: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageContentOpened) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageContentOpened#a55ea885 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageContentOpened#a55ea885: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageContentOpened#a55ea885: field message_id: %w", err)
}
u.MessageID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageContentOpened) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageContentOpened#a55ea885 as nil")
}
b.ObjStart()
b.PutID("updateMessageContentOpened")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageContentOpened) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageContentOpened#a55ea885 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageContentOpened"); err != nil {
return fmt.Errorf("unable to decode updateMessageContentOpened#a55ea885: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageContentOpened#a55ea885: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageContentOpened#a55ea885: field message_id: %w", err)
}
u.MessageID = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageContentOpened) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageContentOpened) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// UpdateMessageMentionRead represents TL type `updateMessageMentionRead#f0f74d46`.
type UpdateMessageMentionRead struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
// The new number of unread mention messages left in the chat
UnreadMentionCount int32
}
// UpdateMessageMentionReadTypeID is TL type id of UpdateMessageMentionRead.
const UpdateMessageMentionReadTypeID = 0xf0f74d46
// construct implements constructor of UpdateClass.
func (u UpdateMessageMentionRead) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageMentionRead.
var (
_ bin.Encoder = &UpdateMessageMentionRead{}
_ bin.Decoder = &UpdateMessageMentionRead{}
_ bin.BareEncoder = &UpdateMessageMentionRead{}
_ bin.BareDecoder = &UpdateMessageMentionRead{}
_ UpdateClass = &UpdateMessageMentionRead{}
)
func (u *UpdateMessageMentionRead) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.UnreadMentionCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageMentionRead) String() string {
if u == nil {
return "UpdateMessageMentionRead(nil)"
}
type Alias UpdateMessageMentionRead
return fmt.Sprintf("UpdateMessageMentionRead%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageMentionRead) TypeID() uint32 {
return UpdateMessageMentionReadTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageMentionRead) TypeName() string {
return "updateMessageMentionRead"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageMentionRead) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageMentionRead",
ID: UpdateMessageMentionReadTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "UnreadMentionCount",
SchemaName: "unread_mention_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageMentionRead) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageMentionRead#f0f74d46 as nil")
}
b.PutID(UpdateMessageMentionReadTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageMentionRead) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageMentionRead#f0f74d46 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
b.PutInt32(u.UnreadMentionCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageMentionRead) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageMentionRead#f0f74d46 to nil")
}
if err := b.ConsumeID(UpdateMessageMentionReadTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageMentionRead#f0f74d46: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageMentionRead) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageMentionRead#f0f74d46 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageMentionRead#f0f74d46: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageMentionRead#f0f74d46: field message_id: %w", err)
}
u.MessageID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageMentionRead#f0f74d46: field unread_mention_count: %w", err)
}
u.UnreadMentionCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageMentionRead) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageMentionRead#f0f74d46 as nil")
}
b.ObjStart()
b.PutID("updateMessageMentionRead")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("unread_mention_count")
b.PutInt32(u.UnreadMentionCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageMentionRead) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageMentionRead#f0f74d46 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageMentionRead"); err != nil {
return fmt.Errorf("unable to decode updateMessageMentionRead#f0f74d46: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageMentionRead#f0f74d46: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageMentionRead#f0f74d46: field message_id: %w", err)
}
u.MessageID = value
case "unread_mention_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageMentionRead#f0f74d46: field unread_mention_count: %w", err)
}
u.UnreadMentionCount = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageMentionRead) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageMentionRead) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetUnreadMentionCount returns value of UnreadMentionCount field.
func (u *UpdateMessageMentionRead) GetUnreadMentionCount() (value int32) {
if u == nil {
return
}
return u.UnreadMentionCount
}
// UpdateMessageUnreadReactions represents TL type `updateMessageUnreadReactions#12a7220a`.
type UpdateMessageUnreadReactions struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
// The new list of unread reactions
UnreadReactions []UnreadReaction
// The new number of messages with unread reactions left in the chat
UnreadReactionCount int32
}
// UpdateMessageUnreadReactionsTypeID is TL type id of UpdateMessageUnreadReactions.
const UpdateMessageUnreadReactionsTypeID = 0x12a7220a
// construct implements constructor of UpdateClass.
func (u UpdateMessageUnreadReactions) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageUnreadReactions.
var (
_ bin.Encoder = &UpdateMessageUnreadReactions{}
_ bin.Decoder = &UpdateMessageUnreadReactions{}
_ bin.BareEncoder = &UpdateMessageUnreadReactions{}
_ bin.BareDecoder = &UpdateMessageUnreadReactions{}
_ UpdateClass = &UpdateMessageUnreadReactions{}
)
func (u *UpdateMessageUnreadReactions) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.UnreadReactions == nil) {
return false
}
if !(u.UnreadReactionCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageUnreadReactions) String() string {
if u == nil {
return "UpdateMessageUnreadReactions(nil)"
}
type Alias UpdateMessageUnreadReactions
return fmt.Sprintf("UpdateMessageUnreadReactions%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageUnreadReactions) TypeID() uint32 {
return UpdateMessageUnreadReactionsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageUnreadReactions) TypeName() string {
return "updateMessageUnreadReactions"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageUnreadReactions) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageUnreadReactions",
ID: UpdateMessageUnreadReactionsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "UnreadReactions",
SchemaName: "unread_reactions",
},
{
Name: "UnreadReactionCount",
SchemaName: "unread_reaction_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageUnreadReactions) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageUnreadReactions#12a7220a as nil")
}
b.PutID(UpdateMessageUnreadReactionsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageUnreadReactions) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageUnreadReactions#12a7220a as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
b.PutInt(len(u.UnreadReactions))
for idx, v := range u.UnreadReactions {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateMessageUnreadReactions#12a7220a: field unread_reactions element with index %d: %w", idx, err)
}
}
b.PutInt32(u.UnreadReactionCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageUnreadReactions) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageUnreadReactions#12a7220a to nil")
}
if err := b.ConsumeID(UpdateMessageUnreadReactionsTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageUnreadReactions) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageUnreadReactions#12a7220a to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: field message_id: %w", err)
}
u.MessageID = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: field unread_reactions: %w", err)
}
if headerLen > 0 {
u.UnreadReactions = make([]UnreadReaction, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value UnreadReaction
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateMessageUnreadReactions#12a7220a: field unread_reactions: %w", err)
}
u.UnreadReactions = append(u.UnreadReactions, value)
}
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: field unread_reaction_count: %w", err)
}
u.UnreadReactionCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageUnreadReactions) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageUnreadReactions#12a7220a as nil")
}
b.ObjStart()
b.PutID("updateMessageUnreadReactions")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("unread_reactions")
b.ArrStart()
for idx, v := range u.UnreadReactions {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageUnreadReactions#12a7220a: field unread_reactions element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("unread_reaction_count")
b.PutInt32(u.UnreadReactionCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageUnreadReactions) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageUnreadReactions#12a7220a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageUnreadReactions"); err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: field message_id: %w", err)
}
u.MessageID = value
case "unread_reactions":
if err := b.Arr(func(b tdjson.Decoder) error {
var value UnreadReaction
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: field unread_reactions: %w", err)
}
u.UnreadReactions = append(u.UnreadReactions, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: field unread_reactions: %w", err)
}
case "unread_reaction_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageUnreadReactions#12a7220a: field unread_reaction_count: %w", err)
}
u.UnreadReactionCount = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageUnreadReactions) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageUnreadReactions) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetUnreadReactions returns value of UnreadReactions field.
func (u *UpdateMessageUnreadReactions) GetUnreadReactions() (value []UnreadReaction) {
if u == nil {
return
}
return u.UnreadReactions
}
// GetUnreadReactionCount returns value of UnreadReactionCount field.
func (u *UpdateMessageUnreadReactions) GetUnreadReactionCount() (value int32) {
if u == nil {
return
}
return u.UnreadReactionCount
}
// UpdateMessageFactCheck represents TL type `updateMessageFactCheck#3c78fb02`.
type UpdateMessageFactCheck struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
// The new fact-check
FactCheck FactCheck
}
// UpdateMessageFactCheckTypeID is TL type id of UpdateMessageFactCheck.
const UpdateMessageFactCheckTypeID = 0x3c78fb02
// construct implements constructor of UpdateClass.
func (u UpdateMessageFactCheck) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageFactCheck.
var (
_ bin.Encoder = &UpdateMessageFactCheck{}
_ bin.Decoder = &UpdateMessageFactCheck{}
_ bin.BareEncoder = &UpdateMessageFactCheck{}
_ bin.BareDecoder = &UpdateMessageFactCheck{}
_ UpdateClass = &UpdateMessageFactCheck{}
)
func (u *UpdateMessageFactCheck) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.FactCheck.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageFactCheck) String() string {
if u == nil {
return "UpdateMessageFactCheck(nil)"
}
type Alias UpdateMessageFactCheck
return fmt.Sprintf("UpdateMessageFactCheck%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageFactCheck) TypeID() uint32 {
return UpdateMessageFactCheckTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageFactCheck) TypeName() string {
return "updateMessageFactCheck"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageFactCheck) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageFactCheck",
ID: UpdateMessageFactCheckTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "FactCheck",
SchemaName: "fact_check",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageFactCheck) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageFactCheck#3c78fb02 as nil")
}
b.PutID(UpdateMessageFactCheckTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageFactCheck) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageFactCheck#3c78fb02 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
if err := u.FactCheck.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageFactCheck#3c78fb02: field fact_check: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageFactCheck) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageFactCheck#3c78fb02 to nil")
}
if err := b.ConsumeID(UpdateMessageFactCheckTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageFactCheck#3c78fb02: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageFactCheck) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageFactCheck#3c78fb02 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageFactCheck#3c78fb02: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageFactCheck#3c78fb02: field message_id: %w", err)
}
u.MessageID = value
}
{
if err := u.FactCheck.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateMessageFactCheck#3c78fb02: field fact_check: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageFactCheck) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageFactCheck#3c78fb02 as nil")
}
b.ObjStart()
b.PutID("updateMessageFactCheck")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("fact_check")
if err := u.FactCheck.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageFactCheck#3c78fb02: field fact_check: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageFactCheck) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageFactCheck#3c78fb02 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageFactCheck"); err != nil {
return fmt.Errorf("unable to decode updateMessageFactCheck#3c78fb02: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageFactCheck#3c78fb02: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageFactCheck#3c78fb02: field message_id: %w", err)
}
u.MessageID = value
case "fact_check":
if err := u.FactCheck.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateMessageFactCheck#3c78fb02: field fact_check: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageFactCheck) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageFactCheck) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetFactCheck returns value of FactCheck field.
func (u *UpdateMessageFactCheck) GetFactCheck() (value FactCheck) {
if u == nil {
return
}
return u.FactCheck
}
// UpdateMessageLiveLocationViewed represents TL type `updateMessageLiveLocationViewed#b2058595`.
type UpdateMessageLiveLocationViewed struct {
// Identifier of the chat with the live location message
ChatID int64
// Identifier of the message with live location
MessageID int64
}
// UpdateMessageLiveLocationViewedTypeID is TL type id of UpdateMessageLiveLocationViewed.
const UpdateMessageLiveLocationViewedTypeID = 0xb2058595
// construct implements constructor of UpdateClass.
func (u UpdateMessageLiveLocationViewed) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageLiveLocationViewed.
var (
_ bin.Encoder = &UpdateMessageLiveLocationViewed{}
_ bin.Decoder = &UpdateMessageLiveLocationViewed{}
_ bin.BareEncoder = &UpdateMessageLiveLocationViewed{}
_ bin.BareDecoder = &UpdateMessageLiveLocationViewed{}
_ UpdateClass = &UpdateMessageLiveLocationViewed{}
)
func (u *UpdateMessageLiveLocationViewed) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageLiveLocationViewed) String() string {
if u == nil {
return "UpdateMessageLiveLocationViewed(nil)"
}
type Alias UpdateMessageLiveLocationViewed
return fmt.Sprintf("UpdateMessageLiveLocationViewed%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageLiveLocationViewed) TypeID() uint32 {
return UpdateMessageLiveLocationViewedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageLiveLocationViewed) TypeName() string {
return "updateMessageLiveLocationViewed"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageLiveLocationViewed) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageLiveLocationViewed",
ID: UpdateMessageLiveLocationViewedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageLiveLocationViewed) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageLiveLocationViewed#b2058595 as nil")
}
b.PutID(UpdateMessageLiveLocationViewedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageLiveLocationViewed) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageLiveLocationViewed#b2058595 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageLiveLocationViewed) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageLiveLocationViewed#b2058595 to nil")
}
if err := b.ConsumeID(UpdateMessageLiveLocationViewedTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageLiveLocationViewed#b2058595: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageLiveLocationViewed) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageLiveLocationViewed#b2058595 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageLiveLocationViewed#b2058595: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageLiveLocationViewed#b2058595: field message_id: %w", err)
}
u.MessageID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageLiveLocationViewed) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageLiveLocationViewed#b2058595 as nil")
}
b.ObjStart()
b.PutID("updateMessageLiveLocationViewed")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateMessageLiveLocationViewed) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageLiveLocationViewed#b2058595 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageLiveLocationViewed"); err != nil {
return fmt.Errorf("unable to decode updateMessageLiveLocationViewed#b2058595: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageLiveLocationViewed#b2058595: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageLiveLocationViewed#b2058595: field message_id: %w", err)
}
u.MessageID = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageLiveLocationViewed) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageLiveLocationViewed) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// UpdateVideoPublished represents TL type `updateVideoPublished#eafc2052`.
type UpdateVideoPublished struct {
// Identifier of the chat with the message
ChatID int64
// Identifier of the sent message
MessageID int64
}
// UpdateVideoPublishedTypeID is TL type id of UpdateVideoPublished.
const UpdateVideoPublishedTypeID = 0xeafc2052
// construct implements constructor of UpdateClass.
func (u UpdateVideoPublished) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateVideoPublished.
var (
_ bin.Encoder = &UpdateVideoPublished{}
_ bin.Decoder = &UpdateVideoPublished{}
_ bin.BareEncoder = &UpdateVideoPublished{}
_ bin.BareDecoder = &UpdateVideoPublished{}
_ UpdateClass = &UpdateVideoPublished{}
)
func (u *UpdateVideoPublished) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateVideoPublished) String() string {
if u == nil {
return "UpdateVideoPublished(nil)"
}
type Alias UpdateVideoPublished
return fmt.Sprintf("UpdateVideoPublished%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateVideoPublished) TypeID() uint32 {
return UpdateVideoPublishedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateVideoPublished) TypeName() string {
return "updateVideoPublished"
}
// TypeInfo returns info about TL type.
func (u *UpdateVideoPublished) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateVideoPublished",
ID: UpdateVideoPublishedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateVideoPublished) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateVideoPublished#eafc2052 as nil")
}
b.PutID(UpdateVideoPublishedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateVideoPublished) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateVideoPublished#eafc2052 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateVideoPublished) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateVideoPublished#eafc2052 to nil")
}
if err := b.ConsumeID(UpdateVideoPublishedTypeID); err != nil {
return fmt.Errorf("unable to decode updateVideoPublished#eafc2052: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateVideoPublished) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateVideoPublished#eafc2052 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateVideoPublished#eafc2052: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateVideoPublished#eafc2052: field message_id: %w", err)
}
u.MessageID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateVideoPublished) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateVideoPublished#eafc2052 as nil")
}
b.ObjStart()
b.PutID("updateVideoPublished")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateVideoPublished) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateVideoPublished#eafc2052 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateVideoPublished"); err != nil {
return fmt.Errorf("unable to decode updateVideoPublished#eafc2052: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateVideoPublished#eafc2052: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateVideoPublished#eafc2052: field message_id: %w", err)
}
u.MessageID = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateVideoPublished) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateVideoPublished) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// UpdateNewChat represents TL type `updateNewChat#7bb98ccd`.
type UpdateNewChat struct {
// The chat
Chat Chat
}
// UpdateNewChatTypeID is TL type id of UpdateNewChat.
const UpdateNewChatTypeID = 0x7bb98ccd
// construct implements constructor of UpdateClass.
func (u UpdateNewChat) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewChat.
var (
_ bin.Encoder = &UpdateNewChat{}
_ bin.Decoder = &UpdateNewChat{}
_ bin.BareEncoder = &UpdateNewChat{}
_ bin.BareDecoder = &UpdateNewChat{}
_ UpdateClass = &UpdateNewChat{}
)
func (u *UpdateNewChat) Zero() bool {
if u == nil {
return true
}
if !(u.Chat.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewChat) String() string {
if u == nil {
return "UpdateNewChat(nil)"
}
type Alias UpdateNewChat
return fmt.Sprintf("UpdateNewChat%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewChat) TypeID() uint32 {
return UpdateNewChatTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewChat) TypeName() string {
return "updateNewChat"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewChat) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewChat",
ID: UpdateNewChatTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Chat",
SchemaName: "chat",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewChat) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChat#7bb98ccd as nil")
}
b.PutID(UpdateNewChatTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewChat) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChat#7bb98ccd as nil")
}
if err := u.Chat.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewChat#7bb98ccd: field chat: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewChat) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChat#7bb98ccd to nil")
}
if err := b.ConsumeID(UpdateNewChatTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewChat#7bb98ccd: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewChat) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChat#7bb98ccd to nil")
}
{
if err := u.Chat.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewChat#7bb98ccd: field chat: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewChat) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChat#7bb98ccd as nil")
}
b.ObjStart()
b.PutID("updateNewChat")
b.Comma()
b.FieldStart("chat")
if err := u.Chat.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewChat#7bb98ccd: field chat: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewChat) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChat#7bb98ccd to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewChat"); err != nil {
return fmt.Errorf("unable to decode updateNewChat#7bb98ccd: %w", err)
}
case "chat":
if err := u.Chat.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewChat#7bb98ccd: field chat: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChat returns value of Chat field.
func (u *UpdateNewChat) GetChat() (value Chat) {
if u == nil {
return
}
return u.Chat
}
// UpdateChatTitle represents TL type `updateChatTitle#f58b85a4`.
type UpdateChatTitle struct {
// Chat identifier
ChatID int64
// The new chat title
Title string
}
// UpdateChatTitleTypeID is TL type id of UpdateChatTitle.
const UpdateChatTitleTypeID = 0xf58b85a4
// construct implements constructor of UpdateClass.
func (u UpdateChatTitle) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatTitle.
var (
_ bin.Encoder = &UpdateChatTitle{}
_ bin.Decoder = &UpdateChatTitle{}
_ bin.BareEncoder = &UpdateChatTitle{}
_ bin.BareDecoder = &UpdateChatTitle{}
_ UpdateClass = &UpdateChatTitle{}
)
func (u *UpdateChatTitle) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.Title == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatTitle) String() string {
if u == nil {
return "UpdateChatTitle(nil)"
}
type Alias UpdateChatTitle
return fmt.Sprintf("UpdateChatTitle%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatTitle) TypeID() uint32 {
return UpdateChatTitleTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatTitle) TypeName() string {
return "updateChatTitle"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatTitle) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatTitle",
ID: UpdateChatTitleTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "Title",
SchemaName: "title",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatTitle) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatTitle#f58b85a4 as nil")
}
b.PutID(UpdateChatTitleTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatTitle) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatTitle#f58b85a4 as nil")
}
b.PutInt53(u.ChatID)
b.PutString(u.Title)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatTitle) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatTitle#f58b85a4 to nil")
}
if err := b.ConsumeID(UpdateChatTitleTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatTitle#f58b85a4: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatTitle) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatTitle#f58b85a4 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatTitle#f58b85a4: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateChatTitle#f58b85a4: field title: %w", err)
}
u.Title = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatTitle) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatTitle#f58b85a4 as nil")
}
b.ObjStart()
b.PutID("updateChatTitle")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("title")
b.PutString(u.Title)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatTitle) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatTitle#f58b85a4 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatTitle"); err != nil {
return fmt.Errorf("unable to decode updateChatTitle#f58b85a4: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatTitle#f58b85a4: field chat_id: %w", err)
}
u.ChatID = value
case "title":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateChatTitle#f58b85a4: field title: %w", err)
}
u.Title = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatTitle) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetTitle returns value of Title field.
func (u *UpdateChatTitle) GetTitle() (value string) {
if u == nil {
return
}
return u.Title
}
// UpdateChatPhoto represents TL type `updateChatPhoto#eca5423f`.
type UpdateChatPhoto struct {
// Chat identifier
ChatID int64
// The new chat photo; may be null
Photo ChatPhotoInfo
}
// UpdateChatPhotoTypeID is TL type id of UpdateChatPhoto.
const UpdateChatPhotoTypeID = 0xeca5423f
// construct implements constructor of UpdateClass.
func (u UpdateChatPhoto) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatPhoto.
var (
_ bin.Encoder = &UpdateChatPhoto{}
_ bin.Decoder = &UpdateChatPhoto{}
_ bin.BareEncoder = &UpdateChatPhoto{}
_ bin.BareDecoder = &UpdateChatPhoto{}
_ UpdateClass = &UpdateChatPhoto{}
)
func (u *UpdateChatPhoto) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.Photo.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatPhoto) String() string {
if u == nil {
return "UpdateChatPhoto(nil)"
}
type Alias UpdateChatPhoto
return fmt.Sprintf("UpdateChatPhoto%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatPhoto) TypeID() uint32 {
return UpdateChatPhotoTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatPhoto) TypeName() string {
return "updateChatPhoto"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatPhoto) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatPhoto",
ID: UpdateChatPhotoTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "Photo",
SchemaName: "photo",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatPhoto) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPhoto#eca5423f as nil")
}
b.PutID(UpdateChatPhotoTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatPhoto) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPhoto#eca5423f as nil")
}
b.PutInt53(u.ChatID)
if err := u.Photo.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatPhoto#eca5423f: field photo: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatPhoto) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPhoto#eca5423f to nil")
}
if err := b.ConsumeID(UpdateChatPhotoTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatPhoto#eca5423f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatPhoto) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPhoto#eca5423f to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatPhoto#eca5423f: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.Photo.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatPhoto#eca5423f: field photo: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatPhoto) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPhoto#eca5423f as nil")
}
b.ObjStart()
b.PutID("updateChatPhoto")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("photo")
if err := u.Photo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatPhoto#eca5423f: field photo: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatPhoto) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPhoto#eca5423f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatPhoto"); err != nil {
return fmt.Errorf("unable to decode updateChatPhoto#eca5423f: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatPhoto#eca5423f: field chat_id: %w", err)
}
u.ChatID = value
case "photo":
if err := u.Photo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatPhoto#eca5423f: field photo: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatPhoto) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetPhoto returns value of Photo field.
func (u *UpdateChatPhoto) GetPhoto() (value ChatPhotoInfo) {
if u == nil {
return
}
return u.Photo
}
// UpdateChatAccentColors represents TL type `updateChatAccentColors#b7b8f8f9`.
type UpdateChatAccentColors struct {
// Chat identifier
ChatID int64
// The new chat accent color identifier
AccentColorID int32
// The new identifier of a custom emoji to be shown on the reply header and link preview
// background; 0 if none
BackgroundCustomEmojiID int64
// The new chat profile accent color identifier; -1 if none
ProfileAccentColorID int32
// The new identifier of a custom emoji to be shown on the profile background; 0 if none
ProfileBackgroundCustomEmojiID int64
}
// UpdateChatAccentColorsTypeID is TL type id of UpdateChatAccentColors.
const UpdateChatAccentColorsTypeID = 0xb7b8f8f9
// construct implements constructor of UpdateClass.
func (u UpdateChatAccentColors) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatAccentColors.
var (
_ bin.Encoder = &UpdateChatAccentColors{}
_ bin.Decoder = &UpdateChatAccentColors{}
_ bin.BareEncoder = &UpdateChatAccentColors{}
_ bin.BareDecoder = &UpdateChatAccentColors{}
_ UpdateClass = &UpdateChatAccentColors{}
)
func (u *UpdateChatAccentColors) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.AccentColorID == 0) {
return false
}
if !(u.BackgroundCustomEmojiID == 0) {
return false
}
if !(u.ProfileAccentColorID == 0) {
return false
}
if !(u.ProfileBackgroundCustomEmojiID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatAccentColors) String() string {
if u == nil {
return "UpdateChatAccentColors(nil)"
}
type Alias UpdateChatAccentColors
return fmt.Sprintf("UpdateChatAccentColors%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatAccentColors) TypeID() uint32 {
return UpdateChatAccentColorsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatAccentColors) TypeName() string {
return "updateChatAccentColors"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatAccentColors) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatAccentColors",
ID: UpdateChatAccentColorsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "AccentColorID",
SchemaName: "accent_color_id",
},
{
Name: "BackgroundCustomEmojiID",
SchemaName: "background_custom_emoji_id",
},
{
Name: "ProfileAccentColorID",
SchemaName: "profile_accent_color_id",
},
{
Name: "ProfileBackgroundCustomEmojiID",
SchemaName: "profile_background_custom_emoji_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatAccentColors) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAccentColors#b7b8f8f9 as nil")
}
b.PutID(UpdateChatAccentColorsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatAccentColors) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAccentColors#b7b8f8f9 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt32(u.AccentColorID)
b.PutLong(u.BackgroundCustomEmojiID)
b.PutInt32(u.ProfileAccentColorID)
b.PutLong(u.ProfileBackgroundCustomEmojiID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatAccentColors) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAccentColors#b7b8f8f9 to nil")
}
if err := b.ConsumeID(UpdateChatAccentColorsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatAccentColors) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAccentColors#b7b8f8f9 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field accent_color_id: %w", err)
}
u.AccentColorID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field background_custom_emoji_id: %w", err)
}
u.BackgroundCustomEmojiID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field profile_accent_color_id: %w", err)
}
u.ProfileAccentColorID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field profile_background_custom_emoji_id: %w", err)
}
u.ProfileBackgroundCustomEmojiID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatAccentColors) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAccentColors#b7b8f8f9 as nil")
}
b.ObjStart()
b.PutID("updateChatAccentColors")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("accent_color_id")
b.PutInt32(u.AccentColorID)
b.Comma()
b.FieldStart("background_custom_emoji_id")
b.PutLong(u.BackgroundCustomEmojiID)
b.Comma()
b.FieldStart("profile_accent_color_id")
b.PutInt32(u.ProfileAccentColorID)
b.Comma()
b.FieldStart("profile_background_custom_emoji_id")
b.PutLong(u.ProfileBackgroundCustomEmojiID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatAccentColors) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAccentColors#b7b8f8f9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatAccentColors"); err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field chat_id: %w", err)
}
u.ChatID = value
case "accent_color_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field accent_color_id: %w", err)
}
u.AccentColorID = value
case "background_custom_emoji_id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field background_custom_emoji_id: %w", err)
}
u.BackgroundCustomEmojiID = value
case "profile_accent_color_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field profile_accent_color_id: %w", err)
}
u.ProfileAccentColorID = value
case "profile_background_custom_emoji_id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatAccentColors#b7b8f8f9: field profile_background_custom_emoji_id: %w", err)
}
u.ProfileBackgroundCustomEmojiID = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatAccentColors) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetAccentColorID returns value of AccentColorID field.
func (u *UpdateChatAccentColors) GetAccentColorID() (value int32) {
if u == nil {
return
}
return u.AccentColorID
}
// GetBackgroundCustomEmojiID returns value of BackgroundCustomEmojiID field.
func (u *UpdateChatAccentColors) GetBackgroundCustomEmojiID() (value int64) {
if u == nil {
return
}
return u.BackgroundCustomEmojiID
}
// GetProfileAccentColorID returns value of ProfileAccentColorID field.
func (u *UpdateChatAccentColors) GetProfileAccentColorID() (value int32) {
if u == nil {
return
}
return u.ProfileAccentColorID
}
// GetProfileBackgroundCustomEmojiID returns value of ProfileBackgroundCustomEmojiID field.
func (u *UpdateChatAccentColors) GetProfileBackgroundCustomEmojiID() (value int64) {
if u == nil {
return
}
return u.ProfileBackgroundCustomEmojiID
}
// UpdateChatPermissions represents TL type `updateChatPermissions#9f52176d`.
type UpdateChatPermissions struct {
// Chat identifier
ChatID int64
// The new chat permissions
Permissions ChatPermissions
}
// UpdateChatPermissionsTypeID is TL type id of UpdateChatPermissions.
const UpdateChatPermissionsTypeID = 0x9f52176d
// construct implements constructor of UpdateClass.
func (u UpdateChatPermissions) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatPermissions.
var (
_ bin.Encoder = &UpdateChatPermissions{}
_ bin.Decoder = &UpdateChatPermissions{}
_ bin.BareEncoder = &UpdateChatPermissions{}
_ bin.BareDecoder = &UpdateChatPermissions{}
_ UpdateClass = &UpdateChatPermissions{}
)
func (u *UpdateChatPermissions) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.Permissions.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatPermissions) String() string {
if u == nil {
return "UpdateChatPermissions(nil)"
}
type Alias UpdateChatPermissions
return fmt.Sprintf("UpdateChatPermissions%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatPermissions) TypeID() uint32 {
return UpdateChatPermissionsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatPermissions) TypeName() string {
return "updateChatPermissions"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatPermissions) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatPermissions",
ID: UpdateChatPermissionsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "Permissions",
SchemaName: "permissions",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatPermissions) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPermissions#9f52176d as nil")
}
b.PutID(UpdateChatPermissionsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatPermissions) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPermissions#9f52176d as nil")
}
b.PutInt53(u.ChatID)
if err := u.Permissions.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatPermissions#9f52176d: field permissions: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatPermissions) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPermissions#9f52176d to nil")
}
if err := b.ConsumeID(UpdateChatPermissionsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatPermissions#9f52176d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatPermissions) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPermissions#9f52176d to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatPermissions#9f52176d: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.Permissions.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatPermissions#9f52176d: field permissions: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatPermissions) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPermissions#9f52176d as nil")
}
b.ObjStart()
b.PutID("updateChatPermissions")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("permissions")
if err := u.Permissions.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatPermissions#9f52176d: field permissions: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatPermissions) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPermissions#9f52176d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatPermissions"); err != nil {
return fmt.Errorf("unable to decode updateChatPermissions#9f52176d: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatPermissions#9f52176d: field chat_id: %w", err)
}
u.ChatID = value
case "permissions":
if err := u.Permissions.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatPermissions#9f52176d: field permissions: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatPermissions) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetPermissions returns value of Permissions field.
func (u *UpdateChatPermissions) GetPermissions() (value ChatPermissions) {
if u == nil {
return
}
return u.Permissions
}
// UpdateChatLastMessage represents TL type `updateChatLastMessage#f10cab1d`.
type UpdateChatLastMessage struct {
// Chat identifier
ChatID int64
// The new last message in the chat; may be null if the last message became unknown.
// While the last message is unknown, new messages can be added to the chat without
// corresponding updateNewMessage update
LastMessage Message
// The new chat positions in the chat lists
Positions []ChatPosition
}
// UpdateChatLastMessageTypeID is TL type id of UpdateChatLastMessage.
const UpdateChatLastMessageTypeID = 0xf10cab1d
// construct implements constructor of UpdateClass.
func (u UpdateChatLastMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatLastMessage.
var (
_ bin.Encoder = &UpdateChatLastMessage{}
_ bin.Decoder = &UpdateChatLastMessage{}
_ bin.BareEncoder = &UpdateChatLastMessage{}
_ bin.BareDecoder = &UpdateChatLastMessage{}
_ UpdateClass = &UpdateChatLastMessage{}
)
func (u *UpdateChatLastMessage) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.LastMessage.Zero()) {
return false
}
if !(u.Positions == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatLastMessage) String() string {
if u == nil {
return "UpdateChatLastMessage(nil)"
}
type Alias UpdateChatLastMessage
return fmt.Sprintf("UpdateChatLastMessage%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatLastMessage) TypeID() uint32 {
return UpdateChatLastMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatLastMessage) TypeName() string {
return "updateChatLastMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatLastMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatLastMessage",
ID: UpdateChatLastMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "LastMessage",
SchemaName: "last_message",
},
{
Name: "Positions",
SchemaName: "positions",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatLastMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatLastMessage#f10cab1d as nil")
}
b.PutID(UpdateChatLastMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatLastMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatLastMessage#f10cab1d as nil")
}
b.PutInt53(u.ChatID)
if err := u.LastMessage.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatLastMessage#f10cab1d: field last_message: %w", err)
}
b.PutInt(len(u.Positions))
for idx, v := range u.Positions {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateChatLastMessage#f10cab1d: field positions element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatLastMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatLastMessage#f10cab1d to nil")
}
if err := b.ConsumeID(UpdateChatLastMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatLastMessage#f10cab1d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatLastMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatLastMessage#f10cab1d to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatLastMessage#f10cab1d: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.LastMessage.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatLastMessage#f10cab1d: field last_message: %w", err)
}
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatLastMessage#f10cab1d: field positions: %w", err)
}
if headerLen > 0 {
u.Positions = make([]ChatPosition, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value ChatPosition
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateChatLastMessage#f10cab1d: field positions: %w", err)
}
u.Positions = append(u.Positions, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatLastMessage) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatLastMessage#f10cab1d as nil")
}
b.ObjStart()
b.PutID("updateChatLastMessage")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("last_message")
if err := u.LastMessage.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatLastMessage#f10cab1d: field last_message: %w", err)
}
b.Comma()
b.FieldStart("positions")
b.ArrStart()
for idx, v := range u.Positions {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatLastMessage#f10cab1d: field positions 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 (u *UpdateChatLastMessage) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatLastMessage#f10cab1d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatLastMessage"); err != nil {
return fmt.Errorf("unable to decode updateChatLastMessage#f10cab1d: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatLastMessage#f10cab1d: field chat_id: %w", err)
}
u.ChatID = value
case "last_message":
if err := u.LastMessage.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatLastMessage#f10cab1d: field last_message: %w", err)
}
case "positions":
if err := b.Arr(func(b tdjson.Decoder) error {
var value ChatPosition
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatLastMessage#f10cab1d: field positions: %w", err)
}
u.Positions = append(u.Positions, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateChatLastMessage#f10cab1d: field positions: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatLastMessage) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetLastMessage returns value of LastMessage field.
func (u *UpdateChatLastMessage) GetLastMessage() (value Message) {
if u == nil {
return
}
return u.LastMessage
}
// GetPositions returns value of Positions field.
func (u *UpdateChatLastMessage) GetPositions() (value []ChatPosition) {
if u == nil {
return
}
return u.Positions
}
// UpdateChatPosition represents TL type `updateChatPosition#ff76fa77`.
type UpdateChatPosition struct {
// Chat identifier
ChatID int64
// New chat position. If new order is 0, then the chat needs to be removed from the list
Position ChatPosition
}
// UpdateChatPositionTypeID is TL type id of UpdateChatPosition.
const UpdateChatPositionTypeID = 0xff76fa77
// construct implements constructor of UpdateClass.
func (u UpdateChatPosition) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatPosition.
var (
_ bin.Encoder = &UpdateChatPosition{}
_ bin.Decoder = &UpdateChatPosition{}
_ bin.BareEncoder = &UpdateChatPosition{}
_ bin.BareDecoder = &UpdateChatPosition{}
_ UpdateClass = &UpdateChatPosition{}
)
func (u *UpdateChatPosition) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.Position.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatPosition) String() string {
if u == nil {
return "UpdateChatPosition(nil)"
}
type Alias UpdateChatPosition
return fmt.Sprintf("UpdateChatPosition%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatPosition) TypeID() uint32 {
return UpdateChatPositionTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatPosition) TypeName() string {
return "updateChatPosition"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatPosition) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatPosition",
ID: UpdateChatPositionTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "Position",
SchemaName: "position",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatPosition) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPosition#ff76fa77 as nil")
}
b.PutID(UpdateChatPositionTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatPosition) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPosition#ff76fa77 as nil")
}
b.PutInt53(u.ChatID)
if err := u.Position.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatPosition#ff76fa77: field position: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatPosition) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPosition#ff76fa77 to nil")
}
if err := b.ConsumeID(UpdateChatPositionTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatPosition#ff76fa77: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatPosition) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPosition#ff76fa77 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatPosition#ff76fa77: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.Position.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatPosition#ff76fa77: field position: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatPosition) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPosition#ff76fa77 as nil")
}
b.ObjStart()
b.PutID("updateChatPosition")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("position")
if err := u.Position.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatPosition#ff76fa77: field position: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatPosition) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPosition#ff76fa77 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatPosition"); err != nil {
return fmt.Errorf("unable to decode updateChatPosition#ff76fa77: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatPosition#ff76fa77: field chat_id: %w", err)
}
u.ChatID = value
case "position":
if err := u.Position.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatPosition#ff76fa77: field position: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatPosition) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetPosition returns value of Position field.
func (u *UpdateChatPosition) GetPosition() (value ChatPosition) {
if u == nil {
return
}
return u.Position
}
// UpdateChatAddedToList represents TL type `updateChatAddedToList#ab7004ec`.
type UpdateChatAddedToList struct {
// Chat identifier
ChatID int64
// The chat list to which the chat was added
ChatList ChatListClass
}
// UpdateChatAddedToListTypeID is TL type id of UpdateChatAddedToList.
const UpdateChatAddedToListTypeID = 0xab7004ec
// construct implements constructor of UpdateClass.
func (u UpdateChatAddedToList) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatAddedToList.
var (
_ bin.Encoder = &UpdateChatAddedToList{}
_ bin.Decoder = &UpdateChatAddedToList{}
_ bin.BareEncoder = &UpdateChatAddedToList{}
_ bin.BareDecoder = &UpdateChatAddedToList{}
_ UpdateClass = &UpdateChatAddedToList{}
)
func (u *UpdateChatAddedToList) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.ChatList == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatAddedToList) String() string {
if u == nil {
return "UpdateChatAddedToList(nil)"
}
type Alias UpdateChatAddedToList
return fmt.Sprintf("UpdateChatAddedToList%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatAddedToList) TypeID() uint32 {
return UpdateChatAddedToListTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatAddedToList) TypeName() string {
return "updateChatAddedToList"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatAddedToList) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatAddedToList",
ID: UpdateChatAddedToListTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "ChatList",
SchemaName: "chat_list",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatAddedToList) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAddedToList#ab7004ec as nil")
}
b.PutID(UpdateChatAddedToListTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatAddedToList) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAddedToList#ab7004ec as nil")
}
b.PutInt53(u.ChatID)
if u.ChatList == nil {
return fmt.Errorf("unable to encode updateChatAddedToList#ab7004ec: field chat_list is nil")
}
if err := u.ChatList.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatAddedToList#ab7004ec: field chat_list: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatAddedToList) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAddedToList#ab7004ec to nil")
}
if err := b.ConsumeID(UpdateChatAddedToListTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatAddedToList#ab7004ec: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatAddedToList) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAddedToList#ab7004ec to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAddedToList#ab7004ec: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := DecodeChatList(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatAddedToList#ab7004ec: field chat_list: %w", err)
}
u.ChatList = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatAddedToList) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAddedToList#ab7004ec as nil")
}
b.ObjStart()
b.PutID("updateChatAddedToList")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("chat_list")
if u.ChatList == nil {
return fmt.Errorf("unable to encode updateChatAddedToList#ab7004ec: field chat_list is nil")
}
if err := u.ChatList.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatAddedToList#ab7004ec: field chat_list: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatAddedToList) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAddedToList#ab7004ec to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatAddedToList"); err != nil {
return fmt.Errorf("unable to decode updateChatAddedToList#ab7004ec: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAddedToList#ab7004ec: field chat_id: %w", err)
}
u.ChatID = value
case "chat_list":
value, err := DecodeTDLibJSONChatList(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatAddedToList#ab7004ec: field chat_list: %w", err)
}
u.ChatList = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatAddedToList) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetChatList returns value of ChatList field.
func (u *UpdateChatAddedToList) GetChatList() (value ChatListClass) {
if u == nil {
return
}
return u.ChatList
}
// UpdateChatRemovedFromList represents TL type `updateChatRemovedFromList#4d2ac21c`.
type UpdateChatRemovedFromList struct {
// Chat identifier
ChatID int64
// The chat list from which the chat was removed
ChatList ChatListClass
}
// UpdateChatRemovedFromListTypeID is TL type id of UpdateChatRemovedFromList.
const UpdateChatRemovedFromListTypeID = 0x4d2ac21c
// construct implements constructor of UpdateClass.
func (u UpdateChatRemovedFromList) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatRemovedFromList.
var (
_ bin.Encoder = &UpdateChatRemovedFromList{}
_ bin.Decoder = &UpdateChatRemovedFromList{}
_ bin.BareEncoder = &UpdateChatRemovedFromList{}
_ bin.BareDecoder = &UpdateChatRemovedFromList{}
_ UpdateClass = &UpdateChatRemovedFromList{}
)
func (u *UpdateChatRemovedFromList) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.ChatList == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatRemovedFromList) String() string {
if u == nil {
return "UpdateChatRemovedFromList(nil)"
}
type Alias UpdateChatRemovedFromList
return fmt.Sprintf("UpdateChatRemovedFromList%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatRemovedFromList) TypeID() uint32 {
return UpdateChatRemovedFromListTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatRemovedFromList) TypeName() string {
return "updateChatRemovedFromList"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatRemovedFromList) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatRemovedFromList",
ID: UpdateChatRemovedFromListTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "ChatList",
SchemaName: "chat_list",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatRemovedFromList) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatRemovedFromList#4d2ac21c as nil")
}
b.PutID(UpdateChatRemovedFromListTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatRemovedFromList) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatRemovedFromList#4d2ac21c as nil")
}
b.PutInt53(u.ChatID)
if u.ChatList == nil {
return fmt.Errorf("unable to encode updateChatRemovedFromList#4d2ac21c: field chat_list is nil")
}
if err := u.ChatList.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatRemovedFromList#4d2ac21c: field chat_list: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatRemovedFromList) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatRemovedFromList#4d2ac21c to nil")
}
if err := b.ConsumeID(UpdateChatRemovedFromListTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatRemovedFromList#4d2ac21c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatRemovedFromList) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatRemovedFromList#4d2ac21c to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatRemovedFromList#4d2ac21c: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := DecodeChatList(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatRemovedFromList#4d2ac21c: field chat_list: %w", err)
}
u.ChatList = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatRemovedFromList) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatRemovedFromList#4d2ac21c as nil")
}
b.ObjStart()
b.PutID("updateChatRemovedFromList")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("chat_list")
if u.ChatList == nil {
return fmt.Errorf("unable to encode updateChatRemovedFromList#4d2ac21c: field chat_list is nil")
}
if err := u.ChatList.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatRemovedFromList#4d2ac21c: field chat_list: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatRemovedFromList) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatRemovedFromList#4d2ac21c to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatRemovedFromList"); err != nil {
return fmt.Errorf("unable to decode updateChatRemovedFromList#4d2ac21c: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatRemovedFromList#4d2ac21c: field chat_id: %w", err)
}
u.ChatID = value
case "chat_list":
value, err := DecodeTDLibJSONChatList(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatRemovedFromList#4d2ac21c: field chat_list: %w", err)
}
u.ChatList = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatRemovedFromList) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetChatList returns value of ChatList field.
func (u *UpdateChatRemovedFromList) GetChatList() (value ChatListClass) {
if u == nil {
return
}
return u.ChatList
}
// UpdateChatReadInbox represents TL type `updateChatReadInbox#d07036e7`.
type UpdateChatReadInbox struct {
// Chat identifier
ChatID int64
// Identifier of the last read incoming message
LastReadInboxMessageID int64
// The number of unread messages left in the chat
UnreadCount int32
}
// UpdateChatReadInboxTypeID is TL type id of UpdateChatReadInbox.
const UpdateChatReadInboxTypeID = 0xd07036e7
// construct implements constructor of UpdateClass.
func (u UpdateChatReadInbox) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatReadInbox.
var (
_ bin.Encoder = &UpdateChatReadInbox{}
_ bin.Decoder = &UpdateChatReadInbox{}
_ bin.BareEncoder = &UpdateChatReadInbox{}
_ bin.BareDecoder = &UpdateChatReadInbox{}
_ UpdateClass = &UpdateChatReadInbox{}
)
func (u *UpdateChatReadInbox) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.LastReadInboxMessageID == 0) {
return false
}
if !(u.UnreadCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatReadInbox) String() string {
if u == nil {
return "UpdateChatReadInbox(nil)"
}
type Alias UpdateChatReadInbox
return fmt.Sprintf("UpdateChatReadInbox%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatReadInbox) TypeID() uint32 {
return UpdateChatReadInboxTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatReadInbox) TypeName() string {
return "updateChatReadInbox"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatReadInbox) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatReadInbox",
ID: UpdateChatReadInboxTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "LastReadInboxMessageID",
SchemaName: "last_read_inbox_message_id",
},
{
Name: "UnreadCount",
SchemaName: "unread_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatReadInbox) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatReadInbox#d07036e7 as nil")
}
b.PutID(UpdateChatReadInboxTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatReadInbox) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatReadInbox#d07036e7 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.LastReadInboxMessageID)
b.PutInt32(u.UnreadCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatReadInbox) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatReadInbox#d07036e7 to nil")
}
if err := b.ConsumeID(UpdateChatReadInboxTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatReadInbox#d07036e7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatReadInbox) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatReadInbox#d07036e7 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadInbox#d07036e7: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadInbox#d07036e7: field last_read_inbox_message_id: %w", err)
}
u.LastReadInboxMessageID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadInbox#d07036e7: field unread_count: %w", err)
}
u.UnreadCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatReadInbox) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatReadInbox#d07036e7 as nil")
}
b.ObjStart()
b.PutID("updateChatReadInbox")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("last_read_inbox_message_id")
b.PutInt53(u.LastReadInboxMessageID)
b.Comma()
b.FieldStart("unread_count")
b.PutInt32(u.UnreadCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatReadInbox) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatReadInbox#d07036e7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatReadInbox"); err != nil {
return fmt.Errorf("unable to decode updateChatReadInbox#d07036e7: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadInbox#d07036e7: field chat_id: %w", err)
}
u.ChatID = value
case "last_read_inbox_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadInbox#d07036e7: field last_read_inbox_message_id: %w", err)
}
u.LastReadInboxMessageID = value
case "unread_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadInbox#d07036e7: field unread_count: %w", err)
}
u.UnreadCount = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatReadInbox) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetLastReadInboxMessageID returns value of LastReadInboxMessageID field.
func (u *UpdateChatReadInbox) GetLastReadInboxMessageID() (value int64) {
if u == nil {
return
}
return u.LastReadInboxMessageID
}
// GetUnreadCount returns value of UnreadCount field.
func (u *UpdateChatReadInbox) GetUnreadCount() (value int32) {
if u == nil {
return
}
return u.UnreadCount
}
// UpdateChatReadOutbox represents TL type `updateChatReadOutbox#2a385285`.
type UpdateChatReadOutbox struct {
// Chat identifier
ChatID int64
// Identifier of last read outgoing message
LastReadOutboxMessageID int64
}
// UpdateChatReadOutboxTypeID is TL type id of UpdateChatReadOutbox.
const UpdateChatReadOutboxTypeID = 0x2a385285
// construct implements constructor of UpdateClass.
func (u UpdateChatReadOutbox) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatReadOutbox.
var (
_ bin.Encoder = &UpdateChatReadOutbox{}
_ bin.Decoder = &UpdateChatReadOutbox{}
_ bin.BareEncoder = &UpdateChatReadOutbox{}
_ bin.BareDecoder = &UpdateChatReadOutbox{}
_ UpdateClass = &UpdateChatReadOutbox{}
)
func (u *UpdateChatReadOutbox) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.LastReadOutboxMessageID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatReadOutbox) String() string {
if u == nil {
return "UpdateChatReadOutbox(nil)"
}
type Alias UpdateChatReadOutbox
return fmt.Sprintf("UpdateChatReadOutbox%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatReadOutbox) TypeID() uint32 {
return UpdateChatReadOutboxTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatReadOutbox) TypeName() string {
return "updateChatReadOutbox"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatReadOutbox) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatReadOutbox",
ID: UpdateChatReadOutboxTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "LastReadOutboxMessageID",
SchemaName: "last_read_outbox_message_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatReadOutbox) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatReadOutbox#2a385285 as nil")
}
b.PutID(UpdateChatReadOutboxTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatReadOutbox) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatReadOutbox#2a385285 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.LastReadOutboxMessageID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatReadOutbox) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatReadOutbox#2a385285 to nil")
}
if err := b.ConsumeID(UpdateChatReadOutboxTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatReadOutbox#2a385285: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatReadOutbox) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatReadOutbox#2a385285 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadOutbox#2a385285: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadOutbox#2a385285: field last_read_outbox_message_id: %w", err)
}
u.LastReadOutboxMessageID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatReadOutbox) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatReadOutbox#2a385285 as nil")
}
b.ObjStart()
b.PutID("updateChatReadOutbox")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("last_read_outbox_message_id")
b.PutInt53(u.LastReadOutboxMessageID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatReadOutbox) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatReadOutbox#2a385285 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatReadOutbox"); err != nil {
return fmt.Errorf("unable to decode updateChatReadOutbox#2a385285: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadOutbox#2a385285: field chat_id: %w", err)
}
u.ChatID = value
case "last_read_outbox_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReadOutbox#2a385285: field last_read_outbox_message_id: %w", err)
}
u.LastReadOutboxMessageID = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatReadOutbox) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetLastReadOutboxMessageID returns value of LastReadOutboxMessageID field.
func (u *UpdateChatReadOutbox) GetLastReadOutboxMessageID() (value int64) {
if u == nil {
return
}
return u.LastReadOutboxMessageID
}
// UpdateChatActionBar represents TL type `updateChatActionBar#d9a258c2`.
type UpdateChatActionBar struct {
// Chat identifier
ChatID int64
// The new value of the action bar; may be null
ActionBar ChatActionBarClass
}
// UpdateChatActionBarTypeID is TL type id of UpdateChatActionBar.
const UpdateChatActionBarTypeID = 0xd9a258c2
// construct implements constructor of UpdateClass.
func (u UpdateChatActionBar) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatActionBar.
var (
_ bin.Encoder = &UpdateChatActionBar{}
_ bin.Decoder = &UpdateChatActionBar{}
_ bin.BareEncoder = &UpdateChatActionBar{}
_ bin.BareDecoder = &UpdateChatActionBar{}
_ UpdateClass = &UpdateChatActionBar{}
)
func (u *UpdateChatActionBar) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.ActionBar == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatActionBar) String() string {
if u == nil {
return "UpdateChatActionBar(nil)"
}
type Alias UpdateChatActionBar
return fmt.Sprintf("UpdateChatActionBar%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatActionBar) TypeID() uint32 {
return UpdateChatActionBarTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatActionBar) TypeName() string {
return "updateChatActionBar"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatActionBar) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatActionBar",
ID: UpdateChatActionBarTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "ActionBar",
SchemaName: "action_bar",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatActionBar) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatActionBar#d9a258c2 as nil")
}
b.PutID(UpdateChatActionBarTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatActionBar) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatActionBar#d9a258c2 as nil")
}
b.PutInt53(u.ChatID)
if u.ActionBar == nil {
return fmt.Errorf("unable to encode updateChatActionBar#d9a258c2: field action_bar is nil")
}
if err := u.ActionBar.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatActionBar#d9a258c2: field action_bar: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatActionBar) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatActionBar#d9a258c2 to nil")
}
if err := b.ConsumeID(UpdateChatActionBarTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatActionBar#d9a258c2: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatActionBar) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatActionBar#d9a258c2 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatActionBar#d9a258c2: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := DecodeChatActionBar(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatActionBar#d9a258c2: field action_bar: %w", err)
}
u.ActionBar = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatActionBar) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatActionBar#d9a258c2 as nil")
}
b.ObjStart()
b.PutID("updateChatActionBar")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("action_bar")
if u.ActionBar == nil {
return fmt.Errorf("unable to encode updateChatActionBar#d9a258c2: field action_bar is nil")
}
if err := u.ActionBar.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatActionBar#d9a258c2: field action_bar: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatActionBar) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatActionBar#d9a258c2 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatActionBar"); err != nil {
return fmt.Errorf("unable to decode updateChatActionBar#d9a258c2: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatActionBar#d9a258c2: field chat_id: %w", err)
}
u.ChatID = value
case "action_bar":
value, err := DecodeTDLibJSONChatActionBar(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatActionBar#d9a258c2: field action_bar: %w", err)
}
u.ActionBar = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatActionBar) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetActionBar returns value of ActionBar field.
func (u *UpdateChatActionBar) GetActionBar() (value ChatActionBarClass) {
if u == nil {
return
}
return u.ActionBar
}
// UpdateChatBusinessBotManageBar represents TL type `updateChatBusinessBotManageBar#be30e7f7`.
type UpdateChatBusinessBotManageBar struct {
// Chat identifier
ChatID int64
// The new value of the business bot manage bar; may be null
BusinessBotManageBar BusinessBotManageBar
}
// UpdateChatBusinessBotManageBarTypeID is TL type id of UpdateChatBusinessBotManageBar.
const UpdateChatBusinessBotManageBarTypeID = 0xbe30e7f7
// construct implements constructor of UpdateClass.
func (u UpdateChatBusinessBotManageBar) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatBusinessBotManageBar.
var (
_ bin.Encoder = &UpdateChatBusinessBotManageBar{}
_ bin.Decoder = &UpdateChatBusinessBotManageBar{}
_ bin.BareEncoder = &UpdateChatBusinessBotManageBar{}
_ bin.BareDecoder = &UpdateChatBusinessBotManageBar{}
_ UpdateClass = &UpdateChatBusinessBotManageBar{}
)
func (u *UpdateChatBusinessBotManageBar) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.BusinessBotManageBar.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatBusinessBotManageBar) String() string {
if u == nil {
return "UpdateChatBusinessBotManageBar(nil)"
}
type Alias UpdateChatBusinessBotManageBar
return fmt.Sprintf("UpdateChatBusinessBotManageBar%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatBusinessBotManageBar) TypeID() uint32 {
return UpdateChatBusinessBotManageBarTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatBusinessBotManageBar) TypeName() string {
return "updateChatBusinessBotManageBar"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatBusinessBotManageBar) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatBusinessBotManageBar",
ID: UpdateChatBusinessBotManageBarTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "BusinessBotManageBar",
SchemaName: "business_bot_manage_bar",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatBusinessBotManageBar) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBusinessBotManageBar#be30e7f7 as nil")
}
b.PutID(UpdateChatBusinessBotManageBarTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatBusinessBotManageBar) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBusinessBotManageBar#be30e7f7 as nil")
}
b.PutInt53(u.ChatID)
if err := u.BusinessBotManageBar.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatBusinessBotManageBar#be30e7f7: field business_bot_manage_bar: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatBusinessBotManageBar) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBusinessBotManageBar#be30e7f7 to nil")
}
if err := b.ConsumeID(UpdateChatBusinessBotManageBarTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatBusinessBotManageBar#be30e7f7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatBusinessBotManageBar) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBusinessBotManageBar#be30e7f7 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatBusinessBotManageBar#be30e7f7: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.BusinessBotManageBar.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatBusinessBotManageBar#be30e7f7: field business_bot_manage_bar: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatBusinessBotManageBar) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBusinessBotManageBar#be30e7f7 as nil")
}
b.ObjStart()
b.PutID("updateChatBusinessBotManageBar")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("business_bot_manage_bar")
if err := u.BusinessBotManageBar.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatBusinessBotManageBar#be30e7f7: field business_bot_manage_bar: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatBusinessBotManageBar) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBusinessBotManageBar#be30e7f7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatBusinessBotManageBar"); err != nil {
return fmt.Errorf("unable to decode updateChatBusinessBotManageBar#be30e7f7: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatBusinessBotManageBar#be30e7f7: field chat_id: %w", err)
}
u.ChatID = value
case "business_bot_manage_bar":
if err := u.BusinessBotManageBar.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatBusinessBotManageBar#be30e7f7: field business_bot_manage_bar: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatBusinessBotManageBar) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetBusinessBotManageBar returns value of BusinessBotManageBar field.
func (u *UpdateChatBusinessBotManageBar) GetBusinessBotManageBar() (value BusinessBotManageBar) {
if u == nil {
return
}
return u.BusinessBotManageBar
}
// UpdateChatAvailableReactions represents TL type `updateChatAvailableReactions#8ab413f9`.
type UpdateChatAvailableReactions struct {
// Chat identifier
ChatID int64
// The new reactions, available in the chat
AvailableReactions ChatAvailableReactionsClass
}
// UpdateChatAvailableReactionsTypeID is TL type id of UpdateChatAvailableReactions.
const UpdateChatAvailableReactionsTypeID = 0x8ab413f9
// construct implements constructor of UpdateClass.
func (u UpdateChatAvailableReactions) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatAvailableReactions.
var (
_ bin.Encoder = &UpdateChatAvailableReactions{}
_ bin.Decoder = &UpdateChatAvailableReactions{}
_ bin.BareEncoder = &UpdateChatAvailableReactions{}
_ bin.BareDecoder = &UpdateChatAvailableReactions{}
_ UpdateClass = &UpdateChatAvailableReactions{}
)
func (u *UpdateChatAvailableReactions) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.AvailableReactions == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatAvailableReactions) String() string {
if u == nil {
return "UpdateChatAvailableReactions(nil)"
}
type Alias UpdateChatAvailableReactions
return fmt.Sprintf("UpdateChatAvailableReactions%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatAvailableReactions) TypeID() uint32 {
return UpdateChatAvailableReactionsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatAvailableReactions) TypeName() string {
return "updateChatAvailableReactions"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatAvailableReactions) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatAvailableReactions",
ID: UpdateChatAvailableReactionsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "AvailableReactions",
SchemaName: "available_reactions",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatAvailableReactions) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAvailableReactions#8ab413f9 as nil")
}
b.PutID(UpdateChatAvailableReactionsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatAvailableReactions) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAvailableReactions#8ab413f9 as nil")
}
b.PutInt53(u.ChatID)
if u.AvailableReactions == nil {
return fmt.Errorf("unable to encode updateChatAvailableReactions#8ab413f9: field available_reactions is nil")
}
if err := u.AvailableReactions.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatAvailableReactions#8ab413f9: field available_reactions: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatAvailableReactions) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAvailableReactions#8ab413f9 to nil")
}
if err := b.ConsumeID(UpdateChatAvailableReactionsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatAvailableReactions#8ab413f9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatAvailableReactions) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAvailableReactions#8ab413f9 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAvailableReactions#8ab413f9: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := DecodeChatAvailableReactions(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatAvailableReactions#8ab413f9: field available_reactions: %w", err)
}
u.AvailableReactions = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatAvailableReactions) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAvailableReactions#8ab413f9 as nil")
}
b.ObjStart()
b.PutID("updateChatAvailableReactions")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("available_reactions")
if u.AvailableReactions == nil {
return fmt.Errorf("unable to encode updateChatAvailableReactions#8ab413f9: field available_reactions is nil")
}
if err := u.AvailableReactions.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatAvailableReactions#8ab413f9: field available_reactions: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatAvailableReactions) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAvailableReactions#8ab413f9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatAvailableReactions"); err != nil {
return fmt.Errorf("unable to decode updateChatAvailableReactions#8ab413f9: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAvailableReactions#8ab413f9: field chat_id: %w", err)
}
u.ChatID = value
case "available_reactions":
value, err := DecodeTDLibJSONChatAvailableReactions(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatAvailableReactions#8ab413f9: field available_reactions: %w", err)
}
u.AvailableReactions = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatAvailableReactions) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetAvailableReactions returns value of AvailableReactions field.
func (u *UpdateChatAvailableReactions) GetAvailableReactions() (value ChatAvailableReactionsClass) {
if u == nil {
return
}
return u.AvailableReactions
}
// UpdateChatDraftMessage represents TL type `updateChatDraftMessage#2bf257d4`.
type UpdateChatDraftMessage struct {
// Chat identifier
ChatID int64
// The new draft message; may be null if none
DraftMessage DraftMessage
// The new chat positions in the chat lists
Positions []ChatPosition
}
// UpdateChatDraftMessageTypeID is TL type id of UpdateChatDraftMessage.
const UpdateChatDraftMessageTypeID = 0x2bf257d4
// construct implements constructor of UpdateClass.
func (u UpdateChatDraftMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatDraftMessage.
var (
_ bin.Encoder = &UpdateChatDraftMessage{}
_ bin.Decoder = &UpdateChatDraftMessage{}
_ bin.BareEncoder = &UpdateChatDraftMessage{}
_ bin.BareDecoder = &UpdateChatDraftMessage{}
_ UpdateClass = &UpdateChatDraftMessage{}
)
func (u *UpdateChatDraftMessage) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.DraftMessage.Zero()) {
return false
}
if !(u.Positions == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatDraftMessage) String() string {
if u == nil {
return "UpdateChatDraftMessage(nil)"
}
type Alias UpdateChatDraftMessage
return fmt.Sprintf("UpdateChatDraftMessage%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatDraftMessage) TypeID() uint32 {
return UpdateChatDraftMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatDraftMessage) TypeName() string {
return "updateChatDraftMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatDraftMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatDraftMessage",
ID: UpdateChatDraftMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "DraftMessage",
SchemaName: "draft_message",
},
{
Name: "Positions",
SchemaName: "positions",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatDraftMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatDraftMessage#2bf257d4 as nil")
}
b.PutID(UpdateChatDraftMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatDraftMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatDraftMessage#2bf257d4 as nil")
}
b.PutInt53(u.ChatID)
if err := u.DraftMessage.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatDraftMessage#2bf257d4: field draft_message: %w", err)
}
b.PutInt(len(u.Positions))
for idx, v := range u.Positions {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateChatDraftMessage#2bf257d4: field positions element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatDraftMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatDraftMessage#2bf257d4 to nil")
}
if err := b.ConsumeID(UpdateChatDraftMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatDraftMessage#2bf257d4: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatDraftMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatDraftMessage#2bf257d4 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatDraftMessage#2bf257d4: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.DraftMessage.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatDraftMessage#2bf257d4: field draft_message: %w", err)
}
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatDraftMessage#2bf257d4: field positions: %w", err)
}
if headerLen > 0 {
u.Positions = make([]ChatPosition, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value ChatPosition
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateChatDraftMessage#2bf257d4: field positions: %w", err)
}
u.Positions = append(u.Positions, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatDraftMessage) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatDraftMessage#2bf257d4 as nil")
}
b.ObjStart()
b.PutID("updateChatDraftMessage")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("draft_message")
if err := u.DraftMessage.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatDraftMessage#2bf257d4: field draft_message: %w", err)
}
b.Comma()
b.FieldStart("positions")
b.ArrStart()
for idx, v := range u.Positions {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatDraftMessage#2bf257d4: field positions 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 (u *UpdateChatDraftMessage) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatDraftMessage#2bf257d4 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatDraftMessage"); err != nil {
return fmt.Errorf("unable to decode updateChatDraftMessage#2bf257d4: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatDraftMessage#2bf257d4: field chat_id: %w", err)
}
u.ChatID = value
case "draft_message":
if err := u.DraftMessage.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatDraftMessage#2bf257d4: field draft_message: %w", err)
}
case "positions":
if err := b.Arr(func(b tdjson.Decoder) error {
var value ChatPosition
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatDraftMessage#2bf257d4: field positions: %w", err)
}
u.Positions = append(u.Positions, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateChatDraftMessage#2bf257d4: field positions: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatDraftMessage) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetDraftMessage returns value of DraftMessage field.
func (u *UpdateChatDraftMessage) GetDraftMessage() (value DraftMessage) {
if u == nil {
return
}
return u.DraftMessage
}
// GetPositions returns value of Positions field.
func (u *UpdateChatDraftMessage) GetPositions() (value []ChatPosition) {
if u == nil {
return
}
return u.Positions
}
// UpdateChatEmojiStatus represents TL type `updateChatEmojiStatus#77796510`.
type UpdateChatEmojiStatus struct {
// Chat identifier
ChatID int64
// The new chat emoji status; may be null
EmojiStatus EmojiStatus
}
// UpdateChatEmojiStatusTypeID is TL type id of UpdateChatEmojiStatus.
const UpdateChatEmojiStatusTypeID = 0x77796510
// construct implements constructor of UpdateClass.
func (u UpdateChatEmojiStatus) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatEmojiStatus.
var (
_ bin.Encoder = &UpdateChatEmojiStatus{}
_ bin.Decoder = &UpdateChatEmojiStatus{}
_ bin.BareEncoder = &UpdateChatEmojiStatus{}
_ bin.BareDecoder = &UpdateChatEmojiStatus{}
_ UpdateClass = &UpdateChatEmojiStatus{}
)
func (u *UpdateChatEmojiStatus) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.EmojiStatus.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatEmojiStatus) String() string {
if u == nil {
return "UpdateChatEmojiStatus(nil)"
}
type Alias UpdateChatEmojiStatus
return fmt.Sprintf("UpdateChatEmojiStatus%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatEmojiStatus) TypeID() uint32 {
return UpdateChatEmojiStatusTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatEmojiStatus) TypeName() string {
return "updateChatEmojiStatus"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatEmojiStatus) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatEmojiStatus",
ID: UpdateChatEmojiStatusTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "EmojiStatus",
SchemaName: "emoji_status",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatEmojiStatus) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatEmojiStatus#77796510 as nil")
}
b.PutID(UpdateChatEmojiStatusTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatEmojiStatus) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatEmojiStatus#77796510 as nil")
}
b.PutInt53(u.ChatID)
if err := u.EmojiStatus.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatEmojiStatus#77796510: field emoji_status: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatEmojiStatus) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatEmojiStatus#77796510 to nil")
}
if err := b.ConsumeID(UpdateChatEmojiStatusTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatEmojiStatus#77796510: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatEmojiStatus) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatEmojiStatus#77796510 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatEmojiStatus#77796510: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.EmojiStatus.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatEmojiStatus#77796510: field emoji_status: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatEmojiStatus) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatEmojiStatus#77796510 as nil")
}
b.ObjStart()
b.PutID("updateChatEmojiStatus")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("emoji_status")
if err := u.EmojiStatus.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatEmojiStatus#77796510: field emoji_status: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatEmojiStatus) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatEmojiStatus#77796510 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatEmojiStatus"); err != nil {
return fmt.Errorf("unable to decode updateChatEmojiStatus#77796510: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatEmojiStatus#77796510: field chat_id: %w", err)
}
u.ChatID = value
case "emoji_status":
if err := u.EmojiStatus.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatEmojiStatus#77796510: field emoji_status: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatEmojiStatus) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetEmojiStatus returns value of EmojiStatus field.
func (u *UpdateChatEmojiStatus) GetEmojiStatus() (value EmojiStatus) {
if u == nil {
return
}
return u.EmojiStatus
}
// UpdateChatMessageSender represents TL type `updateChatMessageSender#77705241`.
type UpdateChatMessageSender struct {
// Chat identifier
ChatID int64
// New value of message_sender_id; may be null if the user can't change message sender
MessageSenderID MessageSenderClass
}
// UpdateChatMessageSenderTypeID is TL type id of UpdateChatMessageSender.
const UpdateChatMessageSenderTypeID = 0x77705241
// construct implements constructor of UpdateClass.
func (u UpdateChatMessageSender) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatMessageSender.
var (
_ bin.Encoder = &UpdateChatMessageSender{}
_ bin.Decoder = &UpdateChatMessageSender{}
_ bin.BareEncoder = &UpdateChatMessageSender{}
_ bin.BareDecoder = &UpdateChatMessageSender{}
_ UpdateClass = &UpdateChatMessageSender{}
)
func (u *UpdateChatMessageSender) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageSenderID == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatMessageSender) String() string {
if u == nil {
return "UpdateChatMessageSender(nil)"
}
type Alias UpdateChatMessageSender
return fmt.Sprintf("UpdateChatMessageSender%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatMessageSender) TypeID() uint32 {
return UpdateChatMessageSenderTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatMessageSender) TypeName() string {
return "updateChatMessageSender"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatMessageSender) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatMessageSender",
ID: UpdateChatMessageSenderTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageSenderID",
SchemaName: "message_sender_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatMessageSender) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatMessageSender#77705241 as nil")
}
b.PutID(UpdateChatMessageSenderTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatMessageSender) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatMessageSender#77705241 as nil")
}
b.PutInt53(u.ChatID)
if u.MessageSenderID == nil {
return fmt.Errorf("unable to encode updateChatMessageSender#77705241: field message_sender_id is nil")
}
if err := u.MessageSenderID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatMessageSender#77705241: field message_sender_id: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatMessageSender) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatMessageSender#77705241 to nil")
}
if err := b.ConsumeID(UpdateChatMessageSenderTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatMessageSender#77705241: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatMessageSender) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatMessageSender#77705241 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatMessageSender#77705241: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatMessageSender#77705241: field message_sender_id: %w", err)
}
u.MessageSenderID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatMessageSender) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatMessageSender#77705241 as nil")
}
b.ObjStart()
b.PutID("updateChatMessageSender")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_sender_id")
if u.MessageSenderID == nil {
return fmt.Errorf("unable to encode updateChatMessageSender#77705241: field message_sender_id is nil")
}
if err := u.MessageSenderID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatMessageSender#77705241: field message_sender_id: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatMessageSender) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatMessageSender#77705241 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatMessageSender"); err != nil {
return fmt.Errorf("unable to decode updateChatMessageSender#77705241: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatMessageSender#77705241: field chat_id: %w", err)
}
u.ChatID = value
case "message_sender_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatMessageSender#77705241: field message_sender_id: %w", err)
}
u.MessageSenderID = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatMessageSender) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageSenderID returns value of MessageSenderID field.
func (u *UpdateChatMessageSender) GetMessageSenderID() (value MessageSenderClass) {
if u == nil {
return
}
return u.MessageSenderID
}
// UpdateChatMessageAutoDeleteTime represents TL type `updateChatMessageAutoDeleteTime#71425de5`.
type UpdateChatMessageAutoDeleteTime struct {
// Chat identifier
ChatID int64
// New value of message_auto_delete_time
MessageAutoDeleteTime int32
}
// UpdateChatMessageAutoDeleteTimeTypeID is TL type id of UpdateChatMessageAutoDeleteTime.
const UpdateChatMessageAutoDeleteTimeTypeID = 0x71425de5
// construct implements constructor of UpdateClass.
func (u UpdateChatMessageAutoDeleteTime) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatMessageAutoDeleteTime.
var (
_ bin.Encoder = &UpdateChatMessageAutoDeleteTime{}
_ bin.Decoder = &UpdateChatMessageAutoDeleteTime{}
_ bin.BareEncoder = &UpdateChatMessageAutoDeleteTime{}
_ bin.BareDecoder = &UpdateChatMessageAutoDeleteTime{}
_ UpdateClass = &UpdateChatMessageAutoDeleteTime{}
)
func (u *UpdateChatMessageAutoDeleteTime) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageAutoDeleteTime == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatMessageAutoDeleteTime) String() string {
if u == nil {
return "UpdateChatMessageAutoDeleteTime(nil)"
}
type Alias UpdateChatMessageAutoDeleteTime
return fmt.Sprintf("UpdateChatMessageAutoDeleteTime%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatMessageAutoDeleteTime) TypeID() uint32 {
return UpdateChatMessageAutoDeleteTimeTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatMessageAutoDeleteTime) TypeName() string {
return "updateChatMessageAutoDeleteTime"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatMessageAutoDeleteTime) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatMessageAutoDeleteTime",
ID: UpdateChatMessageAutoDeleteTimeTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageAutoDeleteTime",
SchemaName: "message_auto_delete_time",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatMessageAutoDeleteTime) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatMessageAutoDeleteTime#71425de5 as nil")
}
b.PutID(UpdateChatMessageAutoDeleteTimeTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatMessageAutoDeleteTime) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatMessageAutoDeleteTime#71425de5 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt32(u.MessageAutoDeleteTime)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatMessageAutoDeleteTime) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatMessageAutoDeleteTime#71425de5 to nil")
}
if err := b.ConsumeID(UpdateChatMessageAutoDeleteTimeTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatMessageAutoDeleteTime#71425de5: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatMessageAutoDeleteTime) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatMessageAutoDeleteTime#71425de5 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatMessageAutoDeleteTime#71425de5: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatMessageAutoDeleteTime#71425de5: field message_auto_delete_time: %w", err)
}
u.MessageAutoDeleteTime = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatMessageAutoDeleteTime) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatMessageAutoDeleteTime#71425de5 as nil")
}
b.ObjStart()
b.PutID("updateChatMessageAutoDeleteTime")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_auto_delete_time")
b.PutInt32(u.MessageAutoDeleteTime)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatMessageAutoDeleteTime) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatMessageAutoDeleteTime#71425de5 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatMessageAutoDeleteTime"); err != nil {
return fmt.Errorf("unable to decode updateChatMessageAutoDeleteTime#71425de5: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatMessageAutoDeleteTime#71425de5: field chat_id: %w", err)
}
u.ChatID = value
case "message_auto_delete_time":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatMessageAutoDeleteTime#71425de5: field message_auto_delete_time: %w", err)
}
u.MessageAutoDeleteTime = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatMessageAutoDeleteTime) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageAutoDeleteTime returns value of MessageAutoDeleteTime field.
func (u *UpdateChatMessageAutoDeleteTime) GetMessageAutoDeleteTime() (value int32) {
if u == nil {
return
}
return u.MessageAutoDeleteTime
}
// UpdateChatNotificationSettings represents TL type `updateChatNotificationSettings#d020b456`.
type UpdateChatNotificationSettings struct {
// Chat identifier
ChatID int64
// The new notification settings
NotificationSettings ChatNotificationSettings
}
// UpdateChatNotificationSettingsTypeID is TL type id of UpdateChatNotificationSettings.
const UpdateChatNotificationSettingsTypeID = 0xd020b456
// construct implements constructor of UpdateClass.
func (u UpdateChatNotificationSettings) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatNotificationSettings.
var (
_ bin.Encoder = &UpdateChatNotificationSettings{}
_ bin.Decoder = &UpdateChatNotificationSettings{}
_ bin.BareEncoder = &UpdateChatNotificationSettings{}
_ bin.BareDecoder = &UpdateChatNotificationSettings{}
_ UpdateClass = &UpdateChatNotificationSettings{}
)
func (u *UpdateChatNotificationSettings) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.NotificationSettings.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatNotificationSettings) String() string {
if u == nil {
return "UpdateChatNotificationSettings(nil)"
}
type Alias UpdateChatNotificationSettings
return fmt.Sprintf("UpdateChatNotificationSettings%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatNotificationSettings) TypeID() uint32 {
return UpdateChatNotificationSettingsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatNotificationSettings) TypeName() string {
return "updateChatNotificationSettings"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatNotificationSettings) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatNotificationSettings",
ID: UpdateChatNotificationSettingsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "NotificationSettings",
SchemaName: "notification_settings",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatNotificationSettings) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatNotificationSettings#d020b456 as nil")
}
b.PutID(UpdateChatNotificationSettingsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatNotificationSettings) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatNotificationSettings#d020b456 as nil")
}
b.PutInt53(u.ChatID)
if err := u.NotificationSettings.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatNotificationSettings#d020b456: field notification_settings: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatNotificationSettings) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatNotificationSettings#d020b456 to nil")
}
if err := b.ConsumeID(UpdateChatNotificationSettingsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatNotificationSettings#d020b456: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatNotificationSettings) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatNotificationSettings#d020b456 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatNotificationSettings#d020b456: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.NotificationSettings.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatNotificationSettings#d020b456: field notification_settings: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatNotificationSettings) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatNotificationSettings#d020b456 as nil")
}
b.ObjStart()
b.PutID("updateChatNotificationSettings")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("notification_settings")
if err := u.NotificationSettings.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatNotificationSettings#d020b456: field notification_settings: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatNotificationSettings) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatNotificationSettings#d020b456 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatNotificationSettings"); err != nil {
return fmt.Errorf("unable to decode updateChatNotificationSettings#d020b456: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatNotificationSettings#d020b456: field chat_id: %w", err)
}
u.ChatID = value
case "notification_settings":
if err := u.NotificationSettings.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatNotificationSettings#d020b456: field notification_settings: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatNotificationSettings) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetNotificationSettings returns value of NotificationSettings field.
func (u *UpdateChatNotificationSettings) GetNotificationSettings() (value ChatNotificationSettings) {
if u == nil {
return
}
return u.NotificationSettings
}
// UpdateChatPendingJoinRequests represents TL type `updateChatPendingJoinRequests#14c6e3e1`.
type UpdateChatPendingJoinRequests struct {
// Chat identifier
ChatID int64
// The new data about pending join requests; may be null
PendingJoinRequests ChatJoinRequestsInfo
}
// UpdateChatPendingJoinRequestsTypeID is TL type id of UpdateChatPendingJoinRequests.
const UpdateChatPendingJoinRequestsTypeID = 0x14c6e3e1
// construct implements constructor of UpdateClass.
func (u UpdateChatPendingJoinRequests) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatPendingJoinRequests.
var (
_ bin.Encoder = &UpdateChatPendingJoinRequests{}
_ bin.Decoder = &UpdateChatPendingJoinRequests{}
_ bin.BareEncoder = &UpdateChatPendingJoinRequests{}
_ bin.BareDecoder = &UpdateChatPendingJoinRequests{}
_ UpdateClass = &UpdateChatPendingJoinRequests{}
)
func (u *UpdateChatPendingJoinRequests) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.PendingJoinRequests.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatPendingJoinRequests) String() string {
if u == nil {
return "UpdateChatPendingJoinRequests(nil)"
}
type Alias UpdateChatPendingJoinRequests
return fmt.Sprintf("UpdateChatPendingJoinRequests%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatPendingJoinRequests) TypeID() uint32 {
return UpdateChatPendingJoinRequestsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatPendingJoinRequests) TypeName() string {
return "updateChatPendingJoinRequests"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatPendingJoinRequests) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatPendingJoinRequests",
ID: UpdateChatPendingJoinRequestsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "PendingJoinRequests",
SchemaName: "pending_join_requests",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatPendingJoinRequests) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPendingJoinRequests#14c6e3e1 as nil")
}
b.PutID(UpdateChatPendingJoinRequestsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatPendingJoinRequests) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPendingJoinRequests#14c6e3e1 as nil")
}
b.PutInt53(u.ChatID)
if err := u.PendingJoinRequests.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatPendingJoinRequests#14c6e3e1: field pending_join_requests: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatPendingJoinRequests) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPendingJoinRequests#14c6e3e1 to nil")
}
if err := b.ConsumeID(UpdateChatPendingJoinRequestsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatPendingJoinRequests#14c6e3e1: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatPendingJoinRequests) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPendingJoinRequests#14c6e3e1 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatPendingJoinRequests#14c6e3e1: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.PendingJoinRequests.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatPendingJoinRequests#14c6e3e1: field pending_join_requests: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatPendingJoinRequests) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatPendingJoinRequests#14c6e3e1 as nil")
}
b.ObjStart()
b.PutID("updateChatPendingJoinRequests")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("pending_join_requests")
if err := u.PendingJoinRequests.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatPendingJoinRequests#14c6e3e1: field pending_join_requests: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatPendingJoinRequests) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatPendingJoinRequests#14c6e3e1 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatPendingJoinRequests"); err != nil {
return fmt.Errorf("unable to decode updateChatPendingJoinRequests#14c6e3e1: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatPendingJoinRequests#14c6e3e1: field chat_id: %w", err)
}
u.ChatID = value
case "pending_join_requests":
if err := u.PendingJoinRequests.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatPendingJoinRequests#14c6e3e1: field pending_join_requests: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatPendingJoinRequests) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetPendingJoinRequests returns value of PendingJoinRequests field.
func (u *UpdateChatPendingJoinRequests) GetPendingJoinRequests() (value ChatJoinRequestsInfo) {
if u == nil {
return
}
return u.PendingJoinRequests
}
// UpdateChatReplyMarkup represents TL type `updateChatReplyMarkup#4e0ba5a0`.
type UpdateChatReplyMarkup struct {
// Chat identifier
ChatID int64
// Identifier of the message from which reply markup needs to be used; 0 if there is no
// default custom reply markup in the chat
ReplyMarkupMessageID int64
}
// UpdateChatReplyMarkupTypeID is TL type id of UpdateChatReplyMarkup.
const UpdateChatReplyMarkupTypeID = 0x4e0ba5a0
// construct implements constructor of UpdateClass.
func (u UpdateChatReplyMarkup) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatReplyMarkup.
var (
_ bin.Encoder = &UpdateChatReplyMarkup{}
_ bin.Decoder = &UpdateChatReplyMarkup{}
_ bin.BareEncoder = &UpdateChatReplyMarkup{}
_ bin.BareDecoder = &UpdateChatReplyMarkup{}
_ UpdateClass = &UpdateChatReplyMarkup{}
)
func (u *UpdateChatReplyMarkup) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.ReplyMarkupMessageID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatReplyMarkup) String() string {
if u == nil {
return "UpdateChatReplyMarkup(nil)"
}
type Alias UpdateChatReplyMarkup
return fmt.Sprintf("UpdateChatReplyMarkup%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatReplyMarkup) TypeID() uint32 {
return UpdateChatReplyMarkupTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatReplyMarkup) TypeName() string {
return "updateChatReplyMarkup"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatReplyMarkup) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatReplyMarkup",
ID: UpdateChatReplyMarkupTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "ReplyMarkupMessageID",
SchemaName: "reply_markup_message_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatReplyMarkup) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatReplyMarkup#4e0ba5a0 as nil")
}
b.PutID(UpdateChatReplyMarkupTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatReplyMarkup) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatReplyMarkup#4e0ba5a0 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.ReplyMarkupMessageID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatReplyMarkup) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatReplyMarkup#4e0ba5a0 to nil")
}
if err := b.ConsumeID(UpdateChatReplyMarkupTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatReplyMarkup#4e0ba5a0: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatReplyMarkup) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatReplyMarkup#4e0ba5a0 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReplyMarkup#4e0ba5a0: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReplyMarkup#4e0ba5a0: field reply_markup_message_id: %w", err)
}
u.ReplyMarkupMessageID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatReplyMarkup) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatReplyMarkup#4e0ba5a0 as nil")
}
b.ObjStart()
b.PutID("updateChatReplyMarkup")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("reply_markup_message_id")
b.PutInt53(u.ReplyMarkupMessageID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatReplyMarkup) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatReplyMarkup#4e0ba5a0 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatReplyMarkup"); err != nil {
return fmt.Errorf("unable to decode updateChatReplyMarkup#4e0ba5a0: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReplyMarkup#4e0ba5a0: field chat_id: %w", err)
}
u.ChatID = value
case "reply_markup_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatReplyMarkup#4e0ba5a0: field reply_markup_message_id: %w", err)
}
u.ReplyMarkupMessageID = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatReplyMarkup) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetReplyMarkupMessageID returns value of ReplyMarkupMessageID field.
func (u *UpdateChatReplyMarkup) GetReplyMarkupMessageID() (value int64) {
if u == nil {
return
}
return u.ReplyMarkupMessageID
}
// UpdateChatBackground represents TL type `updateChatBackground#ff9d38b3`.
type UpdateChatBackground struct {
// Chat identifier
ChatID int64
// The new chat background; may be null if background was reset to default
Background ChatBackground
}
// UpdateChatBackgroundTypeID is TL type id of UpdateChatBackground.
const UpdateChatBackgroundTypeID = 0xff9d38b3
// construct implements constructor of UpdateClass.
func (u UpdateChatBackground) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatBackground.
var (
_ bin.Encoder = &UpdateChatBackground{}
_ bin.Decoder = &UpdateChatBackground{}
_ bin.BareEncoder = &UpdateChatBackground{}
_ bin.BareDecoder = &UpdateChatBackground{}
_ UpdateClass = &UpdateChatBackground{}
)
func (u *UpdateChatBackground) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.Background.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatBackground) String() string {
if u == nil {
return "UpdateChatBackground(nil)"
}
type Alias UpdateChatBackground
return fmt.Sprintf("UpdateChatBackground%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatBackground) TypeID() uint32 {
return UpdateChatBackgroundTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatBackground) TypeName() string {
return "updateChatBackground"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatBackground) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatBackground",
ID: UpdateChatBackgroundTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "Background",
SchemaName: "background",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatBackground) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBackground#ff9d38b3 as nil")
}
b.PutID(UpdateChatBackgroundTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatBackground) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBackground#ff9d38b3 as nil")
}
b.PutInt53(u.ChatID)
if err := u.Background.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatBackground#ff9d38b3: field background: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatBackground) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBackground#ff9d38b3 to nil")
}
if err := b.ConsumeID(UpdateChatBackgroundTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatBackground#ff9d38b3: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatBackground) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBackground#ff9d38b3 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatBackground#ff9d38b3: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.Background.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatBackground#ff9d38b3: field background: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatBackground) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBackground#ff9d38b3 as nil")
}
b.ObjStart()
b.PutID("updateChatBackground")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("background")
if err := u.Background.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatBackground#ff9d38b3: field background: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatBackground) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBackground#ff9d38b3 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatBackground"); err != nil {
return fmt.Errorf("unable to decode updateChatBackground#ff9d38b3: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatBackground#ff9d38b3: field chat_id: %w", err)
}
u.ChatID = value
case "background":
if err := u.Background.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatBackground#ff9d38b3: field background: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatBackground) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetBackground returns value of Background field.
func (u *UpdateChatBackground) GetBackground() (value ChatBackground) {
if u == nil {
return
}
return u.Background
}
// UpdateChatTheme represents TL type `updateChatTheme#31f3d465`.
type UpdateChatTheme struct {
// Chat identifier
ChatID int64
// The new name of the chat theme; may be empty if theme was reset to default
ThemeName string
}
// UpdateChatThemeTypeID is TL type id of UpdateChatTheme.
const UpdateChatThemeTypeID = 0x31f3d465
// construct implements constructor of UpdateClass.
func (u UpdateChatTheme) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatTheme.
var (
_ bin.Encoder = &UpdateChatTheme{}
_ bin.Decoder = &UpdateChatTheme{}
_ bin.BareEncoder = &UpdateChatTheme{}
_ bin.BareDecoder = &UpdateChatTheme{}
_ UpdateClass = &UpdateChatTheme{}
)
func (u *UpdateChatTheme) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.ThemeName == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatTheme) String() string {
if u == nil {
return "UpdateChatTheme(nil)"
}
type Alias UpdateChatTheme
return fmt.Sprintf("UpdateChatTheme%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatTheme) TypeID() uint32 {
return UpdateChatThemeTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatTheme) TypeName() string {
return "updateChatTheme"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatTheme) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatTheme",
ID: UpdateChatThemeTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "ThemeName",
SchemaName: "theme_name",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatTheme) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatTheme#31f3d465 as nil")
}
b.PutID(UpdateChatThemeTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatTheme) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatTheme#31f3d465 as nil")
}
b.PutInt53(u.ChatID)
b.PutString(u.ThemeName)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatTheme) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatTheme#31f3d465 to nil")
}
if err := b.ConsumeID(UpdateChatThemeTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatTheme#31f3d465: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatTheme) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatTheme#31f3d465 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatTheme#31f3d465: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateChatTheme#31f3d465: field theme_name: %w", err)
}
u.ThemeName = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatTheme) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatTheme#31f3d465 as nil")
}
b.ObjStart()
b.PutID("updateChatTheme")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("theme_name")
b.PutString(u.ThemeName)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatTheme) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatTheme#31f3d465 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatTheme"); err != nil {
return fmt.Errorf("unable to decode updateChatTheme#31f3d465: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatTheme#31f3d465: field chat_id: %w", err)
}
u.ChatID = value
case "theme_name":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateChatTheme#31f3d465: field theme_name: %w", err)
}
u.ThemeName = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatTheme) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetThemeName returns value of ThemeName field.
func (u *UpdateChatTheme) GetThemeName() (value string) {
if u == nil {
return
}
return u.ThemeName
}
// UpdateChatUnreadMentionCount represents TL type `updateChatUnreadMentionCount#80f47b1c`.
type UpdateChatUnreadMentionCount struct {
// Chat identifier
ChatID int64
// The number of unread mention messages left in the chat
UnreadMentionCount int32
}
// UpdateChatUnreadMentionCountTypeID is TL type id of UpdateChatUnreadMentionCount.
const UpdateChatUnreadMentionCountTypeID = 0x80f47b1c
// construct implements constructor of UpdateClass.
func (u UpdateChatUnreadMentionCount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatUnreadMentionCount.
var (
_ bin.Encoder = &UpdateChatUnreadMentionCount{}
_ bin.Decoder = &UpdateChatUnreadMentionCount{}
_ bin.BareEncoder = &UpdateChatUnreadMentionCount{}
_ bin.BareDecoder = &UpdateChatUnreadMentionCount{}
_ UpdateClass = &UpdateChatUnreadMentionCount{}
)
func (u *UpdateChatUnreadMentionCount) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.UnreadMentionCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatUnreadMentionCount) String() string {
if u == nil {
return "UpdateChatUnreadMentionCount(nil)"
}
type Alias UpdateChatUnreadMentionCount
return fmt.Sprintf("UpdateChatUnreadMentionCount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatUnreadMentionCount) TypeID() uint32 {
return UpdateChatUnreadMentionCountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatUnreadMentionCount) TypeName() string {
return "updateChatUnreadMentionCount"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatUnreadMentionCount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatUnreadMentionCount",
ID: UpdateChatUnreadMentionCountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "UnreadMentionCount",
SchemaName: "unread_mention_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatUnreadMentionCount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatUnreadMentionCount#80f47b1c as nil")
}
b.PutID(UpdateChatUnreadMentionCountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatUnreadMentionCount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatUnreadMentionCount#80f47b1c as nil")
}
b.PutInt53(u.ChatID)
b.PutInt32(u.UnreadMentionCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatUnreadMentionCount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatUnreadMentionCount#80f47b1c to nil")
}
if err := b.ConsumeID(UpdateChatUnreadMentionCountTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatUnreadMentionCount#80f47b1c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatUnreadMentionCount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatUnreadMentionCount#80f47b1c to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatUnreadMentionCount#80f47b1c: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatUnreadMentionCount#80f47b1c: field unread_mention_count: %w", err)
}
u.UnreadMentionCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatUnreadMentionCount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatUnreadMentionCount#80f47b1c as nil")
}
b.ObjStart()
b.PutID("updateChatUnreadMentionCount")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("unread_mention_count")
b.PutInt32(u.UnreadMentionCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatUnreadMentionCount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatUnreadMentionCount#80f47b1c to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatUnreadMentionCount"); err != nil {
return fmt.Errorf("unable to decode updateChatUnreadMentionCount#80f47b1c: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatUnreadMentionCount#80f47b1c: field chat_id: %w", err)
}
u.ChatID = value
case "unread_mention_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatUnreadMentionCount#80f47b1c: field unread_mention_count: %w", err)
}
u.UnreadMentionCount = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatUnreadMentionCount) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetUnreadMentionCount returns value of UnreadMentionCount field.
func (u *UpdateChatUnreadMentionCount) GetUnreadMentionCount() (value int32) {
if u == nil {
return
}
return u.UnreadMentionCount
}
// UpdateChatUnreadReactionCount represents TL type `updateChatUnreadReactionCount#81603cdd`.
type UpdateChatUnreadReactionCount struct {
// Chat identifier
ChatID int64
// The number of messages with unread reactions left in the chat
UnreadReactionCount int32
}
// UpdateChatUnreadReactionCountTypeID is TL type id of UpdateChatUnreadReactionCount.
const UpdateChatUnreadReactionCountTypeID = 0x81603cdd
// construct implements constructor of UpdateClass.
func (u UpdateChatUnreadReactionCount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatUnreadReactionCount.
var (
_ bin.Encoder = &UpdateChatUnreadReactionCount{}
_ bin.Decoder = &UpdateChatUnreadReactionCount{}
_ bin.BareEncoder = &UpdateChatUnreadReactionCount{}
_ bin.BareDecoder = &UpdateChatUnreadReactionCount{}
_ UpdateClass = &UpdateChatUnreadReactionCount{}
)
func (u *UpdateChatUnreadReactionCount) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.UnreadReactionCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatUnreadReactionCount) String() string {
if u == nil {
return "UpdateChatUnreadReactionCount(nil)"
}
type Alias UpdateChatUnreadReactionCount
return fmt.Sprintf("UpdateChatUnreadReactionCount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatUnreadReactionCount) TypeID() uint32 {
return UpdateChatUnreadReactionCountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatUnreadReactionCount) TypeName() string {
return "updateChatUnreadReactionCount"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatUnreadReactionCount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatUnreadReactionCount",
ID: UpdateChatUnreadReactionCountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "UnreadReactionCount",
SchemaName: "unread_reaction_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatUnreadReactionCount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatUnreadReactionCount#81603cdd as nil")
}
b.PutID(UpdateChatUnreadReactionCountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatUnreadReactionCount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatUnreadReactionCount#81603cdd as nil")
}
b.PutInt53(u.ChatID)
b.PutInt32(u.UnreadReactionCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatUnreadReactionCount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatUnreadReactionCount#81603cdd to nil")
}
if err := b.ConsumeID(UpdateChatUnreadReactionCountTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatUnreadReactionCount#81603cdd: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatUnreadReactionCount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatUnreadReactionCount#81603cdd to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatUnreadReactionCount#81603cdd: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatUnreadReactionCount#81603cdd: field unread_reaction_count: %w", err)
}
u.UnreadReactionCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatUnreadReactionCount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatUnreadReactionCount#81603cdd as nil")
}
b.ObjStart()
b.PutID("updateChatUnreadReactionCount")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("unread_reaction_count")
b.PutInt32(u.UnreadReactionCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatUnreadReactionCount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatUnreadReactionCount#81603cdd to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatUnreadReactionCount"); err != nil {
return fmt.Errorf("unable to decode updateChatUnreadReactionCount#81603cdd: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatUnreadReactionCount#81603cdd: field chat_id: %w", err)
}
u.ChatID = value
case "unread_reaction_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatUnreadReactionCount#81603cdd: field unread_reaction_count: %w", err)
}
u.UnreadReactionCount = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatUnreadReactionCount) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetUnreadReactionCount returns value of UnreadReactionCount field.
func (u *UpdateChatUnreadReactionCount) GetUnreadReactionCount() (value int32) {
if u == nil {
return
}
return u.UnreadReactionCount
}
// UpdateChatVideoChat represents TL type `updateChatVideoChat#25fb4ca6`.
type UpdateChatVideoChat struct {
// Chat identifier
ChatID int64
// New value of video_chat
VideoChat VideoChat
}
// UpdateChatVideoChatTypeID is TL type id of UpdateChatVideoChat.
const UpdateChatVideoChatTypeID = 0x25fb4ca6
// construct implements constructor of UpdateClass.
func (u UpdateChatVideoChat) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatVideoChat.
var (
_ bin.Encoder = &UpdateChatVideoChat{}
_ bin.Decoder = &UpdateChatVideoChat{}
_ bin.BareEncoder = &UpdateChatVideoChat{}
_ bin.BareDecoder = &UpdateChatVideoChat{}
_ UpdateClass = &UpdateChatVideoChat{}
)
func (u *UpdateChatVideoChat) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.VideoChat.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatVideoChat) String() string {
if u == nil {
return "UpdateChatVideoChat(nil)"
}
type Alias UpdateChatVideoChat
return fmt.Sprintf("UpdateChatVideoChat%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatVideoChat) TypeID() uint32 {
return UpdateChatVideoChatTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatVideoChat) TypeName() string {
return "updateChatVideoChat"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatVideoChat) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatVideoChat",
ID: UpdateChatVideoChatTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "VideoChat",
SchemaName: "video_chat",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatVideoChat) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatVideoChat#25fb4ca6 as nil")
}
b.PutID(UpdateChatVideoChatTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatVideoChat) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatVideoChat#25fb4ca6 as nil")
}
b.PutInt53(u.ChatID)
if err := u.VideoChat.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatVideoChat#25fb4ca6: field video_chat: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatVideoChat) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatVideoChat#25fb4ca6 to nil")
}
if err := b.ConsumeID(UpdateChatVideoChatTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatVideoChat#25fb4ca6: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatVideoChat) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatVideoChat#25fb4ca6 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatVideoChat#25fb4ca6: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.VideoChat.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatVideoChat#25fb4ca6: field video_chat: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatVideoChat) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatVideoChat#25fb4ca6 as nil")
}
b.ObjStart()
b.PutID("updateChatVideoChat")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("video_chat")
if err := u.VideoChat.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatVideoChat#25fb4ca6: field video_chat: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatVideoChat) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatVideoChat#25fb4ca6 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatVideoChat"); err != nil {
return fmt.Errorf("unable to decode updateChatVideoChat#25fb4ca6: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatVideoChat#25fb4ca6: field chat_id: %w", err)
}
u.ChatID = value
case "video_chat":
if err := u.VideoChat.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatVideoChat#25fb4ca6: field video_chat: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatVideoChat) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetVideoChat returns value of VideoChat field.
func (u *UpdateChatVideoChat) GetVideoChat() (value VideoChat) {
if u == nil {
return
}
return u.VideoChat
}
// UpdateChatDefaultDisableNotification represents TL type `updateChatDefaultDisableNotification#1ba96a9b`.
type UpdateChatDefaultDisableNotification struct {
// Chat identifier
ChatID int64
// The new default_disable_notification value
DefaultDisableNotification bool
}
// UpdateChatDefaultDisableNotificationTypeID is TL type id of UpdateChatDefaultDisableNotification.
const UpdateChatDefaultDisableNotificationTypeID = 0x1ba96a9b
// construct implements constructor of UpdateClass.
func (u UpdateChatDefaultDisableNotification) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatDefaultDisableNotification.
var (
_ bin.Encoder = &UpdateChatDefaultDisableNotification{}
_ bin.Decoder = &UpdateChatDefaultDisableNotification{}
_ bin.BareEncoder = &UpdateChatDefaultDisableNotification{}
_ bin.BareDecoder = &UpdateChatDefaultDisableNotification{}
_ UpdateClass = &UpdateChatDefaultDisableNotification{}
)
func (u *UpdateChatDefaultDisableNotification) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.DefaultDisableNotification == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatDefaultDisableNotification) String() string {
if u == nil {
return "UpdateChatDefaultDisableNotification(nil)"
}
type Alias UpdateChatDefaultDisableNotification
return fmt.Sprintf("UpdateChatDefaultDisableNotification%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatDefaultDisableNotification) TypeID() uint32 {
return UpdateChatDefaultDisableNotificationTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatDefaultDisableNotification) TypeName() string {
return "updateChatDefaultDisableNotification"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatDefaultDisableNotification) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatDefaultDisableNotification",
ID: UpdateChatDefaultDisableNotificationTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "DefaultDisableNotification",
SchemaName: "default_disable_notification",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatDefaultDisableNotification) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatDefaultDisableNotification#1ba96a9b as nil")
}
b.PutID(UpdateChatDefaultDisableNotificationTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatDefaultDisableNotification) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatDefaultDisableNotification#1ba96a9b as nil")
}
b.PutInt53(u.ChatID)
b.PutBool(u.DefaultDisableNotification)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatDefaultDisableNotification) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatDefaultDisableNotification#1ba96a9b to nil")
}
if err := b.ConsumeID(UpdateChatDefaultDisableNotificationTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatDefaultDisableNotification#1ba96a9b: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatDefaultDisableNotification) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatDefaultDisableNotification#1ba96a9b to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatDefaultDisableNotification#1ba96a9b: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatDefaultDisableNotification#1ba96a9b: field default_disable_notification: %w", err)
}
u.DefaultDisableNotification = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatDefaultDisableNotification) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatDefaultDisableNotification#1ba96a9b as nil")
}
b.ObjStart()
b.PutID("updateChatDefaultDisableNotification")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("default_disable_notification")
b.PutBool(u.DefaultDisableNotification)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatDefaultDisableNotification) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatDefaultDisableNotification#1ba96a9b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatDefaultDisableNotification"); err != nil {
return fmt.Errorf("unable to decode updateChatDefaultDisableNotification#1ba96a9b: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatDefaultDisableNotification#1ba96a9b: field chat_id: %w", err)
}
u.ChatID = value
case "default_disable_notification":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatDefaultDisableNotification#1ba96a9b: field default_disable_notification: %w", err)
}
u.DefaultDisableNotification = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatDefaultDisableNotification) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetDefaultDisableNotification returns value of DefaultDisableNotification field.
func (u *UpdateChatDefaultDisableNotification) GetDefaultDisableNotification() (value bool) {
if u == nil {
return
}
return u.DefaultDisableNotification
}
// UpdateChatHasProtectedContent represents TL type `updateChatHasProtectedContent#6b50071b`.
type UpdateChatHasProtectedContent struct {
// Chat identifier
ChatID int64
// New value of has_protected_content
HasProtectedContent bool
}
// UpdateChatHasProtectedContentTypeID is TL type id of UpdateChatHasProtectedContent.
const UpdateChatHasProtectedContentTypeID = 0x6b50071b
// construct implements constructor of UpdateClass.
func (u UpdateChatHasProtectedContent) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatHasProtectedContent.
var (
_ bin.Encoder = &UpdateChatHasProtectedContent{}
_ bin.Decoder = &UpdateChatHasProtectedContent{}
_ bin.BareEncoder = &UpdateChatHasProtectedContent{}
_ bin.BareDecoder = &UpdateChatHasProtectedContent{}
_ UpdateClass = &UpdateChatHasProtectedContent{}
)
func (u *UpdateChatHasProtectedContent) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.HasProtectedContent == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatHasProtectedContent) String() string {
if u == nil {
return "UpdateChatHasProtectedContent(nil)"
}
type Alias UpdateChatHasProtectedContent
return fmt.Sprintf("UpdateChatHasProtectedContent%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatHasProtectedContent) TypeID() uint32 {
return UpdateChatHasProtectedContentTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatHasProtectedContent) TypeName() string {
return "updateChatHasProtectedContent"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatHasProtectedContent) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatHasProtectedContent",
ID: UpdateChatHasProtectedContentTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "HasProtectedContent",
SchemaName: "has_protected_content",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatHasProtectedContent) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatHasProtectedContent#6b50071b as nil")
}
b.PutID(UpdateChatHasProtectedContentTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatHasProtectedContent) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatHasProtectedContent#6b50071b as nil")
}
b.PutInt53(u.ChatID)
b.PutBool(u.HasProtectedContent)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatHasProtectedContent) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatHasProtectedContent#6b50071b to nil")
}
if err := b.ConsumeID(UpdateChatHasProtectedContentTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatHasProtectedContent#6b50071b: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatHasProtectedContent) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatHasProtectedContent#6b50071b to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatHasProtectedContent#6b50071b: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatHasProtectedContent#6b50071b: field has_protected_content: %w", err)
}
u.HasProtectedContent = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatHasProtectedContent) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatHasProtectedContent#6b50071b as nil")
}
b.ObjStart()
b.PutID("updateChatHasProtectedContent")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("has_protected_content")
b.PutBool(u.HasProtectedContent)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatHasProtectedContent) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatHasProtectedContent#6b50071b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatHasProtectedContent"); err != nil {
return fmt.Errorf("unable to decode updateChatHasProtectedContent#6b50071b: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatHasProtectedContent#6b50071b: field chat_id: %w", err)
}
u.ChatID = value
case "has_protected_content":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatHasProtectedContent#6b50071b: field has_protected_content: %w", err)
}
u.HasProtectedContent = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatHasProtectedContent) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetHasProtectedContent returns value of HasProtectedContent field.
func (u *UpdateChatHasProtectedContent) GetHasProtectedContent() (value bool) {
if u == nil {
return
}
return u.HasProtectedContent
}
// UpdateChatIsTranslatable represents TL type `updateChatIsTranslatable#7b031617`.
type UpdateChatIsTranslatable struct {
// Chat identifier
ChatID int64
// New value of is_translatable
IsTranslatable bool
}
// UpdateChatIsTranslatableTypeID is TL type id of UpdateChatIsTranslatable.
const UpdateChatIsTranslatableTypeID = 0x7b031617
// construct implements constructor of UpdateClass.
func (u UpdateChatIsTranslatable) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatIsTranslatable.
var (
_ bin.Encoder = &UpdateChatIsTranslatable{}
_ bin.Decoder = &UpdateChatIsTranslatable{}
_ bin.BareEncoder = &UpdateChatIsTranslatable{}
_ bin.BareDecoder = &UpdateChatIsTranslatable{}
_ UpdateClass = &UpdateChatIsTranslatable{}
)
func (u *UpdateChatIsTranslatable) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.IsTranslatable == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatIsTranslatable) String() string {
if u == nil {
return "UpdateChatIsTranslatable(nil)"
}
type Alias UpdateChatIsTranslatable
return fmt.Sprintf("UpdateChatIsTranslatable%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatIsTranslatable) TypeID() uint32 {
return UpdateChatIsTranslatableTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatIsTranslatable) TypeName() string {
return "updateChatIsTranslatable"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatIsTranslatable) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatIsTranslatable",
ID: UpdateChatIsTranslatableTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "IsTranslatable",
SchemaName: "is_translatable",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatIsTranslatable) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatIsTranslatable#7b031617 as nil")
}
b.PutID(UpdateChatIsTranslatableTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatIsTranslatable) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatIsTranslatable#7b031617 as nil")
}
b.PutInt53(u.ChatID)
b.PutBool(u.IsTranslatable)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatIsTranslatable) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatIsTranslatable#7b031617 to nil")
}
if err := b.ConsumeID(UpdateChatIsTranslatableTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatIsTranslatable#7b031617: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatIsTranslatable) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatIsTranslatable#7b031617 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatIsTranslatable#7b031617: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatIsTranslatable#7b031617: field is_translatable: %w", err)
}
u.IsTranslatable = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatIsTranslatable) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatIsTranslatable#7b031617 as nil")
}
b.ObjStart()
b.PutID("updateChatIsTranslatable")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("is_translatable")
b.PutBool(u.IsTranslatable)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatIsTranslatable) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatIsTranslatable#7b031617 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatIsTranslatable"); err != nil {
return fmt.Errorf("unable to decode updateChatIsTranslatable#7b031617: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatIsTranslatable#7b031617: field chat_id: %w", err)
}
u.ChatID = value
case "is_translatable":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatIsTranslatable#7b031617: field is_translatable: %w", err)
}
u.IsTranslatable = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatIsTranslatable) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetIsTranslatable returns value of IsTranslatable field.
func (u *UpdateChatIsTranslatable) GetIsTranslatable() (value bool) {
if u == nil {
return
}
return u.IsTranslatable
}
// UpdateChatIsMarkedAsUnread represents TL type `updateChatIsMarkedAsUnread#57853334`.
type UpdateChatIsMarkedAsUnread struct {
// Chat identifier
ChatID int64
// New value of is_marked_as_unread
IsMarkedAsUnread bool
}
// UpdateChatIsMarkedAsUnreadTypeID is TL type id of UpdateChatIsMarkedAsUnread.
const UpdateChatIsMarkedAsUnreadTypeID = 0x57853334
// construct implements constructor of UpdateClass.
func (u UpdateChatIsMarkedAsUnread) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatIsMarkedAsUnread.
var (
_ bin.Encoder = &UpdateChatIsMarkedAsUnread{}
_ bin.Decoder = &UpdateChatIsMarkedAsUnread{}
_ bin.BareEncoder = &UpdateChatIsMarkedAsUnread{}
_ bin.BareDecoder = &UpdateChatIsMarkedAsUnread{}
_ UpdateClass = &UpdateChatIsMarkedAsUnread{}
)
func (u *UpdateChatIsMarkedAsUnread) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.IsMarkedAsUnread == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatIsMarkedAsUnread) String() string {
if u == nil {
return "UpdateChatIsMarkedAsUnread(nil)"
}
type Alias UpdateChatIsMarkedAsUnread
return fmt.Sprintf("UpdateChatIsMarkedAsUnread%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatIsMarkedAsUnread) TypeID() uint32 {
return UpdateChatIsMarkedAsUnreadTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatIsMarkedAsUnread) TypeName() string {
return "updateChatIsMarkedAsUnread"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatIsMarkedAsUnread) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatIsMarkedAsUnread",
ID: UpdateChatIsMarkedAsUnreadTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "IsMarkedAsUnread",
SchemaName: "is_marked_as_unread",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatIsMarkedAsUnread) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatIsMarkedAsUnread#57853334 as nil")
}
b.PutID(UpdateChatIsMarkedAsUnreadTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatIsMarkedAsUnread) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatIsMarkedAsUnread#57853334 as nil")
}
b.PutInt53(u.ChatID)
b.PutBool(u.IsMarkedAsUnread)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatIsMarkedAsUnread) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatIsMarkedAsUnread#57853334 to nil")
}
if err := b.ConsumeID(UpdateChatIsMarkedAsUnreadTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatIsMarkedAsUnread#57853334: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatIsMarkedAsUnread) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatIsMarkedAsUnread#57853334 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatIsMarkedAsUnread#57853334: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatIsMarkedAsUnread#57853334: field is_marked_as_unread: %w", err)
}
u.IsMarkedAsUnread = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatIsMarkedAsUnread) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatIsMarkedAsUnread#57853334 as nil")
}
b.ObjStart()
b.PutID("updateChatIsMarkedAsUnread")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("is_marked_as_unread")
b.PutBool(u.IsMarkedAsUnread)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatIsMarkedAsUnread) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatIsMarkedAsUnread#57853334 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatIsMarkedAsUnread"); err != nil {
return fmt.Errorf("unable to decode updateChatIsMarkedAsUnread#57853334: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatIsMarkedAsUnread#57853334: field chat_id: %w", err)
}
u.ChatID = value
case "is_marked_as_unread":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatIsMarkedAsUnread#57853334: field is_marked_as_unread: %w", err)
}
u.IsMarkedAsUnread = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatIsMarkedAsUnread) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetIsMarkedAsUnread returns value of IsMarkedAsUnread field.
func (u *UpdateChatIsMarkedAsUnread) GetIsMarkedAsUnread() (value bool) {
if u == nil {
return
}
return u.IsMarkedAsUnread
}
// UpdateChatViewAsTopics represents TL type `updateChatViewAsTopics#5bff163d`.
type UpdateChatViewAsTopics struct {
// Chat identifier
ChatID int64
// New value of view_as_topics
ViewAsTopics bool
}
// UpdateChatViewAsTopicsTypeID is TL type id of UpdateChatViewAsTopics.
const UpdateChatViewAsTopicsTypeID = 0x5bff163d
// construct implements constructor of UpdateClass.
func (u UpdateChatViewAsTopics) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatViewAsTopics.
var (
_ bin.Encoder = &UpdateChatViewAsTopics{}
_ bin.Decoder = &UpdateChatViewAsTopics{}
_ bin.BareEncoder = &UpdateChatViewAsTopics{}
_ bin.BareDecoder = &UpdateChatViewAsTopics{}
_ UpdateClass = &UpdateChatViewAsTopics{}
)
func (u *UpdateChatViewAsTopics) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.ViewAsTopics == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatViewAsTopics) String() string {
if u == nil {
return "UpdateChatViewAsTopics(nil)"
}
type Alias UpdateChatViewAsTopics
return fmt.Sprintf("UpdateChatViewAsTopics%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatViewAsTopics) TypeID() uint32 {
return UpdateChatViewAsTopicsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatViewAsTopics) TypeName() string {
return "updateChatViewAsTopics"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatViewAsTopics) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatViewAsTopics",
ID: UpdateChatViewAsTopicsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "ViewAsTopics",
SchemaName: "view_as_topics",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatViewAsTopics) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatViewAsTopics#5bff163d as nil")
}
b.PutID(UpdateChatViewAsTopicsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatViewAsTopics) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatViewAsTopics#5bff163d as nil")
}
b.PutInt53(u.ChatID)
b.PutBool(u.ViewAsTopics)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatViewAsTopics) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatViewAsTopics#5bff163d to nil")
}
if err := b.ConsumeID(UpdateChatViewAsTopicsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatViewAsTopics#5bff163d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatViewAsTopics) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatViewAsTopics#5bff163d to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatViewAsTopics#5bff163d: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatViewAsTopics#5bff163d: field view_as_topics: %w", err)
}
u.ViewAsTopics = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatViewAsTopics) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatViewAsTopics#5bff163d as nil")
}
b.ObjStart()
b.PutID("updateChatViewAsTopics")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("view_as_topics")
b.PutBool(u.ViewAsTopics)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatViewAsTopics) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatViewAsTopics#5bff163d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatViewAsTopics"); err != nil {
return fmt.Errorf("unable to decode updateChatViewAsTopics#5bff163d: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatViewAsTopics#5bff163d: field chat_id: %w", err)
}
u.ChatID = value
case "view_as_topics":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatViewAsTopics#5bff163d: field view_as_topics: %w", err)
}
u.ViewAsTopics = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatViewAsTopics) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetViewAsTopics returns value of ViewAsTopics field.
func (u *UpdateChatViewAsTopics) GetViewAsTopics() (value bool) {
if u == nil {
return
}
return u.ViewAsTopics
}
// UpdateChatBlockList represents TL type `updateChatBlockList#872af48e`.
type UpdateChatBlockList struct {
// Chat identifier
ChatID int64
// Block list to which the chat is added; may be null if none
BlockList BlockListClass
}
// UpdateChatBlockListTypeID is TL type id of UpdateChatBlockList.
const UpdateChatBlockListTypeID = 0x872af48e
// construct implements constructor of UpdateClass.
func (u UpdateChatBlockList) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatBlockList.
var (
_ bin.Encoder = &UpdateChatBlockList{}
_ bin.Decoder = &UpdateChatBlockList{}
_ bin.BareEncoder = &UpdateChatBlockList{}
_ bin.BareDecoder = &UpdateChatBlockList{}
_ UpdateClass = &UpdateChatBlockList{}
)
func (u *UpdateChatBlockList) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.BlockList == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatBlockList) String() string {
if u == nil {
return "UpdateChatBlockList(nil)"
}
type Alias UpdateChatBlockList
return fmt.Sprintf("UpdateChatBlockList%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatBlockList) TypeID() uint32 {
return UpdateChatBlockListTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatBlockList) TypeName() string {
return "updateChatBlockList"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatBlockList) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatBlockList",
ID: UpdateChatBlockListTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "BlockList",
SchemaName: "block_list",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatBlockList) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBlockList#872af48e as nil")
}
b.PutID(UpdateChatBlockListTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatBlockList) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBlockList#872af48e as nil")
}
b.PutInt53(u.ChatID)
if u.BlockList == nil {
return fmt.Errorf("unable to encode updateChatBlockList#872af48e: field block_list is nil")
}
if err := u.BlockList.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatBlockList#872af48e: field block_list: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatBlockList) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBlockList#872af48e to nil")
}
if err := b.ConsumeID(UpdateChatBlockListTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatBlockList#872af48e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatBlockList) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBlockList#872af48e to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatBlockList#872af48e: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := DecodeBlockList(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatBlockList#872af48e: field block_list: %w", err)
}
u.BlockList = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatBlockList) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBlockList#872af48e as nil")
}
b.ObjStart()
b.PutID("updateChatBlockList")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("block_list")
if u.BlockList == nil {
return fmt.Errorf("unable to encode updateChatBlockList#872af48e: field block_list is nil")
}
if err := u.BlockList.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatBlockList#872af48e: field block_list: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatBlockList) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBlockList#872af48e to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatBlockList"); err != nil {
return fmt.Errorf("unable to decode updateChatBlockList#872af48e: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatBlockList#872af48e: field chat_id: %w", err)
}
u.ChatID = value
case "block_list":
value, err := DecodeTDLibJSONBlockList(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatBlockList#872af48e: field block_list: %w", err)
}
u.BlockList = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatBlockList) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetBlockList returns value of BlockList field.
func (u *UpdateChatBlockList) GetBlockList() (value BlockListClass) {
if u == nil {
return
}
return u.BlockList
}
// UpdateChatHasScheduledMessages represents TL type `updateChatHasScheduledMessages#7b14c2d7`.
type UpdateChatHasScheduledMessages struct {
// Chat identifier
ChatID int64
// New value of has_scheduled_messages
HasScheduledMessages bool
}
// UpdateChatHasScheduledMessagesTypeID is TL type id of UpdateChatHasScheduledMessages.
const UpdateChatHasScheduledMessagesTypeID = 0x7b14c2d7
// construct implements constructor of UpdateClass.
func (u UpdateChatHasScheduledMessages) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatHasScheduledMessages.
var (
_ bin.Encoder = &UpdateChatHasScheduledMessages{}
_ bin.Decoder = &UpdateChatHasScheduledMessages{}
_ bin.BareEncoder = &UpdateChatHasScheduledMessages{}
_ bin.BareDecoder = &UpdateChatHasScheduledMessages{}
_ UpdateClass = &UpdateChatHasScheduledMessages{}
)
func (u *UpdateChatHasScheduledMessages) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.HasScheduledMessages == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatHasScheduledMessages) String() string {
if u == nil {
return "UpdateChatHasScheduledMessages(nil)"
}
type Alias UpdateChatHasScheduledMessages
return fmt.Sprintf("UpdateChatHasScheduledMessages%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatHasScheduledMessages) TypeID() uint32 {
return UpdateChatHasScheduledMessagesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatHasScheduledMessages) TypeName() string {
return "updateChatHasScheduledMessages"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatHasScheduledMessages) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatHasScheduledMessages",
ID: UpdateChatHasScheduledMessagesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "HasScheduledMessages",
SchemaName: "has_scheduled_messages",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatHasScheduledMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatHasScheduledMessages#7b14c2d7 as nil")
}
b.PutID(UpdateChatHasScheduledMessagesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatHasScheduledMessages) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatHasScheduledMessages#7b14c2d7 as nil")
}
b.PutInt53(u.ChatID)
b.PutBool(u.HasScheduledMessages)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatHasScheduledMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatHasScheduledMessages#7b14c2d7 to nil")
}
if err := b.ConsumeID(UpdateChatHasScheduledMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatHasScheduledMessages#7b14c2d7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatHasScheduledMessages) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatHasScheduledMessages#7b14c2d7 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatHasScheduledMessages#7b14c2d7: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatHasScheduledMessages#7b14c2d7: field has_scheduled_messages: %w", err)
}
u.HasScheduledMessages = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatHasScheduledMessages) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatHasScheduledMessages#7b14c2d7 as nil")
}
b.ObjStart()
b.PutID("updateChatHasScheduledMessages")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("has_scheduled_messages")
b.PutBool(u.HasScheduledMessages)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatHasScheduledMessages) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatHasScheduledMessages#7b14c2d7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatHasScheduledMessages"); err != nil {
return fmt.Errorf("unable to decode updateChatHasScheduledMessages#7b14c2d7: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatHasScheduledMessages#7b14c2d7: field chat_id: %w", err)
}
u.ChatID = value
case "has_scheduled_messages":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatHasScheduledMessages#7b14c2d7: field has_scheduled_messages: %w", err)
}
u.HasScheduledMessages = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatHasScheduledMessages) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetHasScheduledMessages returns value of HasScheduledMessages field.
func (u *UpdateChatHasScheduledMessages) GetHasScheduledMessages() (value bool) {
if u == nil {
return
}
return u.HasScheduledMessages
}
// UpdateChatFolders represents TL type `updateChatFolders#e110242a`.
type UpdateChatFolders struct {
// The new list of chat folders
ChatFolders []ChatFolderInfo
// Position of the main chat list among chat folders, 0-based
MainChatListPosition int32
// True, if folder tags are enabled
AreTagsEnabled bool
}
// UpdateChatFoldersTypeID is TL type id of UpdateChatFolders.
const UpdateChatFoldersTypeID = 0xe110242a
// construct implements constructor of UpdateClass.
func (u UpdateChatFolders) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatFolders.
var (
_ bin.Encoder = &UpdateChatFolders{}
_ bin.Decoder = &UpdateChatFolders{}
_ bin.BareEncoder = &UpdateChatFolders{}
_ bin.BareDecoder = &UpdateChatFolders{}
_ UpdateClass = &UpdateChatFolders{}
)
func (u *UpdateChatFolders) Zero() bool {
if u == nil {
return true
}
if !(u.ChatFolders == nil) {
return false
}
if !(u.MainChatListPosition == 0) {
return false
}
if !(u.AreTagsEnabled == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatFolders) String() string {
if u == nil {
return "UpdateChatFolders(nil)"
}
type Alias UpdateChatFolders
return fmt.Sprintf("UpdateChatFolders%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatFolders) TypeID() uint32 {
return UpdateChatFoldersTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatFolders) TypeName() string {
return "updateChatFolders"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatFolders) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatFolders",
ID: UpdateChatFoldersTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatFolders",
SchemaName: "chat_folders",
},
{
Name: "MainChatListPosition",
SchemaName: "main_chat_list_position",
},
{
Name: "AreTagsEnabled",
SchemaName: "are_tags_enabled",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatFolders) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatFolders#e110242a as nil")
}
b.PutID(UpdateChatFoldersTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatFolders) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatFolders#e110242a as nil")
}
b.PutInt(len(u.ChatFolders))
for idx, v := range u.ChatFolders {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateChatFolders#e110242a: field chat_folders element with index %d: %w", idx, err)
}
}
b.PutInt32(u.MainChatListPosition)
b.PutBool(u.AreTagsEnabled)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatFolders) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatFolders#e110242a to nil")
}
if err := b.ConsumeID(UpdateChatFoldersTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatFolders#e110242a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatFolders) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatFolders#e110242a to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatFolders#e110242a: field chat_folders: %w", err)
}
if headerLen > 0 {
u.ChatFolders = make([]ChatFolderInfo, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value ChatFolderInfo
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateChatFolders#e110242a: field chat_folders: %w", err)
}
u.ChatFolders = append(u.ChatFolders, value)
}
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatFolders#e110242a: field main_chat_list_position: %w", err)
}
u.MainChatListPosition = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatFolders#e110242a: field are_tags_enabled: %w", err)
}
u.AreTagsEnabled = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatFolders) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatFolders#e110242a as nil")
}
b.ObjStart()
b.PutID("updateChatFolders")
b.Comma()
b.FieldStart("chat_folders")
b.ArrStart()
for idx, v := range u.ChatFolders {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatFolders#e110242a: field chat_folders element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("main_chat_list_position")
b.PutInt32(u.MainChatListPosition)
b.Comma()
b.FieldStart("are_tags_enabled")
b.PutBool(u.AreTagsEnabled)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatFolders) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatFolders#e110242a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatFolders"); err != nil {
return fmt.Errorf("unable to decode updateChatFolders#e110242a: %w", err)
}
case "chat_folders":
if err := b.Arr(func(b tdjson.Decoder) error {
var value ChatFolderInfo
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatFolders#e110242a: field chat_folders: %w", err)
}
u.ChatFolders = append(u.ChatFolders, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateChatFolders#e110242a: field chat_folders: %w", err)
}
case "main_chat_list_position":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatFolders#e110242a: field main_chat_list_position: %w", err)
}
u.MainChatListPosition = value
case "are_tags_enabled":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatFolders#e110242a: field are_tags_enabled: %w", err)
}
u.AreTagsEnabled = value
default:
return b.Skip()
}
return nil
})
}
// GetChatFolders returns value of ChatFolders field.
func (u *UpdateChatFolders) GetChatFolders() (value []ChatFolderInfo) {
if u == nil {
return
}
return u.ChatFolders
}
// GetMainChatListPosition returns value of MainChatListPosition field.
func (u *UpdateChatFolders) GetMainChatListPosition() (value int32) {
if u == nil {
return
}
return u.MainChatListPosition
}
// GetAreTagsEnabled returns value of AreTagsEnabled field.
func (u *UpdateChatFolders) GetAreTagsEnabled() (value bool) {
if u == nil {
return
}
return u.AreTagsEnabled
}
// UpdateChatOnlineMemberCount represents TL type `updateChatOnlineMemberCount#1d0caa9d`.
type UpdateChatOnlineMemberCount struct {
// Identifier of the chat
ChatID int64
// New number of online members in the chat, or 0 if unknown
OnlineMemberCount int32
}
// UpdateChatOnlineMemberCountTypeID is TL type id of UpdateChatOnlineMemberCount.
const UpdateChatOnlineMemberCountTypeID = 0x1d0caa9d
// construct implements constructor of UpdateClass.
func (u UpdateChatOnlineMemberCount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatOnlineMemberCount.
var (
_ bin.Encoder = &UpdateChatOnlineMemberCount{}
_ bin.Decoder = &UpdateChatOnlineMemberCount{}
_ bin.BareEncoder = &UpdateChatOnlineMemberCount{}
_ bin.BareDecoder = &UpdateChatOnlineMemberCount{}
_ UpdateClass = &UpdateChatOnlineMemberCount{}
)
func (u *UpdateChatOnlineMemberCount) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.OnlineMemberCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatOnlineMemberCount) String() string {
if u == nil {
return "UpdateChatOnlineMemberCount(nil)"
}
type Alias UpdateChatOnlineMemberCount
return fmt.Sprintf("UpdateChatOnlineMemberCount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatOnlineMemberCount) TypeID() uint32 {
return UpdateChatOnlineMemberCountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatOnlineMemberCount) TypeName() string {
return "updateChatOnlineMemberCount"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatOnlineMemberCount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatOnlineMemberCount",
ID: UpdateChatOnlineMemberCountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "OnlineMemberCount",
SchemaName: "online_member_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatOnlineMemberCount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatOnlineMemberCount#1d0caa9d as nil")
}
b.PutID(UpdateChatOnlineMemberCountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatOnlineMemberCount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatOnlineMemberCount#1d0caa9d as nil")
}
b.PutInt53(u.ChatID)
b.PutInt32(u.OnlineMemberCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatOnlineMemberCount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatOnlineMemberCount#1d0caa9d to nil")
}
if err := b.ConsumeID(UpdateChatOnlineMemberCountTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatOnlineMemberCount#1d0caa9d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatOnlineMemberCount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatOnlineMemberCount#1d0caa9d to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatOnlineMemberCount#1d0caa9d: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatOnlineMemberCount#1d0caa9d: field online_member_count: %w", err)
}
u.OnlineMemberCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatOnlineMemberCount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatOnlineMemberCount#1d0caa9d as nil")
}
b.ObjStart()
b.PutID("updateChatOnlineMemberCount")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("online_member_count")
b.PutInt32(u.OnlineMemberCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatOnlineMemberCount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatOnlineMemberCount#1d0caa9d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatOnlineMemberCount"); err != nil {
return fmt.Errorf("unable to decode updateChatOnlineMemberCount#1d0caa9d: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatOnlineMemberCount#1d0caa9d: field chat_id: %w", err)
}
u.ChatID = value
case "online_member_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatOnlineMemberCount#1d0caa9d: field online_member_count: %w", err)
}
u.OnlineMemberCount = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatOnlineMemberCount) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetOnlineMemberCount returns value of OnlineMemberCount field.
func (u *UpdateChatOnlineMemberCount) GetOnlineMemberCount() (value int32) {
if u == nil {
return
}
return u.OnlineMemberCount
}
// UpdateSavedMessagesTopic represents TL type `updateSavedMessagesTopic#9f823b30`.
type UpdateSavedMessagesTopic struct {
// New data about the topic
Topic SavedMessagesTopic
}
// UpdateSavedMessagesTopicTypeID is TL type id of UpdateSavedMessagesTopic.
const UpdateSavedMessagesTopicTypeID = 0x9f823b30
// construct implements constructor of UpdateClass.
func (u UpdateSavedMessagesTopic) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSavedMessagesTopic.
var (
_ bin.Encoder = &UpdateSavedMessagesTopic{}
_ bin.Decoder = &UpdateSavedMessagesTopic{}
_ bin.BareEncoder = &UpdateSavedMessagesTopic{}
_ bin.BareDecoder = &UpdateSavedMessagesTopic{}
_ UpdateClass = &UpdateSavedMessagesTopic{}
)
func (u *UpdateSavedMessagesTopic) Zero() bool {
if u == nil {
return true
}
if !(u.Topic.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSavedMessagesTopic) String() string {
if u == nil {
return "UpdateSavedMessagesTopic(nil)"
}
type Alias UpdateSavedMessagesTopic
return fmt.Sprintf("UpdateSavedMessagesTopic%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSavedMessagesTopic) TypeID() uint32 {
return UpdateSavedMessagesTopicTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSavedMessagesTopic) TypeName() string {
return "updateSavedMessagesTopic"
}
// TypeInfo returns info about TL type.
func (u *UpdateSavedMessagesTopic) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSavedMessagesTopic",
ID: UpdateSavedMessagesTopicTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Topic",
SchemaName: "topic",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSavedMessagesTopic) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedMessagesTopic#9f823b30 as nil")
}
b.PutID(UpdateSavedMessagesTopicTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSavedMessagesTopic) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedMessagesTopic#9f823b30 as nil")
}
if err := u.Topic.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateSavedMessagesTopic#9f823b30: field topic: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSavedMessagesTopic) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedMessagesTopic#9f823b30 to nil")
}
if err := b.ConsumeID(UpdateSavedMessagesTopicTypeID); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTopic#9f823b30: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSavedMessagesTopic) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedMessagesTopic#9f823b30 to nil")
}
{
if err := u.Topic.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTopic#9f823b30: field topic: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSavedMessagesTopic) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedMessagesTopic#9f823b30 as nil")
}
b.ObjStart()
b.PutID("updateSavedMessagesTopic")
b.Comma()
b.FieldStart("topic")
if err := u.Topic.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateSavedMessagesTopic#9f823b30: field topic: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSavedMessagesTopic) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedMessagesTopic#9f823b30 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSavedMessagesTopic"); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTopic#9f823b30: %w", err)
}
case "topic":
if err := u.Topic.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTopic#9f823b30: field topic: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetTopic returns value of Topic field.
func (u *UpdateSavedMessagesTopic) GetTopic() (value SavedMessagesTopic) {
if u == nil {
return
}
return u.Topic
}
// UpdateSavedMessagesTopicCount represents TL type `updateSavedMessagesTopicCount#fbd279d1`.
type UpdateSavedMessagesTopicCount struct {
// Approximate total number of Saved Messages topics
TopicCount int32
}
// UpdateSavedMessagesTopicCountTypeID is TL type id of UpdateSavedMessagesTopicCount.
const UpdateSavedMessagesTopicCountTypeID = 0xfbd279d1
// construct implements constructor of UpdateClass.
func (u UpdateSavedMessagesTopicCount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSavedMessagesTopicCount.
var (
_ bin.Encoder = &UpdateSavedMessagesTopicCount{}
_ bin.Decoder = &UpdateSavedMessagesTopicCount{}
_ bin.BareEncoder = &UpdateSavedMessagesTopicCount{}
_ bin.BareDecoder = &UpdateSavedMessagesTopicCount{}
_ UpdateClass = &UpdateSavedMessagesTopicCount{}
)
func (u *UpdateSavedMessagesTopicCount) Zero() bool {
if u == nil {
return true
}
if !(u.TopicCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSavedMessagesTopicCount) String() string {
if u == nil {
return "UpdateSavedMessagesTopicCount(nil)"
}
type Alias UpdateSavedMessagesTopicCount
return fmt.Sprintf("UpdateSavedMessagesTopicCount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSavedMessagesTopicCount) TypeID() uint32 {
return UpdateSavedMessagesTopicCountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSavedMessagesTopicCount) TypeName() string {
return "updateSavedMessagesTopicCount"
}
// TypeInfo returns info about TL type.
func (u *UpdateSavedMessagesTopicCount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSavedMessagesTopicCount",
ID: UpdateSavedMessagesTopicCountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "TopicCount",
SchemaName: "topic_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSavedMessagesTopicCount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedMessagesTopicCount#fbd279d1 as nil")
}
b.PutID(UpdateSavedMessagesTopicCountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSavedMessagesTopicCount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedMessagesTopicCount#fbd279d1 as nil")
}
b.PutInt32(u.TopicCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSavedMessagesTopicCount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedMessagesTopicCount#fbd279d1 to nil")
}
if err := b.ConsumeID(UpdateSavedMessagesTopicCountTypeID); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTopicCount#fbd279d1: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSavedMessagesTopicCount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedMessagesTopicCount#fbd279d1 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTopicCount#fbd279d1: field topic_count: %w", err)
}
u.TopicCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSavedMessagesTopicCount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedMessagesTopicCount#fbd279d1 as nil")
}
b.ObjStart()
b.PutID("updateSavedMessagesTopicCount")
b.Comma()
b.FieldStart("topic_count")
b.PutInt32(u.TopicCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSavedMessagesTopicCount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedMessagesTopicCount#fbd279d1 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSavedMessagesTopicCount"); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTopicCount#fbd279d1: %w", err)
}
case "topic_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTopicCount#fbd279d1: field topic_count: %w", err)
}
u.TopicCount = value
default:
return b.Skip()
}
return nil
})
}
// GetTopicCount returns value of TopicCount field.
func (u *UpdateSavedMessagesTopicCount) GetTopicCount() (value int32) {
if u == nil {
return
}
return u.TopicCount
}
// UpdateDirectMessagesChatTopic represents TL type `updateDirectMessagesChatTopic#d744f3ed`.
type UpdateDirectMessagesChatTopic struct {
// New data about the topic
Topic DirectMessagesChatTopic
}
// UpdateDirectMessagesChatTopicTypeID is TL type id of UpdateDirectMessagesChatTopic.
const UpdateDirectMessagesChatTopicTypeID = 0xd744f3ed
// construct implements constructor of UpdateClass.
func (u UpdateDirectMessagesChatTopic) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDirectMessagesChatTopic.
var (
_ bin.Encoder = &UpdateDirectMessagesChatTopic{}
_ bin.Decoder = &UpdateDirectMessagesChatTopic{}
_ bin.BareEncoder = &UpdateDirectMessagesChatTopic{}
_ bin.BareDecoder = &UpdateDirectMessagesChatTopic{}
_ UpdateClass = &UpdateDirectMessagesChatTopic{}
)
func (u *UpdateDirectMessagesChatTopic) Zero() bool {
if u == nil {
return true
}
if !(u.Topic.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDirectMessagesChatTopic) String() string {
if u == nil {
return "UpdateDirectMessagesChatTopic(nil)"
}
type Alias UpdateDirectMessagesChatTopic
return fmt.Sprintf("UpdateDirectMessagesChatTopic%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDirectMessagesChatTopic) TypeID() uint32 {
return UpdateDirectMessagesChatTopicTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDirectMessagesChatTopic) TypeName() string {
return "updateDirectMessagesChatTopic"
}
// TypeInfo returns info about TL type.
func (u *UpdateDirectMessagesChatTopic) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDirectMessagesChatTopic",
ID: UpdateDirectMessagesChatTopicTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Topic",
SchemaName: "topic",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDirectMessagesChatTopic) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDirectMessagesChatTopic#d744f3ed as nil")
}
b.PutID(UpdateDirectMessagesChatTopicTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDirectMessagesChatTopic) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDirectMessagesChatTopic#d744f3ed as nil")
}
if err := u.Topic.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDirectMessagesChatTopic#d744f3ed: field topic: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDirectMessagesChatTopic) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDirectMessagesChatTopic#d744f3ed to nil")
}
if err := b.ConsumeID(UpdateDirectMessagesChatTopicTypeID); err != nil {
return fmt.Errorf("unable to decode updateDirectMessagesChatTopic#d744f3ed: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDirectMessagesChatTopic) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDirectMessagesChatTopic#d744f3ed to nil")
}
{
if err := u.Topic.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateDirectMessagesChatTopic#d744f3ed: field topic: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateDirectMessagesChatTopic) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateDirectMessagesChatTopic#d744f3ed as nil")
}
b.ObjStart()
b.PutID("updateDirectMessagesChatTopic")
b.Comma()
b.FieldStart("topic")
if err := u.Topic.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateDirectMessagesChatTopic#d744f3ed: field topic: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateDirectMessagesChatTopic) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateDirectMessagesChatTopic#d744f3ed to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateDirectMessagesChatTopic"); err != nil {
return fmt.Errorf("unable to decode updateDirectMessagesChatTopic#d744f3ed: %w", err)
}
case "topic":
if err := u.Topic.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateDirectMessagesChatTopic#d744f3ed: field topic: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetTopic returns value of Topic field.
func (u *UpdateDirectMessagesChatTopic) GetTopic() (value DirectMessagesChatTopic) {
if u == nil {
return
}
return u.Topic
}
// UpdateTopicMessageCount represents TL type `updateTopicMessageCount#a1233f99`.
type UpdateTopicMessageCount struct {
// Identifier of the chat in topic of which the number of messages has changed
ChatID int64
// Identifier of the topic
TopicID MessageTopicClass
// Approximate number of messages in the topics
MessageCount int32
}
// UpdateTopicMessageCountTypeID is TL type id of UpdateTopicMessageCount.
const UpdateTopicMessageCountTypeID = 0xa1233f99
// construct implements constructor of UpdateClass.
func (u UpdateTopicMessageCount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateTopicMessageCount.
var (
_ bin.Encoder = &UpdateTopicMessageCount{}
_ bin.Decoder = &UpdateTopicMessageCount{}
_ bin.BareEncoder = &UpdateTopicMessageCount{}
_ bin.BareDecoder = &UpdateTopicMessageCount{}
_ UpdateClass = &UpdateTopicMessageCount{}
)
func (u *UpdateTopicMessageCount) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.TopicID == nil) {
return false
}
if !(u.MessageCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateTopicMessageCount) String() string {
if u == nil {
return "UpdateTopicMessageCount(nil)"
}
type Alias UpdateTopicMessageCount
return fmt.Sprintf("UpdateTopicMessageCount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateTopicMessageCount) TypeID() uint32 {
return UpdateTopicMessageCountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateTopicMessageCount) TypeName() string {
return "updateTopicMessageCount"
}
// TypeInfo returns info about TL type.
func (u *UpdateTopicMessageCount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateTopicMessageCount",
ID: UpdateTopicMessageCountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "TopicID",
SchemaName: "topic_id",
},
{
Name: "MessageCount",
SchemaName: "message_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateTopicMessageCount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateTopicMessageCount#a1233f99 as nil")
}
b.PutID(UpdateTopicMessageCountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateTopicMessageCount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateTopicMessageCount#a1233f99 as nil")
}
b.PutInt53(u.ChatID)
if u.TopicID == nil {
return fmt.Errorf("unable to encode updateTopicMessageCount#a1233f99: field topic_id is nil")
}
if err := u.TopicID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateTopicMessageCount#a1233f99: field topic_id: %w", err)
}
b.PutInt32(u.MessageCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateTopicMessageCount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateTopicMessageCount#a1233f99 to nil")
}
if err := b.ConsumeID(UpdateTopicMessageCountTypeID); err != nil {
return fmt.Errorf("unable to decode updateTopicMessageCount#a1233f99: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateTopicMessageCount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateTopicMessageCount#a1233f99 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateTopicMessageCount#a1233f99: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := DecodeMessageTopic(b)
if err != nil {
return fmt.Errorf("unable to decode updateTopicMessageCount#a1233f99: field topic_id: %w", err)
}
u.TopicID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateTopicMessageCount#a1233f99: field message_count: %w", err)
}
u.MessageCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateTopicMessageCount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateTopicMessageCount#a1233f99 as nil")
}
b.ObjStart()
b.PutID("updateTopicMessageCount")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("topic_id")
if u.TopicID == nil {
return fmt.Errorf("unable to encode updateTopicMessageCount#a1233f99: field topic_id is nil")
}
if err := u.TopicID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateTopicMessageCount#a1233f99: field topic_id: %w", err)
}
b.Comma()
b.FieldStart("message_count")
b.PutInt32(u.MessageCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateTopicMessageCount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateTopicMessageCount#a1233f99 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateTopicMessageCount"); err != nil {
return fmt.Errorf("unable to decode updateTopicMessageCount#a1233f99: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateTopicMessageCount#a1233f99: field chat_id: %w", err)
}
u.ChatID = value
case "topic_id":
value, err := DecodeTDLibJSONMessageTopic(b)
if err != nil {
return fmt.Errorf("unable to decode updateTopicMessageCount#a1233f99: field topic_id: %w", err)
}
u.TopicID = value
case "message_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateTopicMessageCount#a1233f99: field message_count: %w", err)
}
u.MessageCount = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateTopicMessageCount) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetTopicID returns value of TopicID field.
func (u *UpdateTopicMessageCount) GetTopicID() (value MessageTopicClass) {
if u == nil {
return
}
return u.TopicID
}
// GetMessageCount returns value of MessageCount field.
func (u *UpdateTopicMessageCount) GetMessageCount() (value int32) {
if u == nil {
return
}
return u.MessageCount
}
// UpdateQuickReplyShortcut represents TL type `updateQuickReplyShortcut#c69338cf`.
type UpdateQuickReplyShortcut struct {
// New data about the shortcut
Shortcut QuickReplyShortcut
}
// UpdateQuickReplyShortcutTypeID is TL type id of UpdateQuickReplyShortcut.
const UpdateQuickReplyShortcutTypeID = 0xc69338cf
// construct implements constructor of UpdateClass.
func (u UpdateQuickReplyShortcut) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateQuickReplyShortcut.
var (
_ bin.Encoder = &UpdateQuickReplyShortcut{}
_ bin.Decoder = &UpdateQuickReplyShortcut{}
_ bin.BareEncoder = &UpdateQuickReplyShortcut{}
_ bin.BareDecoder = &UpdateQuickReplyShortcut{}
_ UpdateClass = &UpdateQuickReplyShortcut{}
)
func (u *UpdateQuickReplyShortcut) Zero() bool {
if u == nil {
return true
}
if !(u.Shortcut.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateQuickReplyShortcut) String() string {
if u == nil {
return "UpdateQuickReplyShortcut(nil)"
}
type Alias UpdateQuickReplyShortcut
return fmt.Sprintf("UpdateQuickReplyShortcut%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateQuickReplyShortcut) TypeID() uint32 {
return UpdateQuickReplyShortcutTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateQuickReplyShortcut) TypeName() string {
return "updateQuickReplyShortcut"
}
// TypeInfo returns info about TL type.
func (u *UpdateQuickReplyShortcut) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateQuickReplyShortcut",
ID: UpdateQuickReplyShortcutTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Shortcut",
SchemaName: "shortcut",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateQuickReplyShortcut) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcut#c69338cf as nil")
}
b.PutID(UpdateQuickReplyShortcutTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateQuickReplyShortcut) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcut#c69338cf as nil")
}
if err := u.Shortcut.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateQuickReplyShortcut#c69338cf: field shortcut: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateQuickReplyShortcut) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcut#c69338cf to nil")
}
if err := b.ConsumeID(UpdateQuickReplyShortcutTypeID); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcut#c69338cf: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateQuickReplyShortcut) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcut#c69338cf to nil")
}
{
if err := u.Shortcut.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcut#c69338cf: field shortcut: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateQuickReplyShortcut) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcut#c69338cf as nil")
}
b.ObjStart()
b.PutID("updateQuickReplyShortcut")
b.Comma()
b.FieldStart("shortcut")
if err := u.Shortcut.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateQuickReplyShortcut#c69338cf: field shortcut: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateQuickReplyShortcut) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcut#c69338cf to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateQuickReplyShortcut"); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcut#c69338cf: %w", err)
}
case "shortcut":
if err := u.Shortcut.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcut#c69338cf: field shortcut: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetShortcut returns value of Shortcut field.
func (u *UpdateQuickReplyShortcut) GetShortcut() (value QuickReplyShortcut) {
if u == nil {
return
}
return u.Shortcut
}
// UpdateQuickReplyShortcutDeleted represents TL type `updateQuickReplyShortcutDeleted#e8b9bc3a`.
type UpdateQuickReplyShortcutDeleted struct {
// The identifier of the deleted shortcut
ShortcutID int32
}
// UpdateQuickReplyShortcutDeletedTypeID is TL type id of UpdateQuickReplyShortcutDeleted.
const UpdateQuickReplyShortcutDeletedTypeID = 0xe8b9bc3a
// construct implements constructor of UpdateClass.
func (u UpdateQuickReplyShortcutDeleted) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateQuickReplyShortcutDeleted.
var (
_ bin.Encoder = &UpdateQuickReplyShortcutDeleted{}
_ bin.Decoder = &UpdateQuickReplyShortcutDeleted{}
_ bin.BareEncoder = &UpdateQuickReplyShortcutDeleted{}
_ bin.BareDecoder = &UpdateQuickReplyShortcutDeleted{}
_ UpdateClass = &UpdateQuickReplyShortcutDeleted{}
)
func (u *UpdateQuickReplyShortcutDeleted) Zero() bool {
if u == nil {
return true
}
if !(u.ShortcutID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateQuickReplyShortcutDeleted) String() string {
if u == nil {
return "UpdateQuickReplyShortcutDeleted(nil)"
}
type Alias UpdateQuickReplyShortcutDeleted
return fmt.Sprintf("UpdateQuickReplyShortcutDeleted%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateQuickReplyShortcutDeleted) TypeID() uint32 {
return UpdateQuickReplyShortcutDeletedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateQuickReplyShortcutDeleted) TypeName() string {
return "updateQuickReplyShortcutDeleted"
}
// TypeInfo returns info about TL type.
func (u *UpdateQuickReplyShortcutDeleted) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateQuickReplyShortcutDeleted",
ID: UpdateQuickReplyShortcutDeletedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ShortcutID",
SchemaName: "shortcut_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateQuickReplyShortcutDeleted) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcutDeleted#e8b9bc3a as nil")
}
b.PutID(UpdateQuickReplyShortcutDeletedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateQuickReplyShortcutDeleted) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcutDeleted#e8b9bc3a as nil")
}
b.PutInt32(u.ShortcutID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateQuickReplyShortcutDeleted) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcutDeleted#e8b9bc3a to nil")
}
if err := b.ConsumeID(UpdateQuickReplyShortcutDeletedTypeID); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutDeleted#e8b9bc3a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateQuickReplyShortcutDeleted) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcutDeleted#e8b9bc3a to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutDeleted#e8b9bc3a: field shortcut_id: %w", err)
}
u.ShortcutID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateQuickReplyShortcutDeleted) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcutDeleted#e8b9bc3a as nil")
}
b.ObjStart()
b.PutID("updateQuickReplyShortcutDeleted")
b.Comma()
b.FieldStart("shortcut_id")
b.PutInt32(u.ShortcutID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateQuickReplyShortcutDeleted) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcutDeleted#e8b9bc3a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateQuickReplyShortcutDeleted"); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutDeleted#e8b9bc3a: %w", err)
}
case "shortcut_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutDeleted#e8b9bc3a: field shortcut_id: %w", err)
}
u.ShortcutID = value
default:
return b.Skip()
}
return nil
})
}
// GetShortcutID returns value of ShortcutID field.
func (u *UpdateQuickReplyShortcutDeleted) GetShortcutID() (value int32) {
if u == nil {
return
}
return u.ShortcutID
}
// UpdateQuickReplyShortcuts represents TL type `updateQuickReplyShortcuts#77d31a6a`.
type UpdateQuickReplyShortcuts struct {
// The new list of identifiers of quick reply shortcuts
ShortcutIDs []int32
}
// UpdateQuickReplyShortcutsTypeID is TL type id of UpdateQuickReplyShortcuts.
const UpdateQuickReplyShortcutsTypeID = 0x77d31a6a
// construct implements constructor of UpdateClass.
func (u UpdateQuickReplyShortcuts) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateQuickReplyShortcuts.
var (
_ bin.Encoder = &UpdateQuickReplyShortcuts{}
_ bin.Decoder = &UpdateQuickReplyShortcuts{}
_ bin.BareEncoder = &UpdateQuickReplyShortcuts{}
_ bin.BareDecoder = &UpdateQuickReplyShortcuts{}
_ UpdateClass = &UpdateQuickReplyShortcuts{}
)
func (u *UpdateQuickReplyShortcuts) Zero() bool {
if u == nil {
return true
}
if !(u.ShortcutIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateQuickReplyShortcuts) String() string {
if u == nil {
return "UpdateQuickReplyShortcuts(nil)"
}
type Alias UpdateQuickReplyShortcuts
return fmt.Sprintf("UpdateQuickReplyShortcuts%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateQuickReplyShortcuts) TypeID() uint32 {
return UpdateQuickReplyShortcutsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateQuickReplyShortcuts) TypeName() string {
return "updateQuickReplyShortcuts"
}
// TypeInfo returns info about TL type.
func (u *UpdateQuickReplyShortcuts) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateQuickReplyShortcuts",
ID: UpdateQuickReplyShortcutsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ShortcutIDs",
SchemaName: "shortcut_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateQuickReplyShortcuts) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcuts#77d31a6a as nil")
}
b.PutID(UpdateQuickReplyShortcutsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateQuickReplyShortcuts) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcuts#77d31a6a as nil")
}
b.PutInt(len(u.ShortcutIDs))
for _, v := range u.ShortcutIDs {
b.PutInt32(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateQuickReplyShortcuts) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcuts#77d31a6a to nil")
}
if err := b.ConsumeID(UpdateQuickReplyShortcutsTypeID); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcuts#77d31a6a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateQuickReplyShortcuts) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcuts#77d31a6a to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcuts#77d31a6a: field shortcut_ids: %w", err)
}
if headerLen > 0 {
u.ShortcutIDs = make([]int32, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcuts#77d31a6a: field shortcut_ids: %w", err)
}
u.ShortcutIDs = append(u.ShortcutIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateQuickReplyShortcuts) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcuts#77d31a6a as nil")
}
b.ObjStart()
b.PutID("updateQuickReplyShortcuts")
b.Comma()
b.FieldStart("shortcut_ids")
b.ArrStart()
for _, v := range u.ShortcutIDs {
b.PutInt32(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateQuickReplyShortcuts) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcuts#77d31a6a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateQuickReplyShortcuts"); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcuts#77d31a6a: %w", err)
}
case "shortcut_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcuts#77d31a6a: field shortcut_ids: %w", err)
}
u.ShortcutIDs = append(u.ShortcutIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcuts#77d31a6a: field shortcut_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetShortcutIDs returns value of ShortcutIDs field.
func (u *UpdateQuickReplyShortcuts) GetShortcutIDs() (value []int32) {
if u == nil {
return
}
return u.ShortcutIDs
}
// UpdateQuickReplyShortcutMessages represents TL type `updateQuickReplyShortcutMessages#8bb36b72`.
type UpdateQuickReplyShortcutMessages struct {
// The identifier of the shortcut
ShortcutID int32
// The new list of quick reply messages for the shortcut in order from the first to the
// last sent
Messages []QuickReplyMessage
}
// UpdateQuickReplyShortcutMessagesTypeID is TL type id of UpdateQuickReplyShortcutMessages.
const UpdateQuickReplyShortcutMessagesTypeID = 0x8bb36b72
// construct implements constructor of UpdateClass.
func (u UpdateQuickReplyShortcutMessages) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateQuickReplyShortcutMessages.
var (
_ bin.Encoder = &UpdateQuickReplyShortcutMessages{}
_ bin.Decoder = &UpdateQuickReplyShortcutMessages{}
_ bin.BareEncoder = &UpdateQuickReplyShortcutMessages{}
_ bin.BareDecoder = &UpdateQuickReplyShortcutMessages{}
_ UpdateClass = &UpdateQuickReplyShortcutMessages{}
)
func (u *UpdateQuickReplyShortcutMessages) Zero() bool {
if u == nil {
return true
}
if !(u.ShortcutID == 0) {
return false
}
if !(u.Messages == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateQuickReplyShortcutMessages) String() string {
if u == nil {
return "UpdateQuickReplyShortcutMessages(nil)"
}
type Alias UpdateQuickReplyShortcutMessages
return fmt.Sprintf("UpdateQuickReplyShortcutMessages%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateQuickReplyShortcutMessages) TypeID() uint32 {
return UpdateQuickReplyShortcutMessagesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateQuickReplyShortcutMessages) TypeName() string {
return "updateQuickReplyShortcutMessages"
}
// TypeInfo returns info about TL type.
func (u *UpdateQuickReplyShortcutMessages) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateQuickReplyShortcutMessages",
ID: UpdateQuickReplyShortcutMessagesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ShortcutID",
SchemaName: "shortcut_id",
},
{
Name: "Messages",
SchemaName: "messages",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateQuickReplyShortcutMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcutMessages#8bb36b72 as nil")
}
b.PutID(UpdateQuickReplyShortcutMessagesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateQuickReplyShortcutMessages) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcutMessages#8bb36b72 as nil")
}
b.PutInt32(u.ShortcutID)
b.PutInt(len(u.Messages))
for idx, v := range u.Messages {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateQuickReplyShortcutMessages#8bb36b72: field messages element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateQuickReplyShortcutMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcutMessages#8bb36b72 to nil")
}
if err := b.ConsumeID(UpdateQuickReplyShortcutMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutMessages#8bb36b72: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateQuickReplyShortcutMessages) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcutMessages#8bb36b72 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutMessages#8bb36b72: field shortcut_id: %w", err)
}
u.ShortcutID = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutMessages#8bb36b72: field messages: %w", err)
}
if headerLen > 0 {
u.Messages = make([]QuickReplyMessage, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value QuickReplyMessage
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateQuickReplyShortcutMessages#8bb36b72: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateQuickReplyShortcutMessages) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateQuickReplyShortcutMessages#8bb36b72 as nil")
}
b.ObjStart()
b.PutID("updateQuickReplyShortcutMessages")
b.Comma()
b.FieldStart("shortcut_id")
b.PutInt32(u.ShortcutID)
b.Comma()
b.FieldStart("messages")
b.ArrStart()
for idx, v := range u.Messages {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateQuickReplyShortcutMessages#8bb36b72: field messages 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 (u *UpdateQuickReplyShortcutMessages) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateQuickReplyShortcutMessages#8bb36b72 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateQuickReplyShortcutMessages"); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutMessages#8bb36b72: %w", err)
}
case "shortcut_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutMessages#8bb36b72: field shortcut_id: %w", err)
}
u.ShortcutID = value
case "messages":
if err := b.Arr(func(b tdjson.Decoder) error {
var value QuickReplyMessage
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutMessages#8bb36b72: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateQuickReplyShortcutMessages#8bb36b72: field messages: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetShortcutID returns value of ShortcutID field.
func (u *UpdateQuickReplyShortcutMessages) GetShortcutID() (value int32) {
if u == nil {
return
}
return u.ShortcutID
}
// GetMessages returns value of Messages field.
func (u *UpdateQuickReplyShortcutMessages) GetMessages() (value []QuickReplyMessage) {
if u == nil {
return
}
return u.Messages
}
// UpdateForumTopicInfo represents TL type `updateForumTopicInfo#54af1e48`.
type UpdateForumTopicInfo struct {
// New information about the topic
Info ForumTopicInfo
}
// UpdateForumTopicInfoTypeID is TL type id of UpdateForumTopicInfo.
const UpdateForumTopicInfoTypeID = 0x54af1e48
// construct implements constructor of UpdateClass.
func (u UpdateForumTopicInfo) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateForumTopicInfo.
var (
_ bin.Encoder = &UpdateForumTopicInfo{}
_ bin.Decoder = &UpdateForumTopicInfo{}
_ bin.BareEncoder = &UpdateForumTopicInfo{}
_ bin.BareDecoder = &UpdateForumTopicInfo{}
_ UpdateClass = &UpdateForumTopicInfo{}
)
func (u *UpdateForumTopicInfo) Zero() bool {
if u == nil {
return true
}
if !(u.Info.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateForumTopicInfo) String() string {
if u == nil {
return "UpdateForumTopicInfo(nil)"
}
type Alias UpdateForumTopicInfo
return fmt.Sprintf("UpdateForumTopicInfo%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateForumTopicInfo) TypeID() uint32 {
return UpdateForumTopicInfoTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateForumTopicInfo) TypeName() string {
return "updateForumTopicInfo"
}
// TypeInfo returns info about TL type.
func (u *UpdateForumTopicInfo) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateForumTopicInfo",
ID: UpdateForumTopicInfoTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Info",
SchemaName: "info",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateForumTopicInfo) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateForumTopicInfo#54af1e48 as nil")
}
b.PutID(UpdateForumTopicInfoTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateForumTopicInfo) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateForumTopicInfo#54af1e48 as nil")
}
if err := u.Info.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateForumTopicInfo#54af1e48: field info: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateForumTopicInfo) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateForumTopicInfo#54af1e48 to nil")
}
if err := b.ConsumeID(UpdateForumTopicInfoTypeID); err != nil {
return fmt.Errorf("unable to decode updateForumTopicInfo#54af1e48: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateForumTopicInfo) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateForumTopicInfo#54af1e48 to nil")
}
{
if err := u.Info.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateForumTopicInfo#54af1e48: field info: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateForumTopicInfo) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateForumTopicInfo#54af1e48 as nil")
}
b.ObjStart()
b.PutID("updateForumTopicInfo")
b.Comma()
b.FieldStart("info")
if err := u.Info.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateForumTopicInfo#54af1e48: field info: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateForumTopicInfo) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateForumTopicInfo#54af1e48 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateForumTopicInfo"); err != nil {
return fmt.Errorf("unable to decode updateForumTopicInfo#54af1e48: %w", err)
}
case "info":
if err := u.Info.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateForumTopicInfo#54af1e48: field info: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetInfo returns value of Info field.
func (u *UpdateForumTopicInfo) GetInfo() (value ForumTopicInfo) {
if u == nil {
return
}
return u.Info
}
// UpdateForumTopic represents TL type `updateForumTopic#e029f75b`.
type UpdateForumTopic struct {
// Chat identifier
ChatID int64
// Message thread identifier of the topic
MessageThreadID int64
// True, if the topic is pinned in the topic list
IsPinned bool
// Identifier of the last read incoming message
LastReadInboxMessageID int64
// Identifier of the last read outgoing message
LastReadOutboxMessageID int64
// Number of unread messages with a mention/reply in the topic
UnreadMentionCount int32
// Number of messages with unread reactions in the topic
UnreadReactionCount int32
// Notification settings for the topic
NotificationSettings ChatNotificationSettings
}
// UpdateForumTopicTypeID is TL type id of UpdateForumTopic.
const UpdateForumTopicTypeID = 0xe029f75b
// construct implements constructor of UpdateClass.
func (u UpdateForumTopic) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateForumTopic.
var (
_ bin.Encoder = &UpdateForumTopic{}
_ bin.Decoder = &UpdateForumTopic{}
_ bin.BareEncoder = &UpdateForumTopic{}
_ bin.BareDecoder = &UpdateForumTopic{}
_ UpdateClass = &UpdateForumTopic{}
)
func (u *UpdateForumTopic) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageThreadID == 0) {
return false
}
if !(u.IsPinned == false) {
return false
}
if !(u.LastReadInboxMessageID == 0) {
return false
}
if !(u.LastReadOutboxMessageID == 0) {
return false
}
if !(u.UnreadMentionCount == 0) {
return false
}
if !(u.UnreadReactionCount == 0) {
return false
}
if !(u.NotificationSettings.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateForumTopic) String() string {
if u == nil {
return "UpdateForumTopic(nil)"
}
type Alias UpdateForumTopic
return fmt.Sprintf("UpdateForumTopic%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateForumTopic) TypeID() uint32 {
return UpdateForumTopicTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateForumTopic) TypeName() string {
return "updateForumTopic"
}
// TypeInfo returns info about TL type.
func (u *UpdateForumTopic) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateForumTopic",
ID: UpdateForumTopicTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageThreadID",
SchemaName: "message_thread_id",
},
{
Name: "IsPinned",
SchemaName: "is_pinned",
},
{
Name: "LastReadInboxMessageID",
SchemaName: "last_read_inbox_message_id",
},
{
Name: "LastReadOutboxMessageID",
SchemaName: "last_read_outbox_message_id",
},
{
Name: "UnreadMentionCount",
SchemaName: "unread_mention_count",
},
{
Name: "UnreadReactionCount",
SchemaName: "unread_reaction_count",
},
{
Name: "NotificationSettings",
SchemaName: "notification_settings",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateForumTopic) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateForumTopic#e029f75b as nil")
}
b.PutID(UpdateForumTopicTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateForumTopic) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateForumTopic#e029f75b as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageThreadID)
b.PutBool(u.IsPinned)
b.PutInt53(u.LastReadInboxMessageID)
b.PutInt53(u.LastReadOutboxMessageID)
b.PutInt32(u.UnreadMentionCount)
b.PutInt32(u.UnreadReactionCount)
if err := u.NotificationSettings.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateForumTopic#e029f75b: field notification_settings: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateForumTopic) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateForumTopic#e029f75b to nil")
}
if err := b.ConsumeID(UpdateForumTopicTypeID); err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateForumTopic) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateForumTopic#e029f75b to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field message_thread_id: %w", err)
}
u.MessageThreadID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field is_pinned: %w", err)
}
u.IsPinned = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field last_read_inbox_message_id: %w", err)
}
u.LastReadInboxMessageID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field last_read_outbox_message_id: %w", err)
}
u.LastReadOutboxMessageID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field unread_mention_count: %w", err)
}
u.UnreadMentionCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field unread_reaction_count: %w", err)
}
u.UnreadReactionCount = value
}
{
if err := u.NotificationSettings.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field notification_settings: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateForumTopic) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateForumTopic#e029f75b as nil")
}
b.ObjStart()
b.PutID("updateForumTopic")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_thread_id")
b.PutInt53(u.MessageThreadID)
b.Comma()
b.FieldStart("is_pinned")
b.PutBool(u.IsPinned)
b.Comma()
b.FieldStart("last_read_inbox_message_id")
b.PutInt53(u.LastReadInboxMessageID)
b.Comma()
b.FieldStart("last_read_outbox_message_id")
b.PutInt53(u.LastReadOutboxMessageID)
b.Comma()
b.FieldStart("unread_mention_count")
b.PutInt32(u.UnreadMentionCount)
b.Comma()
b.FieldStart("unread_reaction_count")
b.PutInt32(u.UnreadReactionCount)
b.Comma()
b.FieldStart("notification_settings")
if err := u.NotificationSettings.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateForumTopic#e029f75b: field notification_settings: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateForumTopic) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateForumTopic#e029f75b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateForumTopic"); err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field chat_id: %w", err)
}
u.ChatID = value
case "message_thread_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field message_thread_id: %w", err)
}
u.MessageThreadID = value
case "is_pinned":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field is_pinned: %w", err)
}
u.IsPinned = value
case "last_read_inbox_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field last_read_inbox_message_id: %w", err)
}
u.LastReadInboxMessageID = value
case "last_read_outbox_message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field last_read_outbox_message_id: %w", err)
}
u.LastReadOutboxMessageID = value
case "unread_mention_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field unread_mention_count: %w", err)
}
u.UnreadMentionCount = value
case "unread_reaction_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field unread_reaction_count: %w", err)
}
u.UnreadReactionCount = value
case "notification_settings":
if err := u.NotificationSettings.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateForumTopic#e029f75b: field notification_settings: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateForumTopic) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageThreadID returns value of MessageThreadID field.
func (u *UpdateForumTopic) GetMessageThreadID() (value int64) {
if u == nil {
return
}
return u.MessageThreadID
}
// GetIsPinned returns value of IsPinned field.
func (u *UpdateForumTopic) GetIsPinned() (value bool) {
if u == nil {
return
}
return u.IsPinned
}
// GetLastReadInboxMessageID returns value of LastReadInboxMessageID field.
func (u *UpdateForumTopic) GetLastReadInboxMessageID() (value int64) {
if u == nil {
return
}
return u.LastReadInboxMessageID
}
// GetLastReadOutboxMessageID returns value of LastReadOutboxMessageID field.
func (u *UpdateForumTopic) GetLastReadOutboxMessageID() (value int64) {
if u == nil {
return
}
return u.LastReadOutboxMessageID
}
// GetUnreadMentionCount returns value of UnreadMentionCount field.
func (u *UpdateForumTopic) GetUnreadMentionCount() (value int32) {
if u == nil {
return
}
return u.UnreadMentionCount
}
// GetUnreadReactionCount returns value of UnreadReactionCount field.
func (u *UpdateForumTopic) GetUnreadReactionCount() (value int32) {
if u == nil {
return
}
return u.UnreadReactionCount
}
// GetNotificationSettings returns value of NotificationSettings field.
func (u *UpdateForumTopic) GetNotificationSettings() (value ChatNotificationSettings) {
if u == nil {
return
}
return u.NotificationSettings
}
// UpdateScopeNotificationSettings represents TL type `updateScopeNotificationSettings#b83ccb73`.
type UpdateScopeNotificationSettings struct {
// Types of chats for which notification settings were updated
Scope NotificationSettingsScopeClass
// The new notification settings
NotificationSettings ScopeNotificationSettings
}
// UpdateScopeNotificationSettingsTypeID is TL type id of UpdateScopeNotificationSettings.
const UpdateScopeNotificationSettingsTypeID = 0xb83ccb73
// construct implements constructor of UpdateClass.
func (u UpdateScopeNotificationSettings) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateScopeNotificationSettings.
var (
_ bin.Encoder = &UpdateScopeNotificationSettings{}
_ bin.Decoder = &UpdateScopeNotificationSettings{}
_ bin.BareEncoder = &UpdateScopeNotificationSettings{}
_ bin.BareDecoder = &UpdateScopeNotificationSettings{}
_ UpdateClass = &UpdateScopeNotificationSettings{}
)
func (u *UpdateScopeNotificationSettings) Zero() bool {
if u == nil {
return true
}
if !(u.Scope == nil) {
return false
}
if !(u.NotificationSettings.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateScopeNotificationSettings) String() string {
if u == nil {
return "UpdateScopeNotificationSettings(nil)"
}
type Alias UpdateScopeNotificationSettings
return fmt.Sprintf("UpdateScopeNotificationSettings%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateScopeNotificationSettings) TypeID() uint32 {
return UpdateScopeNotificationSettingsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateScopeNotificationSettings) TypeName() string {
return "updateScopeNotificationSettings"
}
// TypeInfo returns info about TL type.
func (u *UpdateScopeNotificationSettings) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateScopeNotificationSettings",
ID: UpdateScopeNotificationSettingsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Scope",
SchemaName: "scope",
},
{
Name: "NotificationSettings",
SchemaName: "notification_settings",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateScopeNotificationSettings) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateScopeNotificationSettings#b83ccb73 as nil")
}
b.PutID(UpdateScopeNotificationSettingsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateScopeNotificationSettings) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateScopeNotificationSettings#b83ccb73 as nil")
}
if u.Scope == nil {
return fmt.Errorf("unable to encode updateScopeNotificationSettings#b83ccb73: field scope is nil")
}
if err := u.Scope.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateScopeNotificationSettings#b83ccb73: field scope: %w", err)
}
if err := u.NotificationSettings.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateScopeNotificationSettings#b83ccb73: field notification_settings: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateScopeNotificationSettings) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateScopeNotificationSettings#b83ccb73 to nil")
}
if err := b.ConsumeID(UpdateScopeNotificationSettingsTypeID); err != nil {
return fmt.Errorf("unable to decode updateScopeNotificationSettings#b83ccb73: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateScopeNotificationSettings) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateScopeNotificationSettings#b83ccb73 to nil")
}
{
value, err := DecodeNotificationSettingsScope(b)
if err != nil {
return fmt.Errorf("unable to decode updateScopeNotificationSettings#b83ccb73: field scope: %w", err)
}
u.Scope = value
}
{
if err := u.NotificationSettings.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateScopeNotificationSettings#b83ccb73: field notification_settings: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateScopeNotificationSettings) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateScopeNotificationSettings#b83ccb73 as nil")
}
b.ObjStart()
b.PutID("updateScopeNotificationSettings")
b.Comma()
b.FieldStart("scope")
if u.Scope == nil {
return fmt.Errorf("unable to encode updateScopeNotificationSettings#b83ccb73: field scope is nil")
}
if err := u.Scope.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateScopeNotificationSettings#b83ccb73: field scope: %w", err)
}
b.Comma()
b.FieldStart("notification_settings")
if err := u.NotificationSettings.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateScopeNotificationSettings#b83ccb73: field notification_settings: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateScopeNotificationSettings) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateScopeNotificationSettings#b83ccb73 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateScopeNotificationSettings"); err != nil {
return fmt.Errorf("unable to decode updateScopeNotificationSettings#b83ccb73: %w", err)
}
case "scope":
value, err := DecodeTDLibJSONNotificationSettingsScope(b)
if err != nil {
return fmt.Errorf("unable to decode updateScopeNotificationSettings#b83ccb73: field scope: %w", err)
}
u.Scope = value
case "notification_settings":
if err := u.NotificationSettings.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateScopeNotificationSettings#b83ccb73: field notification_settings: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetScope returns value of Scope field.
func (u *UpdateScopeNotificationSettings) GetScope() (value NotificationSettingsScopeClass) {
if u == nil {
return
}
return u.Scope
}
// GetNotificationSettings returns value of NotificationSettings field.
func (u *UpdateScopeNotificationSettings) GetNotificationSettings() (value ScopeNotificationSettings) {
if u == nil {
return
}
return u.NotificationSettings
}
// UpdateReactionNotificationSettings represents TL type `updateReactionNotificationSettings#e54d17ec`.
type UpdateReactionNotificationSettings struct {
// The new notification settings
NotificationSettings ReactionNotificationSettings
}
// UpdateReactionNotificationSettingsTypeID is TL type id of UpdateReactionNotificationSettings.
const UpdateReactionNotificationSettingsTypeID = 0xe54d17ec
// construct implements constructor of UpdateClass.
func (u UpdateReactionNotificationSettings) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateReactionNotificationSettings.
var (
_ bin.Encoder = &UpdateReactionNotificationSettings{}
_ bin.Decoder = &UpdateReactionNotificationSettings{}
_ bin.BareEncoder = &UpdateReactionNotificationSettings{}
_ bin.BareDecoder = &UpdateReactionNotificationSettings{}
_ UpdateClass = &UpdateReactionNotificationSettings{}
)
func (u *UpdateReactionNotificationSettings) Zero() bool {
if u == nil {
return true
}
if !(u.NotificationSettings.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateReactionNotificationSettings) String() string {
if u == nil {
return "UpdateReactionNotificationSettings(nil)"
}
type Alias UpdateReactionNotificationSettings
return fmt.Sprintf("UpdateReactionNotificationSettings%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateReactionNotificationSettings) TypeID() uint32 {
return UpdateReactionNotificationSettingsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateReactionNotificationSettings) TypeName() string {
return "updateReactionNotificationSettings"
}
// TypeInfo returns info about TL type.
func (u *UpdateReactionNotificationSettings) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateReactionNotificationSettings",
ID: UpdateReactionNotificationSettingsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "NotificationSettings",
SchemaName: "notification_settings",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateReactionNotificationSettings) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReactionNotificationSettings#e54d17ec as nil")
}
b.PutID(UpdateReactionNotificationSettingsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateReactionNotificationSettings) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReactionNotificationSettings#e54d17ec as nil")
}
if err := u.NotificationSettings.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateReactionNotificationSettings#e54d17ec: field notification_settings: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateReactionNotificationSettings) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReactionNotificationSettings#e54d17ec to nil")
}
if err := b.ConsumeID(UpdateReactionNotificationSettingsTypeID); err != nil {
return fmt.Errorf("unable to decode updateReactionNotificationSettings#e54d17ec: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateReactionNotificationSettings) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReactionNotificationSettings#e54d17ec to nil")
}
{
if err := u.NotificationSettings.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateReactionNotificationSettings#e54d17ec: field notification_settings: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateReactionNotificationSettings) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateReactionNotificationSettings#e54d17ec as nil")
}
b.ObjStart()
b.PutID("updateReactionNotificationSettings")
b.Comma()
b.FieldStart("notification_settings")
if err := u.NotificationSettings.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateReactionNotificationSettings#e54d17ec: field notification_settings: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateReactionNotificationSettings) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateReactionNotificationSettings#e54d17ec to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateReactionNotificationSettings"); err != nil {
return fmt.Errorf("unable to decode updateReactionNotificationSettings#e54d17ec: %w", err)
}
case "notification_settings":
if err := u.NotificationSettings.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateReactionNotificationSettings#e54d17ec: field notification_settings: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetNotificationSettings returns value of NotificationSettings field.
func (u *UpdateReactionNotificationSettings) GetNotificationSettings() (value ReactionNotificationSettings) {
if u == nil {
return
}
return u.NotificationSettings
}
// UpdateNotification represents TL type `updateNotification#8ee67ed4`.
type UpdateNotification struct {
// Unique notification group identifier
NotificationGroupID int32
// Changed notification
Notification Notification
}
// UpdateNotificationTypeID is TL type id of UpdateNotification.
const UpdateNotificationTypeID = 0x8ee67ed4
// construct implements constructor of UpdateClass.
func (u UpdateNotification) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNotification.
var (
_ bin.Encoder = &UpdateNotification{}
_ bin.Decoder = &UpdateNotification{}
_ bin.BareEncoder = &UpdateNotification{}
_ bin.BareDecoder = &UpdateNotification{}
_ UpdateClass = &UpdateNotification{}
)
func (u *UpdateNotification) Zero() bool {
if u == nil {
return true
}
if !(u.NotificationGroupID == 0) {
return false
}
if !(u.Notification.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNotification) String() string {
if u == nil {
return "UpdateNotification(nil)"
}
type Alias UpdateNotification
return fmt.Sprintf("UpdateNotification%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNotification) TypeID() uint32 {
return UpdateNotificationTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNotification) TypeName() string {
return "updateNotification"
}
// TypeInfo returns info about TL type.
func (u *UpdateNotification) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNotification",
ID: UpdateNotificationTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "NotificationGroupID",
SchemaName: "notification_group_id",
},
{
Name: "Notification",
SchemaName: "notification",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNotification) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNotification#8ee67ed4 as nil")
}
b.PutID(UpdateNotificationTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNotification) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNotification#8ee67ed4 as nil")
}
b.PutInt32(u.NotificationGroupID)
if err := u.Notification.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNotification#8ee67ed4: field notification: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNotification) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNotification#8ee67ed4 to nil")
}
if err := b.ConsumeID(UpdateNotificationTypeID); err != nil {
return fmt.Errorf("unable to decode updateNotification#8ee67ed4: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNotification) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNotification#8ee67ed4 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNotification#8ee67ed4: field notification_group_id: %w", err)
}
u.NotificationGroupID = value
}
{
if err := u.Notification.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNotification#8ee67ed4: field notification: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNotification) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNotification#8ee67ed4 as nil")
}
b.ObjStart()
b.PutID("updateNotification")
b.Comma()
b.FieldStart("notification_group_id")
b.PutInt32(u.NotificationGroupID)
b.Comma()
b.FieldStart("notification")
if err := u.Notification.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNotification#8ee67ed4: field notification: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNotification) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNotification#8ee67ed4 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNotification"); err != nil {
return fmt.Errorf("unable to decode updateNotification#8ee67ed4: %w", err)
}
case "notification_group_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNotification#8ee67ed4: field notification_group_id: %w", err)
}
u.NotificationGroupID = value
case "notification":
if err := u.Notification.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNotification#8ee67ed4: field notification: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetNotificationGroupID returns value of NotificationGroupID field.
func (u *UpdateNotification) GetNotificationGroupID() (value int32) {
if u == nil {
return
}
return u.NotificationGroupID
}
// GetNotification returns value of Notification field.
func (u *UpdateNotification) GetNotification() (value Notification) {
if u == nil {
return
}
return u.Notification
}
// UpdateNotificationGroup represents TL type `updateNotificationGroup#96cd9e06`.
type UpdateNotificationGroup struct {
// Unique notification group identifier
NotificationGroupID int32
// New type of the notification group
Type NotificationGroupTypeClass
// Identifier of a chat to which all notifications in the group belong
ChatID int64
// Chat identifier, which notification settings must be applied to the added
// notifications
NotificationSettingsChatID int64
// Identifier of the notification sound to be played; 0 if sound is disabled
NotificationSoundID int64
// Total number of unread notifications in the group, can be bigger than number of active
// notifications
TotalCount int32
// List of added group notifications, sorted by notification identifier
AddedNotifications []Notification
// Identifiers of removed group notifications, sorted by notification identifier
RemovedNotificationIDs []int32
}
// UpdateNotificationGroupTypeID is TL type id of UpdateNotificationGroup.
const UpdateNotificationGroupTypeID = 0x96cd9e06
// construct implements constructor of UpdateClass.
func (u UpdateNotificationGroup) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNotificationGroup.
var (
_ bin.Encoder = &UpdateNotificationGroup{}
_ bin.Decoder = &UpdateNotificationGroup{}
_ bin.BareEncoder = &UpdateNotificationGroup{}
_ bin.BareDecoder = &UpdateNotificationGroup{}
_ UpdateClass = &UpdateNotificationGroup{}
)
func (u *UpdateNotificationGroup) Zero() bool {
if u == nil {
return true
}
if !(u.NotificationGroupID == 0) {
return false
}
if !(u.Type == nil) {
return false
}
if !(u.ChatID == 0) {
return false
}
if !(u.NotificationSettingsChatID == 0) {
return false
}
if !(u.NotificationSoundID == 0) {
return false
}
if !(u.TotalCount == 0) {
return false
}
if !(u.AddedNotifications == nil) {
return false
}
if !(u.RemovedNotificationIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNotificationGroup) String() string {
if u == nil {
return "UpdateNotificationGroup(nil)"
}
type Alias UpdateNotificationGroup
return fmt.Sprintf("UpdateNotificationGroup%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNotificationGroup) TypeID() uint32 {
return UpdateNotificationGroupTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNotificationGroup) TypeName() string {
return "updateNotificationGroup"
}
// TypeInfo returns info about TL type.
func (u *UpdateNotificationGroup) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNotificationGroup",
ID: UpdateNotificationGroupTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "NotificationGroupID",
SchemaName: "notification_group_id",
},
{
Name: "Type",
SchemaName: "type",
},
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "NotificationSettingsChatID",
SchemaName: "notification_settings_chat_id",
},
{
Name: "NotificationSoundID",
SchemaName: "notification_sound_id",
},
{
Name: "TotalCount",
SchemaName: "total_count",
},
{
Name: "AddedNotifications",
SchemaName: "added_notifications",
},
{
Name: "RemovedNotificationIDs",
SchemaName: "removed_notification_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNotificationGroup) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNotificationGroup#96cd9e06 as nil")
}
b.PutID(UpdateNotificationGroupTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNotificationGroup) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNotificationGroup#96cd9e06 as nil")
}
b.PutInt32(u.NotificationGroupID)
if u.Type == nil {
return fmt.Errorf("unable to encode updateNotificationGroup#96cd9e06: field type is nil")
}
if err := u.Type.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNotificationGroup#96cd9e06: field type: %w", err)
}
b.PutInt53(u.ChatID)
b.PutInt53(u.NotificationSettingsChatID)
b.PutLong(u.NotificationSoundID)
b.PutInt32(u.TotalCount)
b.PutInt(len(u.AddedNotifications))
for idx, v := range u.AddedNotifications {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateNotificationGroup#96cd9e06: field added_notifications element with index %d: %w", idx, err)
}
}
b.PutInt(len(u.RemovedNotificationIDs))
for _, v := range u.RemovedNotificationIDs {
b.PutInt32(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNotificationGroup) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNotificationGroup#96cd9e06 to nil")
}
if err := b.ConsumeID(UpdateNotificationGroupTypeID); err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNotificationGroup) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNotificationGroup#96cd9e06 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field notification_group_id: %w", err)
}
u.NotificationGroupID = value
}
{
value, err := DecodeNotificationGroupType(b)
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field type: %w", err)
}
u.Type = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field notification_settings_chat_id: %w", err)
}
u.NotificationSettingsChatID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field notification_sound_id: %w", err)
}
u.NotificationSoundID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field total_count: %w", err)
}
u.TotalCount = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field added_notifications: %w", err)
}
if headerLen > 0 {
u.AddedNotifications = make([]Notification, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value Notification
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateNotificationGroup#96cd9e06: field added_notifications: %w", err)
}
u.AddedNotifications = append(u.AddedNotifications, value)
}
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field removed_notification_ids: %w", err)
}
if headerLen > 0 {
u.RemovedNotificationIDs = make([]int32, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field removed_notification_ids: %w", err)
}
u.RemovedNotificationIDs = append(u.RemovedNotificationIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNotificationGroup) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNotificationGroup#96cd9e06 as nil")
}
b.ObjStart()
b.PutID("updateNotificationGroup")
b.Comma()
b.FieldStart("notification_group_id")
b.PutInt32(u.NotificationGroupID)
b.Comma()
b.FieldStart("type")
if u.Type == nil {
return fmt.Errorf("unable to encode updateNotificationGroup#96cd9e06: field type is nil")
}
if err := u.Type.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNotificationGroup#96cd9e06: field type: %w", err)
}
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("notification_settings_chat_id")
b.PutInt53(u.NotificationSettingsChatID)
b.Comma()
b.FieldStart("notification_sound_id")
b.PutLong(u.NotificationSoundID)
b.Comma()
b.FieldStart("total_count")
b.PutInt32(u.TotalCount)
b.Comma()
b.FieldStart("added_notifications")
b.ArrStart()
for idx, v := range u.AddedNotifications {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNotificationGroup#96cd9e06: field added_notifications element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("removed_notification_ids")
b.ArrStart()
for _, v := range u.RemovedNotificationIDs {
b.PutInt32(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNotificationGroup) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNotificationGroup#96cd9e06 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNotificationGroup"); err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: %w", err)
}
case "notification_group_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field notification_group_id: %w", err)
}
u.NotificationGroupID = value
case "type":
value, err := DecodeTDLibJSONNotificationGroupType(b)
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field type: %w", err)
}
u.Type = value
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field chat_id: %w", err)
}
u.ChatID = value
case "notification_settings_chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field notification_settings_chat_id: %w", err)
}
u.NotificationSettingsChatID = value
case "notification_sound_id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field notification_sound_id: %w", err)
}
u.NotificationSoundID = value
case "total_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field total_count: %w", err)
}
u.TotalCount = value
case "added_notifications":
if err := b.Arr(func(b tdjson.Decoder) error {
var value Notification
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field added_notifications: %w", err)
}
u.AddedNotifications = append(u.AddedNotifications, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field added_notifications: %w", err)
}
case "removed_notification_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field removed_notification_ids: %w", err)
}
u.RemovedNotificationIDs = append(u.RemovedNotificationIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateNotificationGroup#96cd9e06: field removed_notification_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetNotificationGroupID returns value of NotificationGroupID field.
func (u *UpdateNotificationGroup) GetNotificationGroupID() (value int32) {
if u == nil {
return
}
return u.NotificationGroupID
}
// GetType returns value of Type field.
func (u *UpdateNotificationGroup) GetType() (value NotificationGroupTypeClass) {
if u == nil {
return
}
return u.Type
}
// GetChatID returns value of ChatID field.
func (u *UpdateNotificationGroup) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetNotificationSettingsChatID returns value of NotificationSettingsChatID field.
func (u *UpdateNotificationGroup) GetNotificationSettingsChatID() (value int64) {
if u == nil {
return
}
return u.NotificationSettingsChatID
}
// GetNotificationSoundID returns value of NotificationSoundID field.
func (u *UpdateNotificationGroup) GetNotificationSoundID() (value int64) {
if u == nil {
return
}
return u.NotificationSoundID
}
// GetTotalCount returns value of TotalCount field.
func (u *UpdateNotificationGroup) GetTotalCount() (value int32) {
if u == nil {
return
}
return u.TotalCount
}
// GetAddedNotifications returns value of AddedNotifications field.
func (u *UpdateNotificationGroup) GetAddedNotifications() (value []Notification) {
if u == nil {
return
}
return u.AddedNotifications
}
// GetRemovedNotificationIDs returns value of RemovedNotificationIDs field.
func (u *UpdateNotificationGroup) GetRemovedNotificationIDs() (value []int32) {
if u == nil {
return
}
return u.RemovedNotificationIDs
}
// UpdateActiveNotifications represents TL type `updateActiveNotifications#317d80f2`.
type UpdateActiveNotifications struct {
// Lists of active notification groups
Groups []NotificationGroup
}
// UpdateActiveNotificationsTypeID is TL type id of UpdateActiveNotifications.
const UpdateActiveNotificationsTypeID = 0x317d80f2
// construct implements constructor of UpdateClass.
func (u UpdateActiveNotifications) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateActiveNotifications.
var (
_ bin.Encoder = &UpdateActiveNotifications{}
_ bin.Decoder = &UpdateActiveNotifications{}
_ bin.BareEncoder = &UpdateActiveNotifications{}
_ bin.BareDecoder = &UpdateActiveNotifications{}
_ UpdateClass = &UpdateActiveNotifications{}
)
func (u *UpdateActiveNotifications) Zero() bool {
if u == nil {
return true
}
if !(u.Groups == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateActiveNotifications) String() string {
if u == nil {
return "UpdateActiveNotifications(nil)"
}
type Alias UpdateActiveNotifications
return fmt.Sprintf("UpdateActiveNotifications%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateActiveNotifications) TypeID() uint32 {
return UpdateActiveNotificationsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateActiveNotifications) TypeName() string {
return "updateActiveNotifications"
}
// TypeInfo returns info about TL type.
func (u *UpdateActiveNotifications) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateActiveNotifications",
ID: UpdateActiveNotificationsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Groups",
SchemaName: "groups",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateActiveNotifications) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateActiveNotifications#317d80f2 as nil")
}
b.PutID(UpdateActiveNotificationsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateActiveNotifications) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateActiveNotifications#317d80f2 as nil")
}
b.PutInt(len(u.Groups))
for idx, v := range u.Groups {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateActiveNotifications#317d80f2: field groups element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateActiveNotifications) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateActiveNotifications#317d80f2 to nil")
}
if err := b.ConsumeID(UpdateActiveNotificationsTypeID); err != nil {
return fmt.Errorf("unable to decode updateActiveNotifications#317d80f2: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateActiveNotifications) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateActiveNotifications#317d80f2 to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateActiveNotifications#317d80f2: field groups: %w", err)
}
if headerLen > 0 {
u.Groups = make([]NotificationGroup, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value NotificationGroup
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateActiveNotifications#317d80f2: field groups: %w", err)
}
u.Groups = append(u.Groups, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateActiveNotifications) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateActiveNotifications#317d80f2 as nil")
}
b.ObjStart()
b.PutID("updateActiveNotifications")
b.Comma()
b.FieldStart("groups")
b.ArrStart()
for idx, v := range u.Groups {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateActiveNotifications#317d80f2: field groups 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 (u *UpdateActiveNotifications) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateActiveNotifications#317d80f2 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateActiveNotifications"); err != nil {
return fmt.Errorf("unable to decode updateActiveNotifications#317d80f2: %w", err)
}
case "groups":
if err := b.Arr(func(b tdjson.Decoder) error {
var value NotificationGroup
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateActiveNotifications#317d80f2: field groups: %w", err)
}
u.Groups = append(u.Groups, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateActiveNotifications#317d80f2: field groups: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetGroups returns value of Groups field.
func (u *UpdateActiveNotifications) GetGroups() (value []NotificationGroup) {
if u == nil {
return
}
return u.Groups
}
// UpdateHavePendingNotifications represents TL type `updateHavePendingNotifications#aaee1db`.
type UpdateHavePendingNotifications struct {
// True, if there are some delayed notification updates, which will be sent soon
HaveDelayedNotifications bool
// True, if there can be some yet unreceived notifications, which are being fetched from
// the server
HaveUnreceivedNotifications bool
}
// UpdateHavePendingNotificationsTypeID is TL type id of UpdateHavePendingNotifications.
const UpdateHavePendingNotificationsTypeID = 0xaaee1db
// construct implements constructor of UpdateClass.
func (u UpdateHavePendingNotifications) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateHavePendingNotifications.
var (
_ bin.Encoder = &UpdateHavePendingNotifications{}
_ bin.Decoder = &UpdateHavePendingNotifications{}
_ bin.BareEncoder = &UpdateHavePendingNotifications{}
_ bin.BareDecoder = &UpdateHavePendingNotifications{}
_ UpdateClass = &UpdateHavePendingNotifications{}
)
func (u *UpdateHavePendingNotifications) Zero() bool {
if u == nil {
return true
}
if !(u.HaveDelayedNotifications == false) {
return false
}
if !(u.HaveUnreceivedNotifications == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateHavePendingNotifications) String() string {
if u == nil {
return "UpdateHavePendingNotifications(nil)"
}
type Alias UpdateHavePendingNotifications
return fmt.Sprintf("UpdateHavePendingNotifications%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateHavePendingNotifications) TypeID() uint32 {
return UpdateHavePendingNotificationsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateHavePendingNotifications) TypeName() string {
return "updateHavePendingNotifications"
}
// TypeInfo returns info about TL type.
func (u *UpdateHavePendingNotifications) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateHavePendingNotifications",
ID: UpdateHavePendingNotificationsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "HaveDelayedNotifications",
SchemaName: "have_delayed_notifications",
},
{
Name: "HaveUnreceivedNotifications",
SchemaName: "have_unreceived_notifications",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateHavePendingNotifications) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateHavePendingNotifications#aaee1db as nil")
}
b.PutID(UpdateHavePendingNotificationsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateHavePendingNotifications) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateHavePendingNotifications#aaee1db as nil")
}
b.PutBool(u.HaveDelayedNotifications)
b.PutBool(u.HaveUnreceivedNotifications)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateHavePendingNotifications) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateHavePendingNotifications#aaee1db to nil")
}
if err := b.ConsumeID(UpdateHavePendingNotificationsTypeID); err != nil {
return fmt.Errorf("unable to decode updateHavePendingNotifications#aaee1db: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateHavePendingNotifications) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateHavePendingNotifications#aaee1db to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateHavePendingNotifications#aaee1db: field have_delayed_notifications: %w", err)
}
u.HaveDelayedNotifications = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateHavePendingNotifications#aaee1db: field have_unreceived_notifications: %w", err)
}
u.HaveUnreceivedNotifications = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateHavePendingNotifications) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateHavePendingNotifications#aaee1db as nil")
}
b.ObjStart()
b.PutID("updateHavePendingNotifications")
b.Comma()
b.FieldStart("have_delayed_notifications")
b.PutBool(u.HaveDelayedNotifications)
b.Comma()
b.FieldStart("have_unreceived_notifications")
b.PutBool(u.HaveUnreceivedNotifications)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateHavePendingNotifications) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateHavePendingNotifications#aaee1db to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateHavePendingNotifications"); err != nil {
return fmt.Errorf("unable to decode updateHavePendingNotifications#aaee1db: %w", err)
}
case "have_delayed_notifications":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateHavePendingNotifications#aaee1db: field have_delayed_notifications: %w", err)
}
u.HaveDelayedNotifications = value
case "have_unreceived_notifications":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateHavePendingNotifications#aaee1db: field have_unreceived_notifications: %w", err)
}
u.HaveUnreceivedNotifications = value
default:
return b.Skip()
}
return nil
})
}
// GetHaveDelayedNotifications returns value of HaveDelayedNotifications field.
func (u *UpdateHavePendingNotifications) GetHaveDelayedNotifications() (value bool) {
if u == nil {
return
}
return u.HaveDelayedNotifications
}
// GetHaveUnreceivedNotifications returns value of HaveUnreceivedNotifications field.
func (u *UpdateHavePendingNotifications) GetHaveUnreceivedNotifications() (value bool) {
if u == nil {
return
}
return u.HaveUnreceivedNotifications
}
// UpdateDeleteMessages represents TL type `updateDeleteMessages#6a05bf9`.
type UpdateDeleteMessages struct {
// Chat identifier
ChatID int64
// Identifiers of the deleted messages
MessageIDs []int64
// True, if the messages are permanently deleted by a user (as opposed to just becoming
// inaccessible)
IsPermanent bool
// True, if the messages are deleted only from the cache and can possibly be retrieved
// again in the future
FromCache bool
}
// UpdateDeleteMessagesTypeID is TL type id of UpdateDeleteMessages.
const UpdateDeleteMessagesTypeID = 0x6a05bf9
// construct implements constructor of UpdateClass.
func (u UpdateDeleteMessages) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDeleteMessages.
var (
_ bin.Encoder = &UpdateDeleteMessages{}
_ bin.Decoder = &UpdateDeleteMessages{}
_ bin.BareEncoder = &UpdateDeleteMessages{}
_ bin.BareDecoder = &UpdateDeleteMessages{}
_ UpdateClass = &UpdateDeleteMessages{}
)
func (u *UpdateDeleteMessages) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageIDs == nil) {
return false
}
if !(u.IsPermanent == false) {
return false
}
if !(u.FromCache == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDeleteMessages) String() string {
if u == nil {
return "UpdateDeleteMessages(nil)"
}
type Alias UpdateDeleteMessages
return fmt.Sprintf("UpdateDeleteMessages%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDeleteMessages) TypeID() uint32 {
return UpdateDeleteMessagesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDeleteMessages) TypeName() string {
return "updateDeleteMessages"
}
// TypeInfo returns info about TL type.
func (u *UpdateDeleteMessages) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDeleteMessages",
ID: UpdateDeleteMessagesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageIDs",
SchemaName: "message_ids",
},
{
Name: "IsPermanent",
SchemaName: "is_permanent",
},
{
Name: "FromCache",
SchemaName: "from_cache",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDeleteMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDeleteMessages#6a05bf9 as nil")
}
b.PutID(UpdateDeleteMessagesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDeleteMessages) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDeleteMessages#6a05bf9 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt(len(u.MessageIDs))
for _, v := range u.MessageIDs {
b.PutInt53(v)
}
b.PutBool(u.IsPermanent)
b.PutBool(u.FromCache)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDeleteMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDeleteMessages#6a05bf9 to nil")
}
if err := b.ConsumeID(UpdateDeleteMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDeleteMessages) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDeleteMessages#6a05bf9 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: field chat_id: %w", err)
}
u.ChatID = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: field message_ids: %w", err)
}
if headerLen > 0 {
u.MessageIDs = 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 updateDeleteMessages#6a05bf9: field message_ids: %w", err)
}
u.MessageIDs = append(u.MessageIDs, value)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: field is_permanent: %w", err)
}
u.IsPermanent = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: field from_cache: %w", err)
}
u.FromCache = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateDeleteMessages) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateDeleteMessages#6a05bf9 as nil")
}
b.ObjStart()
b.PutID("updateDeleteMessages")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_ids")
b.ArrStart()
for _, v := range u.MessageIDs {
b.PutInt53(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("is_permanent")
b.PutBool(u.IsPermanent)
b.Comma()
b.FieldStart("from_cache")
b.PutBool(u.FromCache)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateDeleteMessages) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateDeleteMessages#6a05bf9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateDeleteMessages"); err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: field chat_id: %w", err)
}
u.ChatID = value
case "message_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: field message_ids: %w", err)
}
u.MessageIDs = append(u.MessageIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: field message_ids: %w", err)
}
case "is_permanent":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: field is_permanent: %w", err)
}
u.IsPermanent = value
case "from_cache":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#6a05bf9: field from_cache: %w", err)
}
u.FromCache = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateDeleteMessages) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageIDs returns value of MessageIDs field.
func (u *UpdateDeleteMessages) GetMessageIDs() (value []int64) {
if u == nil {
return
}
return u.MessageIDs
}
// GetIsPermanent returns value of IsPermanent field.
func (u *UpdateDeleteMessages) GetIsPermanent() (value bool) {
if u == nil {
return
}
return u.IsPermanent
}
// GetFromCache returns value of FromCache field.
func (u *UpdateDeleteMessages) GetFromCache() (value bool) {
if u == nil {
return
}
return u.FromCache
}
// UpdateChatAction represents TL type `updateChatAction#9abfd628`.
type UpdateChatAction struct {
// Chat identifier
ChatID int64
// If not 0, the message thread identifier in which the action was performed
MessageThreadID int64
// Identifier of a message sender performing the action
SenderID MessageSenderClass
// The action
Action ChatActionClass
}
// UpdateChatActionTypeID is TL type id of UpdateChatAction.
const UpdateChatActionTypeID = 0x9abfd628
// construct implements constructor of UpdateClass.
func (u UpdateChatAction) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatAction.
var (
_ bin.Encoder = &UpdateChatAction{}
_ bin.Decoder = &UpdateChatAction{}
_ bin.BareEncoder = &UpdateChatAction{}
_ bin.BareDecoder = &UpdateChatAction{}
_ UpdateClass = &UpdateChatAction{}
)
func (u *UpdateChatAction) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageThreadID == 0) {
return false
}
if !(u.SenderID == nil) {
return false
}
if !(u.Action == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatAction) String() string {
if u == nil {
return "UpdateChatAction(nil)"
}
type Alias UpdateChatAction
return fmt.Sprintf("UpdateChatAction%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatAction) TypeID() uint32 {
return UpdateChatActionTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatAction) TypeName() string {
return "updateChatAction"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatAction) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatAction",
ID: UpdateChatActionTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageThreadID",
SchemaName: "message_thread_id",
},
{
Name: "SenderID",
SchemaName: "sender_id",
},
{
Name: "Action",
SchemaName: "action",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatAction) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAction#9abfd628 as nil")
}
b.PutID(UpdateChatActionTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatAction) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAction#9abfd628 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageThreadID)
if u.SenderID == nil {
return fmt.Errorf("unable to encode updateChatAction#9abfd628: field sender_id is nil")
}
if err := u.SenderID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatAction#9abfd628: field sender_id: %w", err)
}
if u.Action == nil {
return fmt.Errorf("unable to encode updateChatAction#9abfd628: field action is nil")
}
if err := u.Action.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatAction#9abfd628: field action: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatAction) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAction#9abfd628 to nil")
}
if err := b.ConsumeID(UpdateChatActionTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatAction) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAction#9abfd628 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: field message_thread_id: %w", err)
}
u.MessageThreadID = value
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: field sender_id: %w", err)
}
u.SenderID = value
}
{
value, err := DecodeChatAction(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: field action: %w", err)
}
u.Action = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatAction) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatAction#9abfd628 as nil")
}
b.ObjStart()
b.PutID("updateChatAction")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_thread_id")
b.PutInt53(u.MessageThreadID)
b.Comma()
b.FieldStart("sender_id")
if u.SenderID == nil {
return fmt.Errorf("unable to encode updateChatAction#9abfd628: field sender_id is nil")
}
if err := u.SenderID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatAction#9abfd628: field sender_id: %w", err)
}
b.Comma()
b.FieldStart("action")
if u.Action == nil {
return fmt.Errorf("unable to encode updateChatAction#9abfd628: field action is nil")
}
if err := u.Action.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatAction#9abfd628: field action: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatAction) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatAction#9abfd628 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatAction"); err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: field chat_id: %w", err)
}
u.ChatID = value
case "message_thread_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: field message_thread_id: %w", err)
}
u.MessageThreadID = value
case "sender_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: field sender_id: %w", err)
}
u.SenderID = value
case "action":
value, err := DecodeTDLibJSONChatAction(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatAction#9abfd628: field action: %w", err)
}
u.Action = value
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatAction) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageThreadID returns value of MessageThreadID field.
func (u *UpdateChatAction) GetMessageThreadID() (value int64) {
if u == nil {
return
}
return u.MessageThreadID
}
// GetSenderID returns value of SenderID field.
func (u *UpdateChatAction) GetSenderID() (value MessageSenderClass) {
if u == nil {
return
}
return u.SenderID
}
// GetAction returns value of Action field.
func (u *UpdateChatAction) GetAction() (value ChatActionClass) {
if u == nil {
return
}
return u.Action
}
// UpdateUserStatus represents TL type `updateUserStatus#39211211`.
type UpdateUserStatus struct {
// User identifier
UserID int64
// New status of the user
Status UserStatusClass
}
// UpdateUserStatusTypeID is TL type id of UpdateUserStatus.
const UpdateUserStatusTypeID = 0x39211211
// construct implements constructor of UpdateClass.
func (u UpdateUserStatus) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUserStatus.
var (
_ bin.Encoder = &UpdateUserStatus{}
_ bin.Decoder = &UpdateUserStatus{}
_ bin.BareEncoder = &UpdateUserStatus{}
_ bin.BareDecoder = &UpdateUserStatus{}
_ UpdateClass = &UpdateUserStatus{}
)
func (u *UpdateUserStatus) Zero() bool {
if u == nil {
return true
}
if !(u.UserID == 0) {
return false
}
if !(u.Status == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUserStatus) String() string {
if u == nil {
return "UpdateUserStatus(nil)"
}
type Alias UpdateUserStatus
return fmt.Sprintf("UpdateUserStatus%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUserStatus) TypeID() uint32 {
return UpdateUserStatusTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUserStatus) TypeName() string {
return "updateUserStatus"
}
// TypeInfo returns info about TL type.
func (u *UpdateUserStatus) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUserStatus",
ID: UpdateUserStatusTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Status",
SchemaName: "status",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUserStatus) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserStatus#39211211 as nil")
}
b.PutID(UpdateUserStatusTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUserStatus) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserStatus#39211211 as nil")
}
b.PutInt53(u.UserID)
if u.Status == nil {
return fmt.Errorf("unable to encode updateUserStatus#39211211: field status is nil")
}
if err := u.Status.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUserStatus#39211211: field status: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUserStatus) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserStatus#39211211 to nil")
}
if err := b.ConsumeID(UpdateUserStatusTypeID); err != nil {
return fmt.Errorf("unable to decode updateUserStatus#39211211: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUserStatus) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserStatus#39211211 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateUserStatus#39211211: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := DecodeUserStatus(b)
if err != nil {
return fmt.Errorf("unable to decode updateUserStatus#39211211: field status: %w", err)
}
u.Status = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateUserStatus) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateUserStatus#39211211 as nil")
}
b.ObjStart()
b.PutID("updateUserStatus")
b.Comma()
b.FieldStart("user_id")
b.PutInt53(u.UserID)
b.Comma()
b.FieldStart("status")
if u.Status == nil {
return fmt.Errorf("unable to encode updateUserStatus#39211211: field status is nil")
}
if err := u.Status.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateUserStatus#39211211: field status: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateUserStatus) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateUserStatus#39211211 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateUserStatus"); err != nil {
return fmt.Errorf("unable to decode updateUserStatus#39211211: %w", err)
}
case "user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateUserStatus#39211211: field user_id: %w", err)
}
u.UserID = value
case "status":
value, err := DecodeTDLibJSONUserStatus(b)
if err != nil {
return fmt.Errorf("unable to decode updateUserStatus#39211211: field status: %w", err)
}
u.Status = value
default:
return b.Skip()
}
return nil
})
}
// GetUserID returns value of UserID field.
func (u *UpdateUserStatus) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetStatus returns value of Status field.
func (u *UpdateUserStatus) GetStatus() (value UserStatusClass) {
if u == nil {
return
}
return u.Status
}
// UpdateUser represents TL type `updateUser#468928f9`.
type UpdateUser struct {
// New data about the user
User User
}
// UpdateUserTypeID is TL type id of UpdateUser.
const UpdateUserTypeID = 0x468928f9
// construct implements constructor of UpdateClass.
func (u UpdateUser) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUser.
var (
_ bin.Encoder = &UpdateUser{}
_ bin.Decoder = &UpdateUser{}
_ bin.BareEncoder = &UpdateUser{}
_ bin.BareDecoder = &UpdateUser{}
_ UpdateClass = &UpdateUser{}
)
func (u *UpdateUser) Zero() bool {
if u == nil {
return true
}
if !(u.User.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUser) String() string {
if u == nil {
return "UpdateUser(nil)"
}
type Alias UpdateUser
return fmt.Sprintf("UpdateUser%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUser) TypeID() uint32 {
return UpdateUserTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUser) TypeName() string {
return "updateUser"
}
// TypeInfo returns info about TL type.
func (u *UpdateUser) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUser",
ID: UpdateUserTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "User",
SchemaName: "user",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUser) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUser#468928f9 as nil")
}
b.PutID(UpdateUserTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUser) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUser#468928f9 as nil")
}
if err := u.User.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUser#468928f9: field user: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUser) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUser#468928f9 to nil")
}
if err := b.ConsumeID(UpdateUserTypeID); err != nil {
return fmt.Errorf("unable to decode updateUser#468928f9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUser) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUser#468928f9 to nil")
}
{
if err := u.User.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateUser#468928f9: field user: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateUser) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateUser#468928f9 as nil")
}
b.ObjStart()
b.PutID("updateUser")
b.Comma()
b.FieldStart("user")
if err := u.User.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateUser#468928f9: field user: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateUser) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateUser#468928f9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateUser"); err != nil {
return fmt.Errorf("unable to decode updateUser#468928f9: %w", err)
}
case "user":
if err := u.User.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateUser#468928f9: field user: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetUser returns value of User field.
func (u *UpdateUser) GetUser() (value User) {
if u == nil {
return
}
return u.User
}
// UpdateBasicGroup represents TL type `updateBasicGroup#c433c763`.
type UpdateBasicGroup struct {
// New data about the group
BasicGroup BasicGroup
}
// UpdateBasicGroupTypeID is TL type id of UpdateBasicGroup.
const UpdateBasicGroupTypeID = 0xc433c763
// construct implements constructor of UpdateClass.
func (u UpdateBasicGroup) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBasicGroup.
var (
_ bin.Encoder = &UpdateBasicGroup{}
_ bin.Decoder = &UpdateBasicGroup{}
_ bin.BareEncoder = &UpdateBasicGroup{}
_ bin.BareDecoder = &UpdateBasicGroup{}
_ UpdateClass = &UpdateBasicGroup{}
)
func (u *UpdateBasicGroup) Zero() bool {
if u == nil {
return true
}
if !(u.BasicGroup.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBasicGroup) String() string {
if u == nil {
return "UpdateBasicGroup(nil)"
}
type Alias UpdateBasicGroup
return fmt.Sprintf("UpdateBasicGroup%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBasicGroup) TypeID() uint32 {
return UpdateBasicGroupTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBasicGroup) TypeName() string {
return "updateBasicGroup"
}
// TypeInfo returns info about TL type.
func (u *UpdateBasicGroup) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBasicGroup",
ID: UpdateBasicGroupTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "BasicGroup",
SchemaName: "basic_group",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBasicGroup) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBasicGroup#c433c763 as nil")
}
b.PutID(UpdateBasicGroupTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBasicGroup) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBasicGroup#c433c763 as nil")
}
if err := u.BasicGroup.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBasicGroup#c433c763: field basic_group: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBasicGroup) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBasicGroup#c433c763 to nil")
}
if err := b.ConsumeID(UpdateBasicGroupTypeID); err != nil {
return fmt.Errorf("unable to decode updateBasicGroup#c433c763: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBasicGroup) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBasicGroup#c433c763 to nil")
}
{
if err := u.BasicGroup.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBasicGroup#c433c763: field basic_group: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateBasicGroup) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateBasicGroup#c433c763 as nil")
}
b.ObjStart()
b.PutID("updateBasicGroup")
b.Comma()
b.FieldStart("basic_group")
if err := u.BasicGroup.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateBasicGroup#c433c763: field basic_group: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateBasicGroup) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateBasicGroup#c433c763 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateBasicGroup"); err != nil {
return fmt.Errorf("unable to decode updateBasicGroup#c433c763: %w", err)
}
case "basic_group":
if err := u.BasicGroup.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateBasicGroup#c433c763: field basic_group: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetBasicGroup returns value of BasicGroup field.
func (u *UpdateBasicGroup) GetBasicGroup() (value BasicGroup) {
if u == nil {
return
}
return u.BasicGroup
}
// UpdateSupergroup represents TL type `updateSupergroup#fb6c6524`.
type UpdateSupergroup struct {
// New data about the supergroup
Supergroup Supergroup
}
// UpdateSupergroupTypeID is TL type id of UpdateSupergroup.
const UpdateSupergroupTypeID = 0xfb6c6524
// construct implements constructor of UpdateClass.
func (u UpdateSupergroup) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSupergroup.
var (
_ bin.Encoder = &UpdateSupergroup{}
_ bin.Decoder = &UpdateSupergroup{}
_ bin.BareEncoder = &UpdateSupergroup{}
_ bin.BareDecoder = &UpdateSupergroup{}
_ UpdateClass = &UpdateSupergroup{}
)
func (u *UpdateSupergroup) Zero() bool {
if u == nil {
return true
}
if !(u.Supergroup.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSupergroup) String() string {
if u == nil {
return "UpdateSupergroup(nil)"
}
type Alias UpdateSupergroup
return fmt.Sprintf("UpdateSupergroup%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSupergroup) TypeID() uint32 {
return UpdateSupergroupTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSupergroup) TypeName() string {
return "updateSupergroup"
}
// TypeInfo returns info about TL type.
func (u *UpdateSupergroup) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSupergroup",
ID: UpdateSupergroupTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Supergroup",
SchemaName: "supergroup",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSupergroup) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSupergroup#fb6c6524 as nil")
}
b.PutID(UpdateSupergroupTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSupergroup) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSupergroup#fb6c6524 as nil")
}
if err := u.Supergroup.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateSupergroup#fb6c6524: field supergroup: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSupergroup) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSupergroup#fb6c6524 to nil")
}
if err := b.ConsumeID(UpdateSupergroupTypeID); err != nil {
return fmt.Errorf("unable to decode updateSupergroup#fb6c6524: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSupergroup) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSupergroup#fb6c6524 to nil")
}
{
if err := u.Supergroup.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateSupergroup#fb6c6524: field supergroup: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSupergroup) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSupergroup#fb6c6524 as nil")
}
b.ObjStart()
b.PutID("updateSupergroup")
b.Comma()
b.FieldStart("supergroup")
if err := u.Supergroup.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateSupergroup#fb6c6524: field supergroup: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSupergroup) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSupergroup#fb6c6524 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSupergroup"); err != nil {
return fmt.Errorf("unable to decode updateSupergroup#fb6c6524: %w", err)
}
case "supergroup":
if err := u.Supergroup.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateSupergroup#fb6c6524: field supergroup: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetSupergroup returns value of Supergroup field.
func (u *UpdateSupergroup) GetSupergroup() (value Supergroup) {
if u == nil {
return
}
return u.Supergroup
}
// UpdateSecretChat represents TL type `updateSecretChat#9ca5132b`.
type UpdateSecretChat struct {
// New data about the secret chat
SecretChat SecretChat
}
// UpdateSecretChatTypeID is TL type id of UpdateSecretChat.
const UpdateSecretChatTypeID = 0x9ca5132b
// construct implements constructor of UpdateClass.
func (u UpdateSecretChat) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSecretChat.
var (
_ bin.Encoder = &UpdateSecretChat{}
_ bin.Decoder = &UpdateSecretChat{}
_ bin.BareEncoder = &UpdateSecretChat{}
_ bin.BareDecoder = &UpdateSecretChat{}
_ UpdateClass = &UpdateSecretChat{}
)
func (u *UpdateSecretChat) Zero() bool {
if u == nil {
return true
}
if !(u.SecretChat.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSecretChat) String() string {
if u == nil {
return "UpdateSecretChat(nil)"
}
type Alias UpdateSecretChat
return fmt.Sprintf("UpdateSecretChat%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSecretChat) TypeID() uint32 {
return UpdateSecretChatTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSecretChat) TypeName() string {
return "updateSecretChat"
}
// TypeInfo returns info about TL type.
func (u *UpdateSecretChat) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSecretChat",
ID: UpdateSecretChatTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "SecretChat",
SchemaName: "secret_chat",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSecretChat) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSecretChat#9ca5132b as nil")
}
b.PutID(UpdateSecretChatTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSecretChat) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSecretChat#9ca5132b as nil")
}
if err := u.SecretChat.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateSecretChat#9ca5132b: field secret_chat: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSecretChat) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSecretChat#9ca5132b to nil")
}
if err := b.ConsumeID(UpdateSecretChatTypeID); err != nil {
return fmt.Errorf("unable to decode updateSecretChat#9ca5132b: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSecretChat) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSecretChat#9ca5132b to nil")
}
{
if err := u.SecretChat.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateSecretChat#9ca5132b: field secret_chat: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSecretChat) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSecretChat#9ca5132b as nil")
}
b.ObjStart()
b.PutID("updateSecretChat")
b.Comma()
b.FieldStart("secret_chat")
if err := u.SecretChat.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateSecretChat#9ca5132b: field secret_chat: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSecretChat) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSecretChat#9ca5132b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSecretChat"); err != nil {
return fmt.Errorf("unable to decode updateSecretChat#9ca5132b: %w", err)
}
case "secret_chat":
if err := u.SecretChat.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateSecretChat#9ca5132b: field secret_chat: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetSecretChat returns value of SecretChat field.
func (u *UpdateSecretChat) GetSecretChat() (value SecretChat) {
if u == nil {
return
}
return u.SecretChat
}
// UpdateUserFullInfo represents TL type `updateUserFullInfo#fcf2cb17`.
type UpdateUserFullInfo struct {
// User identifier
UserID int64
// New full information about the user
UserFullInfo UserFullInfo
}
// UpdateUserFullInfoTypeID is TL type id of UpdateUserFullInfo.
const UpdateUserFullInfoTypeID = 0xfcf2cb17
// construct implements constructor of UpdateClass.
func (u UpdateUserFullInfo) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUserFullInfo.
var (
_ bin.Encoder = &UpdateUserFullInfo{}
_ bin.Decoder = &UpdateUserFullInfo{}
_ bin.BareEncoder = &UpdateUserFullInfo{}
_ bin.BareDecoder = &UpdateUserFullInfo{}
_ UpdateClass = &UpdateUserFullInfo{}
)
func (u *UpdateUserFullInfo) Zero() bool {
if u == nil {
return true
}
if !(u.UserID == 0) {
return false
}
if !(u.UserFullInfo.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUserFullInfo) String() string {
if u == nil {
return "UpdateUserFullInfo(nil)"
}
type Alias UpdateUserFullInfo
return fmt.Sprintf("UpdateUserFullInfo%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUserFullInfo) TypeID() uint32 {
return UpdateUserFullInfoTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUserFullInfo) TypeName() string {
return "updateUserFullInfo"
}
// TypeInfo returns info about TL type.
func (u *UpdateUserFullInfo) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUserFullInfo",
ID: UpdateUserFullInfoTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "UserFullInfo",
SchemaName: "user_full_info",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUserFullInfo) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserFullInfo#fcf2cb17 as nil")
}
b.PutID(UpdateUserFullInfoTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUserFullInfo) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserFullInfo#fcf2cb17 as nil")
}
b.PutInt53(u.UserID)
if err := u.UserFullInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUserFullInfo#fcf2cb17: field user_full_info: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUserFullInfo) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserFullInfo#fcf2cb17 to nil")
}
if err := b.ConsumeID(UpdateUserFullInfoTypeID); err != nil {
return fmt.Errorf("unable to decode updateUserFullInfo#fcf2cb17: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUserFullInfo) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserFullInfo#fcf2cb17 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateUserFullInfo#fcf2cb17: field user_id: %w", err)
}
u.UserID = value
}
{
if err := u.UserFullInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateUserFullInfo#fcf2cb17: field user_full_info: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateUserFullInfo) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateUserFullInfo#fcf2cb17 as nil")
}
b.ObjStart()
b.PutID("updateUserFullInfo")
b.Comma()
b.FieldStart("user_id")
b.PutInt53(u.UserID)
b.Comma()
b.FieldStart("user_full_info")
if err := u.UserFullInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateUserFullInfo#fcf2cb17: field user_full_info: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateUserFullInfo) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateUserFullInfo#fcf2cb17 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateUserFullInfo"); err != nil {
return fmt.Errorf("unable to decode updateUserFullInfo#fcf2cb17: %w", err)
}
case "user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateUserFullInfo#fcf2cb17: field user_id: %w", err)
}
u.UserID = value
case "user_full_info":
if err := u.UserFullInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateUserFullInfo#fcf2cb17: field user_full_info: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetUserID returns value of UserID field.
func (u *UpdateUserFullInfo) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetUserFullInfo returns value of UserFullInfo field.
func (u *UpdateUserFullInfo) GetUserFullInfo() (value UserFullInfo) {
if u == nil {
return
}
return u.UserFullInfo
}
// UpdateBasicGroupFullInfo represents TL type `updateBasicGroupFullInfo#52f66bbf`.
type UpdateBasicGroupFullInfo struct {
// Identifier of a basic group
BasicGroupID int64
// New full information about the group
BasicGroupFullInfo BasicGroupFullInfo
}
// UpdateBasicGroupFullInfoTypeID is TL type id of UpdateBasicGroupFullInfo.
const UpdateBasicGroupFullInfoTypeID = 0x52f66bbf
// construct implements constructor of UpdateClass.
func (u UpdateBasicGroupFullInfo) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBasicGroupFullInfo.
var (
_ bin.Encoder = &UpdateBasicGroupFullInfo{}
_ bin.Decoder = &UpdateBasicGroupFullInfo{}
_ bin.BareEncoder = &UpdateBasicGroupFullInfo{}
_ bin.BareDecoder = &UpdateBasicGroupFullInfo{}
_ UpdateClass = &UpdateBasicGroupFullInfo{}
)
func (u *UpdateBasicGroupFullInfo) Zero() bool {
if u == nil {
return true
}
if !(u.BasicGroupID == 0) {
return false
}
if !(u.BasicGroupFullInfo.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBasicGroupFullInfo) String() string {
if u == nil {
return "UpdateBasicGroupFullInfo(nil)"
}
type Alias UpdateBasicGroupFullInfo
return fmt.Sprintf("UpdateBasicGroupFullInfo%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBasicGroupFullInfo) TypeID() uint32 {
return UpdateBasicGroupFullInfoTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBasicGroupFullInfo) TypeName() string {
return "updateBasicGroupFullInfo"
}
// TypeInfo returns info about TL type.
func (u *UpdateBasicGroupFullInfo) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBasicGroupFullInfo",
ID: UpdateBasicGroupFullInfoTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "BasicGroupID",
SchemaName: "basic_group_id",
},
{
Name: "BasicGroupFullInfo",
SchemaName: "basic_group_full_info",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBasicGroupFullInfo) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBasicGroupFullInfo#52f66bbf as nil")
}
b.PutID(UpdateBasicGroupFullInfoTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBasicGroupFullInfo) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBasicGroupFullInfo#52f66bbf as nil")
}
b.PutInt53(u.BasicGroupID)
if err := u.BasicGroupFullInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBasicGroupFullInfo#52f66bbf: field basic_group_full_info: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBasicGroupFullInfo) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBasicGroupFullInfo#52f66bbf to nil")
}
if err := b.ConsumeID(UpdateBasicGroupFullInfoTypeID); err != nil {
return fmt.Errorf("unable to decode updateBasicGroupFullInfo#52f66bbf: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBasicGroupFullInfo) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBasicGroupFullInfo#52f66bbf to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateBasicGroupFullInfo#52f66bbf: field basic_group_id: %w", err)
}
u.BasicGroupID = value
}
{
if err := u.BasicGroupFullInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBasicGroupFullInfo#52f66bbf: field basic_group_full_info: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateBasicGroupFullInfo) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateBasicGroupFullInfo#52f66bbf as nil")
}
b.ObjStart()
b.PutID("updateBasicGroupFullInfo")
b.Comma()
b.FieldStart("basic_group_id")
b.PutInt53(u.BasicGroupID)
b.Comma()
b.FieldStart("basic_group_full_info")
if err := u.BasicGroupFullInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateBasicGroupFullInfo#52f66bbf: field basic_group_full_info: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateBasicGroupFullInfo) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateBasicGroupFullInfo#52f66bbf to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateBasicGroupFullInfo"); err != nil {
return fmt.Errorf("unable to decode updateBasicGroupFullInfo#52f66bbf: %w", err)
}
case "basic_group_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateBasicGroupFullInfo#52f66bbf: field basic_group_id: %w", err)
}
u.BasicGroupID = value
case "basic_group_full_info":
if err := u.BasicGroupFullInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateBasicGroupFullInfo#52f66bbf: field basic_group_full_info: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetBasicGroupID returns value of BasicGroupID field.
func (u *UpdateBasicGroupFullInfo) GetBasicGroupID() (value int64) {
if u == nil {
return
}
return u.BasicGroupID
}
// GetBasicGroupFullInfo returns value of BasicGroupFullInfo field.
func (u *UpdateBasicGroupFullInfo) GetBasicGroupFullInfo() (value BasicGroupFullInfo) {
if u == nil {
return
}
return u.BasicGroupFullInfo
}
// UpdateSupergroupFullInfo represents TL type `updateSupergroupFullInfo#19f5cd0e`.
type UpdateSupergroupFullInfo struct {
// Identifier of the supergroup or channel
SupergroupID int64
// New full information about the supergroup
SupergroupFullInfo SupergroupFullInfo
}
// UpdateSupergroupFullInfoTypeID is TL type id of UpdateSupergroupFullInfo.
const UpdateSupergroupFullInfoTypeID = 0x19f5cd0e
// construct implements constructor of UpdateClass.
func (u UpdateSupergroupFullInfo) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSupergroupFullInfo.
var (
_ bin.Encoder = &UpdateSupergroupFullInfo{}
_ bin.Decoder = &UpdateSupergroupFullInfo{}
_ bin.BareEncoder = &UpdateSupergroupFullInfo{}
_ bin.BareDecoder = &UpdateSupergroupFullInfo{}
_ UpdateClass = &UpdateSupergroupFullInfo{}
)
func (u *UpdateSupergroupFullInfo) Zero() bool {
if u == nil {
return true
}
if !(u.SupergroupID == 0) {
return false
}
if !(u.SupergroupFullInfo.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSupergroupFullInfo) String() string {
if u == nil {
return "UpdateSupergroupFullInfo(nil)"
}
type Alias UpdateSupergroupFullInfo
return fmt.Sprintf("UpdateSupergroupFullInfo%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSupergroupFullInfo) TypeID() uint32 {
return UpdateSupergroupFullInfoTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSupergroupFullInfo) TypeName() string {
return "updateSupergroupFullInfo"
}
// TypeInfo returns info about TL type.
func (u *UpdateSupergroupFullInfo) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSupergroupFullInfo",
ID: UpdateSupergroupFullInfoTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "SupergroupID",
SchemaName: "supergroup_id",
},
{
Name: "SupergroupFullInfo",
SchemaName: "supergroup_full_info",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSupergroupFullInfo) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSupergroupFullInfo#19f5cd0e as nil")
}
b.PutID(UpdateSupergroupFullInfoTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSupergroupFullInfo) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSupergroupFullInfo#19f5cd0e as nil")
}
b.PutInt53(u.SupergroupID)
if err := u.SupergroupFullInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateSupergroupFullInfo#19f5cd0e: field supergroup_full_info: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSupergroupFullInfo) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSupergroupFullInfo#19f5cd0e to nil")
}
if err := b.ConsumeID(UpdateSupergroupFullInfoTypeID); err != nil {
return fmt.Errorf("unable to decode updateSupergroupFullInfo#19f5cd0e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSupergroupFullInfo) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSupergroupFullInfo#19f5cd0e to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateSupergroupFullInfo#19f5cd0e: field supergroup_id: %w", err)
}
u.SupergroupID = value
}
{
if err := u.SupergroupFullInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateSupergroupFullInfo#19f5cd0e: field supergroup_full_info: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSupergroupFullInfo) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSupergroupFullInfo#19f5cd0e as nil")
}
b.ObjStart()
b.PutID("updateSupergroupFullInfo")
b.Comma()
b.FieldStart("supergroup_id")
b.PutInt53(u.SupergroupID)
b.Comma()
b.FieldStart("supergroup_full_info")
if err := u.SupergroupFullInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateSupergroupFullInfo#19f5cd0e: field supergroup_full_info: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSupergroupFullInfo) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSupergroupFullInfo#19f5cd0e to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSupergroupFullInfo"); err != nil {
return fmt.Errorf("unable to decode updateSupergroupFullInfo#19f5cd0e: %w", err)
}
case "supergroup_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateSupergroupFullInfo#19f5cd0e: field supergroup_id: %w", err)
}
u.SupergroupID = value
case "supergroup_full_info":
if err := u.SupergroupFullInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateSupergroupFullInfo#19f5cd0e: field supergroup_full_info: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetSupergroupID returns value of SupergroupID field.
func (u *UpdateSupergroupFullInfo) GetSupergroupID() (value int64) {
if u == nil {
return
}
return u.SupergroupID
}
// GetSupergroupFullInfo returns value of SupergroupFullInfo field.
func (u *UpdateSupergroupFullInfo) GetSupergroupFullInfo() (value SupergroupFullInfo) {
if u == nil {
return
}
return u.SupergroupFullInfo
}
// UpdateServiceNotification represents TL type `updateServiceNotification#4e9895ad`.
type UpdateServiceNotification struct {
// Notification type. If type begins with "AUTH_KEY_DROP_", then two buttons "Cancel" and
// "Log out" must be shown under notification; if user presses the second, all local data
// must be destroyed using Destroy method
Type string
// Notification content
Content MessageContentClass
}
// UpdateServiceNotificationTypeID is TL type id of UpdateServiceNotification.
const UpdateServiceNotificationTypeID = 0x4e9895ad
// construct implements constructor of UpdateClass.
func (u UpdateServiceNotification) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateServiceNotification.
var (
_ bin.Encoder = &UpdateServiceNotification{}
_ bin.Decoder = &UpdateServiceNotification{}
_ bin.BareEncoder = &UpdateServiceNotification{}
_ bin.BareDecoder = &UpdateServiceNotification{}
_ UpdateClass = &UpdateServiceNotification{}
)
func (u *UpdateServiceNotification) Zero() bool {
if u == nil {
return true
}
if !(u.Type == "") {
return false
}
if !(u.Content == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateServiceNotification) String() string {
if u == nil {
return "UpdateServiceNotification(nil)"
}
type Alias UpdateServiceNotification
return fmt.Sprintf("UpdateServiceNotification%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateServiceNotification) TypeID() uint32 {
return UpdateServiceNotificationTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateServiceNotification) TypeName() string {
return "updateServiceNotification"
}
// TypeInfo returns info about TL type.
func (u *UpdateServiceNotification) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateServiceNotification",
ID: UpdateServiceNotificationTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Type",
SchemaName: "type",
},
{
Name: "Content",
SchemaName: "content",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateServiceNotification) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateServiceNotification#4e9895ad as nil")
}
b.PutID(UpdateServiceNotificationTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateServiceNotification) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateServiceNotification#4e9895ad as nil")
}
b.PutString(u.Type)
if u.Content == nil {
return fmt.Errorf("unable to encode updateServiceNotification#4e9895ad: field content is nil")
}
if err := u.Content.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateServiceNotification#4e9895ad: field content: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateServiceNotification) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateServiceNotification#4e9895ad to nil")
}
if err := b.ConsumeID(UpdateServiceNotificationTypeID); err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#4e9895ad: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateServiceNotification) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateServiceNotification#4e9895ad to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#4e9895ad: field type: %w", err)
}
u.Type = value
}
{
value, err := DecodeMessageContent(b)
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#4e9895ad: field content: %w", err)
}
u.Content = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateServiceNotification) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateServiceNotification#4e9895ad as nil")
}
b.ObjStart()
b.PutID("updateServiceNotification")
b.Comma()
b.FieldStart("type")
b.PutString(u.Type)
b.Comma()
b.FieldStart("content")
if u.Content == nil {
return fmt.Errorf("unable to encode updateServiceNotification#4e9895ad: field content is nil")
}
if err := u.Content.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateServiceNotification#4e9895ad: field content: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateServiceNotification) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateServiceNotification#4e9895ad to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateServiceNotification"); err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#4e9895ad: %w", err)
}
case "type":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#4e9895ad: field type: %w", err)
}
u.Type = value
case "content":
value, err := DecodeTDLibJSONMessageContent(b)
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#4e9895ad: field content: %w", err)
}
u.Content = value
default:
return b.Skip()
}
return nil
})
}
// GetType returns value of Type field.
func (u *UpdateServiceNotification) GetType() (value string) {
if u == nil {
return
}
return u.Type
}
// GetContent returns value of Content field.
func (u *UpdateServiceNotification) GetContent() (value MessageContentClass) {
if u == nil {
return
}
return u.Content
}
// UpdateFile represents TL type `updateFile#6cd875f`.
type UpdateFile struct {
// New data about the file
File File
}
// UpdateFileTypeID is TL type id of UpdateFile.
const UpdateFileTypeID = 0x6cd875f
// construct implements constructor of UpdateClass.
func (u UpdateFile) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFile.
var (
_ bin.Encoder = &UpdateFile{}
_ bin.Decoder = &UpdateFile{}
_ bin.BareEncoder = &UpdateFile{}
_ bin.BareDecoder = &UpdateFile{}
_ UpdateClass = &UpdateFile{}
)
func (u *UpdateFile) Zero() bool {
if u == nil {
return true
}
if !(u.File.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFile) String() string {
if u == nil {
return "UpdateFile(nil)"
}
type Alias UpdateFile
return fmt.Sprintf("UpdateFile%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFile) TypeID() uint32 {
return UpdateFileTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFile) TypeName() string {
return "updateFile"
}
// TypeInfo returns info about TL type.
func (u *UpdateFile) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFile",
ID: UpdateFileTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "File",
SchemaName: "file",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFile) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFile#6cd875f as nil")
}
b.PutID(UpdateFileTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFile) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFile#6cd875f as nil")
}
if err := u.File.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateFile#6cd875f: field file: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFile) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFile#6cd875f to nil")
}
if err := b.ConsumeID(UpdateFileTypeID); err != nil {
return fmt.Errorf("unable to decode updateFile#6cd875f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFile) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFile#6cd875f to nil")
}
{
if err := u.File.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateFile#6cd875f: field file: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateFile) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateFile#6cd875f as nil")
}
b.ObjStart()
b.PutID("updateFile")
b.Comma()
b.FieldStart("file")
if err := u.File.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateFile#6cd875f: field file: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateFile) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateFile#6cd875f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateFile"); err != nil {
return fmt.Errorf("unable to decode updateFile#6cd875f: %w", err)
}
case "file":
if err := u.File.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateFile#6cd875f: field file: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetFile returns value of File field.
func (u *UpdateFile) GetFile() (value File) {
if u == nil {
return
}
return u.File
}
// UpdateFileGenerationStart represents TL type `updateFileGenerationStart#cec5eec`.
type UpdateFileGenerationStart struct {
// Unique identifier for the generation process
GenerationID int64
// The original path specified by the application in inputFileGenerated
OriginalPath string
// The path to a file that must be created and where the new file must be generated by
// the application.
DestinationPath string
// If the conversion is "#url#" than original_path contains an HTTP/HTTPS URL of a file
// that must be downloaded by the application.
Conversion string
}
// UpdateFileGenerationStartTypeID is TL type id of UpdateFileGenerationStart.
const UpdateFileGenerationStartTypeID = 0xcec5eec
// construct implements constructor of UpdateClass.
func (u UpdateFileGenerationStart) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFileGenerationStart.
var (
_ bin.Encoder = &UpdateFileGenerationStart{}
_ bin.Decoder = &UpdateFileGenerationStart{}
_ bin.BareEncoder = &UpdateFileGenerationStart{}
_ bin.BareDecoder = &UpdateFileGenerationStart{}
_ UpdateClass = &UpdateFileGenerationStart{}
)
func (u *UpdateFileGenerationStart) Zero() bool {
if u == nil {
return true
}
if !(u.GenerationID == 0) {
return false
}
if !(u.OriginalPath == "") {
return false
}
if !(u.DestinationPath == "") {
return false
}
if !(u.Conversion == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFileGenerationStart) String() string {
if u == nil {
return "UpdateFileGenerationStart(nil)"
}
type Alias UpdateFileGenerationStart
return fmt.Sprintf("UpdateFileGenerationStart%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFileGenerationStart) TypeID() uint32 {
return UpdateFileGenerationStartTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFileGenerationStart) TypeName() string {
return "updateFileGenerationStart"
}
// TypeInfo returns info about TL type.
func (u *UpdateFileGenerationStart) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFileGenerationStart",
ID: UpdateFileGenerationStartTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GenerationID",
SchemaName: "generation_id",
},
{
Name: "OriginalPath",
SchemaName: "original_path",
},
{
Name: "DestinationPath",
SchemaName: "destination_path",
},
{
Name: "Conversion",
SchemaName: "conversion",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFileGenerationStart) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileGenerationStart#cec5eec as nil")
}
b.PutID(UpdateFileGenerationStartTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFileGenerationStart) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileGenerationStart#cec5eec as nil")
}
b.PutLong(u.GenerationID)
b.PutString(u.OriginalPath)
b.PutString(u.DestinationPath)
b.PutString(u.Conversion)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFileGenerationStart) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileGenerationStart#cec5eec to nil")
}
if err := b.ConsumeID(UpdateFileGenerationStartTypeID); err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFileGenerationStart) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileGenerationStart#cec5eec to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: field generation_id: %w", err)
}
u.GenerationID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: field original_path: %w", err)
}
u.OriginalPath = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: field destination_path: %w", err)
}
u.DestinationPath = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: field conversion: %w", err)
}
u.Conversion = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateFileGenerationStart) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateFileGenerationStart#cec5eec as nil")
}
b.ObjStart()
b.PutID("updateFileGenerationStart")
b.Comma()
b.FieldStart("generation_id")
b.PutLong(u.GenerationID)
b.Comma()
b.FieldStart("original_path")
b.PutString(u.OriginalPath)
b.Comma()
b.FieldStart("destination_path")
b.PutString(u.DestinationPath)
b.Comma()
b.FieldStart("conversion")
b.PutString(u.Conversion)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateFileGenerationStart) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateFileGenerationStart#cec5eec to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateFileGenerationStart"); err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: %w", err)
}
case "generation_id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: field generation_id: %w", err)
}
u.GenerationID = value
case "original_path":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: field original_path: %w", err)
}
u.OriginalPath = value
case "destination_path":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: field destination_path: %w", err)
}
u.DestinationPath = value
case "conversion":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStart#cec5eec: field conversion: %w", err)
}
u.Conversion = value
default:
return b.Skip()
}
return nil
})
}
// GetGenerationID returns value of GenerationID field.
func (u *UpdateFileGenerationStart) GetGenerationID() (value int64) {
if u == nil {
return
}
return u.GenerationID
}
// GetOriginalPath returns value of OriginalPath field.
func (u *UpdateFileGenerationStart) GetOriginalPath() (value string) {
if u == nil {
return
}
return u.OriginalPath
}
// GetDestinationPath returns value of DestinationPath field.
func (u *UpdateFileGenerationStart) GetDestinationPath() (value string) {
if u == nil {
return
}
return u.DestinationPath
}
// GetConversion returns value of Conversion field.
func (u *UpdateFileGenerationStart) GetConversion() (value string) {
if u == nil {
return
}
return u.Conversion
}
// UpdateFileGenerationStop represents TL type `updateFileGenerationStop#8f14fdeb`.
type UpdateFileGenerationStop struct {
// Unique identifier for the generation process
GenerationID int64
}
// UpdateFileGenerationStopTypeID is TL type id of UpdateFileGenerationStop.
const UpdateFileGenerationStopTypeID = 0x8f14fdeb
// construct implements constructor of UpdateClass.
func (u UpdateFileGenerationStop) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFileGenerationStop.
var (
_ bin.Encoder = &UpdateFileGenerationStop{}
_ bin.Decoder = &UpdateFileGenerationStop{}
_ bin.BareEncoder = &UpdateFileGenerationStop{}
_ bin.BareDecoder = &UpdateFileGenerationStop{}
_ UpdateClass = &UpdateFileGenerationStop{}
)
func (u *UpdateFileGenerationStop) Zero() bool {
if u == nil {
return true
}
if !(u.GenerationID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFileGenerationStop) String() string {
if u == nil {
return "UpdateFileGenerationStop(nil)"
}
type Alias UpdateFileGenerationStop
return fmt.Sprintf("UpdateFileGenerationStop%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFileGenerationStop) TypeID() uint32 {
return UpdateFileGenerationStopTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFileGenerationStop) TypeName() string {
return "updateFileGenerationStop"
}
// TypeInfo returns info about TL type.
func (u *UpdateFileGenerationStop) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFileGenerationStop",
ID: UpdateFileGenerationStopTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GenerationID",
SchemaName: "generation_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFileGenerationStop) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileGenerationStop#8f14fdeb as nil")
}
b.PutID(UpdateFileGenerationStopTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFileGenerationStop) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileGenerationStop#8f14fdeb as nil")
}
b.PutLong(u.GenerationID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFileGenerationStop) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileGenerationStop#8f14fdeb to nil")
}
if err := b.ConsumeID(UpdateFileGenerationStopTypeID); err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStop#8f14fdeb: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFileGenerationStop) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileGenerationStop#8f14fdeb to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStop#8f14fdeb: field generation_id: %w", err)
}
u.GenerationID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateFileGenerationStop) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateFileGenerationStop#8f14fdeb as nil")
}
b.ObjStart()
b.PutID("updateFileGenerationStop")
b.Comma()
b.FieldStart("generation_id")
b.PutLong(u.GenerationID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateFileGenerationStop) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateFileGenerationStop#8f14fdeb to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateFileGenerationStop"); err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStop#8f14fdeb: %w", err)
}
case "generation_id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateFileGenerationStop#8f14fdeb: field generation_id: %w", err)
}
u.GenerationID = value
default:
return b.Skip()
}
return nil
})
}
// GetGenerationID returns value of GenerationID field.
func (u *UpdateFileGenerationStop) GetGenerationID() (value int64) {
if u == nil {
return
}
return u.GenerationID
}
// UpdateFileDownloads represents TL type `updateFileDownloads#e8cd12c7`.
type UpdateFileDownloads struct {
// Total size of files in the file download list, in bytes
TotalSize int64
// Total number of files in the file download list
TotalCount int32
// Total downloaded size of files in the file download list, in bytes
DownloadedSize int64
}
// UpdateFileDownloadsTypeID is TL type id of UpdateFileDownloads.
const UpdateFileDownloadsTypeID = 0xe8cd12c7
// construct implements constructor of UpdateClass.
func (u UpdateFileDownloads) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFileDownloads.
var (
_ bin.Encoder = &UpdateFileDownloads{}
_ bin.Decoder = &UpdateFileDownloads{}
_ bin.BareEncoder = &UpdateFileDownloads{}
_ bin.BareDecoder = &UpdateFileDownloads{}
_ UpdateClass = &UpdateFileDownloads{}
)
func (u *UpdateFileDownloads) Zero() bool {
if u == nil {
return true
}
if !(u.TotalSize == 0) {
return false
}
if !(u.TotalCount == 0) {
return false
}
if !(u.DownloadedSize == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFileDownloads) String() string {
if u == nil {
return "UpdateFileDownloads(nil)"
}
type Alias UpdateFileDownloads
return fmt.Sprintf("UpdateFileDownloads%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFileDownloads) TypeID() uint32 {
return UpdateFileDownloadsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFileDownloads) TypeName() string {
return "updateFileDownloads"
}
// TypeInfo returns info about TL type.
func (u *UpdateFileDownloads) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFileDownloads",
ID: UpdateFileDownloadsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "TotalSize",
SchemaName: "total_size",
},
{
Name: "TotalCount",
SchemaName: "total_count",
},
{
Name: "DownloadedSize",
SchemaName: "downloaded_size",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFileDownloads) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileDownloads#e8cd12c7 as nil")
}
b.PutID(UpdateFileDownloadsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFileDownloads) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileDownloads#e8cd12c7 as nil")
}
b.PutInt53(u.TotalSize)
b.PutInt32(u.TotalCount)
b.PutInt53(u.DownloadedSize)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFileDownloads) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileDownloads#e8cd12c7 to nil")
}
if err := b.ConsumeID(UpdateFileDownloadsTypeID); err != nil {
return fmt.Errorf("unable to decode updateFileDownloads#e8cd12c7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFileDownloads) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileDownloads#e8cd12c7 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownloads#e8cd12c7: field total_size: %w", err)
}
u.TotalSize = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownloads#e8cd12c7: field total_count: %w", err)
}
u.TotalCount = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownloads#e8cd12c7: field downloaded_size: %w", err)
}
u.DownloadedSize = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateFileDownloads) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateFileDownloads#e8cd12c7 as nil")
}
b.ObjStart()
b.PutID("updateFileDownloads")
b.Comma()
b.FieldStart("total_size")
b.PutInt53(u.TotalSize)
b.Comma()
b.FieldStart("total_count")
b.PutInt32(u.TotalCount)
b.Comma()
b.FieldStart("downloaded_size")
b.PutInt53(u.DownloadedSize)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateFileDownloads) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateFileDownloads#e8cd12c7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateFileDownloads"); err != nil {
return fmt.Errorf("unable to decode updateFileDownloads#e8cd12c7: %w", err)
}
case "total_size":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownloads#e8cd12c7: field total_size: %w", err)
}
u.TotalSize = value
case "total_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownloads#e8cd12c7: field total_count: %w", err)
}
u.TotalCount = value
case "downloaded_size":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownloads#e8cd12c7: field downloaded_size: %w", err)
}
u.DownloadedSize = value
default:
return b.Skip()
}
return nil
})
}
// GetTotalSize returns value of TotalSize field.
func (u *UpdateFileDownloads) GetTotalSize() (value int64) {
if u == nil {
return
}
return u.TotalSize
}
// GetTotalCount returns value of TotalCount field.
func (u *UpdateFileDownloads) GetTotalCount() (value int32) {
if u == nil {
return
}
return u.TotalCount
}
// GetDownloadedSize returns value of DownloadedSize field.
func (u *UpdateFileDownloads) GetDownloadedSize() (value int64) {
if u == nil {
return
}
return u.DownloadedSize
}
// UpdateFileAddedToDownloads represents TL type `updateFileAddedToDownloads#5ff5921a`.
type UpdateFileAddedToDownloads struct {
// The added file download
FileDownload FileDownload
// New number of being downloaded and recently downloaded files found
Counts DownloadedFileCounts
}
// UpdateFileAddedToDownloadsTypeID is TL type id of UpdateFileAddedToDownloads.
const UpdateFileAddedToDownloadsTypeID = 0x5ff5921a
// construct implements constructor of UpdateClass.
func (u UpdateFileAddedToDownloads) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFileAddedToDownloads.
var (
_ bin.Encoder = &UpdateFileAddedToDownloads{}
_ bin.Decoder = &UpdateFileAddedToDownloads{}
_ bin.BareEncoder = &UpdateFileAddedToDownloads{}
_ bin.BareDecoder = &UpdateFileAddedToDownloads{}
_ UpdateClass = &UpdateFileAddedToDownloads{}
)
func (u *UpdateFileAddedToDownloads) Zero() bool {
if u == nil {
return true
}
if !(u.FileDownload.Zero()) {
return false
}
if !(u.Counts.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFileAddedToDownloads) String() string {
if u == nil {
return "UpdateFileAddedToDownloads(nil)"
}
type Alias UpdateFileAddedToDownloads
return fmt.Sprintf("UpdateFileAddedToDownloads%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFileAddedToDownloads) TypeID() uint32 {
return UpdateFileAddedToDownloadsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFileAddedToDownloads) TypeName() string {
return "updateFileAddedToDownloads"
}
// TypeInfo returns info about TL type.
func (u *UpdateFileAddedToDownloads) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFileAddedToDownloads",
ID: UpdateFileAddedToDownloadsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "FileDownload",
SchemaName: "file_download",
},
{
Name: "Counts",
SchemaName: "counts",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFileAddedToDownloads) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileAddedToDownloads#5ff5921a as nil")
}
b.PutID(UpdateFileAddedToDownloadsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFileAddedToDownloads) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileAddedToDownloads#5ff5921a as nil")
}
if err := u.FileDownload.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateFileAddedToDownloads#5ff5921a: field file_download: %w", err)
}
if err := u.Counts.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateFileAddedToDownloads#5ff5921a: field counts: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFileAddedToDownloads) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileAddedToDownloads#5ff5921a to nil")
}
if err := b.ConsumeID(UpdateFileAddedToDownloadsTypeID); err != nil {
return fmt.Errorf("unable to decode updateFileAddedToDownloads#5ff5921a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFileAddedToDownloads) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileAddedToDownloads#5ff5921a to nil")
}
{
if err := u.FileDownload.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateFileAddedToDownloads#5ff5921a: field file_download: %w", err)
}
}
{
if err := u.Counts.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateFileAddedToDownloads#5ff5921a: field counts: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateFileAddedToDownloads) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateFileAddedToDownloads#5ff5921a as nil")
}
b.ObjStart()
b.PutID("updateFileAddedToDownloads")
b.Comma()
b.FieldStart("file_download")
if err := u.FileDownload.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateFileAddedToDownloads#5ff5921a: field file_download: %w", err)
}
b.Comma()
b.FieldStart("counts")
if err := u.Counts.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateFileAddedToDownloads#5ff5921a: field counts: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateFileAddedToDownloads) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateFileAddedToDownloads#5ff5921a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateFileAddedToDownloads"); err != nil {
return fmt.Errorf("unable to decode updateFileAddedToDownloads#5ff5921a: %w", err)
}
case "file_download":
if err := u.FileDownload.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateFileAddedToDownloads#5ff5921a: field file_download: %w", err)
}
case "counts":
if err := u.Counts.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateFileAddedToDownloads#5ff5921a: field counts: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetFileDownload returns value of FileDownload field.
func (u *UpdateFileAddedToDownloads) GetFileDownload() (value FileDownload) {
if u == nil {
return
}
return u.FileDownload
}
// GetCounts returns value of Counts field.
func (u *UpdateFileAddedToDownloads) GetCounts() (value DownloadedFileCounts) {
if u == nil {
return
}
return u.Counts
}
// UpdateFileDownload represents TL type `updateFileDownload#342f83ca`.
type UpdateFileDownload struct {
// File identifier
FileID int32
// Point in time (Unix timestamp) when the file downloading was completed; 0 if the file
// downloading isn't completed
CompleteDate int32
// True, if downloading of the file is paused
IsPaused bool
// New number of being downloaded and recently downloaded files found
Counts DownloadedFileCounts
}
// UpdateFileDownloadTypeID is TL type id of UpdateFileDownload.
const UpdateFileDownloadTypeID = 0x342f83ca
// construct implements constructor of UpdateClass.
func (u UpdateFileDownload) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFileDownload.
var (
_ bin.Encoder = &UpdateFileDownload{}
_ bin.Decoder = &UpdateFileDownload{}
_ bin.BareEncoder = &UpdateFileDownload{}
_ bin.BareDecoder = &UpdateFileDownload{}
_ UpdateClass = &UpdateFileDownload{}
)
func (u *UpdateFileDownload) Zero() bool {
if u == nil {
return true
}
if !(u.FileID == 0) {
return false
}
if !(u.CompleteDate == 0) {
return false
}
if !(u.IsPaused == false) {
return false
}
if !(u.Counts.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFileDownload) String() string {
if u == nil {
return "UpdateFileDownload(nil)"
}
type Alias UpdateFileDownload
return fmt.Sprintf("UpdateFileDownload%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFileDownload) TypeID() uint32 {
return UpdateFileDownloadTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFileDownload) TypeName() string {
return "updateFileDownload"
}
// TypeInfo returns info about TL type.
func (u *UpdateFileDownload) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFileDownload",
ID: UpdateFileDownloadTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "FileID",
SchemaName: "file_id",
},
{
Name: "CompleteDate",
SchemaName: "complete_date",
},
{
Name: "IsPaused",
SchemaName: "is_paused",
},
{
Name: "Counts",
SchemaName: "counts",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFileDownload) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileDownload#342f83ca as nil")
}
b.PutID(UpdateFileDownloadTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFileDownload) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileDownload#342f83ca as nil")
}
b.PutInt32(u.FileID)
b.PutInt32(u.CompleteDate)
b.PutBool(u.IsPaused)
if err := u.Counts.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateFileDownload#342f83ca: field counts: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFileDownload) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileDownload#342f83ca to nil")
}
if err := b.ConsumeID(UpdateFileDownloadTypeID); err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFileDownload) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileDownload#342f83ca to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: field file_id: %w", err)
}
u.FileID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: field complete_date: %w", err)
}
u.CompleteDate = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: field is_paused: %w", err)
}
u.IsPaused = value
}
{
if err := u.Counts.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: field counts: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateFileDownload) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateFileDownload#342f83ca as nil")
}
b.ObjStart()
b.PutID("updateFileDownload")
b.Comma()
b.FieldStart("file_id")
b.PutInt32(u.FileID)
b.Comma()
b.FieldStart("complete_date")
b.PutInt32(u.CompleteDate)
b.Comma()
b.FieldStart("is_paused")
b.PutBool(u.IsPaused)
b.Comma()
b.FieldStart("counts")
if err := u.Counts.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateFileDownload#342f83ca: field counts: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateFileDownload) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateFileDownload#342f83ca to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateFileDownload"); err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: %w", err)
}
case "file_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: field file_id: %w", err)
}
u.FileID = value
case "complete_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: field complete_date: %w", err)
}
u.CompleteDate = value
case "is_paused":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: field is_paused: %w", err)
}
u.IsPaused = value
case "counts":
if err := u.Counts.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateFileDownload#342f83ca: field counts: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetFileID returns value of FileID field.
func (u *UpdateFileDownload) GetFileID() (value int32) {
if u == nil {
return
}
return u.FileID
}
// GetCompleteDate returns value of CompleteDate field.
func (u *UpdateFileDownload) GetCompleteDate() (value int32) {
if u == nil {
return
}
return u.CompleteDate
}
// GetIsPaused returns value of IsPaused field.
func (u *UpdateFileDownload) GetIsPaused() (value bool) {
if u == nil {
return
}
return u.IsPaused
}
// GetCounts returns value of Counts field.
func (u *UpdateFileDownload) GetCounts() (value DownloadedFileCounts) {
if u == nil {
return
}
return u.Counts
}
// UpdateFileRemovedFromDownloads represents TL type `updateFileRemovedFromDownloads#6e7c14e8`.
type UpdateFileRemovedFromDownloads struct {
// File identifier
FileID int32
// New number of being downloaded and recently downloaded files found
Counts DownloadedFileCounts
}
// UpdateFileRemovedFromDownloadsTypeID is TL type id of UpdateFileRemovedFromDownloads.
const UpdateFileRemovedFromDownloadsTypeID = 0x6e7c14e8
// construct implements constructor of UpdateClass.
func (u UpdateFileRemovedFromDownloads) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFileRemovedFromDownloads.
var (
_ bin.Encoder = &UpdateFileRemovedFromDownloads{}
_ bin.Decoder = &UpdateFileRemovedFromDownloads{}
_ bin.BareEncoder = &UpdateFileRemovedFromDownloads{}
_ bin.BareDecoder = &UpdateFileRemovedFromDownloads{}
_ UpdateClass = &UpdateFileRemovedFromDownloads{}
)
func (u *UpdateFileRemovedFromDownloads) Zero() bool {
if u == nil {
return true
}
if !(u.FileID == 0) {
return false
}
if !(u.Counts.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFileRemovedFromDownloads) String() string {
if u == nil {
return "UpdateFileRemovedFromDownloads(nil)"
}
type Alias UpdateFileRemovedFromDownloads
return fmt.Sprintf("UpdateFileRemovedFromDownloads%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFileRemovedFromDownloads) TypeID() uint32 {
return UpdateFileRemovedFromDownloadsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFileRemovedFromDownloads) TypeName() string {
return "updateFileRemovedFromDownloads"
}
// TypeInfo returns info about TL type.
func (u *UpdateFileRemovedFromDownloads) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFileRemovedFromDownloads",
ID: UpdateFileRemovedFromDownloadsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "FileID",
SchemaName: "file_id",
},
{
Name: "Counts",
SchemaName: "counts",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFileRemovedFromDownloads) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileRemovedFromDownloads#6e7c14e8 as nil")
}
b.PutID(UpdateFileRemovedFromDownloadsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFileRemovedFromDownloads) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFileRemovedFromDownloads#6e7c14e8 as nil")
}
b.PutInt32(u.FileID)
if err := u.Counts.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateFileRemovedFromDownloads#6e7c14e8: field counts: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFileRemovedFromDownloads) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileRemovedFromDownloads#6e7c14e8 to nil")
}
if err := b.ConsumeID(UpdateFileRemovedFromDownloadsTypeID); err != nil {
return fmt.Errorf("unable to decode updateFileRemovedFromDownloads#6e7c14e8: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFileRemovedFromDownloads) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFileRemovedFromDownloads#6e7c14e8 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFileRemovedFromDownloads#6e7c14e8: field file_id: %w", err)
}
u.FileID = value
}
{
if err := u.Counts.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateFileRemovedFromDownloads#6e7c14e8: field counts: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateFileRemovedFromDownloads) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateFileRemovedFromDownloads#6e7c14e8 as nil")
}
b.ObjStart()
b.PutID("updateFileRemovedFromDownloads")
b.Comma()
b.FieldStart("file_id")
b.PutInt32(u.FileID)
b.Comma()
b.FieldStart("counts")
if err := u.Counts.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateFileRemovedFromDownloads#6e7c14e8: field counts: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateFileRemovedFromDownloads) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateFileRemovedFromDownloads#6e7c14e8 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateFileRemovedFromDownloads"); err != nil {
return fmt.Errorf("unable to decode updateFileRemovedFromDownloads#6e7c14e8: %w", err)
}
case "file_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFileRemovedFromDownloads#6e7c14e8: field file_id: %w", err)
}
u.FileID = value
case "counts":
if err := u.Counts.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateFileRemovedFromDownloads#6e7c14e8: field counts: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetFileID returns value of FileID field.
func (u *UpdateFileRemovedFromDownloads) GetFileID() (value int32) {
if u == nil {
return
}
return u.FileID
}
// GetCounts returns value of Counts field.
func (u *UpdateFileRemovedFromDownloads) GetCounts() (value DownloadedFileCounts) {
if u == nil {
return
}
return u.Counts
}
// UpdateApplicationVerificationRequired represents TL type `updateApplicationVerificationRequired#c59c61d7`.
type UpdateApplicationVerificationRequired struct {
// Unique identifier for the verification process
VerificationID int64
// Unique base64url-encoded nonce for the classic Play Integrity verification
// (https://developer.android.com/google/play/integrity/classic) for Android,
Nonce string
// Cloud project number to pass to the Play Integrity API on Android
CloudProjectNumber int64
}
// UpdateApplicationVerificationRequiredTypeID is TL type id of UpdateApplicationVerificationRequired.
const UpdateApplicationVerificationRequiredTypeID = 0xc59c61d7
// construct implements constructor of UpdateClass.
func (u UpdateApplicationVerificationRequired) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateApplicationVerificationRequired.
var (
_ bin.Encoder = &UpdateApplicationVerificationRequired{}
_ bin.Decoder = &UpdateApplicationVerificationRequired{}
_ bin.BareEncoder = &UpdateApplicationVerificationRequired{}
_ bin.BareDecoder = &UpdateApplicationVerificationRequired{}
_ UpdateClass = &UpdateApplicationVerificationRequired{}
)
func (u *UpdateApplicationVerificationRequired) Zero() bool {
if u == nil {
return true
}
if !(u.VerificationID == 0) {
return false
}
if !(u.Nonce == "") {
return false
}
if !(u.CloudProjectNumber == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateApplicationVerificationRequired) String() string {
if u == nil {
return "UpdateApplicationVerificationRequired(nil)"
}
type Alias UpdateApplicationVerificationRequired
return fmt.Sprintf("UpdateApplicationVerificationRequired%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateApplicationVerificationRequired) TypeID() uint32 {
return UpdateApplicationVerificationRequiredTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateApplicationVerificationRequired) TypeName() string {
return "updateApplicationVerificationRequired"
}
// TypeInfo returns info about TL type.
func (u *UpdateApplicationVerificationRequired) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateApplicationVerificationRequired",
ID: UpdateApplicationVerificationRequiredTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "VerificationID",
SchemaName: "verification_id",
},
{
Name: "Nonce",
SchemaName: "nonce",
},
{
Name: "CloudProjectNumber",
SchemaName: "cloud_project_number",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateApplicationVerificationRequired) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateApplicationVerificationRequired#c59c61d7 as nil")
}
b.PutID(UpdateApplicationVerificationRequiredTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateApplicationVerificationRequired) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateApplicationVerificationRequired#c59c61d7 as nil")
}
b.PutInt53(u.VerificationID)
b.PutString(u.Nonce)
b.PutLong(u.CloudProjectNumber)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateApplicationVerificationRequired) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateApplicationVerificationRequired#c59c61d7 to nil")
}
if err := b.ConsumeID(UpdateApplicationVerificationRequiredTypeID); err != nil {
return fmt.Errorf("unable to decode updateApplicationVerificationRequired#c59c61d7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateApplicationVerificationRequired) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateApplicationVerificationRequired#c59c61d7 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationVerificationRequired#c59c61d7: field verification_id: %w", err)
}
u.VerificationID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationVerificationRequired#c59c61d7: field nonce: %w", err)
}
u.Nonce = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationVerificationRequired#c59c61d7: field cloud_project_number: %w", err)
}
u.CloudProjectNumber = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateApplicationVerificationRequired) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateApplicationVerificationRequired#c59c61d7 as nil")
}
b.ObjStart()
b.PutID("updateApplicationVerificationRequired")
b.Comma()
b.FieldStart("verification_id")
b.PutInt53(u.VerificationID)
b.Comma()
b.FieldStart("nonce")
b.PutString(u.Nonce)
b.Comma()
b.FieldStart("cloud_project_number")
b.PutLong(u.CloudProjectNumber)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateApplicationVerificationRequired) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateApplicationVerificationRequired#c59c61d7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateApplicationVerificationRequired"); err != nil {
return fmt.Errorf("unable to decode updateApplicationVerificationRequired#c59c61d7: %w", err)
}
case "verification_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationVerificationRequired#c59c61d7: field verification_id: %w", err)
}
u.VerificationID = value
case "nonce":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationVerificationRequired#c59c61d7: field nonce: %w", err)
}
u.Nonce = value
case "cloud_project_number":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationVerificationRequired#c59c61d7: field cloud_project_number: %w", err)
}
u.CloudProjectNumber = value
default:
return b.Skip()
}
return nil
})
}
// GetVerificationID returns value of VerificationID field.
func (u *UpdateApplicationVerificationRequired) GetVerificationID() (value int64) {
if u == nil {
return
}
return u.VerificationID
}
// GetNonce returns value of Nonce field.
func (u *UpdateApplicationVerificationRequired) GetNonce() (value string) {
if u == nil {
return
}
return u.Nonce
}
// GetCloudProjectNumber returns value of CloudProjectNumber field.
func (u *UpdateApplicationVerificationRequired) GetCloudProjectNumber() (value int64) {
if u == nil {
return
}
return u.CloudProjectNumber
}
// UpdateApplicationRecaptchaVerificationRequired represents TL type `updateApplicationRecaptchaVerificationRequired#94edd9be`.
type UpdateApplicationRecaptchaVerificationRequired struct {
// Unique identifier for the verification process
VerificationID int64
// The action for the check
Action string
// Identifier of the reCAPTCHA key
RecaptchaKeyID string
}
// UpdateApplicationRecaptchaVerificationRequiredTypeID is TL type id of UpdateApplicationRecaptchaVerificationRequired.
const UpdateApplicationRecaptchaVerificationRequiredTypeID = 0x94edd9be
// construct implements constructor of UpdateClass.
func (u UpdateApplicationRecaptchaVerificationRequired) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateApplicationRecaptchaVerificationRequired.
var (
_ bin.Encoder = &UpdateApplicationRecaptchaVerificationRequired{}
_ bin.Decoder = &UpdateApplicationRecaptchaVerificationRequired{}
_ bin.BareEncoder = &UpdateApplicationRecaptchaVerificationRequired{}
_ bin.BareDecoder = &UpdateApplicationRecaptchaVerificationRequired{}
_ UpdateClass = &UpdateApplicationRecaptchaVerificationRequired{}
)
func (u *UpdateApplicationRecaptchaVerificationRequired) Zero() bool {
if u == nil {
return true
}
if !(u.VerificationID == 0) {
return false
}
if !(u.Action == "") {
return false
}
if !(u.RecaptchaKeyID == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateApplicationRecaptchaVerificationRequired) String() string {
if u == nil {
return "UpdateApplicationRecaptchaVerificationRequired(nil)"
}
type Alias UpdateApplicationRecaptchaVerificationRequired
return fmt.Sprintf("UpdateApplicationRecaptchaVerificationRequired%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateApplicationRecaptchaVerificationRequired) TypeID() uint32 {
return UpdateApplicationRecaptchaVerificationRequiredTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateApplicationRecaptchaVerificationRequired) TypeName() string {
return "updateApplicationRecaptchaVerificationRequired"
}
// TypeInfo returns info about TL type.
func (u *UpdateApplicationRecaptchaVerificationRequired) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateApplicationRecaptchaVerificationRequired",
ID: UpdateApplicationRecaptchaVerificationRequiredTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "VerificationID",
SchemaName: "verification_id",
},
{
Name: "Action",
SchemaName: "action",
},
{
Name: "RecaptchaKeyID",
SchemaName: "recaptcha_key_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateApplicationRecaptchaVerificationRequired) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateApplicationRecaptchaVerificationRequired#94edd9be as nil")
}
b.PutID(UpdateApplicationRecaptchaVerificationRequiredTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateApplicationRecaptchaVerificationRequired) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateApplicationRecaptchaVerificationRequired#94edd9be as nil")
}
b.PutInt53(u.VerificationID)
b.PutString(u.Action)
b.PutString(u.RecaptchaKeyID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateApplicationRecaptchaVerificationRequired) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateApplicationRecaptchaVerificationRequired#94edd9be to nil")
}
if err := b.ConsumeID(UpdateApplicationRecaptchaVerificationRequiredTypeID); err != nil {
return fmt.Errorf("unable to decode updateApplicationRecaptchaVerificationRequired#94edd9be: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateApplicationRecaptchaVerificationRequired) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateApplicationRecaptchaVerificationRequired#94edd9be to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationRecaptchaVerificationRequired#94edd9be: field verification_id: %w", err)
}
u.VerificationID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationRecaptchaVerificationRequired#94edd9be: field action: %w", err)
}
u.Action = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationRecaptchaVerificationRequired#94edd9be: field recaptcha_key_id: %w", err)
}
u.RecaptchaKeyID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateApplicationRecaptchaVerificationRequired) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateApplicationRecaptchaVerificationRequired#94edd9be as nil")
}
b.ObjStart()
b.PutID("updateApplicationRecaptchaVerificationRequired")
b.Comma()
b.FieldStart("verification_id")
b.PutInt53(u.VerificationID)
b.Comma()
b.FieldStart("action")
b.PutString(u.Action)
b.Comma()
b.FieldStart("recaptcha_key_id")
b.PutString(u.RecaptchaKeyID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateApplicationRecaptchaVerificationRequired) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateApplicationRecaptchaVerificationRequired#94edd9be to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateApplicationRecaptchaVerificationRequired"); err != nil {
return fmt.Errorf("unable to decode updateApplicationRecaptchaVerificationRequired#94edd9be: %w", err)
}
case "verification_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationRecaptchaVerificationRequired#94edd9be: field verification_id: %w", err)
}
u.VerificationID = value
case "action":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationRecaptchaVerificationRequired#94edd9be: field action: %w", err)
}
u.Action = value
case "recaptcha_key_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateApplicationRecaptchaVerificationRequired#94edd9be: field recaptcha_key_id: %w", err)
}
u.RecaptchaKeyID = value
default:
return b.Skip()
}
return nil
})
}
// GetVerificationID returns value of VerificationID field.
func (u *UpdateApplicationRecaptchaVerificationRequired) GetVerificationID() (value int64) {
if u == nil {
return
}
return u.VerificationID
}
// GetAction returns value of Action field.
func (u *UpdateApplicationRecaptchaVerificationRequired) GetAction() (value string) {
if u == nil {
return
}
return u.Action
}
// GetRecaptchaKeyID returns value of RecaptchaKeyID field.
func (u *UpdateApplicationRecaptchaVerificationRequired) GetRecaptchaKeyID() (value string) {
if u == nil {
return
}
return u.RecaptchaKeyID
}
// UpdateCall represents TL type `updateCall#4fb3d0dd`.
type UpdateCall struct {
// New data about a call
Call Call
}
// UpdateCallTypeID is TL type id of UpdateCall.
const UpdateCallTypeID = 0x4fb3d0dd
// construct implements constructor of UpdateClass.
func (u UpdateCall) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateCall.
var (
_ bin.Encoder = &UpdateCall{}
_ bin.Decoder = &UpdateCall{}
_ bin.BareEncoder = &UpdateCall{}
_ bin.BareDecoder = &UpdateCall{}
_ UpdateClass = &UpdateCall{}
)
func (u *UpdateCall) Zero() bool {
if u == nil {
return true
}
if !(u.Call.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateCall) String() string {
if u == nil {
return "UpdateCall(nil)"
}
type Alias UpdateCall
return fmt.Sprintf("UpdateCall%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateCall) TypeID() uint32 {
return UpdateCallTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateCall) TypeName() string {
return "updateCall"
}
// TypeInfo returns info about TL type.
func (u *UpdateCall) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateCall",
ID: UpdateCallTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Call",
SchemaName: "call",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateCall) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateCall#4fb3d0dd as nil")
}
b.PutID(UpdateCallTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateCall) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateCall#4fb3d0dd as nil")
}
if err := u.Call.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateCall#4fb3d0dd: field call: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateCall) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateCall#4fb3d0dd to nil")
}
if err := b.ConsumeID(UpdateCallTypeID); err != nil {
return fmt.Errorf("unable to decode updateCall#4fb3d0dd: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateCall) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateCall#4fb3d0dd to nil")
}
{
if err := u.Call.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateCall#4fb3d0dd: field call: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateCall) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateCall#4fb3d0dd as nil")
}
b.ObjStart()
b.PutID("updateCall")
b.Comma()
b.FieldStart("call")
if err := u.Call.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateCall#4fb3d0dd: field call: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateCall) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateCall#4fb3d0dd to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateCall"); err != nil {
return fmt.Errorf("unable to decode updateCall#4fb3d0dd: %w", err)
}
case "call":
if err := u.Call.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateCall#4fb3d0dd: field call: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetCall returns value of Call field.
func (u *UpdateCall) GetCall() (value Call) {
if u == nil {
return
}
return u.Call
}
// UpdateGroupCall represents TL type `updateGroupCall#30324e00`.
type UpdateGroupCall struct {
// New data about the group call
GroupCall GroupCall
}
// UpdateGroupCallTypeID is TL type id of UpdateGroupCall.
const UpdateGroupCallTypeID = 0x30324e00
// construct implements constructor of UpdateClass.
func (u UpdateGroupCall) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateGroupCall.
var (
_ bin.Encoder = &UpdateGroupCall{}
_ bin.Decoder = &UpdateGroupCall{}
_ bin.BareEncoder = &UpdateGroupCall{}
_ bin.BareDecoder = &UpdateGroupCall{}
_ UpdateClass = &UpdateGroupCall{}
)
func (u *UpdateGroupCall) Zero() bool {
if u == nil {
return true
}
if !(u.GroupCall.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateGroupCall) String() string {
if u == nil {
return "UpdateGroupCall(nil)"
}
type Alias UpdateGroupCall
return fmt.Sprintf("UpdateGroupCall%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateGroupCall) TypeID() uint32 {
return UpdateGroupCallTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateGroupCall) TypeName() string {
return "updateGroupCall"
}
// TypeInfo returns info about TL type.
func (u *UpdateGroupCall) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateGroupCall",
ID: UpdateGroupCallTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GroupCall",
SchemaName: "group_call",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateGroupCall) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCall#30324e00 as nil")
}
b.PutID(UpdateGroupCallTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateGroupCall) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCall#30324e00 as nil")
}
if err := u.GroupCall.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateGroupCall#30324e00: field group_call: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateGroupCall) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCall#30324e00 to nil")
}
if err := b.ConsumeID(UpdateGroupCallTypeID); err != nil {
return fmt.Errorf("unable to decode updateGroupCall#30324e00: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateGroupCall) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCall#30324e00 to nil")
}
{
if err := u.GroupCall.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateGroupCall#30324e00: field group_call: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateGroupCall) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCall#30324e00 as nil")
}
b.ObjStart()
b.PutID("updateGroupCall")
b.Comma()
b.FieldStart("group_call")
if err := u.GroupCall.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateGroupCall#30324e00: field group_call: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateGroupCall) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCall#30324e00 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateGroupCall"); err != nil {
return fmt.Errorf("unable to decode updateGroupCall#30324e00: %w", err)
}
case "group_call":
if err := u.GroupCall.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateGroupCall#30324e00: field group_call: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetGroupCall returns value of GroupCall field.
func (u *UpdateGroupCall) GetGroupCall() (value GroupCall) {
if u == nil {
return
}
return u.GroupCall
}
// UpdateGroupCallParticipant represents TL type `updateGroupCallParticipant#d0213cf9`.
type UpdateGroupCallParticipant struct {
// Identifier of the group call
GroupCallID int32
// New data about the participant
Participant GroupCallParticipant
}
// UpdateGroupCallParticipantTypeID is TL type id of UpdateGroupCallParticipant.
const UpdateGroupCallParticipantTypeID = 0xd0213cf9
// construct implements constructor of UpdateClass.
func (u UpdateGroupCallParticipant) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateGroupCallParticipant.
var (
_ bin.Encoder = &UpdateGroupCallParticipant{}
_ bin.Decoder = &UpdateGroupCallParticipant{}
_ bin.BareEncoder = &UpdateGroupCallParticipant{}
_ bin.BareDecoder = &UpdateGroupCallParticipant{}
_ UpdateClass = &UpdateGroupCallParticipant{}
)
func (u *UpdateGroupCallParticipant) Zero() bool {
if u == nil {
return true
}
if !(u.GroupCallID == 0) {
return false
}
if !(u.Participant.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateGroupCallParticipant) String() string {
if u == nil {
return "UpdateGroupCallParticipant(nil)"
}
type Alias UpdateGroupCallParticipant
return fmt.Sprintf("UpdateGroupCallParticipant%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateGroupCallParticipant) TypeID() uint32 {
return UpdateGroupCallParticipantTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateGroupCallParticipant) TypeName() string {
return "updateGroupCallParticipant"
}
// TypeInfo returns info about TL type.
func (u *UpdateGroupCallParticipant) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateGroupCallParticipant",
ID: UpdateGroupCallParticipantTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GroupCallID",
SchemaName: "group_call_id",
},
{
Name: "Participant",
SchemaName: "participant",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateGroupCallParticipant) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallParticipant#d0213cf9 as nil")
}
b.PutID(UpdateGroupCallParticipantTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateGroupCallParticipant) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallParticipant#d0213cf9 as nil")
}
b.PutInt32(u.GroupCallID)
if err := u.Participant.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateGroupCallParticipant#d0213cf9: field participant: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateGroupCallParticipant) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallParticipant#d0213cf9 to nil")
}
if err := b.ConsumeID(UpdateGroupCallParticipantTypeID); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipant#d0213cf9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateGroupCallParticipant) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallParticipant#d0213cf9 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipant#d0213cf9: field group_call_id: %w", err)
}
u.GroupCallID = value
}
{
if err := u.Participant.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipant#d0213cf9: field participant: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateGroupCallParticipant) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallParticipant#d0213cf9 as nil")
}
b.ObjStart()
b.PutID("updateGroupCallParticipant")
b.Comma()
b.FieldStart("group_call_id")
b.PutInt32(u.GroupCallID)
b.Comma()
b.FieldStart("participant")
if err := u.Participant.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateGroupCallParticipant#d0213cf9: field participant: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateGroupCallParticipant) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallParticipant#d0213cf9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateGroupCallParticipant"); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipant#d0213cf9: %w", err)
}
case "group_call_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipant#d0213cf9: field group_call_id: %w", err)
}
u.GroupCallID = value
case "participant":
if err := u.Participant.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipant#d0213cf9: field participant: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetGroupCallID returns value of GroupCallID field.
func (u *UpdateGroupCallParticipant) GetGroupCallID() (value int32) {
if u == nil {
return
}
return u.GroupCallID
}
// GetParticipant returns value of Participant field.
func (u *UpdateGroupCallParticipant) GetParticipant() (value GroupCallParticipant) {
if u == nil {
return
}
return u.Participant
}
// UpdateGroupCallParticipants represents TL type `updateGroupCallParticipants#3f7879cd`.
type UpdateGroupCallParticipants struct {
// Identifier of the group call
GroupCallID int32
// New list of group call participant user identifiers. The identifiers may be invalid or
// the corresponding users may be unknown.
ParticipantUserIDs []int64
}
// UpdateGroupCallParticipantsTypeID is TL type id of UpdateGroupCallParticipants.
const UpdateGroupCallParticipantsTypeID = 0x3f7879cd
// construct implements constructor of UpdateClass.
func (u UpdateGroupCallParticipants) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateGroupCallParticipants.
var (
_ bin.Encoder = &UpdateGroupCallParticipants{}
_ bin.Decoder = &UpdateGroupCallParticipants{}
_ bin.BareEncoder = &UpdateGroupCallParticipants{}
_ bin.BareDecoder = &UpdateGroupCallParticipants{}
_ UpdateClass = &UpdateGroupCallParticipants{}
)
func (u *UpdateGroupCallParticipants) Zero() bool {
if u == nil {
return true
}
if !(u.GroupCallID == 0) {
return false
}
if !(u.ParticipantUserIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateGroupCallParticipants) String() string {
if u == nil {
return "UpdateGroupCallParticipants(nil)"
}
type Alias UpdateGroupCallParticipants
return fmt.Sprintf("UpdateGroupCallParticipants%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateGroupCallParticipants) TypeID() uint32 {
return UpdateGroupCallParticipantsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateGroupCallParticipants) TypeName() string {
return "updateGroupCallParticipants"
}
// TypeInfo returns info about TL type.
func (u *UpdateGroupCallParticipants) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateGroupCallParticipants",
ID: UpdateGroupCallParticipantsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GroupCallID",
SchemaName: "group_call_id",
},
{
Name: "ParticipantUserIDs",
SchemaName: "participant_user_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateGroupCallParticipants) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallParticipants#3f7879cd as nil")
}
b.PutID(UpdateGroupCallParticipantsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateGroupCallParticipants) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallParticipants#3f7879cd as nil")
}
b.PutInt32(u.GroupCallID)
b.PutInt(len(u.ParticipantUserIDs))
for _, v := range u.ParticipantUserIDs {
b.PutLong(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateGroupCallParticipants) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallParticipants#3f7879cd to nil")
}
if err := b.ConsumeID(UpdateGroupCallParticipantsTypeID); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#3f7879cd: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateGroupCallParticipants) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallParticipants#3f7879cd to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#3f7879cd: field group_call_id: %w", err)
}
u.GroupCallID = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#3f7879cd: field participant_user_ids: %w", err)
}
if headerLen > 0 {
u.ParticipantUserIDs = make([]int64, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#3f7879cd: field participant_user_ids: %w", err)
}
u.ParticipantUserIDs = append(u.ParticipantUserIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateGroupCallParticipants) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallParticipants#3f7879cd as nil")
}
b.ObjStart()
b.PutID("updateGroupCallParticipants")
b.Comma()
b.FieldStart("group_call_id")
b.PutInt32(u.GroupCallID)
b.Comma()
b.FieldStart("participant_user_ids")
b.ArrStart()
for _, v := range u.ParticipantUserIDs {
b.PutLong(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateGroupCallParticipants) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallParticipants#3f7879cd to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateGroupCallParticipants"); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#3f7879cd: %w", err)
}
case "group_call_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#3f7879cd: field group_call_id: %w", err)
}
u.GroupCallID = value
case "participant_user_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#3f7879cd: field participant_user_ids: %w", err)
}
u.ParticipantUserIDs = append(u.ParticipantUserIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#3f7879cd: field participant_user_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetGroupCallID returns value of GroupCallID field.
func (u *UpdateGroupCallParticipants) GetGroupCallID() (value int32) {
if u == nil {
return
}
return u.GroupCallID
}
// GetParticipantUserIDs returns value of ParticipantUserIDs field.
func (u *UpdateGroupCallParticipants) GetParticipantUserIDs() (value []int64) {
if u == nil {
return
}
return u.ParticipantUserIDs
}
// UpdateGroupCallVerificationState represents TL type `updateGroupCallVerificationState#9de763b2`.
type UpdateGroupCallVerificationState struct {
// Identifier of the group call
GroupCallID int32
// The call state generation to which the emoji corresponds. If generation is different
// for two users, then their emoji may be also different
Generation int32
// Group call state fingerprint represented as 4 emoji; may be empty if the state isn't
// verified yet
Emojis []string
}
// UpdateGroupCallVerificationStateTypeID is TL type id of UpdateGroupCallVerificationState.
const UpdateGroupCallVerificationStateTypeID = 0x9de763b2
// construct implements constructor of UpdateClass.
func (u UpdateGroupCallVerificationState) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateGroupCallVerificationState.
var (
_ bin.Encoder = &UpdateGroupCallVerificationState{}
_ bin.Decoder = &UpdateGroupCallVerificationState{}
_ bin.BareEncoder = &UpdateGroupCallVerificationState{}
_ bin.BareDecoder = &UpdateGroupCallVerificationState{}
_ UpdateClass = &UpdateGroupCallVerificationState{}
)
func (u *UpdateGroupCallVerificationState) Zero() bool {
if u == nil {
return true
}
if !(u.GroupCallID == 0) {
return false
}
if !(u.Generation == 0) {
return false
}
if !(u.Emojis == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateGroupCallVerificationState) String() string {
if u == nil {
return "UpdateGroupCallVerificationState(nil)"
}
type Alias UpdateGroupCallVerificationState
return fmt.Sprintf("UpdateGroupCallVerificationState%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateGroupCallVerificationState) TypeID() uint32 {
return UpdateGroupCallVerificationStateTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateGroupCallVerificationState) TypeName() string {
return "updateGroupCallVerificationState"
}
// TypeInfo returns info about TL type.
func (u *UpdateGroupCallVerificationState) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateGroupCallVerificationState",
ID: UpdateGroupCallVerificationStateTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "GroupCallID",
SchemaName: "group_call_id",
},
{
Name: "Generation",
SchemaName: "generation",
},
{
Name: "Emojis",
SchemaName: "emojis",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateGroupCallVerificationState) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallVerificationState#9de763b2 as nil")
}
b.PutID(UpdateGroupCallVerificationStateTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateGroupCallVerificationState) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallVerificationState#9de763b2 as nil")
}
b.PutInt32(u.GroupCallID)
b.PutInt32(u.Generation)
b.PutInt(len(u.Emojis))
for _, v := range u.Emojis {
b.PutString(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateGroupCallVerificationState) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallVerificationState#9de763b2 to nil")
}
if err := b.ConsumeID(UpdateGroupCallVerificationStateTypeID); err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateGroupCallVerificationState) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallVerificationState#9de763b2 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: field group_call_id: %w", err)
}
u.GroupCallID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: field generation: %w", err)
}
u.Generation = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: field emojis: %w", err)
}
if headerLen > 0 {
u.Emojis = make([]string, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: field emojis: %w", err)
}
u.Emojis = append(u.Emojis, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateGroupCallVerificationState) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallVerificationState#9de763b2 as nil")
}
b.ObjStart()
b.PutID("updateGroupCallVerificationState")
b.Comma()
b.FieldStart("group_call_id")
b.PutInt32(u.GroupCallID)
b.Comma()
b.FieldStart("generation")
b.PutInt32(u.Generation)
b.Comma()
b.FieldStart("emojis")
b.ArrStart()
for _, v := range u.Emojis {
b.PutString(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateGroupCallVerificationState) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallVerificationState#9de763b2 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateGroupCallVerificationState"); err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: %w", err)
}
case "group_call_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: field group_call_id: %w", err)
}
u.GroupCallID = value
case "generation":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: field generation: %w", err)
}
u.Generation = value
case "emojis":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: field emojis: %w", err)
}
u.Emojis = append(u.Emojis, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateGroupCallVerificationState#9de763b2: field emojis: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetGroupCallID returns value of GroupCallID field.
func (u *UpdateGroupCallVerificationState) GetGroupCallID() (value int32) {
if u == nil {
return
}
return u.GroupCallID
}
// GetGeneration returns value of Generation field.
func (u *UpdateGroupCallVerificationState) GetGeneration() (value int32) {
if u == nil {
return
}
return u.Generation
}
// GetEmojis returns value of Emojis field.
func (u *UpdateGroupCallVerificationState) GetEmojis() (value []string) {
if u == nil {
return
}
return u.Emojis
}
// UpdateNewCallSignalingData represents TL type `updateNewCallSignalingData#22c98d8d`.
type UpdateNewCallSignalingData struct {
// The call identifier
CallID int32
// The data
Data []byte
}
// UpdateNewCallSignalingDataTypeID is TL type id of UpdateNewCallSignalingData.
const UpdateNewCallSignalingDataTypeID = 0x22c98d8d
// construct implements constructor of UpdateClass.
func (u UpdateNewCallSignalingData) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewCallSignalingData.
var (
_ bin.Encoder = &UpdateNewCallSignalingData{}
_ bin.Decoder = &UpdateNewCallSignalingData{}
_ bin.BareEncoder = &UpdateNewCallSignalingData{}
_ bin.BareDecoder = &UpdateNewCallSignalingData{}
_ UpdateClass = &UpdateNewCallSignalingData{}
)
func (u *UpdateNewCallSignalingData) Zero() bool {
if u == nil {
return true
}
if !(u.CallID == 0) {
return false
}
if !(u.Data == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewCallSignalingData) String() string {
if u == nil {
return "UpdateNewCallSignalingData(nil)"
}
type Alias UpdateNewCallSignalingData
return fmt.Sprintf("UpdateNewCallSignalingData%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewCallSignalingData) TypeID() uint32 {
return UpdateNewCallSignalingDataTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewCallSignalingData) TypeName() string {
return "updateNewCallSignalingData"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewCallSignalingData) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewCallSignalingData",
ID: UpdateNewCallSignalingDataTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "CallID",
SchemaName: "call_id",
},
{
Name: "Data",
SchemaName: "data",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewCallSignalingData) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCallSignalingData#22c98d8d as nil")
}
b.PutID(UpdateNewCallSignalingDataTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewCallSignalingData) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCallSignalingData#22c98d8d as nil")
}
b.PutInt32(u.CallID)
b.PutBytes(u.Data)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewCallSignalingData) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCallSignalingData#22c98d8d to nil")
}
if err := b.ConsumeID(UpdateNewCallSignalingDataTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewCallSignalingData#22c98d8d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewCallSignalingData) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCallSignalingData#22c98d8d to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallSignalingData#22c98d8d: field call_id: %w", err)
}
u.CallID = value
}
{
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallSignalingData#22c98d8d: field data: %w", err)
}
u.Data = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewCallSignalingData) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCallSignalingData#22c98d8d as nil")
}
b.ObjStart()
b.PutID("updateNewCallSignalingData")
b.Comma()
b.FieldStart("call_id")
b.PutInt32(u.CallID)
b.Comma()
b.FieldStart("data")
b.PutBytes(u.Data)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewCallSignalingData) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCallSignalingData#22c98d8d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewCallSignalingData"); err != nil {
return fmt.Errorf("unable to decode updateNewCallSignalingData#22c98d8d: %w", err)
}
case "call_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallSignalingData#22c98d8d: field call_id: %w", err)
}
u.CallID = value
case "data":
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallSignalingData#22c98d8d: field data: %w", err)
}
u.Data = value
default:
return b.Skip()
}
return nil
})
}
// GetCallID returns value of CallID field.
func (u *UpdateNewCallSignalingData) GetCallID() (value int32) {
if u == nil {
return
}
return u.CallID
}
// GetData returns value of Data field.
func (u *UpdateNewCallSignalingData) GetData() (value []byte) {
if u == nil {
return
}
return u.Data
}
// UpdateUserPrivacySettingRules represents TL type `updateUserPrivacySettingRules#c99552f6`.
type UpdateUserPrivacySettingRules struct {
// The privacy setting
Setting UserPrivacySettingClass
// New privacy rules
Rules UserPrivacySettingRules
}
// UpdateUserPrivacySettingRulesTypeID is TL type id of UpdateUserPrivacySettingRules.
const UpdateUserPrivacySettingRulesTypeID = 0xc99552f6
// construct implements constructor of UpdateClass.
func (u UpdateUserPrivacySettingRules) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUserPrivacySettingRules.
var (
_ bin.Encoder = &UpdateUserPrivacySettingRules{}
_ bin.Decoder = &UpdateUserPrivacySettingRules{}
_ bin.BareEncoder = &UpdateUserPrivacySettingRules{}
_ bin.BareDecoder = &UpdateUserPrivacySettingRules{}
_ UpdateClass = &UpdateUserPrivacySettingRules{}
)
func (u *UpdateUserPrivacySettingRules) Zero() bool {
if u == nil {
return true
}
if !(u.Setting == nil) {
return false
}
if !(u.Rules.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUserPrivacySettingRules) String() string {
if u == nil {
return "UpdateUserPrivacySettingRules(nil)"
}
type Alias UpdateUserPrivacySettingRules
return fmt.Sprintf("UpdateUserPrivacySettingRules%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUserPrivacySettingRules) TypeID() uint32 {
return UpdateUserPrivacySettingRulesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUserPrivacySettingRules) TypeName() string {
return "updateUserPrivacySettingRules"
}
// TypeInfo returns info about TL type.
func (u *UpdateUserPrivacySettingRules) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUserPrivacySettingRules",
ID: UpdateUserPrivacySettingRulesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Setting",
SchemaName: "setting",
},
{
Name: "Rules",
SchemaName: "rules",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUserPrivacySettingRules) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserPrivacySettingRules#c99552f6 as nil")
}
b.PutID(UpdateUserPrivacySettingRulesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUserPrivacySettingRules) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserPrivacySettingRules#c99552f6 as nil")
}
if u.Setting == nil {
return fmt.Errorf("unable to encode updateUserPrivacySettingRules#c99552f6: field setting is nil")
}
if err := u.Setting.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUserPrivacySettingRules#c99552f6: field setting: %w", err)
}
if err := u.Rules.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUserPrivacySettingRules#c99552f6: field rules: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUserPrivacySettingRules) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserPrivacySettingRules#c99552f6 to nil")
}
if err := b.ConsumeID(UpdateUserPrivacySettingRulesTypeID); err != nil {
return fmt.Errorf("unable to decode updateUserPrivacySettingRules#c99552f6: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUserPrivacySettingRules) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserPrivacySettingRules#c99552f6 to nil")
}
{
value, err := DecodeUserPrivacySetting(b)
if err != nil {
return fmt.Errorf("unable to decode updateUserPrivacySettingRules#c99552f6: field setting: %w", err)
}
u.Setting = value
}
{
if err := u.Rules.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateUserPrivacySettingRules#c99552f6: field rules: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateUserPrivacySettingRules) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateUserPrivacySettingRules#c99552f6 as nil")
}
b.ObjStart()
b.PutID("updateUserPrivacySettingRules")
b.Comma()
b.FieldStart("setting")
if u.Setting == nil {
return fmt.Errorf("unable to encode updateUserPrivacySettingRules#c99552f6: field setting is nil")
}
if err := u.Setting.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateUserPrivacySettingRules#c99552f6: field setting: %w", err)
}
b.Comma()
b.FieldStart("rules")
if err := u.Rules.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateUserPrivacySettingRules#c99552f6: field rules: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateUserPrivacySettingRules) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateUserPrivacySettingRules#c99552f6 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateUserPrivacySettingRules"); err != nil {
return fmt.Errorf("unable to decode updateUserPrivacySettingRules#c99552f6: %w", err)
}
case "setting":
value, err := DecodeTDLibJSONUserPrivacySetting(b)
if err != nil {
return fmt.Errorf("unable to decode updateUserPrivacySettingRules#c99552f6: field setting: %w", err)
}
u.Setting = value
case "rules":
if err := u.Rules.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateUserPrivacySettingRules#c99552f6: field rules: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetSetting returns value of Setting field.
func (u *UpdateUserPrivacySettingRules) GetSetting() (value UserPrivacySettingClass) {
if u == nil {
return
}
return u.Setting
}
// GetRules returns value of Rules field.
func (u *UpdateUserPrivacySettingRules) GetRules() (value UserPrivacySettingRules) {
if u == nil {
return
}
return u.Rules
}
// UpdateUnreadMessageCount represents TL type `updateUnreadMessageCount#4b541c9`.
type UpdateUnreadMessageCount struct {
// The chat list with changed number of unread messages
ChatList ChatListClass
// Total number of unread messages
UnreadCount int32
// Total number of unread messages in unmuted chats
UnreadUnmutedCount int32
}
// UpdateUnreadMessageCountTypeID is TL type id of UpdateUnreadMessageCount.
const UpdateUnreadMessageCountTypeID = 0x4b541c9
// construct implements constructor of UpdateClass.
func (u UpdateUnreadMessageCount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUnreadMessageCount.
var (
_ bin.Encoder = &UpdateUnreadMessageCount{}
_ bin.Decoder = &UpdateUnreadMessageCount{}
_ bin.BareEncoder = &UpdateUnreadMessageCount{}
_ bin.BareDecoder = &UpdateUnreadMessageCount{}
_ UpdateClass = &UpdateUnreadMessageCount{}
)
func (u *UpdateUnreadMessageCount) Zero() bool {
if u == nil {
return true
}
if !(u.ChatList == nil) {
return false
}
if !(u.UnreadCount == 0) {
return false
}
if !(u.UnreadUnmutedCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUnreadMessageCount) String() string {
if u == nil {
return "UpdateUnreadMessageCount(nil)"
}
type Alias UpdateUnreadMessageCount
return fmt.Sprintf("UpdateUnreadMessageCount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUnreadMessageCount) TypeID() uint32 {
return UpdateUnreadMessageCountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUnreadMessageCount) TypeName() string {
return "updateUnreadMessageCount"
}
// TypeInfo returns info about TL type.
func (u *UpdateUnreadMessageCount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUnreadMessageCount",
ID: UpdateUnreadMessageCountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatList",
SchemaName: "chat_list",
},
{
Name: "UnreadCount",
SchemaName: "unread_count",
},
{
Name: "UnreadUnmutedCount",
SchemaName: "unread_unmuted_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUnreadMessageCount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUnreadMessageCount#4b541c9 as nil")
}
b.PutID(UpdateUnreadMessageCountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUnreadMessageCount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUnreadMessageCount#4b541c9 as nil")
}
if u.ChatList == nil {
return fmt.Errorf("unable to encode updateUnreadMessageCount#4b541c9: field chat_list is nil")
}
if err := u.ChatList.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUnreadMessageCount#4b541c9: field chat_list: %w", err)
}
b.PutInt32(u.UnreadCount)
b.PutInt32(u.UnreadUnmutedCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUnreadMessageCount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUnreadMessageCount#4b541c9 to nil")
}
if err := b.ConsumeID(UpdateUnreadMessageCountTypeID); err != nil {
return fmt.Errorf("unable to decode updateUnreadMessageCount#4b541c9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUnreadMessageCount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUnreadMessageCount#4b541c9 to nil")
}
{
value, err := DecodeChatList(b)
if err != nil {
return fmt.Errorf("unable to decode updateUnreadMessageCount#4b541c9: field chat_list: %w", err)
}
u.ChatList = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadMessageCount#4b541c9: field unread_count: %w", err)
}
u.UnreadCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadMessageCount#4b541c9: field unread_unmuted_count: %w", err)
}
u.UnreadUnmutedCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateUnreadMessageCount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateUnreadMessageCount#4b541c9 as nil")
}
b.ObjStart()
b.PutID("updateUnreadMessageCount")
b.Comma()
b.FieldStart("chat_list")
if u.ChatList == nil {
return fmt.Errorf("unable to encode updateUnreadMessageCount#4b541c9: field chat_list is nil")
}
if err := u.ChatList.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateUnreadMessageCount#4b541c9: field chat_list: %w", err)
}
b.Comma()
b.FieldStart("unread_count")
b.PutInt32(u.UnreadCount)
b.Comma()
b.FieldStart("unread_unmuted_count")
b.PutInt32(u.UnreadUnmutedCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateUnreadMessageCount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateUnreadMessageCount#4b541c9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateUnreadMessageCount"); err != nil {
return fmt.Errorf("unable to decode updateUnreadMessageCount#4b541c9: %w", err)
}
case "chat_list":
value, err := DecodeTDLibJSONChatList(b)
if err != nil {
return fmt.Errorf("unable to decode updateUnreadMessageCount#4b541c9: field chat_list: %w", err)
}
u.ChatList = value
case "unread_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadMessageCount#4b541c9: field unread_count: %w", err)
}
u.UnreadCount = value
case "unread_unmuted_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadMessageCount#4b541c9: field unread_unmuted_count: %w", err)
}
u.UnreadUnmutedCount = value
default:
return b.Skip()
}
return nil
})
}
// GetChatList returns value of ChatList field.
func (u *UpdateUnreadMessageCount) GetChatList() (value ChatListClass) {
if u == nil {
return
}
return u.ChatList
}
// GetUnreadCount returns value of UnreadCount field.
func (u *UpdateUnreadMessageCount) GetUnreadCount() (value int32) {
if u == nil {
return
}
return u.UnreadCount
}
// GetUnreadUnmutedCount returns value of UnreadUnmutedCount field.
func (u *UpdateUnreadMessageCount) GetUnreadUnmutedCount() (value int32) {
if u == nil {
return
}
return u.UnreadUnmutedCount
}
// UpdateUnreadChatCount represents TL type `updateUnreadChatCount#76e19242`.
type UpdateUnreadChatCount struct {
// The chat list with changed number of unread messages
ChatList ChatListClass
// Approximate total number of chats in the chat list
TotalCount int32
// Total number of unread chats
UnreadCount int32
// Total number of unread unmuted chats
UnreadUnmutedCount int32
// Total number of chats marked as unread
MarkedAsUnreadCount int32
// Total number of unmuted chats marked as unread
MarkedAsUnreadUnmutedCount int32
}
// UpdateUnreadChatCountTypeID is TL type id of UpdateUnreadChatCount.
const UpdateUnreadChatCountTypeID = 0x76e19242
// construct implements constructor of UpdateClass.
func (u UpdateUnreadChatCount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUnreadChatCount.
var (
_ bin.Encoder = &UpdateUnreadChatCount{}
_ bin.Decoder = &UpdateUnreadChatCount{}
_ bin.BareEncoder = &UpdateUnreadChatCount{}
_ bin.BareDecoder = &UpdateUnreadChatCount{}
_ UpdateClass = &UpdateUnreadChatCount{}
)
func (u *UpdateUnreadChatCount) Zero() bool {
if u == nil {
return true
}
if !(u.ChatList == nil) {
return false
}
if !(u.TotalCount == 0) {
return false
}
if !(u.UnreadCount == 0) {
return false
}
if !(u.UnreadUnmutedCount == 0) {
return false
}
if !(u.MarkedAsUnreadCount == 0) {
return false
}
if !(u.MarkedAsUnreadUnmutedCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUnreadChatCount) String() string {
if u == nil {
return "UpdateUnreadChatCount(nil)"
}
type Alias UpdateUnreadChatCount
return fmt.Sprintf("UpdateUnreadChatCount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUnreadChatCount) TypeID() uint32 {
return UpdateUnreadChatCountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUnreadChatCount) TypeName() string {
return "updateUnreadChatCount"
}
// TypeInfo returns info about TL type.
func (u *UpdateUnreadChatCount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUnreadChatCount",
ID: UpdateUnreadChatCountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatList",
SchemaName: "chat_list",
},
{
Name: "TotalCount",
SchemaName: "total_count",
},
{
Name: "UnreadCount",
SchemaName: "unread_count",
},
{
Name: "UnreadUnmutedCount",
SchemaName: "unread_unmuted_count",
},
{
Name: "MarkedAsUnreadCount",
SchemaName: "marked_as_unread_count",
},
{
Name: "MarkedAsUnreadUnmutedCount",
SchemaName: "marked_as_unread_unmuted_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUnreadChatCount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUnreadChatCount#76e19242 as nil")
}
b.PutID(UpdateUnreadChatCountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUnreadChatCount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUnreadChatCount#76e19242 as nil")
}
if u.ChatList == nil {
return fmt.Errorf("unable to encode updateUnreadChatCount#76e19242: field chat_list is nil")
}
if err := u.ChatList.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUnreadChatCount#76e19242: field chat_list: %w", err)
}
b.PutInt32(u.TotalCount)
b.PutInt32(u.UnreadCount)
b.PutInt32(u.UnreadUnmutedCount)
b.PutInt32(u.MarkedAsUnreadCount)
b.PutInt32(u.MarkedAsUnreadUnmutedCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUnreadChatCount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUnreadChatCount#76e19242 to nil")
}
if err := b.ConsumeID(UpdateUnreadChatCountTypeID); err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUnreadChatCount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUnreadChatCount#76e19242 to nil")
}
{
value, err := DecodeChatList(b)
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field chat_list: %w", err)
}
u.ChatList = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field total_count: %w", err)
}
u.TotalCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field unread_count: %w", err)
}
u.UnreadCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field unread_unmuted_count: %w", err)
}
u.UnreadUnmutedCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field marked_as_unread_count: %w", err)
}
u.MarkedAsUnreadCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field marked_as_unread_unmuted_count: %w", err)
}
u.MarkedAsUnreadUnmutedCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateUnreadChatCount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateUnreadChatCount#76e19242 as nil")
}
b.ObjStart()
b.PutID("updateUnreadChatCount")
b.Comma()
b.FieldStart("chat_list")
if u.ChatList == nil {
return fmt.Errorf("unable to encode updateUnreadChatCount#76e19242: field chat_list is nil")
}
if err := u.ChatList.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateUnreadChatCount#76e19242: field chat_list: %w", err)
}
b.Comma()
b.FieldStart("total_count")
b.PutInt32(u.TotalCount)
b.Comma()
b.FieldStart("unread_count")
b.PutInt32(u.UnreadCount)
b.Comma()
b.FieldStart("unread_unmuted_count")
b.PutInt32(u.UnreadUnmutedCount)
b.Comma()
b.FieldStart("marked_as_unread_count")
b.PutInt32(u.MarkedAsUnreadCount)
b.Comma()
b.FieldStart("marked_as_unread_unmuted_count")
b.PutInt32(u.MarkedAsUnreadUnmutedCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateUnreadChatCount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateUnreadChatCount#76e19242 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateUnreadChatCount"); err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: %w", err)
}
case "chat_list":
value, err := DecodeTDLibJSONChatList(b)
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field chat_list: %w", err)
}
u.ChatList = value
case "total_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field total_count: %w", err)
}
u.TotalCount = value
case "unread_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field unread_count: %w", err)
}
u.UnreadCount = value
case "unread_unmuted_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field unread_unmuted_count: %w", err)
}
u.UnreadUnmutedCount = value
case "marked_as_unread_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field marked_as_unread_count: %w", err)
}
u.MarkedAsUnreadCount = value
case "marked_as_unread_unmuted_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateUnreadChatCount#76e19242: field marked_as_unread_unmuted_count: %w", err)
}
u.MarkedAsUnreadUnmutedCount = value
default:
return b.Skip()
}
return nil
})
}
// GetChatList returns value of ChatList field.
func (u *UpdateUnreadChatCount) GetChatList() (value ChatListClass) {
if u == nil {
return
}
return u.ChatList
}
// GetTotalCount returns value of TotalCount field.
func (u *UpdateUnreadChatCount) GetTotalCount() (value int32) {
if u == nil {
return
}
return u.TotalCount
}
// GetUnreadCount returns value of UnreadCount field.
func (u *UpdateUnreadChatCount) GetUnreadCount() (value int32) {
if u == nil {
return
}
return u.UnreadCount
}
// GetUnreadUnmutedCount returns value of UnreadUnmutedCount field.
func (u *UpdateUnreadChatCount) GetUnreadUnmutedCount() (value int32) {
if u == nil {
return
}
return u.UnreadUnmutedCount
}
// GetMarkedAsUnreadCount returns value of MarkedAsUnreadCount field.
func (u *UpdateUnreadChatCount) GetMarkedAsUnreadCount() (value int32) {
if u == nil {
return
}
return u.MarkedAsUnreadCount
}
// GetMarkedAsUnreadUnmutedCount returns value of MarkedAsUnreadUnmutedCount field.
func (u *UpdateUnreadChatCount) GetMarkedAsUnreadUnmutedCount() (value int32) {
if u == nil {
return
}
return u.MarkedAsUnreadUnmutedCount
}
// UpdateStory represents TL type `updateStory#1906572f`.
type UpdateStory struct {
// The new information about the story
Story Story
}
// UpdateStoryTypeID is TL type id of UpdateStory.
const UpdateStoryTypeID = 0x1906572f
// construct implements constructor of UpdateClass.
func (u UpdateStory) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStory.
var (
_ bin.Encoder = &UpdateStory{}
_ bin.Decoder = &UpdateStory{}
_ bin.BareEncoder = &UpdateStory{}
_ bin.BareDecoder = &UpdateStory{}
_ UpdateClass = &UpdateStory{}
)
func (u *UpdateStory) Zero() bool {
if u == nil {
return true
}
if !(u.Story.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStory) String() string {
if u == nil {
return "UpdateStory(nil)"
}
type Alias UpdateStory
return fmt.Sprintf("UpdateStory%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStory) TypeID() uint32 {
return UpdateStoryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStory) TypeName() string {
return "updateStory"
}
// TypeInfo returns info about TL type.
func (u *UpdateStory) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStory",
ID: UpdateStoryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Story",
SchemaName: "story",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateStory) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStory#1906572f as nil")
}
b.PutID(UpdateStoryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStory) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStory#1906572f as nil")
}
if err := u.Story.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStory#1906572f: field story: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStory) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStory#1906572f to nil")
}
if err := b.ConsumeID(UpdateStoryTypeID); err != nil {
return fmt.Errorf("unable to decode updateStory#1906572f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStory) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStory#1906572f to nil")
}
{
if err := u.Story.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateStory#1906572f: field story: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateStory) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateStory#1906572f as nil")
}
b.ObjStart()
b.PutID("updateStory")
b.Comma()
b.FieldStart("story")
if err := u.Story.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateStory#1906572f: field story: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateStory) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateStory#1906572f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateStory"); err != nil {
return fmt.Errorf("unable to decode updateStory#1906572f: %w", err)
}
case "story":
if err := u.Story.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateStory#1906572f: field story: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetStory returns value of Story field.
func (u *UpdateStory) GetStory() (value Story) {
if u == nil {
return
}
return u.Story
}
// UpdateStoryDeleted represents TL type `updateStoryDeleted#dd440b82`.
type UpdateStoryDeleted struct {
// Identifier of the chat that posted the story
StoryPosterChatID int64
// Story identifier
StoryID int32
}
// UpdateStoryDeletedTypeID is TL type id of UpdateStoryDeleted.
const UpdateStoryDeletedTypeID = 0xdd440b82
// construct implements constructor of UpdateClass.
func (u UpdateStoryDeleted) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStoryDeleted.
var (
_ bin.Encoder = &UpdateStoryDeleted{}
_ bin.Decoder = &UpdateStoryDeleted{}
_ bin.BareEncoder = &UpdateStoryDeleted{}
_ bin.BareDecoder = &UpdateStoryDeleted{}
_ UpdateClass = &UpdateStoryDeleted{}
)
func (u *UpdateStoryDeleted) Zero() bool {
if u == nil {
return true
}
if !(u.StoryPosterChatID == 0) {
return false
}
if !(u.StoryID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStoryDeleted) String() string {
if u == nil {
return "UpdateStoryDeleted(nil)"
}
type Alias UpdateStoryDeleted
return fmt.Sprintf("UpdateStoryDeleted%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStoryDeleted) TypeID() uint32 {
return UpdateStoryDeletedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStoryDeleted) TypeName() string {
return "updateStoryDeleted"
}
// TypeInfo returns info about TL type.
func (u *UpdateStoryDeleted) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStoryDeleted",
ID: UpdateStoryDeletedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StoryPosterChatID",
SchemaName: "story_poster_chat_id",
},
{
Name: "StoryID",
SchemaName: "story_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateStoryDeleted) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryDeleted#dd440b82 as nil")
}
b.PutID(UpdateStoryDeletedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStoryDeleted) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryDeleted#dd440b82 as nil")
}
b.PutInt53(u.StoryPosterChatID)
b.PutInt32(u.StoryID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStoryDeleted) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryDeleted#dd440b82 to nil")
}
if err := b.ConsumeID(UpdateStoryDeletedTypeID); err != nil {
return fmt.Errorf("unable to decode updateStoryDeleted#dd440b82: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStoryDeleted) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryDeleted#dd440b82 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateStoryDeleted#dd440b82: field story_poster_chat_id: %w", err)
}
u.StoryPosterChatID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryDeleted#dd440b82: field story_id: %w", err)
}
u.StoryID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateStoryDeleted) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryDeleted#dd440b82 as nil")
}
b.ObjStart()
b.PutID("updateStoryDeleted")
b.Comma()
b.FieldStart("story_poster_chat_id")
b.PutInt53(u.StoryPosterChatID)
b.Comma()
b.FieldStart("story_id")
b.PutInt32(u.StoryID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateStoryDeleted) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryDeleted#dd440b82 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateStoryDeleted"); err != nil {
return fmt.Errorf("unable to decode updateStoryDeleted#dd440b82: %w", err)
}
case "story_poster_chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateStoryDeleted#dd440b82: field story_poster_chat_id: %w", err)
}
u.StoryPosterChatID = value
case "story_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryDeleted#dd440b82: field story_id: %w", err)
}
u.StoryID = value
default:
return b.Skip()
}
return nil
})
}
// GetStoryPosterChatID returns value of StoryPosterChatID field.
func (u *UpdateStoryDeleted) GetStoryPosterChatID() (value int64) {
if u == nil {
return
}
return u.StoryPosterChatID
}
// GetStoryID returns value of StoryID field.
func (u *UpdateStoryDeleted) GetStoryID() (value int32) {
if u == nil {
return
}
return u.StoryID
}
// UpdateStoryPostSucceeded represents TL type `updateStoryPostSucceeded#99ee5b42`.
type UpdateStoryPostSucceeded struct {
// The posted story
Story Story
// The previous temporary story identifier
OldStoryID int32
}
// UpdateStoryPostSucceededTypeID is TL type id of UpdateStoryPostSucceeded.
const UpdateStoryPostSucceededTypeID = 0x99ee5b42
// construct implements constructor of UpdateClass.
func (u UpdateStoryPostSucceeded) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStoryPostSucceeded.
var (
_ bin.Encoder = &UpdateStoryPostSucceeded{}
_ bin.Decoder = &UpdateStoryPostSucceeded{}
_ bin.BareEncoder = &UpdateStoryPostSucceeded{}
_ bin.BareDecoder = &UpdateStoryPostSucceeded{}
_ UpdateClass = &UpdateStoryPostSucceeded{}
)
func (u *UpdateStoryPostSucceeded) Zero() bool {
if u == nil {
return true
}
if !(u.Story.Zero()) {
return false
}
if !(u.OldStoryID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStoryPostSucceeded) String() string {
if u == nil {
return "UpdateStoryPostSucceeded(nil)"
}
type Alias UpdateStoryPostSucceeded
return fmt.Sprintf("UpdateStoryPostSucceeded%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStoryPostSucceeded) TypeID() uint32 {
return UpdateStoryPostSucceededTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStoryPostSucceeded) TypeName() string {
return "updateStoryPostSucceeded"
}
// TypeInfo returns info about TL type.
func (u *UpdateStoryPostSucceeded) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStoryPostSucceeded",
ID: UpdateStoryPostSucceededTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Story",
SchemaName: "story",
},
{
Name: "OldStoryID",
SchemaName: "old_story_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateStoryPostSucceeded) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryPostSucceeded#99ee5b42 as nil")
}
b.PutID(UpdateStoryPostSucceededTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStoryPostSucceeded) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryPostSucceeded#99ee5b42 as nil")
}
if err := u.Story.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStoryPostSucceeded#99ee5b42: field story: %w", err)
}
b.PutInt32(u.OldStoryID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStoryPostSucceeded) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryPostSucceeded#99ee5b42 to nil")
}
if err := b.ConsumeID(UpdateStoryPostSucceededTypeID); err != nil {
return fmt.Errorf("unable to decode updateStoryPostSucceeded#99ee5b42: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStoryPostSucceeded) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryPostSucceeded#99ee5b42 to nil")
}
{
if err := u.Story.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateStoryPostSucceeded#99ee5b42: field story: %w", err)
}
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryPostSucceeded#99ee5b42: field old_story_id: %w", err)
}
u.OldStoryID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateStoryPostSucceeded) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryPostSucceeded#99ee5b42 as nil")
}
b.ObjStart()
b.PutID("updateStoryPostSucceeded")
b.Comma()
b.FieldStart("story")
if err := u.Story.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateStoryPostSucceeded#99ee5b42: field story: %w", err)
}
b.Comma()
b.FieldStart("old_story_id")
b.PutInt32(u.OldStoryID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateStoryPostSucceeded) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryPostSucceeded#99ee5b42 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateStoryPostSucceeded"); err != nil {
return fmt.Errorf("unable to decode updateStoryPostSucceeded#99ee5b42: %w", err)
}
case "story":
if err := u.Story.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateStoryPostSucceeded#99ee5b42: field story: %w", err)
}
case "old_story_id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryPostSucceeded#99ee5b42: field old_story_id: %w", err)
}
u.OldStoryID = value
default:
return b.Skip()
}
return nil
})
}
// GetStory returns value of Story field.
func (u *UpdateStoryPostSucceeded) GetStory() (value Story) {
if u == nil {
return
}
return u.Story
}
// GetOldStoryID returns value of OldStoryID field.
func (u *UpdateStoryPostSucceeded) GetOldStoryID() (value int32) {
if u == nil {
return
}
return u.OldStoryID
}
// UpdateStoryPostFailed represents TL type `updateStoryPostFailed#4a6589fc`.
type UpdateStoryPostFailed struct {
// The failed to post story
Story Story
// The cause of the story posting failure
Error Error
// Type of the error; may be null if unknown
ErrorType CanPostStoryResultClass
}
// UpdateStoryPostFailedTypeID is TL type id of UpdateStoryPostFailed.
const UpdateStoryPostFailedTypeID = 0x4a6589fc
// construct implements constructor of UpdateClass.
func (u UpdateStoryPostFailed) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStoryPostFailed.
var (
_ bin.Encoder = &UpdateStoryPostFailed{}
_ bin.Decoder = &UpdateStoryPostFailed{}
_ bin.BareEncoder = &UpdateStoryPostFailed{}
_ bin.BareDecoder = &UpdateStoryPostFailed{}
_ UpdateClass = &UpdateStoryPostFailed{}
)
func (u *UpdateStoryPostFailed) Zero() bool {
if u == nil {
return true
}
if !(u.Story.Zero()) {
return false
}
if !(u.Error.Zero()) {
return false
}
if !(u.ErrorType == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStoryPostFailed) String() string {
if u == nil {
return "UpdateStoryPostFailed(nil)"
}
type Alias UpdateStoryPostFailed
return fmt.Sprintf("UpdateStoryPostFailed%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStoryPostFailed) TypeID() uint32 {
return UpdateStoryPostFailedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStoryPostFailed) TypeName() string {
return "updateStoryPostFailed"
}
// TypeInfo returns info about TL type.
func (u *UpdateStoryPostFailed) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStoryPostFailed",
ID: UpdateStoryPostFailedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Story",
SchemaName: "story",
},
{
Name: "Error",
SchemaName: "error",
},
{
Name: "ErrorType",
SchemaName: "error_type",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateStoryPostFailed) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryPostFailed#4a6589fc as nil")
}
b.PutID(UpdateStoryPostFailedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStoryPostFailed) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryPostFailed#4a6589fc as nil")
}
if err := u.Story.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStoryPostFailed#4a6589fc: field story: %w", err)
}
if err := u.Error.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStoryPostFailed#4a6589fc: field error: %w", err)
}
if u.ErrorType == nil {
return fmt.Errorf("unable to encode updateStoryPostFailed#4a6589fc: field error_type is nil")
}
if err := u.ErrorType.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStoryPostFailed#4a6589fc: field error_type: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStoryPostFailed) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryPostFailed#4a6589fc to nil")
}
if err := b.ConsumeID(UpdateStoryPostFailedTypeID); err != nil {
return fmt.Errorf("unable to decode updateStoryPostFailed#4a6589fc: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStoryPostFailed) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryPostFailed#4a6589fc to nil")
}
{
if err := u.Story.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateStoryPostFailed#4a6589fc: field story: %w", err)
}
}
{
if err := u.Error.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateStoryPostFailed#4a6589fc: field error: %w", err)
}
}
{
value, err := DecodeCanPostStoryResult(b)
if err != nil {
return fmt.Errorf("unable to decode updateStoryPostFailed#4a6589fc: field error_type: %w", err)
}
u.ErrorType = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateStoryPostFailed) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryPostFailed#4a6589fc as nil")
}
b.ObjStart()
b.PutID("updateStoryPostFailed")
b.Comma()
b.FieldStart("story")
if err := u.Story.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateStoryPostFailed#4a6589fc: field story: %w", err)
}
b.Comma()
b.FieldStart("error")
if err := u.Error.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateStoryPostFailed#4a6589fc: field error: %w", err)
}
b.Comma()
b.FieldStart("error_type")
if u.ErrorType == nil {
return fmt.Errorf("unable to encode updateStoryPostFailed#4a6589fc: field error_type is nil")
}
if err := u.ErrorType.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateStoryPostFailed#4a6589fc: field error_type: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateStoryPostFailed) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryPostFailed#4a6589fc to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateStoryPostFailed"); err != nil {
return fmt.Errorf("unable to decode updateStoryPostFailed#4a6589fc: %w", err)
}
case "story":
if err := u.Story.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateStoryPostFailed#4a6589fc: field story: %w", err)
}
case "error":
if err := u.Error.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateStoryPostFailed#4a6589fc: field error: %w", err)
}
case "error_type":
value, err := DecodeTDLibJSONCanPostStoryResult(b)
if err != nil {
return fmt.Errorf("unable to decode updateStoryPostFailed#4a6589fc: field error_type: %w", err)
}
u.ErrorType = value
default:
return b.Skip()
}
return nil
})
}
// GetStory returns value of Story field.
func (u *UpdateStoryPostFailed) GetStory() (value Story) {
if u == nil {
return
}
return u.Story
}
// GetError returns value of Error field.
func (u *UpdateStoryPostFailed) GetError() (value Error) {
if u == nil {
return
}
return u.Error
}
// GetErrorType returns value of ErrorType field.
func (u *UpdateStoryPostFailed) GetErrorType() (value CanPostStoryResultClass) {
if u == nil {
return
}
return u.ErrorType
}
// UpdateChatActiveStories represents TL type `updateChatActiveStories#79786c2c`.
type UpdateChatActiveStories struct {
// The new list of active stories
ActiveStories ChatActiveStories
}
// UpdateChatActiveStoriesTypeID is TL type id of UpdateChatActiveStories.
const UpdateChatActiveStoriesTypeID = 0x79786c2c
// construct implements constructor of UpdateClass.
func (u UpdateChatActiveStories) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatActiveStories.
var (
_ bin.Encoder = &UpdateChatActiveStories{}
_ bin.Decoder = &UpdateChatActiveStories{}
_ bin.BareEncoder = &UpdateChatActiveStories{}
_ bin.BareDecoder = &UpdateChatActiveStories{}
_ UpdateClass = &UpdateChatActiveStories{}
)
func (u *UpdateChatActiveStories) Zero() bool {
if u == nil {
return true
}
if !(u.ActiveStories.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatActiveStories) String() string {
if u == nil {
return "UpdateChatActiveStories(nil)"
}
type Alias UpdateChatActiveStories
return fmt.Sprintf("UpdateChatActiveStories%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatActiveStories) TypeID() uint32 {
return UpdateChatActiveStoriesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatActiveStories) TypeName() string {
return "updateChatActiveStories"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatActiveStories) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatActiveStories",
ID: UpdateChatActiveStoriesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ActiveStories",
SchemaName: "active_stories",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatActiveStories) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatActiveStories#79786c2c as nil")
}
b.PutID(UpdateChatActiveStoriesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatActiveStories) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatActiveStories#79786c2c as nil")
}
if err := u.ActiveStories.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatActiveStories#79786c2c: field active_stories: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatActiveStories) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatActiveStories#79786c2c to nil")
}
if err := b.ConsumeID(UpdateChatActiveStoriesTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatActiveStories#79786c2c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatActiveStories) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatActiveStories#79786c2c to nil")
}
{
if err := u.ActiveStories.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatActiveStories#79786c2c: field active_stories: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatActiveStories) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatActiveStories#79786c2c as nil")
}
b.ObjStart()
b.PutID("updateChatActiveStories")
b.Comma()
b.FieldStart("active_stories")
if err := u.ActiveStories.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatActiveStories#79786c2c: field active_stories: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatActiveStories) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatActiveStories#79786c2c to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatActiveStories"); err != nil {
return fmt.Errorf("unable to decode updateChatActiveStories#79786c2c: %w", err)
}
case "active_stories":
if err := u.ActiveStories.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatActiveStories#79786c2c: field active_stories: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetActiveStories returns value of ActiveStories field.
func (u *UpdateChatActiveStories) GetActiveStories() (value ChatActiveStories) {
if u == nil {
return
}
return u.ActiveStories
}
// UpdateStoryListChatCount represents TL type `updateStoryListChatCount#8833cd3f`.
type UpdateStoryListChatCount struct {
// The story list
StoryList StoryListClass
// Approximate total number of chats with active stories in the list
ChatCount int32
}
// UpdateStoryListChatCountTypeID is TL type id of UpdateStoryListChatCount.
const UpdateStoryListChatCountTypeID = 0x8833cd3f
// construct implements constructor of UpdateClass.
func (u UpdateStoryListChatCount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStoryListChatCount.
var (
_ bin.Encoder = &UpdateStoryListChatCount{}
_ bin.Decoder = &UpdateStoryListChatCount{}
_ bin.BareEncoder = &UpdateStoryListChatCount{}
_ bin.BareDecoder = &UpdateStoryListChatCount{}
_ UpdateClass = &UpdateStoryListChatCount{}
)
func (u *UpdateStoryListChatCount) Zero() bool {
if u == nil {
return true
}
if !(u.StoryList == nil) {
return false
}
if !(u.ChatCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStoryListChatCount) String() string {
if u == nil {
return "UpdateStoryListChatCount(nil)"
}
type Alias UpdateStoryListChatCount
return fmt.Sprintf("UpdateStoryListChatCount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStoryListChatCount) TypeID() uint32 {
return UpdateStoryListChatCountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStoryListChatCount) TypeName() string {
return "updateStoryListChatCount"
}
// TypeInfo returns info about TL type.
func (u *UpdateStoryListChatCount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStoryListChatCount",
ID: UpdateStoryListChatCountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StoryList",
SchemaName: "story_list",
},
{
Name: "ChatCount",
SchemaName: "chat_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateStoryListChatCount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryListChatCount#8833cd3f as nil")
}
b.PutID(UpdateStoryListChatCountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStoryListChatCount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryListChatCount#8833cd3f as nil")
}
if u.StoryList == nil {
return fmt.Errorf("unable to encode updateStoryListChatCount#8833cd3f: field story_list is nil")
}
if err := u.StoryList.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStoryListChatCount#8833cd3f: field story_list: %w", err)
}
b.PutInt32(u.ChatCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStoryListChatCount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryListChatCount#8833cd3f to nil")
}
if err := b.ConsumeID(UpdateStoryListChatCountTypeID); err != nil {
return fmt.Errorf("unable to decode updateStoryListChatCount#8833cd3f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStoryListChatCount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryListChatCount#8833cd3f to nil")
}
{
value, err := DecodeStoryList(b)
if err != nil {
return fmt.Errorf("unable to decode updateStoryListChatCount#8833cd3f: field story_list: %w", err)
}
u.StoryList = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryListChatCount#8833cd3f: field chat_count: %w", err)
}
u.ChatCount = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateStoryListChatCount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryListChatCount#8833cd3f as nil")
}
b.ObjStart()
b.PutID("updateStoryListChatCount")
b.Comma()
b.FieldStart("story_list")
if u.StoryList == nil {
return fmt.Errorf("unable to encode updateStoryListChatCount#8833cd3f: field story_list is nil")
}
if err := u.StoryList.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateStoryListChatCount#8833cd3f: field story_list: %w", err)
}
b.Comma()
b.FieldStart("chat_count")
b.PutInt32(u.ChatCount)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateStoryListChatCount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryListChatCount#8833cd3f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateStoryListChatCount"); err != nil {
return fmt.Errorf("unable to decode updateStoryListChatCount#8833cd3f: %w", err)
}
case "story_list":
value, err := DecodeTDLibJSONStoryList(b)
if err != nil {
return fmt.Errorf("unable to decode updateStoryListChatCount#8833cd3f: field story_list: %w", err)
}
u.StoryList = value
case "chat_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryListChatCount#8833cd3f: field chat_count: %w", err)
}
u.ChatCount = value
default:
return b.Skip()
}
return nil
})
}
// GetStoryList returns value of StoryList field.
func (u *UpdateStoryListChatCount) GetStoryList() (value StoryListClass) {
if u == nil {
return
}
return u.StoryList
}
// GetChatCount returns value of ChatCount field.
func (u *UpdateStoryListChatCount) GetChatCount() (value int32) {
if u == nil {
return
}
return u.ChatCount
}
// UpdateStoryStealthMode represents TL type `updateStoryStealthMode#6ff7bd1a`.
type UpdateStoryStealthMode struct {
// Point in time (Unix timestamp) until stealth mode is active; 0 if it is disabled
ActiveUntilDate int32
// Point in time (Unix timestamp) when stealth mode can be enabled again; 0 if there is
// no active cooldown
CooldownUntilDate int32
}
// UpdateStoryStealthModeTypeID is TL type id of UpdateStoryStealthMode.
const UpdateStoryStealthModeTypeID = 0x6ff7bd1a
// construct implements constructor of UpdateClass.
func (u UpdateStoryStealthMode) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStoryStealthMode.
var (
_ bin.Encoder = &UpdateStoryStealthMode{}
_ bin.Decoder = &UpdateStoryStealthMode{}
_ bin.BareEncoder = &UpdateStoryStealthMode{}
_ bin.BareDecoder = &UpdateStoryStealthMode{}
_ UpdateClass = &UpdateStoryStealthMode{}
)
func (u *UpdateStoryStealthMode) Zero() bool {
if u == nil {
return true
}
if !(u.ActiveUntilDate == 0) {
return false
}
if !(u.CooldownUntilDate == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStoryStealthMode) String() string {
if u == nil {
return "UpdateStoryStealthMode(nil)"
}
type Alias UpdateStoryStealthMode
return fmt.Sprintf("UpdateStoryStealthMode%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStoryStealthMode) TypeID() uint32 {
return UpdateStoryStealthModeTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStoryStealthMode) TypeName() string {
return "updateStoryStealthMode"
}
// TypeInfo returns info about TL type.
func (u *UpdateStoryStealthMode) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStoryStealthMode",
ID: UpdateStoryStealthModeTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ActiveUntilDate",
SchemaName: "active_until_date",
},
{
Name: "CooldownUntilDate",
SchemaName: "cooldown_until_date",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateStoryStealthMode) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryStealthMode#6ff7bd1a as nil")
}
b.PutID(UpdateStoryStealthModeTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStoryStealthMode) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryStealthMode#6ff7bd1a as nil")
}
b.PutInt32(u.ActiveUntilDate)
b.PutInt32(u.CooldownUntilDate)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStoryStealthMode) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryStealthMode#6ff7bd1a to nil")
}
if err := b.ConsumeID(UpdateStoryStealthModeTypeID); err != nil {
return fmt.Errorf("unable to decode updateStoryStealthMode#6ff7bd1a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStoryStealthMode) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryStealthMode#6ff7bd1a to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryStealthMode#6ff7bd1a: field active_until_date: %w", err)
}
u.ActiveUntilDate = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryStealthMode#6ff7bd1a: field cooldown_until_date: %w", err)
}
u.CooldownUntilDate = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateStoryStealthMode) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateStoryStealthMode#6ff7bd1a as nil")
}
b.ObjStart()
b.PutID("updateStoryStealthMode")
b.Comma()
b.FieldStart("active_until_date")
b.PutInt32(u.ActiveUntilDate)
b.Comma()
b.FieldStart("cooldown_until_date")
b.PutInt32(u.CooldownUntilDate)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateStoryStealthMode) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateStoryStealthMode#6ff7bd1a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateStoryStealthMode"); err != nil {
return fmt.Errorf("unable to decode updateStoryStealthMode#6ff7bd1a: %w", err)
}
case "active_until_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryStealthMode#6ff7bd1a: field active_until_date: %w", err)
}
u.ActiveUntilDate = value
case "cooldown_until_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateStoryStealthMode#6ff7bd1a: field cooldown_until_date: %w", err)
}
u.CooldownUntilDate = value
default:
return b.Skip()
}
return nil
})
}
// GetActiveUntilDate returns value of ActiveUntilDate field.
func (u *UpdateStoryStealthMode) GetActiveUntilDate() (value int32) {
if u == nil {
return
}
return u.ActiveUntilDate
}
// GetCooldownUntilDate returns value of CooldownUntilDate field.
func (u *UpdateStoryStealthMode) GetCooldownUntilDate() (value int32) {
if u == nil {
return
}
return u.CooldownUntilDate
}
// UpdateOption represents TL type `updateOption#35b17404`.
type UpdateOption struct {
// The option name
Name string
// The new option value
Value OptionValueClass
}
// UpdateOptionTypeID is TL type id of UpdateOption.
const UpdateOptionTypeID = 0x35b17404
// construct implements constructor of UpdateClass.
func (u UpdateOption) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateOption.
var (
_ bin.Encoder = &UpdateOption{}
_ bin.Decoder = &UpdateOption{}
_ bin.BareEncoder = &UpdateOption{}
_ bin.BareDecoder = &UpdateOption{}
_ UpdateClass = &UpdateOption{}
)
func (u *UpdateOption) Zero() bool {
if u == nil {
return true
}
if !(u.Name == "") {
return false
}
if !(u.Value == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateOption) String() string {
if u == nil {
return "UpdateOption(nil)"
}
type Alias UpdateOption
return fmt.Sprintf("UpdateOption%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateOption) TypeID() uint32 {
return UpdateOptionTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateOption) TypeName() string {
return "updateOption"
}
// TypeInfo returns info about TL type.
func (u *UpdateOption) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateOption",
ID: UpdateOptionTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Name",
SchemaName: "name",
},
{
Name: "Value",
SchemaName: "value",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateOption) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateOption#35b17404 as nil")
}
b.PutID(UpdateOptionTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateOption) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateOption#35b17404 as nil")
}
b.PutString(u.Name)
if u.Value == nil {
return fmt.Errorf("unable to encode updateOption#35b17404: field value is nil")
}
if err := u.Value.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateOption#35b17404: field value: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateOption) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateOption#35b17404 to nil")
}
if err := b.ConsumeID(UpdateOptionTypeID); err != nil {
return fmt.Errorf("unable to decode updateOption#35b17404: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateOption) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateOption#35b17404 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateOption#35b17404: field name: %w", err)
}
u.Name = value
}
{
value, err := DecodeOptionValue(b)
if err != nil {
return fmt.Errorf("unable to decode updateOption#35b17404: field value: %w", err)
}
u.Value = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateOption) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateOption#35b17404 as nil")
}
b.ObjStart()
b.PutID("updateOption")
b.Comma()
b.FieldStart("name")
b.PutString(u.Name)
b.Comma()
b.FieldStart("value")
if u.Value == nil {
return fmt.Errorf("unable to encode updateOption#35b17404: field value is nil")
}
if err := u.Value.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateOption#35b17404: field value: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateOption) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateOption#35b17404 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateOption"); err != nil {
return fmt.Errorf("unable to decode updateOption#35b17404: %w", err)
}
case "name":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateOption#35b17404: field name: %w", err)
}
u.Name = value
case "value":
value, err := DecodeTDLibJSONOptionValue(b)
if err != nil {
return fmt.Errorf("unable to decode updateOption#35b17404: field value: %w", err)
}
u.Value = value
default:
return b.Skip()
}
return nil
})
}
// GetName returns value of Name field.
func (u *UpdateOption) GetName() (value string) {
if u == nil {
return
}
return u.Name
}
// GetValue returns value of Value field.
func (u *UpdateOption) GetValue() (value OptionValueClass) {
if u == nil {
return
}
return u.Value
}
// UpdateStickerSet represents TL type `updateStickerSet#70035dcc`.
type UpdateStickerSet struct {
// The sticker set
StickerSet StickerSet
}
// UpdateStickerSetTypeID is TL type id of UpdateStickerSet.
const UpdateStickerSetTypeID = 0x70035dcc
// construct implements constructor of UpdateClass.
func (u UpdateStickerSet) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStickerSet.
var (
_ bin.Encoder = &UpdateStickerSet{}
_ bin.Decoder = &UpdateStickerSet{}
_ bin.BareEncoder = &UpdateStickerSet{}
_ bin.BareDecoder = &UpdateStickerSet{}
_ UpdateClass = &UpdateStickerSet{}
)
func (u *UpdateStickerSet) Zero() bool {
if u == nil {
return true
}
if !(u.StickerSet.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStickerSet) String() string {
if u == nil {
return "UpdateStickerSet(nil)"
}
type Alias UpdateStickerSet
return fmt.Sprintf("UpdateStickerSet%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStickerSet) TypeID() uint32 {
return UpdateStickerSetTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStickerSet) TypeName() string {
return "updateStickerSet"
}
// TypeInfo returns info about TL type.
func (u *UpdateStickerSet) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStickerSet",
ID: UpdateStickerSetTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StickerSet",
SchemaName: "sticker_set",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateStickerSet) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStickerSet#70035dcc as nil")
}
b.PutID(UpdateStickerSetTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStickerSet) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStickerSet#70035dcc as nil")
}
if err := u.StickerSet.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStickerSet#70035dcc: field sticker_set: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStickerSet) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStickerSet#70035dcc to nil")
}
if err := b.ConsumeID(UpdateStickerSetTypeID); err != nil {
return fmt.Errorf("unable to decode updateStickerSet#70035dcc: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStickerSet) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStickerSet#70035dcc to nil")
}
{
if err := u.StickerSet.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateStickerSet#70035dcc: field sticker_set: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateStickerSet) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateStickerSet#70035dcc as nil")
}
b.ObjStart()
b.PutID("updateStickerSet")
b.Comma()
b.FieldStart("sticker_set")
if err := u.StickerSet.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateStickerSet#70035dcc: field sticker_set: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateStickerSet) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateStickerSet#70035dcc to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateStickerSet"); err != nil {
return fmt.Errorf("unable to decode updateStickerSet#70035dcc: %w", err)
}
case "sticker_set":
if err := u.StickerSet.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateStickerSet#70035dcc: field sticker_set: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetStickerSet returns value of StickerSet field.
func (u *UpdateStickerSet) GetStickerSet() (value StickerSet) {
if u == nil {
return
}
return u.StickerSet
}
// UpdateInstalledStickerSets represents TL type `updateInstalledStickerSets#82cd5388`.
type UpdateInstalledStickerSets struct {
// Type of the affected stickers
StickerType StickerTypeClass
// The new list of installed ordinary sticker sets
StickerSetIDs []int64
}
// UpdateInstalledStickerSetsTypeID is TL type id of UpdateInstalledStickerSets.
const UpdateInstalledStickerSetsTypeID = 0x82cd5388
// construct implements constructor of UpdateClass.
func (u UpdateInstalledStickerSets) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateInstalledStickerSets.
var (
_ bin.Encoder = &UpdateInstalledStickerSets{}
_ bin.Decoder = &UpdateInstalledStickerSets{}
_ bin.BareEncoder = &UpdateInstalledStickerSets{}
_ bin.BareDecoder = &UpdateInstalledStickerSets{}
_ UpdateClass = &UpdateInstalledStickerSets{}
)
func (u *UpdateInstalledStickerSets) Zero() bool {
if u == nil {
return true
}
if !(u.StickerType == nil) {
return false
}
if !(u.StickerSetIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateInstalledStickerSets) String() string {
if u == nil {
return "UpdateInstalledStickerSets(nil)"
}
type Alias UpdateInstalledStickerSets
return fmt.Sprintf("UpdateInstalledStickerSets%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateInstalledStickerSets) TypeID() uint32 {
return UpdateInstalledStickerSetsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateInstalledStickerSets) TypeName() string {
return "updateInstalledStickerSets"
}
// TypeInfo returns info about TL type.
func (u *UpdateInstalledStickerSets) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateInstalledStickerSets",
ID: UpdateInstalledStickerSetsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StickerType",
SchemaName: "sticker_type",
},
{
Name: "StickerSetIDs",
SchemaName: "sticker_set_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateInstalledStickerSets) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateInstalledStickerSets#82cd5388 as nil")
}
b.PutID(UpdateInstalledStickerSetsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateInstalledStickerSets) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateInstalledStickerSets#82cd5388 as nil")
}
if u.StickerType == nil {
return fmt.Errorf("unable to encode updateInstalledStickerSets#82cd5388: field sticker_type is nil")
}
if err := u.StickerType.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateInstalledStickerSets#82cd5388: field sticker_type: %w", err)
}
b.PutInt(len(u.StickerSetIDs))
for _, v := range u.StickerSetIDs {
b.PutLong(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateInstalledStickerSets) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateInstalledStickerSets#82cd5388 to nil")
}
if err := b.ConsumeID(UpdateInstalledStickerSetsTypeID); err != nil {
return fmt.Errorf("unable to decode updateInstalledStickerSets#82cd5388: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateInstalledStickerSets) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateInstalledStickerSets#82cd5388 to nil")
}
{
value, err := DecodeStickerType(b)
if err != nil {
return fmt.Errorf("unable to decode updateInstalledStickerSets#82cd5388: field sticker_type: %w", err)
}
u.StickerType = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateInstalledStickerSets#82cd5388: field sticker_set_ids: %w", err)
}
if headerLen > 0 {
u.StickerSetIDs = make([]int64, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateInstalledStickerSets#82cd5388: field sticker_set_ids: %w", err)
}
u.StickerSetIDs = append(u.StickerSetIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateInstalledStickerSets) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateInstalledStickerSets#82cd5388 as nil")
}
b.ObjStart()
b.PutID("updateInstalledStickerSets")
b.Comma()
b.FieldStart("sticker_type")
if u.StickerType == nil {
return fmt.Errorf("unable to encode updateInstalledStickerSets#82cd5388: field sticker_type is nil")
}
if err := u.StickerType.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateInstalledStickerSets#82cd5388: field sticker_type: %w", err)
}
b.Comma()
b.FieldStart("sticker_set_ids")
b.ArrStart()
for _, v := range u.StickerSetIDs {
b.PutLong(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateInstalledStickerSets) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateInstalledStickerSets#82cd5388 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateInstalledStickerSets"); err != nil {
return fmt.Errorf("unable to decode updateInstalledStickerSets#82cd5388: %w", err)
}
case "sticker_type":
value, err := DecodeTDLibJSONStickerType(b)
if err != nil {
return fmt.Errorf("unable to decode updateInstalledStickerSets#82cd5388: field sticker_type: %w", err)
}
u.StickerType = value
case "sticker_set_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateInstalledStickerSets#82cd5388: field sticker_set_ids: %w", err)
}
u.StickerSetIDs = append(u.StickerSetIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateInstalledStickerSets#82cd5388: field sticker_set_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetStickerType returns value of StickerType field.
func (u *UpdateInstalledStickerSets) GetStickerType() (value StickerTypeClass) {
if u == nil {
return
}
return u.StickerType
}
// GetStickerSetIDs returns value of StickerSetIDs field.
func (u *UpdateInstalledStickerSets) GetStickerSetIDs() (value []int64) {
if u == nil {
return
}
return u.StickerSetIDs
}
// UpdateTrendingStickerSets represents TL type `updateTrendingStickerSets#4b7a50a7`.
type UpdateTrendingStickerSets struct {
// Type of the affected stickers
StickerType StickerTypeClass
// The prefix of the list of trending sticker sets with the newest trending sticker sets
StickerSets TrendingStickerSets
}
// UpdateTrendingStickerSetsTypeID is TL type id of UpdateTrendingStickerSets.
const UpdateTrendingStickerSetsTypeID = 0x4b7a50a7
// construct implements constructor of UpdateClass.
func (u UpdateTrendingStickerSets) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateTrendingStickerSets.
var (
_ bin.Encoder = &UpdateTrendingStickerSets{}
_ bin.Decoder = &UpdateTrendingStickerSets{}
_ bin.BareEncoder = &UpdateTrendingStickerSets{}
_ bin.BareDecoder = &UpdateTrendingStickerSets{}
_ UpdateClass = &UpdateTrendingStickerSets{}
)
func (u *UpdateTrendingStickerSets) Zero() bool {
if u == nil {
return true
}
if !(u.StickerType == nil) {
return false
}
if !(u.StickerSets.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateTrendingStickerSets) String() string {
if u == nil {
return "UpdateTrendingStickerSets(nil)"
}
type Alias UpdateTrendingStickerSets
return fmt.Sprintf("UpdateTrendingStickerSets%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateTrendingStickerSets) TypeID() uint32 {
return UpdateTrendingStickerSetsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateTrendingStickerSets) TypeName() string {
return "updateTrendingStickerSets"
}
// TypeInfo returns info about TL type.
func (u *UpdateTrendingStickerSets) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateTrendingStickerSets",
ID: UpdateTrendingStickerSetsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StickerType",
SchemaName: "sticker_type",
},
{
Name: "StickerSets",
SchemaName: "sticker_sets",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateTrendingStickerSets) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateTrendingStickerSets#4b7a50a7 as nil")
}
b.PutID(UpdateTrendingStickerSetsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateTrendingStickerSets) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateTrendingStickerSets#4b7a50a7 as nil")
}
if u.StickerType == nil {
return fmt.Errorf("unable to encode updateTrendingStickerSets#4b7a50a7: field sticker_type is nil")
}
if err := u.StickerType.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateTrendingStickerSets#4b7a50a7: field sticker_type: %w", err)
}
if err := u.StickerSets.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateTrendingStickerSets#4b7a50a7: field sticker_sets: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateTrendingStickerSets) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateTrendingStickerSets#4b7a50a7 to nil")
}
if err := b.ConsumeID(UpdateTrendingStickerSetsTypeID); err != nil {
return fmt.Errorf("unable to decode updateTrendingStickerSets#4b7a50a7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateTrendingStickerSets) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateTrendingStickerSets#4b7a50a7 to nil")
}
{
value, err := DecodeStickerType(b)
if err != nil {
return fmt.Errorf("unable to decode updateTrendingStickerSets#4b7a50a7: field sticker_type: %w", err)
}
u.StickerType = value
}
{
if err := u.StickerSets.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateTrendingStickerSets#4b7a50a7: field sticker_sets: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateTrendingStickerSets) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateTrendingStickerSets#4b7a50a7 as nil")
}
b.ObjStart()
b.PutID("updateTrendingStickerSets")
b.Comma()
b.FieldStart("sticker_type")
if u.StickerType == nil {
return fmt.Errorf("unable to encode updateTrendingStickerSets#4b7a50a7: field sticker_type is nil")
}
if err := u.StickerType.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateTrendingStickerSets#4b7a50a7: field sticker_type: %w", err)
}
b.Comma()
b.FieldStart("sticker_sets")
if err := u.StickerSets.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateTrendingStickerSets#4b7a50a7: field sticker_sets: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateTrendingStickerSets) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateTrendingStickerSets#4b7a50a7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateTrendingStickerSets"); err != nil {
return fmt.Errorf("unable to decode updateTrendingStickerSets#4b7a50a7: %w", err)
}
case "sticker_type":
value, err := DecodeTDLibJSONStickerType(b)
if err != nil {
return fmt.Errorf("unable to decode updateTrendingStickerSets#4b7a50a7: field sticker_type: %w", err)
}
u.StickerType = value
case "sticker_sets":
if err := u.StickerSets.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateTrendingStickerSets#4b7a50a7: field sticker_sets: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetStickerType returns value of StickerType field.
func (u *UpdateTrendingStickerSets) GetStickerType() (value StickerTypeClass) {
if u == nil {
return
}
return u.StickerType
}
// GetStickerSets returns value of StickerSets field.
func (u *UpdateTrendingStickerSets) GetStickerSets() (value TrendingStickerSets) {
if u == nil {
return
}
return u.StickerSets
}
// UpdateRecentStickers represents TL type `updateRecentStickers#aefdf8dc`.
type UpdateRecentStickers struct {
// True, if the list of stickers attached to photo or video files was updated; otherwise,
// the list of sent stickers is updated
IsAttached bool
// The new list of file identifiers of recently used stickers
StickerIDs []int32
}
// UpdateRecentStickersTypeID is TL type id of UpdateRecentStickers.
const UpdateRecentStickersTypeID = 0xaefdf8dc
// construct implements constructor of UpdateClass.
func (u UpdateRecentStickers) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateRecentStickers.
var (
_ bin.Encoder = &UpdateRecentStickers{}
_ bin.Decoder = &UpdateRecentStickers{}
_ bin.BareEncoder = &UpdateRecentStickers{}
_ bin.BareDecoder = &UpdateRecentStickers{}
_ UpdateClass = &UpdateRecentStickers{}
)
func (u *UpdateRecentStickers) Zero() bool {
if u == nil {
return true
}
if !(u.IsAttached == false) {
return false
}
if !(u.StickerIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateRecentStickers) String() string {
if u == nil {
return "UpdateRecentStickers(nil)"
}
type Alias UpdateRecentStickers
return fmt.Sprintf("UpdateRecentStickers%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateRecentStickers) TypeID() uint32 {
return UpdateRecentStickersTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateRecentStickers) TypeName() string {
return "updateRecentStickers"
}
// TypeInfo returns info about TL type.
func (u *UpdateRecentStickers) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateRecentStickers",
ID: UpdateRecentStickersTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "IsAttached",
SchemaName: "is_attached",
},
{
Name: "StickerIDs",
SchemaName: "sticker_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateRecentStickers) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateRecentStickers#aefdf8dc as nil")
}
b.PutID(UpdateRecentStickersTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateRecentStickers) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateRecentStickers#aefdf8dc as nil")
}
b.PutBool(u.IsAttached)
b.PutInt(len(u.StickerIDs))
for _, v := range u.StickerIDs {
b.PutInt32(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateRecentStickers) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateRecentStickers#aefdf8dc to nil")
}
if err := b.ConsumeID(UpdateRecentStickersTypeID); err != nil {
return fmt.Errorf("unable to decode updateRecentStickers#aefdf8dc: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateRecentStickers) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateRecentStickers#aefdf8dc to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateRecentStickers#aefdf8dc: field is_attached: %w", err)
}
u.IsAttached = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateRecentStickers#aefdf8dc: field sticker_ids: %w", err)
}
if headerLen > 0 {
u.StickerIDs = make([]int32, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateRecentStickers#aefdf8dc: field sticker_ids: %w", err)
}
u.StickerIDs = append(u.StickerIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateRecentStickers) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateRecentStickers#aefdf8dc as nil")
}
b.ObjStart()
b.PutID("updateRecentStickers")
b.Comma()
b.FieldStart("is_attached")
b.PutBool(u.IsAttached)
b.Comma()
b.FieldStart("sticker_ids")
b.ArrStart()
for _, v := range u.StickerIDs {
b.PutInt32(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateRecentStickers) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateRecentStickers#aefdf8dc to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateRecentStickers"); err != nil {
return fmt.Errorf("unable to decode updateRecentStickers#aefdf8dc: %w", err)
}
case "is_attached":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateRecentStickers#aefdf8dc: field is_attached: %w", err)
}
u.IsAttached = value
case "sticker_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateRecentStickers#aefdf8dc: field sticker_ids: %w", err)
}
u.StickerIDs = append(u.StickerIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateRecentStickers#aefdf8dc: field sticker_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetIsAttached returns value of IsAttached field.
func (u *UpdateRecentStickers) GetIsAttached() (value bool) {
if u == nil {
return
}
return u.IsAttached
}
// GetStickerIDs returns value of StickerIDs field.
func (u *UpdateRecentStickers) GetStickerIDs() (value []int32) {
if u == nil {
return
}
return u.StickerIDs
}
// UpdateFavoriteStickers represents TL type `updateFavoriteStickers#113f2b6a`.
type UpdateFavoriteStickers struct {
// The new list of file identifiers of favorite stickers
StickerIDs []int32
}
// UpdateFavoriteStickersTypeID is TL type id of UpdateFavoriteStickers.
const UpdateFavoriteStickersTypeID = 0x113f2b6a
// construct implements constructor of UpdateClass.
func (u UpdateFavoriteStickers) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFavoriteStickers.
var (
_ bin.Encoder = &UpdateFavoriteStickers{}
_ bin.Decoder = &UpdateFavoriteStickers{}
_ bin.BareEncoder = &UpdateFavoriteStickers{}
_ bin.BareDecoder = &UpdateFavoriteStickers{}
_ UpdateClass = &UpdateFavoriteStickers{}
)
func (u *UpdateFavoriteStickers) Zero() bool {
if u == nil {
return true
}
if !(u.StickerIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFavoriteStickers) String() string {
if u == nil {
return "UpdateFavoriteStickers(nil)"
}
type Alias UpdateFavoriteStickers
return fmt.Sprintf("UpdateFavoriteStickers%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFavoriteStickers) TypeID() uint32 {
return UpdateFavoriteStickersTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFavoriteStickers) TypeName() string {
return "updateFavoriteStickers"
}
// TypeInfo returns info about TL type.
func (u *UpdateFavoriteStickers) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFavoriteStickers",
ID: UpdateFavoriteStickersTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StickerIDs",
SchemaName: "sticker_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFavoriteStickers) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFavoriteStickers#113f2b6a as nil")
}
b.PutID(UpdateFavoriteStickersTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFavoriteStickers) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFavoriteStickers#113f2b6a as nil")
}
b.PutInt(len(u.StickerIDs))
for _, v := range u.StickerIDs {
b.PutInt32(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFavoriteStickers) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFavoriteStickers#113f2b6a to nil")
}
if err := b.ConsumeID(UpdateFavoriteStickersTypeID); err != nil {
return fmt.Errorf("unable to decode updateFavoriteStickers#113f2b6a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFavoriteStickers) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFavoriteStickers#113f2b6a to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateFavoriteStickers#113f2b6a: field sticker_ids: %w", err)
}
if headerLen > 0 {
u.StickerIDs = make([]int32, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFavoriteStickers#113f2b6a: field sticker_ids: %w", err)
}
u.StickerIDs = append(u.StickerIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateFavoriteStickers) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateFavoriteStickers#113f2b6a as nil")
}
b.ObjStart()
b.PutID("updateFavoriteStickers")
b.Comma()
b.FieldStart("sticker_ids")
b.ArrStart()
for _, v := range u.StickerIDs {
b.PutInt32(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateFavoriteStickers) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateFavoriteStickers#113f2b6a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateFavoriteStickers"); err != nil {
return fmt.Errorf("unable to decode updateFavoriteStickers#113f2b6a: %w", err)
}
case "sticker_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFavoriteStickers#113f2b6a: field sticker_ids: %w", err)
}
u.StickerIDs = append(u.StickerIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateFavoriteStickers#113f2b6a: field sticker_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetStickerIDs returns value of StickerIDs field.
func (u *UpdateFavoriteStickers) GetStickerIDs() (value []int32) {
if u == nil {
return
}
return u.StickerIDs
}
// UpdateSavedAnimations represents TL type `updateSavedAnimations#1084a1c8`.
type UpdateSavedAnimations struct {
// The new list of file identifiers of saved animations
AnimationIDs []int32
}
// UpdateSavedAnimationsTypeID is TL type id of UpdateSavedAnimations.
const UpdateSavedAnimationsTypeID = 0x1084a1c8
// construct implements constructor of UpdateClass.
func (u UpdateSavedAnimations) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSavedAnimations.
var (
_ bin.Encoder = &UpdateSavedAnimations{}
_ bin.Decoder = &UpdateSavedAnimations{}
_ bin.BareEncoder = &UpdateSavedAnimations{}
_ bin.BareDecoder = &UpdateSavedAnimations{}
_ UpdateClass = &UpdateSavedAnimations{}
)
func (u *UpdateSavedAnimations) Zero() bool {
if u == nil {
return true
}
if !(u.AnimationIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSavedAnimations) String() string {
if u == nil {
return "UpdateSavedAnimations(nil)"
}
type Alias UpdateSavedAnimations
return fmt.Sprintf("UpdateSavedAnimations%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSavedAnimations) TypeID() uint32 {
return UpdateSavedAnimationsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSavedAnimations) TypeName() string {
return "updateSavedAnimations"
}
// TypeInfo returns info about TL type.
func (u *UpdateSavedAnimations) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSavedAnimations",
ID: UpdateSavedAnimationsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "AnimationIDs",
SchemaName: "animation_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSavedAnimations) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedAnimations#1084a1c8 as nil")
}
b.PutID(UpdateSavedAnimationsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSavedAnimations) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedAnimations#1084a1c8 as nil")
}
b.PutInt(len(u.AnimationIDs))
for _, v := range u.AnimationIDs {
b.PutInt32(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSavedAnimations) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedAnimations#1084a1c8 to nil")
}
if err := b.ConsumeID(UpdateSavedAnimationsTypeID); err != nil {
return fmt.Errorf("unable to decode updateSavedAnimations#1084a1c8: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSavedAnimations) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedAnimations#1084a1c8 to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateSavedAnimations#1084a1c8: field animation_ids: %w", err)
}
if headerLen > 0 {
u.AnimationIDs = make([]int32, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSavedAnimations#1084a1c8: field animation_ids: %w", err)
}
u.AnimationIDs = append(u.AnimationIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSavedAnimations) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedAnimations#1084a1c8 as nil")
}
b.ObjStart()
b.PutID("updateSavedAnimations")
b.Comma()
b.FieldStart("animation_ids")
b.ArrStart()
for _, v := range u.AnimationIDs {
b.PutInt32(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSavedAnimations) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedAnimations#1084a1c8 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSavedAnimations"); err != nil {
return fmt.Errorf("unable to decode updateSavedAnimations#1084a1c8: %w", err)
}
case "animation_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSavedAnimations#1084a1c8: field animation_ids: %w", err)
}
u.AnimationIDs = append(u.AnimationIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateSavedAnimations#1084a1c8: field animation_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetAnimationIDs returns value of AnimationIDs field.
func (u *UpdateSavedAnimations) GetAnimationIDs() (value []int32) {
if u == nil {
return
}
return u.AnimationIDs
}
// UpdateSavedNotificationSounds represents TL type `updateSavedNotificationSounds#5a6653b4`.
type UpdateSavedNotificationSounds struct {
// The new list of identifiers of saved notification sounds
NotificationSoundIDs []int64
}
// UpdateSavedNotificationSoundsTypeID is TL type id of UpdateSavedNotificationSounds.
const UpdateSavedNotificationSoundsTypeID = 0x5a6653b4
// construct implements constructor of UpdateClass.
func (u UpdateSavedNotificationSounds) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSavedNotificationSounds.
var (
_ bin.Encoder = &UpdateSavedNotificationSounds{}
_ bin.Decoder = &UpdateSavedNotificationSounds{}
_ bin.BareEncoder = &UpdateSavedNotificationSounds{}
_ bin.BareDecoder = &UpdateSavedNotificationSounds{}
_ UpdateClass = &UpdateSavedNotificationSounds{}
)
func (u *UpdateSavedNotificationSounds) Zero() bool {
if u == nil {
return true
}
if !(u.NotificationSoundIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSavedNotificationSounds) String() string {
if u == nil {
return "UpdateSavedNotificationSounds(nil)"
}
type Alias UpdateSavedNotificationSounds
return fmt.Sprintf("UpdateSavedNotificationSounds%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSavedNotificationSounds) TypeID() uint32 {
return UpdateSavedNotificationSoundsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSavedNotificationSounds) TypeName() string {
return "updateSavedNotificationSounds"
}
// TypeInfo returns info about TL type.
func (u *UpdateSavedNotificationSounds) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSavedNotificationSounds",
ID: UpdateSavedNotificationSoundsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "NotificationSoundIDs",
SchemaName: "notification_sound_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSavedNotificationSounds) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedNotificationSounds#5a6653b4 as nil")
}
b.PutID(UpdateSavedNotificationSoundsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSavedNotificationSounds) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedNotificationSounds#5a6653b4 as nil")
}
b.PutInt(len(u.NotificationSoundIDs))
for _, v := range u.NotificationSoundIDs {
b.PutLong(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSavedNotificationSounds) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedNotificationSounds#5a6653b4 to nil")
}
if err := b.ConsumeID(UpdateSavedNotificationSoundsTypeID); err != nil {
return fmt.Errorf("unable to decode updateSavedNotificationSounds#5a6653b4: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSavedNotificationSounds) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedNotificationSounds#5a6653b4 to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateSavedNotificationSounds#5a6653b4: field notification_sound_ids: %w", err)
}
if headerLen > 0 {
u.NotificationSoundIDs = make([]int64, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateSavedNotificationSounds#5a6653b4: field notification_sound_ids: %w", err)
}
u.NotificationSoundIDs = append(u.NotificationSoundIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSavedNotificationSounds) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedNotificationSounds#5a6653b4 as nil")
}
b.ObjStart()
b.PutID("updateSavedNotificationSounds")
b.Comma()
b.FieldStart("notification_sound_ids")
b.ArrStart()
for _, v := range u.NotificationSoundIDs {
b.PutLong(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSavedNotificationSounds) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedNotificationSounds#5a6653b4 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSavedNotificationSounds"); err != nil {
return fmt.Errorf("unable to decode updateSavedNotificationSounds#5a6653b4: %w", err)
}
case "notification_sound_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateSavedNotificationSounds#5a6653b4: field notification_sound_ids: %w", err)
}
u.NotificationSoundIDs = append(u.NotificationSoundIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateSavedNotificationSounds#5a6653b4: field notification_sound_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetNotificationSoundIDs returns value of NotificationSoundIDs field.
func (u *UpdateSavedNotificationSounds) GetNotificationSoundIDs() (value []int64) {
if u == nil {
return
}
return u.NotificationSoundIDs
}
// UpdateDefaultBackground represents TL type `updateDefaultBackground#d550952f`.
type UpdateDefaultBackground struct {
// True, if default background for dark theme has changed
ForDarkTheme bool
// The new default background; may be null
Background Background
}
// UpdateDefaultBackgroundTypeID is TL type id of UpdateDefaultBackground.
const UpdateDefaultBackgroundTypeID = 0xd550952f
// construct implements constructor of UpdateClass.
func (u UpdateDefaultBackground) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDefaultBackground.
var (
_ bin.Encoder = &UpdateDefaultBackground{}
_ bin.Decoder = &UpdateDefaultBackground{}
_ bin.BareEncoder = &UpdateDefaultBackground{}
_ bin.BareDecoder = &UpdateDefaultBackground{}
_ UpdateClass = &UpdateDefaultBackground{}
)
func (u *UpdateDefaultBackground) Zero() bool {
if u == nil {
return true
}
if !(u.ForDarkTheme == false) {
return false
}
if !(u.Background.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDefaultBackground) String() string {
if u == nil {
return "UpdateDefaultBackground(nil)"
}
type Alias UpdateDefaultBackground
return fmt.Sprintf("UpdateDefaultBackground%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDefaultBackground) TypeID() uint32 {
return UpdateDefaultBackgroundTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDefaultBackground) TypeName() string {
return "updateDefaultBackground"
}
// TypeInfo returns info about TL type.
func (u *UpdateDefaultBackground) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDefaultBackground",
ID: UpdateDefaultBackgroundTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ForDarkTheme",
SchemaName: "for_dark_theme",
},
{
Name: "Background",
SchemaName: "background",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDefaultBackground) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDefaultBackground#d550952f as nil")
}
b.PutID(UpdateDefaultBackgroundTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDefaultBackground) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDefaultBackground#d550952f as nil")
}
b.PutBool(u.ForDarkTheme)
if err := u.Background.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDefaultBackground#d550952f: field background: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDefaultBackground) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDefaultBackground#d550952f to nil")
}
if err := b.ConsumeID(UpdateDefaultBackgroundTypeID); err != nil {
return fmt.Errorf("unable to decode updateDefaultBackground#d550952f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDefaultBackground) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDefaultBackground#d550952f to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateDefaultBackground#d550952f: field for_dark_theme: %w", err)
}
u.ForDarkTheme = value
}
{
if err := u.Background.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateDefaultBackground#d550952f: field background: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateDefaultBackground) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateDefaultBackground#d550952f as nil")
}
b.ObjStart()
b.PutID("updateDefaultBackground")
b.Comma()
b.FieldStart("for_dark_theme")
b.PutBool(u.ForDarkTheme)
b.Comma()
b.FieldStart("background")
if err := u.Background.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateDefaultBackground#d550952f: field background: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateDefaultBackground) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateDefaultBackground#d550952f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateDefaultBackground"); err != nil {
return fmt.Errorf("unable to decode updateDefaultBackground#d550952f: %w", err)
}
case "for_dark_theme":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateDefaultBackground#d550952f: field for_dark_theme: %w", err)
}
u.ForDarkTheme = value
case "background":
if err := u.Background.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateDefaultBackground#d550952f: field background: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetForDarkTheme returns value of ForDarkTheme field.
func (u *UpdateDefaultBackground) GetForDarkTheme() (value bool) {
if u == nil {
return
}
return u.ForDarkTheme
}
// GetBackground returns value of Background field.
func (u *UpdateDefaultBackground) GetBackground() (value Background) {
if u == nil {
return
}
return u.Background
}
// UpdateChatThemes represents TL type `updateChatThemes#98dc58d5`.
type UpdateChatThemes struct {
// The new list of chat themes
ChatThemes []ChatTheme
}
// UpdateChatThemesTypeID is TL type id of UpdateChatThemes.
const UpdateChatThemesTypeID = 0x98dc58d5
// construct implements constructor of UpdateClass.
func (u UpdateChatThemes) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatThemes.
var (
_ bin.Encoder = &UpdateChatThemes{}
_ bin.Decoder = &UpdateChatThemes{}
_ bin.BareEncoder = &UpdateChatThemes{}
_ bin.BareDecoder = &UpdateChatThemes{}
_ UpdateClass = &UpdateChatThemes{}
)
func (u *UpdateChatThemes) Zero() bool {
if u == nil {
return true
}
if !(u.ChatThemes == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatThemes) String() string {
if u == nil {
return "UpdateChatThemes(nil)"
}
type Alias UpdateChatThemes
return fmt.Sprintf("UpdateChatThemes%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatThemes) TypeID() uint32 {
return UpdateChatThemesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatThemes) TypeName() string {
return "updateChatThemes"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatThemes) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatThemes",
ID: UpdateChatThemesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatThemes",
SchemaName: "chat_themes",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatThemes) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatThemes#98dc58d5 as nil")
}
b.PutID(UpdateChatThemesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatThemes) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatThemes#98dc58d5 as nil")
}
b.PutInt(len(u.ChatThemes))
for idx, v := range u.ChatThemes {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateChatThemes#98dc58d5: field chat_themes element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatThemes) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatThemes#98dc58d5 to nil")
}
if err := b.ConsumeID(UpdateChatThemesTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatThemes#98dc58d5: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatThemes) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatThemes#98dc58d5 to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatThemes#98dc58d5: field chat_themes: %w", err)
}
if headerLen > 0 {
u.ChatThemes = make([]ChatTheme, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value ChatTheme
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateChatThemes#98dc58d5: field chat_themes: %w", err)
}
u.ChatThemes = append(u.ChatThemes, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatThemes) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatThemes#98dc58d5 as nil")
}
b.ObjStart()
b.PutID("updateChatThemes")
b.Comma()
b.FieldStart("chat_themes")
b.ArrStart()
for idx, v := range u.ChatThemes {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatThemes#98dc58d5: field chat_themes 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 (u *UpdateChatThemes) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatThemes#98dc58d5 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatThemes"); err != nil {
return fmt.Errorf("unable to decode updateChatThemes#98dc58d5: %w", err)
}
case "chat_themes":
if err := b.Arr(func(b tdjson.Decoder) error {
var value ChatTheme
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatThemes#98dc58d5: field chat_themes: %w", err)
}
u.ChatThemes = append(u.ChatThemes, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateChatThemes#98dc58d5: field chat_themes: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatThemes returns value of ChatThemes field.
func (u *UpdateChatThemes) GetChatThemes() (value []ChatTheme) {
if u == nil {
return
}
return u.ChatThemes
}
// UpdateAccentColors represents TL type `updateAccentColors#1316555e`.
type UpdateAccentColors struct {
// Information about supported colors; colors with identifiers 0 (red), 1 (orange), 2
// (purple/violet), 3 (green), 4 (cyan), 5 (blue), 6 (pink) must always be supported
Colors []AccentColor
// The list of accent color identifiers, which can be set through setAccentColor and
// setChatAccentColor. The colors must be shown in the specified order
AvailableAccentColorIDs []int32
}
// UpdateAccentColorsTypeID is TL type id of UpdateAccentColors.
const UpdateAccentColorsTypeID = 0x1316555e
// construct implements constructor of UpdateClass.
func (u UpdateAccentColors) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateAccentColors.
var (
_ bin.Encoder = &UpdateAccentColors{}
_ bin.Decoder = &UpdateAccentColors{}
_ bin.BareEncoder = &UpdateAccentColors{}
_ bin.BareDecoder = &UpdateAccentColors{}
_ UpdateClass = &UpdateAccentColors{}
)
func (u *UpdateAccentColors) Zero() bool {
if u == nil {
return true
}
if !(u.Colors == nil) {
return false
}
if !(u.AvailableAccentColorIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateAccentColors) String() string {
if u == nil {
return "UpdateAccentColors(nil)"
}
type Alias UpdateAccentColors
return fmt.Sprintf("UpdateAccentColors%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateAccentColors) TypeID() uint32 {
return UpdateAccentColorsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateAccentColors) TypeName() string {
return "updateAccentColors"
}
// TypeInfo returns info about TL type.
func (u *UpdateAccentColors) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateAccentColors",
ID: UpdateAccentColorsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Colors",
SchemaName: "colors",
},
{
Name: "AvailableAccentColorIDs",
SchemaName: "available_accent_color_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateAccentColors) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAccentColors#1316555e as nil")
}
b.PutID(UpdateAccentColorsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateAccentColors) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAccentColors#1316555e as nil")
}
b.PutInt(len(u.Colors))
for idx, v := range u.Colors {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateAccentColors#1316555e: field colors element with index %d: %w", idx, err)
}
}
b.PutInt(len(u.AvailableAccentColorIDs))
for _, v := range u.AvailableAccentColorIDs {
b.PutInt32(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateAccentColors) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAccentColors#1316555e to nil")
}
if err := b.ConsumeID(UpdateAccentColorsTypeID); err != nil {
return fmt.Errorf("unable to decode updateAccentColors#1316555e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateAccentColors) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAccentColors#1316555e to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateAccentColors#1316555e: field colors: %w", err)
}
if headerLen > 0 {
u.Colors = make([]AccentColor, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value AccentColor
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateAccentColors#1316555e: field colors: %w", err)
}
u.Colors = append(u.Colors, value)
}
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateAccentColors#1316555e: field available_accent_color_ids: %w", err)
}
if headerLen > 0 {
u.AvailableAccentColorIDs = make([]int32, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateAccentColors#1316555e: field available_accent_color_ids: %w", err)
}
u.AvailableAccentColorIDs = append(u.AvailableAccentColorIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateAccentColors) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateAccentColors#1316555e as nil")
}
b.ObjStart()
b.PutID("updateAccentColors")
b.Comma()
b.FieldStart("colors")
b.ArrStart()
for idx, v := range u.Colors {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateAccentColors#1316555e: field colors element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("available_accent_color_ids")
b.ArrStart()
for _, v := range u.AvailableAccentColorIDs {
b.PutInt32(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateAccentColors) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateAccentColors#1316555e to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateAccentColors"); err != nil {
return fmt.Errorf("unable to decode updateAccentColors#1316555e: %w", err)
}
case "colors":
if err := b.Arr(func(b tdjson.Decoder) error {
var value AccentColor
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateAccentColors#1316555e: field colors: %w", err)
}
u.Colors = append(u.Colors, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateAccentColors#1316555e: field colors: %w", err)
}
case "available_accent_color_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateAccentColors#1316555e: field available_accent_color_ids: %w", err)
}
u.AvailableAccentColorIDs = append(u.AvailableAccentColorIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateAccentColors#1316555e: field available_accent_color_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetColors returns value of Colors field.
func (u *UpdateAccentColors) GetColors() (value []AccentColor) {
if u == nil {
return
}
return u.Colors
}
// GetAvailableAccentColorIDs returns value of AvailableAccentColorIDs field.
func (u *UpdateAccentColors) GetAvailableAccentColorIDs() (value []int32) {
if u == nil {
return
}
return u.AvailableAccentColorIDs
}
// UpdateProfileAccentColors represents TL type `updateProfileAccentColors#bf8e7430`.
type UpdateProfileAccentColors struct {
// Information about supported colors
Colors []ProfileAccentColor
// The list of accent color identifiers, which can be set through setProfileAccentColor
// and setChatProfileAccentColor. The colors must be shown in the specified order
AvailableAccentColorIDs []int32
}
// UpdateProfileAccentColorsTypeID is TL type id of UpdateProfileAccentColors.
const UpdateProfileAccentColorsTypeID = 0xbf8e7430
// construct implements constructor of UpdateClass.
func (u UpdateProfileAccentColors) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateProfileAccentColors.
var (
_ bin.Encoder = &UpdateProfileAccentColors{}
_ bin.Decoder = &UpdateProfileAccentColors{}
_ bin.BareEncoder = &UpdateProfileAccentColors{}
_ bin.BareDecoder = &UpdateProfileAccentColors{}
_ UpdateClass = &UpdateProfileAccentColors{}
)
func (u *UpdateProfileAccentColors) Zero() bool {
if u == nil {
return true
}
if !(u.Colors == nil) {
return false
}
if !(u.AvailableAccentColorIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateProfileAccentColors) String() string {
if u == nil {
return "UpdateProfileAccentColors(nil)"
}
type Alias UpdateProfileAccentColors
return fmt.Sprintf("UpdateProfileAccentColors%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateProfileAccentColors) TypeID() uint32 {
return UpdateProfileAccentColorsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateProfileAccentColors) TypeName() string {
return "updateProfileAccentColors"
}
// TypeInfo returns info about TL type.
func (u *UpdateProfileAccentColors) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateProfileAccentColors",
ID: UpdateProfileAccentColorsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Colors",
SchemaName: "colors",
},
{
Name: "AvailableAccentColorIDs",
SchemaName: "available_accent_color_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateProfileAccentColors) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateProfileAccentColors#bf8e7430 as nil")
}
b.PutID(UpdateProfileAccentColorsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateProfileAccentColors) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateProfileAccentColors#bf8e7430 as nil")
}
b.PutInt(len(u.Colors))
for idx, v := range u.Colors {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateProfileAccentColors#bf8e7430: field colors element with index %d: %w", idx, err)
}
}
b.PutInt(len(u.AvailableAccentColorIDs))
for _, v := range u.AvailableAccentColorIDs {
b.PutInt32(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateProfileAccentColors) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateProfileAccentColors#bf8e7430 to nil")
}
if err := b.ConsumeID(UpdateProfileAccentColorsTypeID); err != nil {
return fmt.Errorf("unable to decode updateProfileAccentColors#bf8e7430: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateProfileAccentColors) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateProfileAccentColors#bf8e7430 to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateProfileAccentColors#bf8e7430: field colors: %w", err)
}
if headerLen > 0 {
u.Colors = make([]ProfileAccentColor, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value ProfileAccentColor
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateProfileAccentColors#bf8e7430: field colors: %w", err)
}
u.Colors = append(u.Colors, value)
}
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateProfileAccentColors#bf8e7430: field available_accent_color_ids: %w", err)
}
if headerLen > 0 {
u.AvailableAccentColorIDs = make([]int32, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateProfileAccentColors#bf8e7430: field available_accent_color_ids: %w", err)
}
u.AvailableAccentColorIDs = append(u.AvailableAccentColorIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateProfileAccentColors) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateProfileAccentColors#bf8e7430 as nil")
}
b.ObjStart()
b.PutID("updateProfileAccentColors")
b.Comma()
b.FieldStart("colors")
b.ArrStart()
for idx, v := range u.Colors {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateProfileAccentColors#bf8e7430: field colors element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("available_accent_color_ids")
b.ArrStart()
for _, v := range u.AvailableAccentColorIDs {
b.PutInt32(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateProfileAccentColors) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateProfileAccentColors#bf8e7430 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateProfileAccentColors"); err != nil {
return fmt.Errorf("unable to decode updateProfileAccentColors#bf8e7430: %w", err)
}
case "colors":
if err := b.Arr(func(b tdjson.Decoder) error {
var value ProfileAccentColor
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateProfileAccentColors#bf8e7430: field colors: %w", err)
}
u.Colors = append(u.Colors, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateProfileAccentColors#bf8e7430: field colors: %w", err)
}
case "available_accent_color_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateProfileAccentColors#bf8e7430: field available_accent_color_ids: %w", err)
}
u.AvailableAccentColorIDs = append(u.AvailableAccentColorIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateProfileAccentColors#bf8e7430: field available_accent_color_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetColors returns value of Colors field.
func (u *UpdateProfileAccentColors) GetColors() (value []ProfileAccentColor) {
if u == nil {
return
}
return u.Colors
}
// GetAvailableAccentColorIDs returns value of AvailableAccentColorIDs field.
func (u *UpdateProfileAccentColors) GetAvailableAccentColorIDs() (value []int32) {
if u == nil {
return
}
return u.AvailableAccentColorIDs
}
// UpdateLanguagePackStrings represents TL type `updateLanguagePackStrings#af87919f`.
type UpdateLanguagePackStrings struct {
// Localization target to which the language pack belongs
LocalizationTarget string
// Identifier of the updated language pack
LanguagePackID string
// List of changed language pack strings; empty if all strings have changed
Strings []LanguagePackString
}
// UpdateLanguagePackStringsTypeID is TL type id of UpdateLanguagePackStrings.
const UpdateLanguagePackStringsTypeID = 0xaf87919f
// construct implements constructor of UpdateClass.
func (u UpdateLanguagePackStrings) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateLanguagePackStrings.
var (
_ bin.Encoder = &UpdateLanguagePackStrings{}
_ bin.Decoder = &UpdateLanguagePackStrings{}
_ bin.BareEncoder = &UpdateLanguagePackStrings{}
_ bin.BareDecoder = &UpdateLanguagePackStrings{}
_ UpdateClass = &UpdateLanguagePackStrings{}
)
func (u *UpdateLanguagePackStrings) Zero() bool {
if u == nil {
return true
}
if !(u.LocalizationTarget == "") {
return false
}
if !(u.LanguagePackID == "") {
return false
}
if !(u.Strings == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateLanguagePackStrings) String() string {
if u == nil {
return "UpdateLanguagePackStrings(nil)"
}
type Alias UpdateLanguagePackStrings
return fmt.Sprintf("UpdateLanguagePackStrings%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateLanguagePackStrings) TypeID() uint32 {
return UpdateLanguagePackStringsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateLanguagePackStrings) TypeName() string {
return "updateLanguagePackStrings"
}
// TypeInfo returns info about TL type.
func (u *UpdateLanguagePackStrings) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateLanguagePackStrings",
ID: UpdateLanguagePackStringsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "LocalizationTarget",
SchemaName: "localization_target",
},
{
Name: "LanguagePackID",
SchemaName: "language_pack_id",
},
{
Name: "Strings",
SchemaName: "strings",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateLanguagePackStrings) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateLanguagePackStrings#af87919f as nil")
}
b.PutID(UpdateLanguagePackStringsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateLanguagePackStrings) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateLanguagePackStrings#af87919f as nil")
}
b.PutString(u.LocalizationTarget)
b.PutString(u.LanguagePackID)
b.PutInt(len(u.Strings))
for idx, v := range u.Strings {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateLanguagePackStrings#af87919f: field strings element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateLanguagePackStrings) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateLanguagePackStrings#af87919f to nil")
}
if err := b.ConsumeID(UpdateLanguagePackStringsTypeID); err != nil {
return fmt.Errorf("unable to decode updateLanguagePackStrings#af87919f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateLanguagePackStrings) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateLanguagePackStrings#af87919f to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateLanguagePackStrings#af87919f: field localization_target: %w", err)
}
u.LocalizationTarget = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateLanguagePackStrings#af87919f: field language_pack_id: %w", err)
}
u.LanguagePackID = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateLanguagePackStrings#af87919f: field strings: %w", err)
}
if headerLen > 0 {
u.Strings = make([]LanguagePackString, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value LanguagePackString
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateLanguagePackStrings#af87919f: field strings: %w", err)
}
u.Strings = append(u.Strings, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateLanguagePackStrings) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateLanguagePackStrings#af87919f as nil")
}
b.ObjStart()
b.PutID("updateLanguagePackStrings")
b.Comma()
b.FieldStart("localization_target")
b.PutString(u.LocalizationTarget)
b.Comma()
b.FieldStart("language_pack_id")
b.PutString(u.LanguagePackID)
b.Comma()
b.FieldStart("strings")
b.ArrStart()
for idx, v := range u.Strings {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateLanguagePackStrings#af87919f: field strings 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 (u *UpdateLanguagePackStrings) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateLanguagePackStrings#af87919f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateLanguagePackStrings"); err != nil {
return fmt.Errorf("unable to decode updateLanguagePackStrings#af87919f: %w", err)
}
case "localization_target":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateLanguagePackStrings#af87919f: field localization_target: %w", err)
}
u.LocalizationTarget = value
case "language_pack_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateLanguagePackStrings#af87919f: field language_pack_id: %w", err)
}
u.LanguagePackID = value
case "strings":
if err := b.Arr(func(b tdjson.Decoder) error {
var value LanguagePackString
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateLanguagePackStrings#af87919f: field strings: %w", err)
}
u.Strings = append(u.Strings, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateLanguagePackStrings#af87919f: field strings: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetLocalizationTarget returns value of LocalizationTarget field.
func (u *UpdateLanguagePackStrings) GetLocalizationTarget() (value string) {
if u == nil {
return
}
return u.LocalizationTarget
}
// GetLanguagePackID returns value of LanguagePackID field.
func (u *UpdateLanguagePackStrings) GetLanguagePackID() (value string) {
if u == nil {
return
}
return u.LanguagePackID
}
// GetStrings returns value of Strings field.
func (u *UpdateLanguagePackStrings) GetStrings() (value []LanguagePackString) {
if u == nil {
return
}
return u.Strings
}
// UpdateConnectionState represents TL type `updateConnectionState#57939e2e`.
type UpdateConnectionState struct {
// The new connection state
State ConnectionStateClass
}
// UpdateConnectionStateTypeID is TL type id of UpdateConnectionState.
const UpdateConnectionStateTypeID = 0x57939e2e
// construct implements constructor of UpdateClass.
func (u UpdateConnectionState) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateConnectionState.
var (
_ bin.Encoder = &UpdateConnectionState{}
_ bin.Decoder = &UpdateConnectionState{}
_ bin.BareEncoder = &UpdateConnectionState{}
_ bin.BareDecoder = &UpdateConnectionState{}
_ UpdateClass = &UpdateConnectionState{}
)
func (u *UpdateConnectionState) Zero() bool {
if u == nil {
return true
}
if !(u.State == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateConnectionState) String() string {
if u == nil {
return "UpdateConnectionState(nil)"
}
type Alias UpdateConnectionState
return fmt.Sprintf("UpdateConnectionState%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateConnectionState) TypeID() uint32 {
return UpdateConnectionStateTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateConnectionState) TypeName() string {
return "updateConnectionState"
}
// TypeInfo returns info about TL type.
func (u *UpdateConnectionState) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateConnectionState",
ID: UpdateConnectionStateTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "State",
SchemaName: "state",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateConnectionState) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateConnectionState#57939e2e as nil")
}
b.PutID(UpdateConnectionStateTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateConnectionState) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateConnectionState#57939e2e as nil")
}
if u.State == nil {
return fmt.Errorf("unable to encode updateConnectionState#57939e2e: field state is nil")
}
if err := u.State.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateConnectionState#57939e2e: field state: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateConnectionState) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateConnectionState#57939e2e to nil")
}
if err := b.ConsumeID(UpdateConnectionStateTypeID); err != nil {
return fmt.Errorf("unable to decode updateConnectionState#57939e2e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateConnectionState) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateConnectionState#57939e2e to nil")
}
{
value, err := DecodeConnectionState(b)
if err != nil {
return fmt.Errorf("unable to decode updateConnectionState#57939e2e: field state: %w", err)
}
u.State = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateConnectionState) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateConnectionState#57939e2e as nil")
}
b.ObjStart()
b.PutID("updateConnectionState")
b.Comma()
b.FieldStart("state")
if u.State == nil {
return fmt.Errorf("unable to encode updateConnectionState#57939e2e: field state is nil")
}
if err := u.State.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateConnectionState#57939e2e: field state: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateConnectionState) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateConnectionState#57939e2e to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateConnectionState"); err != nil {
return fmt.Errorf("unable to decode updateConnectionState#57939e2e: %w", err)
}
case "state":
value, err := DecodeTDLibJSONConnectionState(b)
if err != nil {
return fmt.Errorf("unable to decode updateConnectionState#57939e2e: field state: %w", err)
}
u.State = value
default:
return b.Skip()
}
return nil
})
}
// GetState returns value of State field.
func (u *UpdateConnectionState) GetState() (value ConnectionStateClass) {
if u == nil {
return
}
return u.State
}
// UpdateFreezeState represents TL type `updateFreezeState#64e022ac`.
type UpdateFreezeState struct {
// True, if the account is frozen
IsFrozen bool
// Point in time (Unix timestamp) when the account was frozen; 0 if the account isn't
// frozen
FreezingDate int32
// Point in time (Unix timestamp) when the account will be deleted and can't be unfrozen;
// 0 if the account isn't frozen
DeletionDate int32
// The link to open to send an appeal to unfreeze the account
AppealLink string
}
// UpdateFreezeStateTypeID is TL type id of UpdateFreezeState.
const UpdateFreezeStateTypeID = 0x64e022ac
// construct implements constructor of UpdateClass.
func (u UpdateFreezeState) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFreezeState.
var (
_ bin.Encoder = &UpdateFreezeState{}
_ bin.Decoder = &UpdateFreezeState{}
_ bin.BareEncoder = &UpdateFreezeState{}
_ bin.BareDecoder = &UpdateFreezeState{}
_ UpdateClass = &UpdateFreezeState{}
)
func (u *UpdateFreezeState) Zero() bool {
if u == nil {
return true
}
if !(u.IsFrozen == false) {
return false
}
if !(u.FreezingDate == 0) {
return false
}
if !(u.DeletionDate == 0) {
return false
}
if !(u.AppealLink == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFreezeState) String() string {
if u == nil {
return "UpdateFreezeState(nil)"
}
type Alias UpdateFreezeState
return fmt.Sprintf("UpdateFreezeState%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFreezeState) TypeID() uint32 {
return UpdateFreezeStateTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFreezeState) TypeName() string {
return "updateFreezeState"
}
// TypeInfo returns info about TL type.
func (u *UpdateFreezeState) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFreezeState",
ID: UpdateFreezeStateTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "IsFrozen",
SchemaName: "is_frozen",
},
{
Name: "FreezingDate",
SchemaName: "freezing_date",
},
{
Name: "DeletionDate",
SchemaName: "deletion_date",
},
{
Name: "AppealLink",
SchemaName: "appeal_link",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFreezeState) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFreezeState#64e022ac as nil")
}
b.PutID(UpdateFreezeStateTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFreezeState) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFreezeState#64e022ac as nil")
}
b.PutBool(u.IsFrozen)
b.PutInt32(u.FreezingDate)
b.PutInt32(u.DeletionDate)
b.PutString(u.AppealLink)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFreezeState) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFreezeState#64e022ac to nil")
}
if err := b.ConsumeID(UpdateFreezeStateTypeID); err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFreezeState) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFreezeState#64e022ac to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: field is_frozen: %w", err)
}
u.IsFrozen = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: field freezing_date: %w", err)
}
u.FreezingDate = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: field deletion_date: %w", err)
}
u.DeletionDate = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: field appeal_link: %w", err)
}
u.AppealLink = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateFreezeState) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateFreezeState#64e022ac as nil")
}
b.ObjStart()
b.PutID("updateFreezeState")
b.Comma()
b.FieldStart("is_frozen")
b.PutBool(u.IsFrozen)
b.Comma()
b.FieldStart("freezing_date")
b.PutInt32(u.FreezingDate)
b.Comma()
b.FieldStart("deletion_date")
b.PutInt32(u.DeletionDate)
b.Comma()
b.FieldStart("appeal_link")
b.PutString(u.AppealLink)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateFreezeState) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateFreezeState#64e022ac to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateFreezeState"); err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: %w", err)
}
case "is_frozen":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: field is_frozen: %w", err)
}
u.IsFrozen = value
case "freezing_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: field freezing_date: %w", err)
}
u.FreezingDate = value
case "deletion_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: field deletion_date: %w", err)
}
u.DeletionDate = value
case "appeal_link":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateFreezeState#64e022ac: field appeal_link: %w", err)
}
u.AppealLink = value
default:
return b.Skip()
}
return nil
})
}
// GetIsFrozen returns value of IsFrozen field.
func (u *UpdateFreezeState) GetIsFrozen() (value bool) {
if u == nil {
return
}
return u.IsFrozen
}
// GetFreezingDate returns value of FreezingDate field.
func (u *UpdateFreezeState) GetFreezingDate() (value int32) {
if u == nil {
return
}
return u.FreezingDate
}
// GetDeletionDate returns value of DeletionDate field.
func (u *UpdateFreezeState) GetDeletionDate() (value int32) {
if u == nil {
return
}
return u.DeletionDate
}
// GetAppealLink returns value of AppealLink field.
func (u *UpdateFreezeState) GetAppealLink() (value string) {
if u == nil {
return
}
return u.AppealLink
}
// UpdateTermsOfService represents TL type `updateTermsOfService#b23cc55e`.
type UpdateTermsOfService struct {
// Identifier of the terms of service
TermsOfServiceID string
// The new terms of service
TermsOfService TermsOfService
}
// UpdateTermsOfServiceTypeID is TL type id of UpdateTermsOfService.
const UpdateTermsOfServiceTypeID = 0xb23cc55e
// construct implements constructor of UpdateClass.
func (u UpdateTermsOfService) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateTermsOfService.
var (
_ bin.Encoder = &UpdateTermsOfService{}
_ bin.Decoder = &UpdateTermsOfService{}
_ bin.BareEncoder = &UpdateTermsOfService{}
_ bin.BareDecoder = &UpdateTermsOfService{}
_ UpdateClass = &UpdateTermsOfService{}
)
func (u *UpdateTermsOfService) Zero() bool {
if u == nil {
return true
}
if !(u.TermsOfServiceID == "") {
return false
}
if !(u.TermsOfService.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateTermsOfService) String() string {
if u == nil {
return "UpdateTermsOfService(nil)"
}
type Alias UpdateTermsOfService
return fmt.Sprintf("UpdateTermsOfService%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateTermsOfService) TypeID() uint32 {
return UpdateTermsOfServiceTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateTermsOfService) TypeName() string {
return "updateTermsOfService"
}
// TypeInfo returns info about TL type.
func (u *UpdateTermsOfService) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateTermsOfService",
ID: UpdateTermsOfServiceTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "TermsOfServiceID",
SchemaName: "terms_of_service_id",
},
{
Name: "TermsOfService",
SchemaName: "terms_of_service",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateTermsOfService) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateTermsOfService#b23cc55e as nil")
}
b.PutID(UpdateTermsOfServiceTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateTermsOfService) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateTermsOfService#b23cc55e as nil")
}
b.PutString(u.TermsOfServiceID)
if err := u.TermsOfService.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateTermsOfService#b23cc55e: field terms_of_service: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateTermsOfService) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateTermsOfService#b23cc55e to nil")
}
if err := b.ConsumeID(UpdateTermsOfServiceTypeID); err != nil {
return fmt.Errorf("unable to decode updateTermsOfService#b23cc55e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateTermsOfService) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateTermsOfService#b23cc55e to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateTermsOfService#b23cc55e: field terms_of_service_id: %w", err)
}
u.TermsOfServiceID = value
}
{
if err := u.TermsOfService.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateTermsOfService#b23cc55e: field terms_of_service: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateTermsOfService) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateTermsOfService#b23cc55e as nil")
}
b.ObjStart()
b.PutID("updateTermsOfService")
b.Comma()
b.FieldStart("terms_of_service_id")
b.PutString(u.TermsOfServiceID)
b.Comma()
b.FieldStart("terms_of_service")
if err := u.TermsOfService.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateTermsOfService#b23cc55e: field terms_of_service: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateTermsOfService) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateTermsOfService#b23cc55e to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateTermsOfService"); err != nil {
return fmt.Errorf("unable to decode updateTermsOfService#b23cc55e: %w", err)
}
case "terms_of_service_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateTermsOfService#b23cc55e: field terms_of_service_id: %w", err)
}
u.TermsOfServiceID = value
case "terms_of_service":
if err := u.TermsOfService.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateTermsOfService#b23cc55e: field terms_of_service: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetTermsOfServiceID returns value of TermsOfServiceID field.
func (u *UpdateTermsOfService) GetTermsOfServiceID() (value string) {
if u == nil {
return
}
return u.TermsOfServiceID
}
// GetTermsOfService returns value of TermsOfService field.
func (u *UpdateTermsOfService) GetTermsOfService() (value TermsOfService) {
if u == nil {
return
}
return u.TermsOfService
}
// UpdateUnconfirmedSession represents TL type `updateUnconfirmedSession#fea6088c`.
type UpdateUnconfirmedSession struct {
// The unconfirmed session; may be null if none
Session UnconfirmedSession
}
// UpdateUnconfirmedSessionTypeID is TL type id of UpdateUnconfirmedSession.
const UpdateUnconfirmedSessionTypeID = 0xfea6088c
// construct implements constructor of UpdateClass.
func (u UpdateUnconfirmedSession) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUnconfirmedSession.
var (
_ bin.Encoder = &UpdateUnconfirmedSession{}
_ bin.Decoder = &UpdateUnconfirmedSession{}
_ bin.BareEncoder = &UpdateUnconfirmedSession{}
_ bin.BareDecoder = &UpdateUnconfirmedSession{}
_ UpdateClass = &UpdateUnconfirmedSession{}
)
func (u *UpdateUnconfirmedSession) Zero() bool {
if u == nil {
return true
}
if !(u.Session.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUnconfirmedSession) String() string {
if u == nil {
return "UpdateUnconfirmedSession(nil)"
}
type Alias UpdateUnconfirmedSession
return fmt.Sprintf("UpdateUnconfirmedSession%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUnconfirmedSession) TypeID() uint32 {
return UpdateUnconfirmedSessionTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUnconfirmedSession) TypeName() string {
return "updateUnconfirmedSession"
}
// TypeInfo returns info about TL type.
func (u *UpdateUnconfirmedSession) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUnconfirmedSession",
ID: UpdateUnconfirmedSessionTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Session",
SchemaName: "session",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUnconfirmedSession) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUnconfirmedSession#fea6088c as nil")
}
b.PutID(UpdateUnconfirmedSessionTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUnconfirmedSession) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUnconfirmedSession#fea6088c as nil")
}
if err := u.Session.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUnconfirmedSession#fea6088c: field session: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUnconfirmedSession) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUnconfirmedSession#fea6088c to nil")
}
if err := b.ConsumeID(UpdateUnconfirmedSessionTypeID); err != nil {
return fmt.Errorf("unable to decode updateUnconfirmedSession#fea6088c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUnconfirmedSession) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUnconfirmedSession#fea6088c to nil")
}
{
if err := u.Session.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateUnconfirmedSession#fea6088c: field session: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateUnconfirmedSession) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateUnconfirmedSession#fea6088c as nil")
}
b.ObjStart()
b.PutID("updateUnconfirmedSession")
b.Comma()
b.FieldStart("session")
if err := u.Session.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateUnconfirmedSession#fea6088c: field session: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateUnconfirmedSession) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateUnconfirmedSession#fea6088c to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateUnconfirmedSession"); err != nil {
return fmt.Errorf("unable to decode updateUnconfirmedSession#fea6088c: %w", err)
}
case "session":
if err := u.Session.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateUnconfirmedSession#fea6088c: field session: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetSession returns value of Session field.
func (u *UpdateUnconfirmedSession) GetSession() (value UnconfirmedSession) {
if u == nil {
return
}
return u.Session
}
// UpdateAttachmentMenuBots represents TL type `updateAttachmentMenuBots#b6b910c`.
type UpdateAttachmentMenuBots struct {
// The new list of bots. The bots must not be shown on scheduled messages screen
Bots []AttachmentMenuBot
}
// UpdateAttachmentMenuBotsTypeID is TL type id of UpdateAttachmentMenuBots.
const UpdateAttachmentMenuBotsTypeID = 0xb6b910c
// construct implements constructor of UpdateClass.
func (u UpdateAttachmentMenuBots) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateAttachmentMenuBots.
var (
_ bin.Encoder = &UpdateAttachmentMenuBots{}
_ bin.Decoder = &UpdateAttachmentMenuBots{}
_ bin.BareEncoder = &UpdateAttachmentMenuBots{}
_ bin.BareDecoder = &UpdateAttachmentMenuBots{}
_ UpdateClass = &UpdateAttachmentMenuBots{}
)
func (u *UpdateAttachmentMenuBots) Zero() bool {
if u == nil {
return true
}
if !(u.Bots == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateAttachmentMenuBots) String() string {
if u == nil {
return "UpdateAttachmentMenuBots(nil)"
}
type Alias UpdateAttachmentMenuBots
return fmt.Sprintf("UpdateAttachmentMenuBots%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateAttachmentMenuBots) TypeID() uint32 {
return UpdateAttachmentMenuBotsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateAttachmentMenuBots) TypeName() string {
return "updateAttachmentMenuBots"
}
// TypeInfo returns info about TL type.
func (u *UpdateAttachmentMenuBots) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateAttachmentMenuBots",
ID: UpdateAttachmentMenuBotsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Bots",
SchemaName: "bots",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateAttachmentMenuBots) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAttachmentMenuBots#b6b910c as nil")
}
b.PutID(UpdateAttachmentMenuBotsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateAttachmentMenuBots) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAttachmentMenuBots#b6b910c as nil")
}
b.PutInt(len(u.Bots))
for idx, v := range u.Bots {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateAttachmentMenuBots#b6b910c: field bots element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateAttachmentMenuBots) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAttachmentMenuBots#b6b910c to nil")
}
if err := b.ConsumeID(UpdateAttachmentMenuBotsTypeID); err != nil {
return fmt.Errorf("unable to decode updateAttachmentMenuBots#b6b910c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateAttachmentMenuBots) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAttachmentMenuBots#b6b910c to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateAttachmentMenuBots#b6b910c: field bots: %w", err)
}
if headerLen > 0 {
u.Bots = make([]AttachmentMenuBot, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value AttachmentMenuBot
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateAttachmentMenuBots#b6b910c: field bots: %w", err)
}
u.Bots = append(u.Bots, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateAttachmentMenuBots) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateAttachmentMenuBots#b6b910c as nil")
}
b.ObjStart()
b.PutID("updateAttachmentMenuBots")
b.Comma()
b.FieldStart("bots")
b.ArrStart()
for idx, v := range u.Bots {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateAttachmentMenuBots#b6b910c: field bots 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 (u *UpdateAttachmentMenuBots) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateAttachmentMenuBots#b6b910c to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateAttachmentMenuBots"); err != nil {
return fmt.Errorf("unable to decode updateAttachmentMenuBots#b6b910c: %w", err)
}
case "bots":
if err := b.Arr(func(b tdjson.Decoder) error {
var value AttachmentMenuBot
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateAttachmentMenuBots#b6b910c: field bots: %w", err)
}
u.Bots = append(u.Bots, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateAttachmentMenuBots#b6b910c: field bots: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetBots returns value of Bots field.
func (u *UpdateAttachmentMenuBots) GetBots() (value []AttachmentMenuBot) {
if u == nil {
return
}
return u.Bots
}
// UpdateWebAppMessageSent represents TL type `updateWebAppMessageSent#58431229`.
type UpdateWebAppMessageSent struct {
// Identifier of Web App launch
WebAppLaunchID int64
}
// UpdateWebAppMessageSentTypeID is TL type id of UpdateWebAppMessageSent.
const UpdateWebAppMessageSentTypeID = 0x58431229
// construct implements constructor of UpdateClass.
func (u UpdateWebAppMessageSent) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateWebAppMessageSent.
var (
_ bin.Encoder = &UpdateWebAppMessageSent{}
_ bin.Decoder = &UpdateWebAppMessageSent{}
_ bin.BareEncoder = &UpdateWebAppMessageSent{}
_ bin.BareDecoder = &UpdateWebAppMessageSent{}
_ UpdateClass = &UpdateWebAppMessageSent{}
)
func (u *UpdateWebAppMessageSent) Zero() bool {
if u == nil {
return true
}
if !(u.WebAppLaunchID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateWebAppMessageSent) String() string {
if u == nil {
return "UpdateWebAppMessageSent(nil)"
}
type Alias UpdateWebAppMessageSent
return fmt.Sprintf("UpdateWebAppMessageSent%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateWebAppMessageSent) TypeID() uint32 {
return UpdateWebAppMessageSentTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateWebAppMessageSent) TypeName() string {
return "updateWebAppMessageSent"
}
// TypeInfo returns info about TL type.
func (u *UpdateWebAppMessageSent) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateWebAppMessageSent",
ID: UpdateWebAppMessageSentTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "WebAppLaunchID",
SchemaName: "web_app_launch_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateWebAppMessageSent) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateWebAppMessageSent#58431229 as nil")
}
b.PutID(UpdateWebAppMessageSentTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateWebAppMessageSent) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateWebAppMessageSent#58431229 as nil")
}
b.PutLong(u.WebAppLaunchID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateWebAppMessageSent) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateWebAppMessageSent#58431229 to nil")
}
if err := b.ConsumeID(UpdateWebAppMessageSentTypeID); err != nil {
return fmt.Errorf("unable to decode updateWebAppMessageSent#58431229: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateWebAppMessageSent) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateWebAppMessageSent#58431229 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateWebAppMessageSent#58431229: field web_app_launch_id: %w", err)
}
u.WebAppLaunchID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateWebAppMessageSent) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateWebAppMessageSent#58431229 as nil")
}
b.ObjStart()
b.PutID("updateWebAppMessageSent")
b.Comma()
b.FieldStart("web_app_launch_id")
b.PutLong(u.WebAppLaunchID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateWebAppMessageSent) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateWebAppMessageSent#58431229 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateWebAppMessageSent"); err != nil {
return fmt.Errorf("unable to decode updateWebAppMessageSent#58431229: %w", err)
}
case "web_app_launch_id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateWebAppMessageSent#58431229: field web_app_launch_id: %w", err)
}
u.WebAppLaunchID = value
default:
return b.Skip()
}
return nil
})
}
// GetWebAppLaunchID returns value of WebAppLaunchID field.
func (u *UpdateWebAppMessageSent) GetWebAppLaunchID() (value int64) {
if u == nil {
return
}
return u.WebAppLaunchID
}
// UpdateActiveEmojiReactions represents TL type `updateActiveEmojiReactions#691ffcb7`.
type UpdateActiveEmojiReactions struct {
// The new list of active emoji reactions
Emojis []string
}
// UpdateActiveEmojiReactionsTypeID is TL type id of UpdateActiveEmojiReactions.
const UpdateActiveEmojiReactionsTypeID = 0x691ffcb7
// construct implements constructor of UpdateClass.
func (u UpdateActiveEmojiReactions) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateActiveEmojiReactions.
var (
_ bin.Encoder = &UpdateActiveEmojiReactions{}
_ bin.Decoder = &UpdateActiveEmojiReactions{}
_ bin.BareEncoder = &UpdateActiveEmojiReactions{}
_ bin.BareDecoder = &UpdateActiveEmojiReactions{}
_ UpdateClass = &UpdateActiveEmojiReactions{}
)
func (u *UpdateActiveEmojiReactions) Zero() bool {
if u == nil {
return true
}
if !(u.Emojis == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateActiveEmojiReactions) String() string {
if u == nil {
return "UpdateActiveEmojiReactions(nil)"
}
type Alias UpdateActiveEmojiReactions
return fmt.Sprintf("UpdateActiveEmojiReactions%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateActiveEmojiReactions) TypeID() uint32 {
return UpdateActiveEmojiReactionsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateActiveEmojiReactions) TypeName() string {
return "updateActiveEmojiReactions"
}
// TypeInfo returns info about TL type.
func (u *UpdateActiveEmojiReactions) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateActiveEmojiReactions",
ID: UpdateActiveEmojiReactionsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Emojis",
SchemaName: "emojis",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateActiveEmojiReactions) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateActiveEmojiReactions#691ffcb7 as nil")
}
b.PutID(UpdateActiveEmojiReactionsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateActiveEmojiReactions) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateActiveEmojiReactions#691ffcb7 as nil")
}
b.PutInt(len(u.Emojis))
for _, v := range u.Emojis {
b.PutString(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateActiveEmojiReactions) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateActiveEmojiReactions#691ffcb7 to nil")
}
if err := b.ConsumeID(UpdateActiveEmojiReactionsTypeID); err != nil {
return fmt.Errorf("unable to decode updateActiveEmojiReactions#691ffcb7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateActiveEmojiReactions) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateActiveEmojiReactions#691ffcb7 to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateActiveEmojiReactions#691ffcb7: field emojis: %w", err)
}
if headerLen > 0 {
u.Emojis = make([]string, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateActiveEmojiReactions#691ffcb7: field emojis: %w", err)
}
u.Emojis = append(u.Emojis, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateActiveEmojiReactions) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateActiveEmojiReactions#691ffcb7 as nil")
}
b.ObjStart()
b.PutID("updateActiveEmojiReactions")
b.Comma()
b.FieldStart("emojis")
b.ArrStart()
for _, v := range u.Emojis {
b.PutString(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateActiveEmojiReactions) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateActiveEmojiReactions#691ffcb7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateActiveEmojiReactions"); err != nil {
return fmt.Errorf("unable to decode updateActiveEmojiReactions#691ffcb7: %w", err)
}
case "emojis":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateActiveEmojiReactions#691ffcb7: field emojis: %w", err)
}
u.Emojis = append(u.Emojis, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateActiveEmojiReactions#691ffcb7: field emojis: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetEmojis returns value of Emojis field.
func (u *UpdateActiveEmojiReactions) GetEmojis() (value []string) {
if u == nil {
return
}
return u.Emojis
}
// UpdateAvailableMessageEffects represents TL type `updateAvailableMessageEffects#a1cb72b9`.
type UpdateAvailableMessageEffects struct {
// The new list of available message effects from emoji reactions
ReactionEffectIDs []int64
// The new list of available message effects from Premium stickers
StickerEffectIDs []int64
}
// UpdateAvailableMessageEffectsTypeID is TL type id of UpdateAvailableMessageEffects.
const UpdateAvailableMessageEffectsTypeID = 0xa1cb72b9
// construct implements constructor of UpdateClass.
func (u UpdateAvailableMessageEffects) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateAvailableMessageEffects.
var (
_ bin.Encoder = &UpdateAvailableMessageEffects{}
_ bin.Decoder = &UpdateAvailableMessageEffects{}
_ bin.BareEncoder = &UpdateAvailableMessageEffects{}
_ bin.BareDecoder = &UpdateAvailableMessageEffects{}
_ UpdateClass = &UpdateAvailableMessageEffects{}
)
func (u *UpdateAvailableMessageEffects) Zero() bool {
if u == nil {
return true
}
if !(u.ReactionEffectIDs == nil) {
return false
}
if !(u.StickerEffectIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateAvailableMessageEffects) String() string {
if u == nil {
return "UpdateAvailableMessageEffects(nil)"
}
type Alias UpdateAvailableMessageEffects
return fmt.Sprintf("UpdateAvailableMessageEffects%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateAvailableMessageEffects) TypeID() uint32 {
return UpdateAvailableMessageEffectsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateAvailableMessageEffects) TypeName() string {
return "updateAvailableMessageEffects"
}
// TypeInfo returns info about TL type.
func (u *UpdateAvailableMessageEffects) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateAvailableMessageEffects",
ID: UpdateAvailableMessageEffectsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ReactionEffectIDs",
SchemaName: "reaction_effect_ids",
},
{
Name: "StickerEffectIDs",
SchemaName: "sticker_effect_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateAvailableMessageEffects) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAvailableMessageEffects#a1cb72b9 as nil")
}
b.PutID(UpdateAvailableMessageEffectsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateAvailableMessageEffects) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAvailableMessageEffects#a1cb72b9 as nil")
}
b.PutInt(len(u.ReactionEffectIDs))
for _, v := range u.ReactionEffectIDs {
b.PutLong(v)
}
b.PutInt(len(u.StickerEffectIDs))
for _, v := range u.StickerEffectIDs {
b.PutLong(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateAvailableMessageEffects) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAvailableMessageEffects#a1cb72b9 to nil")
}
if err := b.ConsumeID(UpdateAvailableMessageEffectsTypeID); err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateAvailableMessageEffects) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAvailableMessageEffects#a1cb72b9 to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: field reaction_effect_ids: %w", err)
}
if headerLen > 0 {
u.ReactionEffectIDs = make([]int64, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: field reaction_effect_ids: %w", err)
}
u.ReactionEffectIDs = append(u.ReactionEffectIDs, value)
}
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: field sticker_effect_ids: %w", err)
}
if headerLen > 0 {
u.StickerEffectIDs = make([]int64, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: field sticker_effect_ids: %w", err)
}
u.StickerEffectIDs = append(u.StickerEffectIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateAvailableMessageEffects) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateAvailableMessageEffects#a1cb72b9 as nil")
}
b.ObjStart()
b.PutID("updateAvailableMessageEffects")
b.Comma()
b.FieldStart("reaction_effect_ids")
b.ArrStart()
for _, v := range u.ReactionEffectIDs {
b.PutLong(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("sticker_effect_ids")
b.ArrStart()
for _, v := range u.StickerEffectIDs {
b.PutLong(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateAvailableMessageEffects) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateAvailableMessageEffects#a1cb72b9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateAvailableMessageEffects"); err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: %w", err)
}
case "reaction_effect_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: field reaction_effect_ids: %w", err)
}
u.ReactionEffectIDs = append(u.ReactionEffectIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: field reaction_effect_ids: %w", err)
}
case "sticker_effect_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: field sticker_effect_ids: %w", err)
}
u.StickerEffectIDs = append(u.StickerEffectIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateAvailableMessageEffects#a1cb72b9: field sticker_effect_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetReactionEffectIDs returns value of ReactionEffectIDs field.
func (u *UpdateAvailableMessageEffects) GetReactionEffectIDs() (value []int64) {
if u == nil {
return
}
return u.ReactionEffectIDs
}
// GetStickerEffectIDs returns value of StickerEffectIDs field.
func (u *UpdateAvailableMessageEffects) GetStickerEffectIDs() (value []int64) {
if u == nil {
return
}
return u.StickerEffectIDs
}
// UpdateDefaultReactionType represents TL type `updateDefaultReactionType#4b615105`.
type UpdateDefaultReactionType struct {
// The new type of the default reaction
ReactionType ReactionTypeClass
}
// UpdateDefaultReactionTypeTypeID is TL type id of UpdateDefaultReactionType.
const UpdateDefaultReactionTypeTypeID = 0x4b615105
// construct implements constructor of UpdateClass.
func (u UpdateDefaultReactionType) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDefaultReactionType.
var (
_ bin.Encoder = &UpdateDefaultReactionType{}
_ bin.Decoder = &UpdateDefaultReactionType{}
_ bin.BareEncoder = &UpdateDefaultReactionType{}
_ bin.BareDecoder = &UpdateDefaultReactionType{}
_ UpdateClass = &UpdateDefaultReactionType{}
)
func (u *UpdateDefaultReactionType) Zero() bool {
if u == nil {
return true
}
if !(u.ReactionType == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDefaultReactionType) String() string {
if u == nil {
return "UpdateDefaultReactionType(nil)"
}
type Alias UpdateDefaultReactionType
return fmt.Sprintf("UpdateDefaultReactionType%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDefaultReactionType) TypeID() uint32 {
return UpdateDefaultReactionTypeTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDefaultReactionType) TypeName() string {
return "updateDefaultReactionType"
}
// TypeInfo returns info about TL type.
func (u *UpdateDefaultReactionType) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDefaultReactionType",
ID: UpdateDefaultReactionTypeTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ReactionType",
SchemaName: "reaction_type",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDefaultReactionType) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDefaultReactionType#4b615105 as nil")
}
b.PutID(UpdateDefaultReactionTypeTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDefaultReactionType) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDefaultReactionType#4b615105 as nil")
}
if u.ReactionType == nil {
return fmt.Errorf("unable to encode updateDefaultReactionType#4b615105: field reaction_type is nil")
}
if err := u.ReactionType.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDefaultReactionType#4b615105: field reaction_type: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDefaultReactionType) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDefaultReactionType#4b615105 to nil")
}
if err := b.ConsumeID(UpdateDefaultReactionTypeTypeID); err != nil {
return fmt.Errorf("unable to decode updateDefaultReactionType#4b615105: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDefaultReactionType) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDefaultReactionType#4b615105 to nil")
}
{
value, err := DecodeReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode updateDefaultReactionType#4b615105: field reaction_type: %w", err)
}
u.ReactionType = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateDefaultReactionType) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateDefaultReactionType#4b615105 as nil")
}
b.ObjStart()
b.PutID("updateDefaultReactionType")
b.Comma()
b.FieldStart("reaction_type")
if u.ReactionType == nil {
return fmt.Errorf("unable to encode updateDefaultReactionType#4b615105: field reaction_type is nil")
}
if err := u.ReactionType.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateDefaultReactionType#4b615105: field reaction_type: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateDefaultReactionType) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateDefaultReactionType#4b615105 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateDefaultReactionType"); err != nil {
return fmt.Errorf("unable to decode updateDefaultReactionType#4b615105: %w", err)
}
case "reaction_type":
value, err := DecodeTDLibJSONReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode updateDefaultReactionType#4b615105: field reaction_type: %w", err)
}
u.ReactionType = value
default:
return b.Skip()
}
return nil
})
}
// GetReactionType returns value of ReactionType field.
func (u *UpdateDefaultReactionType) GetReactionType() (value ReactionTypeClass) {
if u == nil {
return
}
return u.ReactionType
}
// UpdateDefaultPaidReactionType represents TL type `updateDefaultPaidReactionType#246dd47`.
type UpdateDefaultPaidReactionType struct {
// The new type of the default paid reaction
Type PaidReactionTypeClass
}
// UpdateDefaultPaidReactionTypeTypeID is TL type id of UpdateDefaultPaidReactionType.
const UpdateDefaultPaidReactionTypeTypeID = 0x246dd47
// construct implements constructor of UpdateClass.
func (u UpdateDefaultPaidReactionType) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDefaultPaidReactionType.
var (
_ bin.Encoder = &UpdateDefaultPaidReactionType{}
_ bin.Decoder = &UpdateDefaultPaidReactionType{}
_ bin.BareEncoder = &UpdateDefaultPaidReactionType{}
_ bin.BareDecoder = &UpdateDefaultPaidReactionType{}
_ UpdateClass = &UpdateDefaultPaidReactionType{}
)
func (u *UpdateDefaultPaidReactionType) Zero() bool {
if u == nil {
return true
}
if !(u.Type == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDefaultPaidReactionType) String() string {
if u == nil {
return "UpdateDefaultPaidReactionType(nil)"
}
type Alias UpdateDefaultPaidReactionType
return fmt.Sprintf("UpdateDefaultPaidReactionType%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDefaultPaidReactionType) TypeID() uint32 {
return UpdateDefaultPaidReactionTypeTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDefaultPaidReactionType) TypeName() string {
return "updateDefaultPaidReactionType"
}
// TypeInfo returns info about TL type.
func (u *UpdateDefaultPaidReactionType) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDefaultPaidReactionType",
ID: UpdateDefaultPaidReactionTypeTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Type",
SchemaName: "type",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDefaultPaidReactionType) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDefaultPaidReactionType#246dd47 as nil")
}
b.PutID(UpdateDefaultPaidReactionTypeTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDefaultPaidReactionType) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDefaultPaidReactionType#246dd47 as nil")
}
if u.Type == nil {
return fmt.Errorf("unable to encode updateDefaultPaidReactionType#246dd47: field type is nil")
}
if err := u.Type.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDefaultPaidReactionType#246dd47: field type: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDefaultPaidReactionType) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDefaultPaidReactionType#246dd47 to nil")
}
if err := b.ConsumeID(UpdateDefaultPaidReactionTypeTypeID); err != nil {
return fmt.Errorf("unable to decode updateDefaultPaidReactionType#246dd47: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDefaultPaidReactionType) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDefaultPaidReactionType#246dd47 to nil")
}
{
value, err := DecodePaidReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode updateDefaultPaidReactionType#246dd47: field type: %w", err)
}
u.Type = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateDefaultPaidReactionType) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateDefaultPaidReactionType#246dd47 as nil")
}
b.ObjStart()
b.PutID("updateDefaultPaidReactionType")
b.Comma()
b.FieldStart("type")
if u.Type == nil {
return fmt.Errorf("unable to encode updateDefaultPaidReactionType#246dd47: field type is nil")
}
if err := u.Type.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateDefaultPaidReactionType#246dd47: field type: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateDefaultPaidReactionType) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateDefaultPaidReactionType#246dd47 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateDefaultPaidReactionType"); err != nil {
return fmt.Errorf("unable to decode updateDefaultPaidReactionType#246dd47: %w", err)
}
case "type":
value, err := DecodeTDLibJSONPaidReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode updateDefaultPaidReactionType#246dd47: field type: %w", err)
}
u.Type = value
default:
return b.Skip()
}
return nil
})
}
// GetType returns value of Type field.
func (u *UpdateDefaultPaidReactionType) GetType() (value PaidReactionTypeClass) {
if u == nil {
return
}
return u.Type
}
// UpdateSavedMessagesTags represents TL type `updateSavedMessagesTags#7386424a`.
type UpdateSavedMessagesTags struct {
// Identifier of Saved Messages topic which tags were changed; 0 if tags for the whole
// chat has changed
SavedMessagesTopicID int64
// The new tags
Tags SavedMessagesTags
}
// UpdateSavedMessagesTagsTypeID is TL type id of UpdateSavedMessagesTags.
const UpdateSavedMessagesTagsTypeID = 0x7386424a
// construct implements constructor of UpdateClass.
func (u UpdateSavedMessagesTags) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSavedMessagesTags.
var (
_ bin.Encoder = &UpdateSavedMessagesTags{}
_ bin.Decoder = &UpdateSavedMessagesTags{}
_ bin.BareEncoder = &UpdateSavedMessagesTags{}
_ bin.BareDecoder = &UpdateSavedMessagesTags{}
_ UpdateClass = &UpdateSavedMessagesTags{}
)
func (u *UpdateSavedMessagesTags) Zero() bool {
if u == nil {
return true
}
if !(u.SavedMessagesTopicID == 0) {
return false
}
if !(u.Tags.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSavedMessagesTags) String() string {
if u == nil {
return "UpdateSavedMessagesTags(nil)"
}
type Alias UpdateSavedMessagesTags
return fmt.Sprintf("UpdateSavedMessagesTags%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSavedMessagesTags) TypeID() uint32 {
return UpdateSavedMessagesTagsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSavedMessagesTags) TypeName() string {
return "updateSavedMessagesTags"
}
// TypeInfo returns info about TL type.
func (u *UpdateSavedMessagesTags) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSavedMessagesTags",
ID: UpdateSavedMessagesTagsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "SavedMessagesTopicID",
SchemaName: "saved_messages_topic_id",
},
{
Name: "Tags",
SchemaName: "tags",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSavedMessagesTags) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedMessagesTags#7386424a as nil")
}
b.PutID(UpdateSavedMessagesTagsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSavedMessagesTags) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedMessagesTags#7386424a as nil")
}
b.PutInt53(u.SavedMessagesTopicID)
if err := u.Tags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateSavedMessagesTags#7386424a: field tags: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSavedMessagesTags) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedMessagesTags#7386424a to nil")
}
if err := b.ConsumeID(UpdateSavedMessagesTagsTypeID); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTags#7386424a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSavedMessagesTags) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedMessagesTags#7386424a to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTags#7386424a: field saved_messages_topic_id: %w", err)
}
u.SavedMessagesTopicID = value
}
{
if err := u.Tags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTags#7386424a: field tags: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSavedMessagesTags) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedMessagesTags#7386424a as nil")
}
b.ObjStart()
b.PutID("updateSavedMessagesTags")
b.Comma()
b.FieldStart("saved_messages_topic_id")
b.PutInt53(u.SavedMessagesTopicID)
b.Comma()
b.FieldStart("tags")
if err := u.Tags.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateSavedMessagesTags#7386424a: field tags: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSavedMessagesTags) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedMessagesTags#7386424a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSavedMessagesTags"); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTags#7386424a: %w", err)
}
case "saved_messages_topic_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTags#7386424a: field saved_messages_topic_id: %w", err)
}
u.SavedMessagesTopicID = value
case "tags":
if err := u.Tags.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateSavedMessagesTags#7386424a: field tags: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetSavedMessagesTopicID returns value of SavedMessagesTopicID field.
func (u *UpdateSavedMessagesTags) GetSavedMessagesTopicID() (value int64) {
if u == nil {
return
}
return u.SavedMessagesTopicID
}
// GetTags returns value of Tags field.
func (u *UpdateSavedMessagesTags) GetTags() (value SavedMessagesTags) {
if u == nil {
return
}
return u.Tags
}
// UpdateActiveLiveLocationMessages represents TL type `updateActiveLiveLocationMessages#a20b9b1f`.
type UpdateActiveLiveLocationMessages struct {
// The list of messages with active live locations
Messages []Message
}
// UpdateActiveLiveLocationMessagesTypeID is TL type id of UpdateActiveLiveLocationMessages.
const UpdateActiveLiveLocationMessagesTypeID = 0xa20b9b1f
// construct implements constructor of UpdateClass.
func (u UpdateActiveLiveLocationMessages) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateActiveLiveLocationMessages.
var (
_ bin.Encoder = &UpdateActiveLiveLocationMessages{}
_ bin.Decoder = &UpdateActiveLiveLocationMessages{}
_ bin.BareEncoder = &UpdateActiveLiveLocationMessages{}
_ bin.BareDecoder = &UpdateActiveLiveLocationMessages{}
_ UpdateClass = &UpdateActiveLiveLocationMessages{}
)
func (u *UpdateActiveLiveLocationMessages) Zero() bool {
if u == nil {
return true
}
if !(u.Messages == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateActiveLiveLocationMessages) String() string {
if u == nil {
return "UpdateActiveLiveLocationMessages(nil)"
}
type Alias UpdateActiveLiveLocationMessages
return fmt.Sprintf("UpdateActiveLiveLocationMessages%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateActiveLiveLocationMessages) TypeID() uint32 {
return UpdateActiveLiveLocationMessagesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateActiveLiveLocationMessages) TypeName() string {
return "updateActiveLiveLocationMessages"
}
// TypeInfo returns info about TL type.
func (u *UpdateActiveLiveLocationMessages) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateActiveLiveLocationMessages",
ID: UpdateActiveLiveLocationMessagesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Messages",
SchemaName: "messages",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateActiveLiveLocationMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateActiveLiveLocationMessages#a20b9b1f as nil")
}
b.PutID(UpdateActiveLiveLocationMessagesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateActiveLiveLocationMessages) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateActiveLiveLocationMessages#a20b9b1f as nil")
}
b.PutInt(len(u.Messages))
for idx, v := range u.Messages {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateActiveLiveLocationMessages#a20b9b1f: field messages element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateActiveLiveLocationMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateActiveLiveLocationMessages#a20b9b1f to nil")
}
if err := b.ConsumeID(UpdateActiveLiveLocationMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updateActiveLiveLocationMessages#a20b9b1f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateActiveLiveLocationMessages) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateActiveLiveLocationMessages#a20b9b1f to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateActiveLiveLocationMessages#a20b9b1f: field messages: %w", err)
}
if headerLen > 0 {
u.Messages = make([]Message, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value Message
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateActiveLiveLocationMessages#a20b9b1f: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateActiveLiveLocationMessages) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateActiveLiveLocationMessages#a20b9b1f as nil")
}
b.ObjStart()
b.PutID("updateActiveLiveLocationMessages")
b.Comma()
b.FieldStart("messages")
b.ArrStart()
for idx, v := range u.Messages {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateActiveLiveLocationMessages#a20b9b1f: field messages 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 (u *UpdateActiveLiveLocationMessages) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateActiveLiveLocationMessages#a20b9b1f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateActiveLiveLocationMessages"); err != nil {
return fmt.Errorf("unable to decode updateActiveLiveLocationMessages#a20b9b1f: %w", err)
}
case "messages":
if err := b.Arr(func(b tdjson.Decoder) error {
var value Message
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateActiveLiveLocationMessages#a20b9b1f: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateActiveLiveLocationMessages#a20b9b1f: field messages: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetMessages returns value of Messages field.
func (u *UpdateActiveLiveLocationMessages) GetMessages() (value []Message) {
if u == nil {
return
}
return u.Messages
}
// UpdateOwnedStarCount represents TL type `updateOwnedStarCount#af7ebf88`.
type UpdateOwnedStarCount struct {
// The new amount of owned Telegram Stars
StarAmount StarAmount
}
// UpdateOwnedStarCountTypeID is TL type id of UpdateOwnedStarCount.
const UpdateOwnedStarCountTypeID = 0xaf7ebf88
// construct implements constructor of UpdateClass.
func (u UpdateOwnedStarCount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateOwnedStarCount.
var (
_ bin.Encoder = &UpdateOwnedStarCount{}
_ bin.Decoder = &UpdateOwnedStarCount{}
_ bin.BareEncoder = &UpdateOwnedStarCount{}
_ bin.BareDecoder = &UpdateOwnedStarCount{}
_ UpdateClass = &UpdateOwnedStarCount{}
)
func (u *UpdateOwnedStarCount) Zero() bool {
if u == nil {
return true
}
if !(u.StarAmount.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateOwnedStarCount) String() string {
if u == nil {
return "UpdateOwnedStarCount(nil)"
}
type Alias UpdateOwnedStarCount
return fmt.Sprintf("UpdateOwnedStarCount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateOwnedStarCount) TypeID() uint32 {
return UpdateOwnedStarCountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateOwnedStarCount) TypeName() string {
return "updateOwnedStarCount"
}
// TypeInfo returns info about TL type.
func (u *UpdateOwnedStarCount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateOwnedStarCount",
ID: UpdateOwnedStarCountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "StarAmount",
SchemaName: "star_amount",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateOwnedStarCount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateOwnedStarCount#af7ebf88 as nil")
}
b.PutID(UpdateOwnedStarCountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateOwnedStarCount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateOwnedStarCount#af7ebf88 as nil")
}
if err := u.StarAmount.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateOwnedStarCount#af7ebf88: field star_amount: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateOwnedStarCount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateOwnedStarCount#af7ebf88 to nil")
}
if err := b.ConsumeID(UpdateOwnedStarCountTypeID); err != nil {
return fmt.Errorf("unable to decode updateOwnedStarCount#af7ebf88: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateOwnedStarCount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateOwnedStarCount#af7ebf88 to nil")
}
{
if err := u.StarAmount.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateOwnedStarCount#af7ebf88: field star_amount: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateOwnedStarCount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateOwnedStarCount#af7ebf88 as nil")
}
b.ObjStart()
b.PutID("updateOwnedStarCount")
b.Comma()
b.FieldStart("star_amount")
if err := u.StarAmount.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateOwnedStarCount#af7ebf88: field star_amount: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateOwnedStarCount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateOwnedStarCount#af7ebf88 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateOwnedStarCount"); err != nil {
return fmt.Errorf("unable to decode updateOwnedStarCount#af7ebf88: %w", err)
}
case "star_amount":
if err := u.StarAmount.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateOwnedStarCount#af7ebf88: field star_amount: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetStarAmount returns value of StarAmount field.
func (u *UpdateOwnedStarCount) GetStarAmount() (value StarAmount) {
if u == nil {
return
}
return u.StarAmount
}
// UpdateChatRevenueAmount represents TL type `updateChatRevenueAmount#c6c9bcc4`.
type UpdateChatRevenueAmount struct {
// Identifier of the chat
ChatID int64
// New amount of earned revenue
RevenueAmount ChatRevenueAmount
}
// UpdateChatRevenueAmountTypeID is TL type id of UpdateChatRevenueAmount.
const UpdateChatRevenueAmountTypeID = 0xc6c9bcc4
// construct implements constructor of UpdateClass.
func (u UpdateChatRevenueAmount) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatRevenueAmount.
var (
_ bin.Encoder = &UpdateChatRevenueAmount{}
_ bin.Decoder = &UpdateChatRevenueAmount{}
_ bin.BareEncoder = &UpdateChatRevenueAmount{}
_ bin.BareDecoder = &UpdateChatRevenueAmount{}
_ UpdateClass = &UpdateChatRevenueAmount{}
)
func (u *UpdateChatRevenueAmount) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.RevenueAmount.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatRevenueAmount) String() string {
if u == nil {
return "UpdateChatRevenueAmount(nil)"
}
type Alias UpdateChatRevenueAmount
return fmt.Sprintf("UpdateChatRevenueAmount%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatRevenueAmount) TypeID() uint32 {
return UpdateChatRevenueAmountTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatRevenueAmount) TypeName() string {
return "updateChatRevenueAmount"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatRevenueAmount) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatRevenueAmount",
ID: UpdateChatRevenueAmountTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "RevenueAmount",
SchemaName: "revenue_amount",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatRevenueAmount) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatRevenueAmount#c6c9bcc4 as nil")
}
b.PutID(UpdateChatRevenueAmountTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatRevenueAmount) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatRevenueAmount#c6c9bcc4 as nil")
}
b.PutInt53(u.ChatID)
if err := u.RevenueAmount.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatRevenueAmount#c6c9bcc4: field revenue_amount: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatRevenueAmount) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatRevenueAmount#c6c9bcc4 to nil")
}
if err := b.ConsumeID(UpdateChatRevenueAmountTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatRevenueAmount#c6c9bcc4: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatRevenueAmount) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatRevenueAmount#c6c9bcc4 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatRevenueAmount#c6c9bcc4: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.RevenueAmount.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatRevenueAmount#c6c9bcc4: field revenue_amount: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatRevenueAmount) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatRevenueAmount#c6c9bcc4 as nil")
}
b.ObjStart()
b.PutID("updateChatRevenueAmount")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("revenue_amount")
if err := u.RevenueAmount.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatRevenueAmount#c6c9bcc4: field revenue_amount: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatRevenueAmount) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatRevenueAmount#c6c9bcc4 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatRevenueAmount"); err != nil {
return fmt.Errorf("unable to decode updateChatRevenueAmount#c6c9bcc4: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatRevenueAmount#c6c9bcc4: field chat_id: %w", err)
}
u.ChatID = value
case "revenue_amount":
if err := u.RevenueAmount.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatRevenueAmount#c6c9bcc4: field revenue_amount: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatRevenueAmount) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetRevenueAmount returns value of RevenueAmount field.
func (u *UpdateChatRevenueAmount) GetRevenueAmount() (value ChatRevenueAmount) {
if u == nil {
return
}
return u.RevenueAmount
}
// UpdateStarRevenueStatus represents TL type `updateStarRevenueStatus#ef4bfccb`.
type UpdateStarRevenueStatus struct {
// Identifier of the owner of the Telegram Stars
OwnerID MessageSenderClass
// New Telegram Star revenue status
Status StarRevenueStatus
}
// UpdateStarRevenueStatusTypeID is TL type id of UpdateStarRevenueStatus.
const UpdateStarRevenueStatusTypeID = 0xef4bfccb
// construct implements constructor of UpdateClass.
func (u UpdateStarRevenueStatus) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStarRevenueStatus.
var (
_ bin.Encoder = &UpdateStarRevenueStatus{}
_ bin.Decoder = &UpdateStarRevenueStatus{}
_ bin.BareEncoder = &UpdateStarRevenueStatus{}
_ bin.BareDecoder = &UpdateStarRevenueStatus{}
_ UpdateClass = &UpdateStarRevenueStatus{}
)
func (u *UpdateStarRevenueStatus) Zero() bool {
if u == nil {
return true
}
if !(u.OwnerID == nil) {
return false
}
if !(u.Status.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStarRevenueStatus) String() string {
if u == nil {
return "UpdateStarRevenueStatus(nil)"
}
type Alias UpdateStarRevenueStatus
return fmt.Sprintf("UpdateStarRevenueStatus%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStarRevenueStatus) TypeID() uint32 {
return UpdateStarRevenueStatusTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStarRevenueStatus) TypeName() string {
return "updateStarRevenueStatus"
}
// TypeInfo returns info about TL type.
func (u *UpdateStarRevenueStatus) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStarRevenueStatus",
ID: UpdateStarRevenueStatusTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "OwnerID",
SchemaName: "owner_id",
},
{
Name: "Status",
SchemaName: "status",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateStarRevenueStatus) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStarRevenueStatus#ef4bfccb as nil")
}
b.PutID(UpdateStarRevenueStatusTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStarRevenueStatus) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStarRevenueStatus#ef4bfccb as nil")
}
if u.OwnerID == nil {
return fmt.Errorf("unable to encode updateStarRevenueStatus#ef4bfccb: field owner_id is nil")
}
if err := u.OwnerID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStarRevenueStatus#ef4bfccb: field owner_id: %w", err)
}
if err := u.Status.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStarRevenueStatus#ef4bfccb: field status: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStarRevenueStatus) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStarRevenueStatus#ef4bfccb to nil")
}
if err := b.ConsumeID(UpdateStarRevenueStatusTypeID); err != nil {
return fmt.Errorf("unable to decode updateStarRevenueStatus#ef4bfccb: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStarRevenueStatus) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStarRevenueStatus#ef4bfccb to nil")
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updateStarRevenueStatus#ef4bfccb: field owner_id: %w", err)
}
u.OwnerID = value
}
{
if err := u.Status.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateStarRevenueStatus#ef4bfccb: field status: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateStarRevenueStatus) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateStarRevenueStatus#ef4bfccb as nil")
}
b.ObjStart()
b.PutID("updateStarRevenueStatus")
b.Comma()
b.FieldStart("owner_id")
if u.OwnerID == nil {
return fmt.Errorf("unable to encode updateStarRevenueStatus#ef4bfccb: field owner_id is nil")
}
if err := u.OwnerID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateStarRevenueStatus#ef4bfccb: field owner_id: %w", err)
}
b.Comma()
b.FieldStart("status")
if err := u.Status.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateStarRevenueStatus#ef4bfccb: field status: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateStarRevenueStatus) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateStarRevenueStatus#ef4bfccb to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateStarRevenueStatus"); err != nil {
return fmt.Errorf("unable to decode updateStarRevenueStatus#ef4bfccb: %w", err)
}
case "owner_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updateStarRevenueStatus#ef4bfccb: field owner_id: %w", err)
}
u.OwnerID = value
case "status":
if err := u.Status.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateStarRevenueStatus#ef4bfccb: field status: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetOwnerID returns value of OwnerID field.
func (u *UpdateStarRevenueStatus) GetOwnerID() (value MessageSenderClass) {
if u == nil {
return
}
return u.OwnerID
}
// GetStatus returns value of Status field.
func (u *UpdateStarRevenueStatus) GetStatus() (value StarRevenueStatus) {
if u == nil {
return
}
return u.Status
}
// UpdateSpeechRecognitionTrial represents TL type `updateSpeechRecognitionTrial#ff4efcc1`.
type UpdateSpeechRecognitionTrial struct {
// The maximum allowed duration of media for speech recognition without Telegram Premium
// subscription, in seconds
MaxMediaDuration int32
// The total number of allowed speech recognitions per week; 0 if none
WeeklyCount int32
// Number of left speech recognition attempts this week
LeftCount int32
// Point in time (Unix timestamp) when the weekly number of tries will reset; 0 if
// unknown
NextResetDate int32
}
// UpdateSpeechRecognitionTrialTypeID is TL type id of UpdateSpeechRecognitionTrial.
const UpdateSpeechRecognitionTrialTypeID = 0xff4efcc1
// construct implements constructor of UpdateClass.
func (u UpdateSpeechRecognitionTrial) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSpeechRecognitionTrial.
var (
_ bin.Encoder = &UpdateSpeechRecognitionTrial{}
_ bin.Decoder = &UpdateSpeechRecognitionTrial{}
_ bin.BareEncoder = &UpdateSpeechRecognitionTrial{}
_ bin.BareDecoder = &UpdateSpeechRecognitionTrial{}
_ UpdateClass = &UpdateSpeechRecognitionTrial{}
)
func (u *UpdateSpeechRecognitionTrial) Zero() bool {
if u == nil {
return true
}
if !(u.MaxMediaDuration == 0) {
return false
}
if !(u.WeeklyCount == 0) {
return false
}
if !(u.LeftCount == 0) {
return false
}
if !(u.NextResetDate == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSpeechRecognitionTrial) String() string {
if u == nil {
return "UpdateSpeechRecognitionTrial(nil)"
}
type Alias UpdateSpeechRecognitionTrial
return fmt.Sprintf("UpdateSpeechRecognitionTrial%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSpeechRecognitionTrial) TypeID() uint32 {
return UpdateSpeechRecognitionTrialTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSpeechRecognitionTrial) TypeName() string {
return "updateSpeechRecognitionTrial"
}
// TypeInfo returns info about TL type.
func (u *UpdateSpeechRecognitionTrial) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSpeechRecognitionTrial",
ID: UpdateSpeechRecognitionTrialTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "MaxMediaDuration",
SchemaName: "max_media_duration",
},
{
Name: "WeeklyCount",
SchemaName: "weekly_count",
},
{
Name: "LeftCount",
SchemaName: "left_count",
},
{
Name: "NextResetDate",
SchemaName: "next_reset_date",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSpeechRecognitionTrial) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSpeechRecognitionTrial#ff4efcc1 as nil")
}
b.PutID(UpdateSpeechRecognitionTrialTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSpeechRecognitionTrial) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSpeechRecognitionTrial#ff4efcc1 as nil")
}
b.PutInt32(u.MaxMediaDuration)
b.PutInt32(u.WeeklyCount)
b.PutInt32(u.LeftCount)
b.PutInt32(u.NextResetDate)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSpeechRecognitionTrial) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSpeechRecognitionTrial#ff4efcc1 to nil")
}
if err := b.ConsumeID(UpdateSpeechRecognitionTrialTypeID); err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSpeechRecognitionTrial) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSpeechRecognitionTrial#ff4efcc1 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: field max_media_duration: %w", err)
}
u.MaxMediaDuration = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: field weekly_count: %w", err)
}
u.WeeklyCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: field left_count: %w", err)
}
u.LeftCount = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: field next_reset_date: %w", err)
}
u.NextResetDate = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSpeechRecognitionTrial) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSpeechRecognitionTrial#ff4efcc1 as nil")
}
b.ObjStart()
b.PutID("updateSpeechRecognitionTrial")
b.Comma()
b.FieldStart("max_media_duration")
b.PutInt32(u.MaxMediaDuration)
b.Comma()
b.FieldStart("weekly_count")
b.PutInt32(u.WeeklyCount)
b.Comma()
b.FieldStart("left_count")
b.PutInt32(u.LeftCount)
b.Comma()
b.FieldStart("next_reset_date")
b.PutInt32(u.NextResetDate)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSpeechRecognitionTrial) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSpeechRecognitionTrial#ff4efcc1 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSpeechRecognitionTrial"); err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: %w", err)
}
case "max_media_duration":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: field max_media_duration: %w", err)
}
u.MaxMediaDuration = value
case "weekly_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: field weekly_count: %w", err)
}
u.WeeklyCount = value
case "left_count":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: field left_count: %w", err)
}
u.LeftCount = value
case "next_reset_date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateSpeechRecognitionTrial#ff4efcc1: field next_reset_date: %w", err)
}
u.NextResetDate = value
default:
return b.Skip()
}
return nil
})
}
// GetMaxMediaDuration returns value of MaxMediaDuration field.
func (u *UpdateSpeechRecognitionTrial) GetMaxMediaDuration() (value int32) {
if u == nil {
return
}
return u.MaxMediaDuration
}
// GetWeeklyCount returns value of WeeklyCount field.
func (u *UpdateSpeechRecognitionTrial) GetWeeklyCount() (value int32) {
if u == nil {
return
}
return u.WeeklyCount
}
// GetLeftCount returns value of LeftCount field.
func (u *UpdateSpeechRecognitionTrial) GetLeftCount() (value int32) {
if u == nil {
return
}
return u.LeftCount
}
// GetNextResetDate returns value of NextResetDate field.
func (u *UpdateSpeechRecognitionTrial) GetNextResetDate() (value int32) {
if u == nil {
return
}
return u.NextResetDate
}
// UpdateDiceEmojis represents TL type `updateDiceEmojis#9d0f91df`.
type UpdateDiceEmojis struct {
// The new list of supported dice emojis
Emojis []string
}
// UpdateDiceEmojisTypeID is TL type id of UpdateDiceEmojis.
const UpdateDiceEmojisTypeID = 0x9d0f91df
// construct implements constructor of UpdateClass.
func (u UpdateDiceEmojis) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDiceEmojis.
var (
_ bin.Encoder = &UpdateDiceEmojis{}
_ bin.Decoder = &UpdateDiceEmojis{}
_ bin.BareEncoder = &UpdateDiceEmojis{}
_ bin.BareDecoder = &UpdateDiceEmojis{}
_ UpdateClass = &UpdateDiceEmojis{}
)
func (u *UpdateDiceEmojis) Zero() bool {
if u == nil {
return true
}
if !(u.Emojis == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDiceEmojis) String() string {
if u == nil {
return "UpdateDiceEmojis(nil)"
}
type Alias UpdateDiceEmojis
return fmt.Sprintf("UpdateDiceEmojis%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDiceEmojis) TypeID() uint32 {
return UpdateDiceEmojisTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDiceEmojis) TypeName() string {
return "updateDiceEmojis"
}
// TypeInfo returns info about TL type.
func (u *UpdateDiceEmojis) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDiceEmojis",
ID: UpdateDiceEmojisTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Emojis",
SchemaName: "emojis",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDiceEmojis) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDiceEmojis#9d0f91df as nil")
}
b.PutID(UpdateDiceEmojisTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDiceEmojis) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDiceEmojis#9d0f91df as nil")
}
b.PutInt(len(u.Emojis))
for _, v := range u.Emojis {
b.PutString(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDiceEmojis) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDiceEmojis#9d0f91df to nil")
}
if err := b.ConsumeID(UpdateDiceEmojisTypeID); err != nil {
return fmt.Errorf("unable to decode updateDiceEmojis#9d0f91df: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDiceEmojis) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDiceEmojis#9d0f91df to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDiceEmojis#9d0f91df: field emojis: %w", err)
}
if headerLen > 0 {
u.Emojis = make([]string, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateDiceEmojis#9d0f91df: field emojis: %w", err)
}
u.Emojis = append(u.Emojis, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateDiceEmojis) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateDiceEmojis#9d0f91df as nil")
}
b.ObjStart()
b.PutID("updateDiceEmojis")
b.Comma()
b.FieldStart("emojis")
b.ArrStart()
for _, v := range u.Emojis {
b.PutString(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateDiceEmojis) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateDiceEmojis#9d0f91df to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateDiceEmojis"); err != nil {
return fmt.Errorf("unable to decode updateDiceEmojis#9d0f91df: %w", err)
}
case "emojis":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateDiceEmojis#9d0f91df: field emojis: %w", err)
}
u.Emojis = append(u.Emojis, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateDiceEmojis#9d0f91df: field emojis: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetEmojis returns value of Emojis field.
func (u *UpdateDiceEmojis) GetEmojis() (value []string) {
if u == nil {
return
}
return u.Emojis
}
// UpdateAnimatedEmojiMessageClicked represents TL type `updateAnimatedEmojiMessageClicked#a3167405`.
type UpdateAnimatedEmojiMessageClicked struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
// The animated sticker to be played
Sticker Sticker
}
// UpdateAnimatedEmojiMessageClickedTypeID is TL type id of UpdateAnimatedEmojiMessageClicked.
const UpdateAnimatedEmojiMessageClickedTypeID = 0xa3167405
// construct implements constructor of UpdateClass.
func (u UpdateAnimatedEmojiMessageClicked) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateAnimatedEmojiMessageClicked.
var (
_ bin.Encoder = &UpdateAnimatedEmojiMessageClicked{}
_ bin.Decoder = &UpdateAnimatedEmojiMessageClicked{}
_ bin.BareEncoder = &UpdateAnimatedEmojiMessageClicked{}
_ bin.BareDecoder = &UpdateAnimatedEmojiMessageClicked{}
_ UpdateClass = &UpdateAnimatedEmojiMessageClicked{}
)
func (u *UpdateAnimatedEmojiMessageClicked) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.Sticker.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateAnimatedEmojiMessageClicked) String() string {
if u == nil {
return "UpdateAnimatedEmojiMessageClicked(nil)"
}
type Alias UpdateAnimatedEmojiMessageClicked
return fmt.Sprintf("UpdateAnimatedEmojiMessageClicked%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateAnimatedEmojiMessageClicked) TypeID() uint32 {
return UpdateAnimatedEmojiMessageClickedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateAnimatedEmojiMessageClicked) TypeName() string {
return "updateAnimatedEmojiMessageClicked"
}
// TypeInfo returns info about TL type.
func (u *UpdateAnimatedEmojiMessageClicked) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateAnimatedEmojiMessageClicked",
ID: UpdateAnimatedEmojiMessageClickedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "Sticker",
SchemaName: "sticker",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateAnimatedEmojiMessageClicked) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAnimatedEmojiMessageClicked#a3167405 as nil")
}
b.PutID(UpdateAnimatedEmojiMessageClickedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateAnimatedEmojiMessageClicked) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAnimatedEmojiMessageClicked#a3167405 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
if err := u.Sticker.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateAnimatedEmojiMessageClicked#a3167405: field sticker: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateAnimatedEmojiMessageClicked) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAnimatedEmojiMessageClicked#a3167405 to nil")
}
if err := b.ConsumeID(UpdateAnimatedEmojiMessageClickedTypeID); err != nil {
return fmt.Errorf("unable to decode updateAnimatedEmojiMessageClicked#a3167405: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateAnimatedEmojiMessageClicked) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAnimatedEmojiMessageClicked#a3167405 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateAnimatedEmojiMessageClicked#a3167405: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateAnimatedEmojiMessageClicked#a3167405: field message_id: %w", err)
}
u.MessageID = value
}
{
if err := u.Sticker.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateAnimatedEmojiMessageClicked#a3167405: field sticker: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateAnimatedEmojiMessageClicked) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateAnimatedEmojiMessageClicked#a3167405 as nil")
}
b.ObjStart()
b.PutID("updateAnimatedEmojiMessageClicked")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("sticker")
if err := u.Sticker.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateAnimatedEmojiMessageClicked#a3167405: field sticker: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateAnimatedEmojiMessageClicked) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateAnimatedEmojiMessageClicked#a3167405 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateAnimatedEmojiMessageClicked"); err != nil {
return fmt.Errorf("unable to decode updateAnimatedEmojiMessageClicked#a3167405: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateAnimatedEmojiMessageClicked#a3167405: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateAnimatedEmojiMessageClicked#a3167405: field message_id: %w", err)
}
u.MessageID = value
case "sticker":
if err := u.Sticker.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateAnimatedEmojiMessageClicked#a3167405: field sticker: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateAnimatedEmojiMessageClicked) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateAnimatedEmojiMessageClicked) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetSticker returns value of Sticker field.
func (u *UpdateAnimatedEmojiMessageClicked) GetSticker() (value Sticker) {
if u == nil {
return
}
return u.Sticker
}
// UpdateAnimationSearchParameters represents TL type `updateAnimationSearchParameters#6016ef01`.
type UpdateAnimationSearchParameters struct {
// Name of the animation search provider
Provider string
// The new list of emojis suggested for searching
Emojis []string
}
// UpdateAnimationSearchParametersTypeID is TL type id of UpdateAnimationSearchParameters.
const UpdateAnimationSearchParametersTypeID = 0x6016ef01
// construct implements constructor of UpdateClass.
func (u UpdateAnimationSearchParameters) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateAnimationSearchParameters.
var (
_ bin.Encoder = &UpdateAnimationSearchParameters{}
_ bin.Decoder = &UpdateAnimationSearchParameters{}
_ bin.BareEncoder = &UpdateAnimationSearchParameters{}
_ bin.BareDecoder = &UpdateAnimationSearchParameters{}
_ UpdateClass = &UpdateAnimationSearchParameters{}
)
func (u *UpdateAnimationSearchParameters) Zero() bool {
if u == nil {
return true
}
if !(u.Provider == "") {
return false
}
if !(u.Emojis == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateAnimationSearchParameters) String() string {
if u == nil {
return "UpdateAnimationSearchParameters(nil)"
}
type Alias UpdateAnimationSearchParameters
return fmt.Sprintf("UpdateAnimationSearchParameters%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateAnimationSearchParameters) TypeID() uint32 {
return UpdateAnimationSearchParametersTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateAnimationSearchParameters) TypeName() string {
return "updateAnimationSearchParameters"
}
// TypeInfo returns info about TL type.
func (u *UpdateAnimationSearchParameters) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateAnimationSearchParameters",
ID: UpdateAnimationSearchParametersTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Provider",
SchemaName: "provider",
},
{
Name: "Emojis",
SchemaName: "emojis",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateAnimationSearchParameters) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAnimationSearchParameters#6016ef01 as nil")
}
b.PutID(UpdateAnimationSearchParametersTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateAnimationSearchParameters) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAnimationSearchParameters#6016ef01 as nil")
}
b.PutString(u.Provider)
b.PutInt(len(u.Emojis))
for _, v := range u.Emojis {
b.PutString(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateAnimationSearchParameters) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAnimationSearchParameters#6016ef01 to nil")
}
if err := b.ConsumeID(UpdateAnimationSearchParametersTypeID); err != nil {
return fmt.Errorf("unable to decode updateAnimationSearchParameters#6016ef01: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateAnimationSearchParameters) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAnimationSearchParameters#6016ef01 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateAnimationSearchParameters#6016ef01: field provider: %w", err)
}
u.Provider = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateAnimationSearchParameters#6016ef01: field emojis: %w", err)
}
if headerLen > 0 {
u.Emojis = make([]string, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateAnimationSearchParameters#6016ef01: field emojis: %w", err)
}
u.Emojis = append(u.Emojis, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateAnimationSearchParameters) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateAnimationSearchParameters#6016ef01 as nil")
}
b.ObjStart()
b.PutID("updateAnimationSearchParameters")
b.Comma()
b.FieldStart("provider")
b.PutString(u.Provider)
b.Comma()
b.FieldStart("emojis")
b.ArrStart()
for _, v := range u.Emojis {
b.PutString(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateAnimationSearchParameters) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateAnimationSearchParameters#6016ef01 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateAnimationSearchParameters"); err != nil {
return fmt.Errorf("unable to decode updateAnimationSearchParameters#6016ef01: %w", err)
}
case "provider":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateAnimationSearchParameters#6016ef01: field provider: %w", err)
}
u.Provider = value
case "emojis":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateAnimationSearchParameters#6016ef01: field emojis: %w", err)
}
u.Emojis = append(u.Emojis, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateAnimationSearchParameters#6016ef01: field emojis: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetProvider returns value of Provider field.
func (u *UpdateAnimationSearchParameters) GetProvider() (value string) {
if u == nil {
return
}
return u.Provider
}
// GetEmojis returns value of Emojis field.
func (u *UpdateAnimationSearchParameters) GetEmojis() (value []string) {
if u == nil {
return
}
return u.Emojis
}
// UpdateSuggestedActions represents TL type `updateSuggestedActions#c2e5cccb`.
type UpdateSuggestedActions struct {
// Added suggested actions
AddedActions []SuggestedActionClass
// Removed suggested actions
RemovedActions []SuggestedActionClass
}
// UpdateSuggestedActionsTypeID is TL type id of UpdateSuggestedActions.
const UpdateSuggestedActionsTypeID = 0xc2e5cccb
// construct implements constructor of UpdateClass.
func (u UpdateSuggestedActions) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSuggestedActions.
var (
_ bin.Encoder = &UpdateSuggestedActions{}
_ bin.Decoder = &UpdateSuggestedActions{}
_ bin.BareEncoder = &UpdateSuggestedActions{}
_ bin.BareDecoder = &UpdateSuggestedActions{}
_ UpdateClass = &UpdateSuggestedActions{}
)
func (u *UpdateSuggestedActions) Zero() bool {
if u == nil {
return true
}
if !(u.AddedActions == nil) {
return false
}
if !(u.RemovedActions == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSuggestedActions) String() string {
if u == nil {
return "UpdateSuggestedActions(nil)"
}
type Alias UpdateSuggestedActions
return fmt.Sprintf("UpdateSuggestedActions%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSuggestedActions) TypeID() uint32 {
return UpdateSuggestedActionsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSuggestedActions) TypeName() string {
return "updateSuggestedActions"
}
// TypeInfo returns info about TL type.
func (u *UpdateSuggestedActions) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSuggestedActions",
ID: UpdateSuggestedActionsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "AddedActions",
SchemaName: "added_actions",
},
{
Name: "RemovedActions",
SchemaName: "removed_actions",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSuggestedActions) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSuggestedActions#c2e5cccb as nil")
}
b.PutID(UpdateSuggestedActionsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSuggestedActions) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSuggestedActions#c2e5cccb as nil")
}
b.PutInt(len(u.AddedActions))
for idx, v := range u.AddedActions {
if v == nil {
return fmt.Errorf("unable to encode updateSuggestedActions#c2e5cccb: field added_actions element with index %d is nil", idx)
}
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateSuggestedActions#c2e5cccb: field added_actions element with index %d: %w", idx, err)
}
}
b.PutInt(len(u.RemovedActions))
for idx, v := range u.RemovedActions {
if v == nil {
return fmt.Errorf("unable to encode updateSuggestedActions#c2e5cccb: field removed_actions element with index %d is nil", idx)
}
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateSuggestedActions#c2e5cccb: field removed_actions element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSuggestedActions) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSuggestedActions#c2e5cccb to nil")
}
if err := b.ConsumeID(UpdateSuggestedActionsTypeID); err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSuggestedActions) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSuggestedActions#c2e5cccb to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: field added_actions: %w", err)
}
if headerLen > 0 {
u.AddedActions = make([]SuggestedActionClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodeSuggestedAction(b)
if err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: field added_actions: %w", err)
}
u.AddedActions = append(u.AddedActions, value)
}
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: field removed_actions: %w", err)
}
if headerLen > 0 {
u.RemovedActions = make([]SuggestedActionClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodeSuggestedAction(b)
if err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: field removed_actions: %w", err)
}
u.RemovedActions = append(u.RemovedActions, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSuggestedActions) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSuggestedActions#c2e5cccb as nil")
}
b.ObjStart()
b.PutID("updateSuggestedActions")
b.Comma()
b.FieldStart("added_actions")
b.ArrStart()
for idx, v := range u.AddedActions {
if v == nil {
return fmt.Errorf("unable to encode updateSuggestedActions#c2e5cccb: field added_actions element with index %d is nil", idx)
}
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateSuggestedActions#c2e5cccb: field added_actions element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("removed_actions")
b.ArrStart()
for idx, v := range u.RemovedActions {
if v == nil {
return fmt.Errorf("unable to encode updateSuggestedActions#c2e5cccb: field removed_actions element with index %d is nil", idx)
}
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateSuggestedActions#c2e5cccb: field removed_actions 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 (u *UpdateSuggestedActions) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSuggestedActions#c2e5cccb to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSuggestedActions"); err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: %w", err)
}
case "added_actions":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := DecodeTDLibJSONSuggestedAction(b)
if err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: field added_actions: %w", err)
}
u.AddedActions = append(u.AddedActions, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: field added_actions: %w", err)
}
case "removed_actions":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := DecodeTDLibJSONSuggestedAction(b)
if err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: field removed_actions: %w", err)
}
u.RemovedActions = append(u.RemovedActions, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateSuggestedActions#c2e5cccb: field removed_actions: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetAddedActions returns value of AddedActions field.
func (u *UpdateSuggestedActions) GetAddedActions() (value []SuggestedActionClass) {
if u == nil {
return
}
return u.AddedActions
}
// GetRemovedActions returns value of RemovedActions field.
func (u *UpdateSuggestedActions) GetRemovedActions() (value []SuggestedActionClass) {
if u == nil {
return
}
return u.RemovedActions
}
// UpdateSpeedLimitNotification represents TL type `updateSpeedLimitNotification#c683d868`.
type UpdateSpeedLimitNotification struct {
// True, if upload speed was limited; false, if download speed was limited
IsUpload bool
}
// UpdateSpeedLimitNotificationTypeID is TL type id of UpdateSpeedLimitNotification.
const UpdateSpeedLimitNotificationTypeID = 0xc683d868
// construct implements constructor of UpdateClass.
func (u UpdateSpeedLimitNotification) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSpeedLimitNotification.
var (
_ bin.Encoder = &UpdateSpeedLimitNotification{}
_ bin.Decoder = &UpdateSpeedLimitNotification{}
_ bin.BareEncoder = &UpdateSpeedLimitNotification{}
_ bin.BareDecoder = &UpdateSpeedLimitNotification{}
_ UpdateClass = &UpdateSpeedLimitNotification{}
)
func (u *UpdateSpeedLimitNotification) Zero() bool {
if u == nil {
return true
}
if !(u.IsUpload == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSpeedLimitNotification) String() string {
if u == nil {
return "UpdateSpeedLimitNotification(nil)"
}
type Alias UpdateSpeedLimitNotification
return fmt.Sprintf("UpdateSpeedLimitNotification%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSpeedLimitNotification) TypeID() uint32 {
return UpdateSpeedLimitNotificationTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSpeedLimitNotification) TypeName() string {
return "updateSpeedLimitNotification"
}
// TypeInfo returns info about TL type.
func (u *UpdateSpeedLimitNotification) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSpeedLimitNotification",
ID: UpdateSpeedLimitNotificationTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "IsUpload",
SchemaName: "is_upload",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSpeedLimitNotification) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSpeedLimitNotification#c683d868 as nil")
}
b.PutID(UpdateSpeedLimitNotificationTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSpeedLimitNotification) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSpeedLimitNotification#c683d868 as nil")
}
b.PutBool(u.IsUpload)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSpeedLimitNotification) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSpeedLimitNotification#c683d868 to nil")
}
if err := b.ConsumeID(UpdateSpeedLimitNotificationTypeID); err != nil {
return fmt.Errorf("unable to decode updateSpeedLimitNotification#c683d868: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSpeedLimitNotification) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSpeedLimitNotification#c683d868 to nil")
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateSpeedLimitNotification#c683d868: field is_upload: %w", err)
}
u.IsUpload = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateSpeedLimitNotification) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateSpeedLimitNotification#c683d868 as nil")
}
b.ObjStart()
b.PutID("updateSpeedLimitNotification")
b.Comma()
b.FieldStart("is_upload")
b.PutBool(u.IsUpload)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateSpeedLimitNotification) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateSpeedLimitNotification#c683d868 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateSpeedLimitNotification"); err != nil {
return fmt.Errorf("unable to decode updateSpeedLimitNotification#c683d868: %w", err)
}
case "is_upload":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateSpeedLimitNotification#c683d868: field is_upload: %w", err)
}
u.IsUpload = value
default:
return b.Skip()
}
return nil
})
}
// GetIsUpload returns value of IsUpload field.
func (u *UpdateSpeedLimitNotification) GetIsUpload() (value bool) {
if u == nil {
return
}
return u.IsUpload
}
// UpdateContactCloseBirthdays represents TL type `updateContactCloseBirthdays#c88b98ce`.
type UpdateContactCloseBirthdays struct {
// List of contact users with close birthday
CloseBirthdayUsers []CloseBirthdayUser
}
// UpdateContactCloseBirthdaysTypeID is TL type id of UpdateContactCloseBirthdays.
const UpdateContactCloseBirthdaysTypeID = 0xc88b98ce
// construct implements constructor of UpdateClass.
func (u UpdateContactCloseBirthdays) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateContactCloseBirthdays.
var (
_ bin.Encoder = &UpdateContactCloseBirthdays{}
_ bin.Decoder = &UpdateContactCloseBirthdays{}
_ bin.BareEncoder = &UpdateContactCloseBirthdays{}
_ bin.BareDecoder = &UpdateContactCloseBirthdays{}
_ UpdateClass = &UpdateContactCloseBirthdays{}
)
func (u *UpdateContactCloseBirthdays) Zero() bool {
if u == nil {
return true
}
if !(u.CloseBirthdayUsers == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateContactCloseBirthdays) String() string {
if u == nil {
return "UpdateContactCloseBirthdays(nil)"
}
type Alias UpdateContactCloseBirthdays
return fmt.Sprintf("UpdateContactCloseBirthdays%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateContactCloseBirthdays) TypeID() uint32 {
return UpdateContactCloseBirthdaysTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateContactCloseBirthdays) TypeName() string {
return "updateContactCloseBirthdays"
}
// TypeInfo returns info about TL type.
func (u *UpdateContactCloseBirthdays) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateContactCloseBirthdays",
ID: UpdateContactCloseBirthdaysTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "CloseBirthdayUsers",
SchemaName: "close_birthday_users",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateContactCloseBirthdays) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateContactCloseBirthdays#c88b98ce as nil")
}
b.PutID(UpdateContactCloseBirthdaysTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateContactCloseBirthdays) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateContactCloseBirthdays#c88b98ce as nil")
}
b.PutInt(len(u.CloseBirthdayUsers))
for idx, v := range u.CloseBirthdayUsers {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateContactCloseBirthdays#c88b98ce: field close_birthday_users element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateContactCloseBirthdays) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateContactCloseBirthdays#c88b98ce to nil")
}
if err := b.ConsumeID(UpdateContactCloseBirthdaysTypeID); err != nil {
return fmt.Errorf("unable to decode updateContactCloseBirthdays#c88b98ce: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateContactCloseBirthdays) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateContactCloseBirthdays#c88b98ce to nil")
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateContactCloseBirthdays#c88b98ce: field close_birthday_users: %w", err)
}
if headerLen > 0 {
u.CloseBirthdayUsers = make([]CloseBirthdayUser, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value CloseBirthdayUser
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateContactCloseBirthdays#c88b98ce: field close_birthday_users: %w", err)
}
u.CloseBirthdayUsers = append(u.CloseBirthdayUsers, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateContactCloseBirthdays) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateContactCloseBirthdays#c88b98ce as nil")
}
b.ObjStart()
b.PutID("updateContactCloseBirthdays")
b.Comma()
b.FieldStart("close_birthday_users")
b.ArrStart()
for idx, v := range u.CloseBirthdayUsers {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateContactCloseBirthdays#c88b98ce: field close_birthday_users 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 (u *UpdateContactCloseBirthdays) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateContactCloseBirthdays#c88b98ce to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateContactCloseBirthdays"); err != nil {
return fmt.Errorf("unable to decode updateContactCloseBirthdays#c88b98ce: %w", err)
}
case "close_birthday_users":
if err := b.Arr(func(b tdjson.Decoder) error {
var value CloseBirthdayUser
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateContactCloseBirthdays#c88b98ce: field close_birthday_users: %w", err)
}
u.CloseBirthdayUsers = append(u.CloseBirthdayUsers, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateContactCloseBirthdays#c88b98ce: field close_birthday_users: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetCloseBirthdayUsers returns value of CloseBirthdayUsers field.
func (u *UpdateContactCloseBirthdays) GetCloseBirthdayUsers() (value []CloseBirthdayUser) {
if u == nil {
return
}
return u.CloseBirthdayUsers
}
// UpdateAutosaveSettings represents TL type `updateAutosaveSettings#da274f0b`.
type UpdateAutosaveSettings struct {
// Type of chats for which autosave settings were updated
Scope AutosaveSettingsScopeClass
// The new autosave settings; may be null if the settings are reset to default
Settings ScopeAutosaveSettings
}
// UpdateAutosaveSettingsTypeID is TL type id of UpdateAutosaveSettings.
const UpdateAutosaveSettingsTypeID = 0xda274f0b
// construct implements constructor of UpdateClass.
func (u UpdateAutosaveSettings) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateAutosaveSettings.
var (
_ bin.Encoder = &UpdateAutosaveSettings{}
_ bin.Decoder = &UpdateAutosaveSettings{}
_ bin.BareEncoder = &UpdateAutosaveSettings{}
_ bin.BareDecoder = &UpdateAutosaveSettings{}
_ UpdateClass = &UpdateAutosaveSettings{}
)
func (u *UpdateAutosaveSettings) Zero() bool {
if u == nil {
return true
}
if !(u.Scope == nil) {
return false
}
if !(u.Settings.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateAutosaveSettings) String() string {
if u == nil {
return "UpdateAutosaveSettings(nil)"
}
type Alias UpdateAutosaveSettings
return fmt.Sprintf("UpdateAutosaveSettings%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateAutosaveSettings) TypeID() uint32 {
return UpdateAutosaveSettingsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateAutosaveSettings) TypeName() string {
return "updateAutosaveSettings"
}
// TypeInfo returns info about TL type.
func (u *UpdateAutosaveSettings) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateAutosaveSettings",
ID: UpdateAutosaveSettingsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Scope",
SchemaName: "scope",
},
{
Name: "Settings",
SchemaName: "settings",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateAutosaveSettings) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAutosaveSettings#da274f0b as nil")
}
b.PutID(UpdateAutosaveSettingsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateAutosaveSettings) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateAutosaveSettings#da274f0b as nil")
}
if u.Scope == nil {
return fmt.Errorf("unable to encode updateAutosaveSettings#da274f0b: field scope is nil")
}
if err := u.Scope.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateAutosaveSettings#da274f0b: field scope: %w", err)
}
if err := u.Settings.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateAutosaveSettings#da274f0b: field settings: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateAutosaveSettings) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAutosaveSettings#da274f0b to nil")
}
if err := b.ConsumeID(UpdateAutosaveSettingsTypeID); err != nil {
return fmt.Errorf("unable to decode updateAutosaveSettings#da274f0b: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateAutosaveSettings) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateAutosaveSettings#da274f0b to nil")
}
{
value, err := DecodeAutosaveSettingsScope(b)
if err != nil {
return fmt.Errorf("unable to decode updateAutosaveSettings#da274f0b: field scope: %w", err)
}
u.Scope = value
}
{
if err := u.Settings.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateAutosaveSettings#da274f0b: field settings: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateAutosaveSettings) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateAutosaveSettings#da274f0b as nil")
}
b.ObjStart()
b.PutID("updateAutosaveSettings")
b.Comma()
b.FieldStart("scope")
if u.Scope == nil {
return fmt.Errorf("unable to encode updateAutosaveSettings#da274f0b: field scope is nil")
}
if err := u.Scope.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateAutosaveSettings#da274f0b: field scope: %w", err)
}
b.Comma()
b.FieldStart("settings")
if err := u.Settings.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateAutosaveSettings#da274f0b: field settings: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateAutosaveSettings) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateAutosaveSettings#da274f0b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateAutosaveSettings"); err != nil {
return fmt.Errorf("unable to decode updateAutosaveSettings#da274f0b: %w", err)
}
case "scope":
value, err := DecodeTDLibJSONAutosaveSettingsScope(b)
if err != nil {
return fmt.Errorf("unable to decode updateAutosaveSettings#da274f0b: field scope: %w", err)
}
u.Scope = value
case "settings":
if err := u.Settings.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateAutosaveSettings#da274f0b: field settings: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetScope returns value of Scope field.
func (u *UpdateAutosaveSettings) GetScope() (value AutosaveSettingsScopeClass) {
if u == nil {
return
}
return u.Scope
}
// GetSettings returns value of Settings field.
func (u *UpdateAutosaveSettings) GetSettings() (value ScopeAutosaveSettings) {
if u == nil {
return
}
return u.Settings
}
// UpdateBusinessConnection represents TL type `updateBusinessConnection#8632f476`.
type UpdateBusinessConnection struct {
// New data about the connection
Connection BusinessConnection
}
// UpdateBusinessConnectionTypeID is TL type id of UpdateBusinessConnection.
const UpdateBusinessConnectionTypeID = 0x8632f476
// construct implements constructor of UpdateClass.
func (u UpdateBusinessConnection) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBusinessConnection.
var (
_ bin.Encoder = &UpdateBusinessConnection{}
_ bin.Decoder = &UpdateBusinessConnection{}
_ bin.BareEncoder = &UpdateBusinessConnection{}
_ bin.BareDecoder = &UpdateBusinessConnection{}
_ UpdateClass = &UpdateBusinessConnection{}
)
func (u *UpdateBusinessConnection) Zero() bool {
if u == nil {
return true
}
if !(u.Connection.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBusinessConnection) String() string {
if u == nil {
return "UpdateBusinessConnection(nil)"
}
type Alias UpdateBusinessConnection
return fmt.Sprintf("UpdateBusinessConnection%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBusinessConnection) TypeID() uint32 {
return UpdateBusinessConnectionTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBusinessConnection) TypeName() string {
return "updateBusinessConnection"
}
// TypeInfo returns info about TL type.
func (u *UpdateBusinessConnection) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBusinessConnection",
ID: UpdateBusinessConnectionTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Connection",
SchemaName: "connection",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBusinessConnection) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBusinessConnection#8632f476 as nil")
}
b.PutID(UpdateBusinessConnectionTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBusinessConnection) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBusinessConnection#8632f476 as nil")
}
if err := u.Connection.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBusinessConnection#8632f476: field connection: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBusinessConnection) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBusinessConnection#8632f476 to nil")
}
if err := b.ConsumeID(UpdateBusinessConnectionTypeID); err != nil {
return fmt.Errorf("unable to decode updateBusinessConnection#8632f476: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBusinessConnection) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBusinessConnection#8632f476 to nil")
}
{
if err := u.Connection.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBusinessConnection#8632f476: field connection: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateBusinessConnection) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateBusinessConnection#8632f476 as nil")
}
b.ObjStart()
b.PutID("updateBusinessConnection")
b.Comma()
b.FieldStart("connection")
if err := u.Connection.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateBusinessConnection#8632f476: field connection: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateBusinessConnection) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateBusinessConnection#8632f476 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateBusinessConnection"); err != nil {
return fmt.Errorf("unable to decode updateBusinessConnection#8632f476: %w", err)
}
case "connection":
if err := u.Connection.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateBusinessConnection#8632f476: field connection: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetConnection returns value of Connection field.
func (u *UpdateBusinessConnection) GetConnection() (value BusinessConnection) {
if u == nil {
return
}
return u.Connection
}
// UpdateNewBusinessMessage represents TL type `updateNewBusinessMessage#86be4644`.
type UpdateNewBusinessMessage struct {
// Unique identifier of the business connection
ConnectionID string
// The new message
Message BusinessMessage
}
// UpdateNewBusinessMessageTypeID is TL type id of UpdateNewBusinessMessage.
const UpdateNewBusinessMessageTypeID = 0x86be4644
// construct implements constructor of UpdateClass.
func (u UpdateNewBusinessMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewBusinessMessage.
var (
_ bin.Encoder = &UpdateNewBusinessMessage{}
_ bin.Decoder = &UpdateNewBusinessMessage{}
_ bin.BareEncoder = &UpdateNewBusinessMessage{}
_ bin.BareDecoder = &UpdateNewBusinessMessage{}
_ UpdateClass = &UpdateNewBusinessMessage{}
)
func (u *UpdateNewBusinessMessage) Zero() bool {
if u == nil {
return true
}
if !(u.ConnectionID == "") {
return false
}
if !(u.Message.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewBusinessMessage) String() string {
if u == nil {
return "UpdateNewBusinessMessage(nil)"
}
type Alias UpdateNewBusinessMessage
return fmt.Sprintf("UpdateNewBusinessMessage%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewBusinessMessage) TypeID() uint32 {
return UpdateNewBusinessMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewBusinessMessage) TypeName() string {
return "updateNewBusinessMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewBusinessMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewBusinessMessage",
ID: UpdateNewBusinessMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ConnectionID",
SchemaName: "connection_id",
},
{
Name: "Message",
SchemaName: "message",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewBusinessMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewBusinessMessage#86be4644 as nil")
}
b.PutID(UpdateNewBusinessMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewBusinessMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewBusinessMessage#86be4644 as nil")
}
b.PutString(u.ConnectionID)
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewBusinessMessage#86be4644: field message: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewBusinessMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewBusinessMessage#86be4644 to nil")
}
if err := b.ConsumeID(UpdateNewBusinessMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewBusinessMessage#86be4644: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewBusinessMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewBusinessMessage#86be4644 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessMessage#86be4644: field connection_id: %w", err)
}
u.ConnectionID = value
}
{
if err := u.Message.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewBusinessMessage#86be4644: field message: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewBusinessMessage) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewBusinessMessage#86be4644 as nil")
}
b.ObjStart()
b.PutID("updateNewBusinessMessage")
b.Comma()
b.FieldStart("connection_id")
b.PutString(u.ConnectionID)
b.Comma()
b.FieldStart("message")
if err := u.Message.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewBusinessMessage#86be4644: field message: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewBusinessMessage) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewBusinessMessage#86be4644 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewBusinessMessage"); err != nil {
return fmt.Errorf("unable to decode updateNewBusinessMessage#86be4644: %w", err)
}
case "connection_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessMessage#86be4644: field connection_id: %w", err)
}
u.ConnectionID = value
case "message":
if err := u.Message.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewBusinessMessage#86be4644: field message: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetConnectionID returns value of ConnectionID field.
func (u *UpdateNewBusinessMessage) GetConnectionID() (value string) {
if u == nil {
return
}
return u.ConnectionID
}
// GetMessage returns value of Message field.
func (u *UpdateNewBusinessMessage) GetMessage() (value BusinessMessage) {
if u == nil {
return
}
return u.Message
}
// UpdateBusinessMessageEdited represents TL type `updateBusinessMessageEdited#81a66d89`.
type UpdateBusinessMessageEdited struct {
// Unique identifier of the business connection
ConnectionID string
// The edited message
Message BusinessMessage
}
// UpdateBusinessMessageEditedTypeID is TL type id of UpdateBusinessMessageEdited.
const UpdateBusinessMessageEditedTypeID = 0x81a66d89
// construct implements constructor of UpdateClass.
func (u UpdateBusinessMessageEdited) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBusinessMessageEdited.
var (
_ bin.Encoder = &UpdateBusinessMessageEdited{}
_ bin.Decoder = &UpdateBusinessMessageEdited{}
_ bin.BareEncoder = &UpdateBusinessMessageEdited{}
_ bin.BareDecoder = &UpdateBusinessMessageEdited{}
_ UpdateClass = &UpdateBusinessMessageEdited{}
)
func (u *UpdateBusinessMessageEdited) Zero() bool {
if u == nil {
return true
}
if !(u.ConnectionID == "") {
return false
}
if !(u.Message.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBusinessMessageEdited) String() string {
if u == nil {
return "UpdateBusinessMessageEdited(nil)"
}
type Alias UpdateBusinessMessageEdited
return fmt.Sprintf("UpdateBusinessMessageEdited%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBusinessMessageEdited) TypeID() uint32 {
return UpdateBusinessMessageEditedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBusinessMessageEdited) TypeName() string {
return "updateBusinessMessageEdited"
}
// TypeInfo returns info about TL type.
func (u *UpdateBusinessMessageEdited) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBusinessMessageEdited",
ID: UpdateBusinessMessageEditedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ConnectionID",
SchemaName: "connection_id",
},
{
Name: "Message",
SchemaName: "message",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBusinessMessageEdited) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBusinessMessageEdited#81a66d89 as nil")
}
b.PutID(UpdateBusinessMessageEditedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBusinessMessageEdited) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBusinessMessageEdited#81a66d89 as nil")
}
b.PutString(u.ConnectionID)
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBusinessMessageEdited#81a66d89: field message: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBusinessMessageEdited) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBusinessMessageEdited#81a66d89 to nil")
}
if err := b.ConsumeID(UpdateBusinessMessageEditedTypeID); err != nil {
return fmt.Errorf("unable to decode updateBusinessMessageEdited#81a66d89: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBusinessMessageEdited) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBusinessMessageEdited#81a66d89 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBusinessMessageEdited#81a66d89: field connection_id: %w", err)
}
u.ConnectionID = value
}
{
if err := u.Message.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBusinessMessageEdited#81a66d89: field message: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateBusinessMessageEdited) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateBusinessMessageEdited#81a66d89 as nil")
}
b.ObjStart()
b.PutID("updateBusinessMessageEdited")
b.Comma()
b.FieldStart("connection_id")
b.PutString(u.ConnectionID)
b.Comma()
b.FieldStart("message")
if err := u.Message.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateBusinessMessageEdited#81a66d89: field message: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateBusinessMessageEdited) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateBusinessMessageEdited#81a66d89 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateBusinessMessageEdited"); err != nil {
return fmt.Errorf("unable to decode updateBusinessMessageEdited#81a66d89: %w", err)
}
case "connection_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBusinessMessageEdited#81a66d89: field connection_id: %w", err)
}
u.ConnectionID = value
case "message":
if err := u.Message.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateBusinessMessageEdited#81a66d89: field message: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetConnectionID returns value of ConnectionID field.
func (u *UpdateBusinessMessageEdited) GetConnectionID() (value string) {
if u == nil {
return
}
return u.ConnectionID
}
// GetMessage returns value of Message field.
func (u *UpdateBusinessMessageEdited) GetMessage() (value BusinessMessage) {
if u == nil {
return
}
return u.Message
}
// UpdateBusinessMessagesDeleted represents TL type `updateBusinessMessagesDeleted#e036d3ed`.
type UpdateBusinessMessagesDeleted struct {
// Unique identifier of the business connection
ConnectionID string
// Identifier of a chat in the business account in which messages were deleted
ChatID int64
// Unique message identifiers of the deleted messages
MessageIDs []int64
}
// UpdateBusinessMessagesDeletedTypeID is TL type id of UpdateBusinessMessagesDeleted.
const UpdateBusinessMessagesDeletedTypeID = 0xe036d3ed
// construct implements constructor of UpdateClass.
func (u UpdateBusinessMessagesDeleted) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBusinessMessagesDeleted.
var (
_ bin.Encoder = &UpdateBusinessMessagesDeleted{}
_ bin.Decoder = &UpdateBusinessMessagesDeleted{}
_ bin.BareEncoder = &UpdateBusinessMessagesDeleted{}
_ bin.BareDecoder = &UpdateBusinessMessagesDeleted{}
_ UpdateClass = &UpdateBusinessMessagesDeleted{}
)
func (u *UpdateBusinessMessagesDeleted) Zero() bool {
if u == nil {
return true
}
if !(u.ConnectionID == "") {
return false
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBusinessMessagesDeleted) String() string {
if u == nil {
return "UpdateBusinessMessagesDeleted(nil)"
}
type Alias UpdateBusinessMessagesDeleted
return fmt.Sprintf("UpdateBusinessMessagesDeleted%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBusinessMessagesDeleted) TypeID() uint32 {
return UpdateBusinessMessagesDeletedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBusinessMessagesDeleted) TypeName() string {
return "updateBusinessMessagesDeleted"
}
// TypeInfo returns info about TL type.
func (u *UpdateBusinessMessagesDeleted) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBusinessMessagesDeleted",
ID: UpdateBusinessMessagesDeletedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ConnectionID",
SchemaName: "connection_id",
},
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageIDs",
SchemaName: "message_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBusinessMessagesDeleted) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBusinessMessagesDeleted#e036d3ed as nil")
}
b.PutID(UpdateBusinessMessagesDeletedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBusinessMessagesDeleted) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBusinessMessagesDeleted#e036d3ed as nil")
}
b.PutString(u.ConnectionID)
b.PutInt53(u.ChatID)
b.PutInt(len(u.MessageIDs))
for _, v := range u.MessageIDs {
b.PutInt53(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBusinessMessagesDeleted) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBusinessMessagesDeleted#e036d3ed to nil")
}
if err := b.ConsumeID(UpdateBusinessMessagesDeletedTypeID); err != nil {
return fmt.Errorf("unable to decode updateBusinessMessagesDeleted#e036d3ed: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBusinessMessagesDeleted) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBusinessMessagesDeleted#e036d3ed to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBusinessMessagesDeleted#e036d3ed: field connection_id: %w", err)
}
u.ConnectionID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateBusinessMessagesDeleted#e036d3ed: field chat_id: %w", err)
}
u.ChatID = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateBusinessMessagesDeleted#e036d3ed: field message_ids: %w", err)
}
if headerLen > 0 {
u.MessageIDs = 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 updateBusinessMessagesDeleted#e036d3ed: field message_ids: %w", err)
}
u.MessageIDs = append(u.MessageIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateBusinessMessagesDeleted) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateBusinessMessagesDeleted#e036d3ed as nil")
}
b.ObjStart()
b.PutID("updateBusinessMessagesDeleted")
b.Comma()
b.FieldStart("connection_id")
b.PutString(u.ConnectionID)
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_ids")
b.ArrStart()
for _, v := range u.MessageIDs {
b.PutInt53(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateBusinessMessagesDeleted) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateBusinessMessagesDeleted#e036d3ed to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateBusinessMessagesDeleted"); err != nil {
return fmt.Errorf("unable to decode updateBusinessMessagesDeleted#e036d3ed: %w", err)
}
case "connection_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBusinessMessagesDeleted#e036d3ed: field connection_id: %w", err)
}
u.ConnectionID = value
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateBusinessMessagesDeleted#e036d3ed: field chat_id: %w", err)
}
u.ChatID = value
case "message_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateBusinessMessagesDeleted#e036d3ed: field message_ids: %w", err)
}
u.MessageIDs = append(u.MessageIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateBusinessMessagesDeleted#e036d3ed: field message_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetConnectionID returns value of ConnectionID field.
func (u *UpdateBusinessMessagesDeleted) GetConnectionID() (value string) {
if u == nil {
return
}
return u.ConnectionID
}
// GetChatID returns value of ChatID field.
func (u *UpdateBusinessMessagesDeleted) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageIDs returns value of MessageIDs field.
func (u *UpdateBusinessMessagesDeleted) GetMessageIDs() (value []int64) {
if u == nil {
return
}
return u.MessageIDs
}
// UpdateNewInlineQuery represents TL type `updateNewInlineQuery#7171bf34`.
type UpdateNewInlineQuery struct {
// Unique query identifier
ID int64
// Identifier of the user who sent the query
SenderUserID int64
// User location; may be null
UserLocation Location
// The type of the chat from which the query originated; may be null if unknown
ChatType ChatTypeClass
// Text of the query
Query string
// Offset of the first entry to return
Offset string
}
// UpdateNewInlineQueryTypeID is TL type id of UpdateNewInlineQuery.
const UpdateNewInlineQueryTypeID = 0x7171bf34
// construct implements constructor of UpdateClass.
func (u UpdateNewInlineQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewInlineQuery.
var (
_ bin.Encoder = &UpdateNewInlineQuery{}
_ bin.Decoder = &UpdateNewInlineQuery{}
_ bin.BareEncoder = &UpdateNewInlineQuery{}
_ bin.BareDecoder = &UpdateNewInlineQuery{}
_ UpdateClass = &UpdateNewInlineQuery{}
)
func (u *UpdateNewInlineQuery) Zero() bool {
if u == nil {
return true
}
if !(u.ID == 0) {
return false
}
if !(u.SenderUserID == 0) {
return false
}
if !(u.UserLocation.Zero()) {
return false
}
if !(u.ChatType == nil) {
return false
}
if !(u.Query == "") {
return false
}
if !(u.Offset == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewInlineQuery) String() string {
if u == nil {
return "UpdateNewInlineQuery(nil)"
}
type Alias UpdateNewInlineQuery
return fmt.Sprintf("UpdateNewInlineQuery%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewInlineQuery) TypeID() uint32 {
return UpdateNewInlineQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewInlineQuery) TypeName() string {
return "updateNewInlineQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewInlineQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewInlineQuery",
ID: UpdateNewInlineQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "SenderUserID",
SchemaName: "sender_user_id",
},
{
Name: "UserLocation",
SchemaName: "user_location",
},
{
Name: "ChatType",
SchemaName: "chat_type",
},
{
Name: "Query",
SchemaName: "query",
},
{
Name: "Offset",
SchemaName: "offset",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewInlineQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewInlineQuery#7171bf34 as nil")
}
b.PutID(UpdateNewInlineQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewInlineQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewInlineQuery#7171bf34 as nil")
}
b.PutLong(u.ID)
b.PutInt53(u.SenderUserID)
if err := u.UserLocation.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewInlineQuery#7171bf34: field user_location: %w", err)
}
if u.ChatType == nil {
return fmt.Errorf("unable to encode updateNewInlineQuery#7171bf34: field chat_type is nil")
}
if err := u.ChatType.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewInlineQuery#7171bf34: field chat_type: %w", err)
}
b.PutString(u.Query)
b.PutString(u.Offset)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewInlineQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewInlineQuery#7171bf34 to nil")
}
if err := b.ConsumeID(UpdateNewInlineQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewInlineQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewInlineQuery#7171bf34 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field id: %w", err)
}
u.ID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field sender_user_id: %w", err)
}
u.SenderUserID = value
}
{
if err := u.UserLocation.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field user_location: %w", err)
}
}
{
value, err := DecodeChatType(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field chat_type: %w", err)
}
u.ChatType = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field query: %w", err)
}
u.Query = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field offset: %w", err)
}
u.Offset = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewInlineQuery) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewInlineQuery#7171bf34 as nil")
}
b.ObjStart()
b.PutID("updateNewInlineQuery")
b.Comma()
b.FieldStart("id")
b.PutLong(u.ID)
b.Comma()
b.FieldStart("sender_user_id")
b.PutInt53(u.SenderUserID)
b.Comma()
b.FieldStart("user_location")
if err := u.UserLocation.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewInlineQuery#7171bf34: field user_location: %w", err)
}
b.Comma()
b.FieldStart("chat_type")
if u.ChatType == nil {
return fmt.Errorf("unable to encode updateNewInlineQuery#7171bf34: field chat_type is nil")
}
if err := u.ChatType.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewInlineQuery#7171bf34: field chat_type: %w", err)
}
b.Comma()
b.FieldStart("query")
b.PutString(u.Query)
b.Comma()
b.FieldStart("offset")
b.PutString(u.Offset)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewInlineQuery) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewInlineQuery#7171bf34 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewInlineQuery"); err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: %w", err)
}
case "id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field id: %w", err)
}
u.ID = value
case "sender_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field sender_user_id: %w", err)
}
u.SenderUserID = value
case "user_location":
if err := u.UserLocation.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field user_location: %w", err)
}
case "chat_type":
value, err := DecodeTDLibJSONChatType(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field chat_type: %w", err)
}
u.ChatType = value
case "query":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field query: %w", err)
}
u.Query = value
case "offset":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineQuery#7171bf34: field offset: %w", err)
}
u.Offset = value
default:
return b.Skip()
}
return nil
})
}
// GetID returns value of ID field.
func (u *UpdateNewInlineQuery) GetID() (value int64) {
if u == nil {
return
}
return u.ID
}
// GetSenderUserID returns value of SenderUserID field.
func (u *UpdateNewInlineQuery) GetSenderUserID() (value int64) {
if u == nil {
return
}
return u.SenderUserID
}
// GetUserLocation returns value of UserLocation field.
func (u *UpdateNewInlineQuery) GetUserLocation() (value Location) {
if u == nil {
return
}
return u.UserLocation
}
// GetChatType returns value of ChatType field.
func (u *UpdateNewInlineQuery) GetChatType() (value ChatTypeClass) {
if u == nil {
return
}
return u.ChatType
}
// GetQuery returns value of Query field.
func (u *UpdateNewInlineQuery) GetQuery() (value string) {
if u == nil {
return
}
return u.Query
}
// GetOffset returns value of Offset field.
func (u *UpdateNewInlineQuery) GetOffset() (value string) {
if u == nil {
return
}
return u.Offset
}
// UpdateNewChosenInlineResult represents TL type `updateNewChosenInlineResult#cb4c4f5d`.
type UpdateNewChosenInlineResult struct {
// Identifier of the user who sent the query
SenderUserID int64
// User location; may be null
UserLocation Location
// Text of the query
Query string
// Identifier of the chosen result
ResultID string
// Identifier of the sent inline message, if known
InlineMessageID string
}
// UpdateNewChosenInlineResultTypeID is TL type id of UpdateNewChosenInlineResult.
const UpdateNewChosenInlineResultTypeID = 0xcb4c4f5d
// construct implements constructor of UpdateClass.
func (u UpdateNewChosenInlineResult) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewChosenInlineResult.
var (
_ bin.Encoder = &UpdateNewChosenInlineResult{}
_ bin.Decoder = &UpdateNewChosenInlineResult{}
_ bin.BareEncoder = &UpdateNewChosenInlineResult{}
_ bin.BareDecoder = &UpdateNewChosenInlineResult{}
_ UpdateClass = &UpdateNewChosenInlineResult{}
)
func (u *UpdateNewChosenInlineResult) Zero() bool {
if u == nil {
return true
}
if !(u.SenderUserID == 0) {
return false
}
if !(u.UserLocation.Zero()) {
return false
}
if !(u.Query == "") {
return false
}
if !(u.ResultID == "") {
return false
}
if !(u.InlineMessageID == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewChosenInlineResult) String() string {
if u == nil {
return "UpdateNewChosenInlineResult(nil)"
}
type Alias UpdateNewChosenInlineResult
return fmt.Sprintf("UpdateNewChosenInlineResult%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewChosenInlineResult) TypeID() uint32 {
return UpdateNewChosenInlineResultTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewChosenInlineResult) TypeName() string {
return "updateNewChosenInlineResult"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewChosenInlineResult) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewChosenInlineResult",
ID: UpdateNewChosenInlineResultTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "SenderUserID",
SchemaName: "sender_user_id",
},
{
Name: "UserLocation",
SchemaName: "user_location",
},
{
Name: "Query",
SchemaName: "query",
},
{
Name: "ResultID",
SchemaName: "result_id",
},
{
Name: "InlineMessageID",
SchemaName: "inline_message_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewChosenInlineResult) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChosenInlineResult#cb4c4f5d as nil")
}
b.PutID(UpdateNewChosenInlineResultTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewChosenInlineResult) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChosenInlineResult#cb4c4f5d as nil")
}
b.PutInt53(u.SenderUserID)
if err := u.UserLocation.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewChosenInlineResult#cb4c4f5d: field user_location: %w", err)
}
b.PutString(u.Query)
b.PutString(u.ResultID)
b.PutString(u.InlineMessageID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewChosenInlineResult) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChosenInlineResult#cb4c4f5d to nil")
}
if err := b.ConsumeID(UpdateNewChosenInlineResultTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewChosenInlineResult) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChosenInlineResult#cb4c4f5d to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field sender_user_id: %w", err)
}
u.SenderUserID = value
}
{
if err := u.UserLocation.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field user_location: %w", err)
}
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field query: %w", err)
}
u.Query = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field result_id: %w", err)
}
u.ResultID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field inline_message_id: %w", err)
}
u.InlineMessageID = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewChosenInlineResult) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChosenInlineResult#cb4c4f5d as nil")
}
b.ObjStart()
b.PutID("updateNewChosenInlineResult")
b.Comma()
b.FieldStart("sender_user_id")
b.PutInt53(u.SenderUserID)
b.Comma()
b.FieldStart("user_location")
if err := u.UserLocation.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewChosenInlineResult#cb4c4f5d: field user_location: %w", err)
}
b.Comma()
b.FieldStart("query")
b.PutString(u.Query)
b.Comma()
b.FieldStart("result_id")
b.PutString(u.ResultID)
b.Comma()
b.FieldStart("inline_message_id")
b.PutString(u.InlineMessageID)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewChosenInlineResult) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChosenInlineResult#cb4c4f5d to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewChosenInlineResult"); err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: %w", err)
}
case "sender_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field sender_user_id: %w", err)
}
u.SenderUserID = value
case "user_location":
if err := u.UserLocation.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field user_location: %w", err)
}
case "query":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field query: %w", err)
}
u.Query = value
case "result_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field result_id: %w", err)
}
u.ResultID = value
case "inline_message_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewChosenInlineResult#cb4c4f5d: field inline_message_id: %w", err)
}
u.InlineMessageID = value
default:
return b.Skip()
}
return nil
})
}
// GetSenderUserID returns value of SenderUserID field.
func (u *UpdateNewChosenInlineResult) GetSenderUserID() (value int64) {
if u == nil {
return
}
return u.SenderUserID
}
// GetUserLocation returns value of UserLocation field.
func (u *UpdateNewChosenInlineResult) GetUserLocation() (value Location) {
if u == nil {
return
}
return u.UserLocation
}
// GetQuery returns value of Query field.
func (u *UpdateNewChosenInlineResult) GetQuery() (value string) {
if u == nil {
return
}
return u.Query
}
// GetResultID returns value of ResultID field.
func (u *UpdateNewChosenInlineResult) GetResultID() (value string) {
if u == nil {
return
}
return u.ResultID
}
// GetInlineMessageID returns value of InlineMessageID field.
func (u *UpdateNewChosenInlineResult) GetInlineMessageID() (value string) {
if u == nil {
return
}
return u.InlineMessageID
}
// UpdateNewCallbackQuery represents TL type `updateNewCallbackQuery#8964d05e`.
type UpdateNewCallbackQuery struct {
// Unique query identifier
ID int64
// Identifier of the user who sent the query
SenderUserID int64
// Identifier of the chat where the query was sent
ChatID int64
// Identifier of the message from which the query originated
MessageID int64
// Identifier that uniquely corresponds to the chat to which the message was sent
ChatInstance int64
// Query payload
Payload CallbackQueryPayloadClass
}
// UpdateNewCallbackQueryTypeID is TL type id of UpdateNewCallbackQuery.
const UpdateNewCallbackQueryTypeID = 0x8964d05e
// construct implements constructor of UpdateClass.
func (u UpdateNewCallbackQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewCallbackQuery.
var (
_ bin.Encoder = &UpdateNewCallbackQuery{}
_ bin.Decoder = &UpdateNewCallbackQuery{}
_ bin.BareEncoder = &UpdateNewCallbackQuery{}
_ bin.BareDecoder = &UpdateNewCallbackQuery{}
_ UpdateClass = &UpdateNewCallbackQuery{}
)
func (u *UpdateNewCallbackQuery) Zero() bool {
if u == nil {
return true
}
if !(u.ID == 0) {
return false
}
if !(u.SenderUserID == 0) {
return false
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.ChatInstance == 0) {
return false
}
if !(u.Payload == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewCallbackQuery) String() string {
if u == nil {
return "UpdateNewCallbackQuery(nil)"
}
type Alias UpdateNewCallbackQuery
return fmt.Sprintf("UpdateNewCallbackQuery%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewCallbackQuery) TypeID() uint32 {
return UpdateNewCallbackQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewCallbackQuery) TypeName() string {
return "updateNewCallbackQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewCallbackQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewCallbackQuery",
ID: UpdateNewCallbackQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "SenderUserID",
SchemaName: "sender_user_id",
},
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "ChatInstance",
SchemaName: "chat_instance",
},
{
Name: "Payload",
SchemaName: "payload",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewCallbackQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCallbackQuery#8964d05e as nil")
}
b.PutID(UpdateNewCallbackQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewCallbackQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCallbackQuery#8964d05e as nil")
}
b.PutLong(u.ID)
b.PutInt53(u.SenderUserID)
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
b.PutLong(u.ChatInstance)
if u.Payload == nil {
return fmt.Errorf("unable to encode updateNewCallbackQuery#8964d05e: field payload is nil")
}
if err := u.Payload.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewCallbackQuery#8964d05e: field payload: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewCallbackQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCallbackQuery#8964d05e to nil")
}
if err := b.ConsumeID(UpdateNewCallbackQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewCallbackQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCallbackQuery#8964d05e to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field id: %w", err)
}
u.ID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field sender_user_id: %w", err)
}
u.SenderUserID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field message_id: %w", err)
}
u.MessageID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field chat_instance: %w", err)
}
u.ChatInstance = value
}
{
value, err := DecodeCallbackQueryPayload(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field payload: %w", err)
}
u.Payload = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewCallbackQuery) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCallbackQuery#8964d05e as nil")
}
b.ObjStart()
b.PutID("updateNewCallbackQuery")
b.Comma()
b.FieldStart("id")
b.PutLong(u.ID)
b.Comma()
b.FieldStart("sender_user_id")
b.PutInt53(u.SenderUserID)
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("chat_instance")
b.PutLong(u.ChatInstance)
b.Comma()
b.FieldStart("payload")
if u.Payload == nil {
return fmt.Errorf("unable to encode updateNewCallbackQuery#8964d05e: field payload is nil")
}
if err := u.Payload.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewCallbackQuery#8964d05e: field payload: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewCallbackQuery) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCallbackQuery#8964d05e to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewCallbackQuery"); err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: %w", err)
}
case "id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field id: %w", err)
}
u.ID = value
case "sender_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field sender_user_id: %w", err)
}
u.SenderUserID = value
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field message_id: %w", err)
}
u.MessageID = value
case "chat_instance":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field chat_instance: %w", err)
}
u.ChatInstance = value
case "payload":
value, err := DecodeTDLibJSONCallbackQueryPayload(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewCallbackQuery#8964d05e: field payload: %w", err)
}
u.Payload = value
default:
return b.Skip()
}
return nil
})
}
// GetID returns value of ID field.
func (u *UpdateNewCallbackQuery) GetID() (value int64) {
if u == nil {
return
}
return u.ID
}
// GetSenderUserID returns value of SenderUserID field.
func (u *UpdateNewCallbackQuery) GetSenderUserID() (value int64) {
if u == nil {
return
}
return u.SenderUserID
}
// GetChatID returns value of ChatID field.
func (u *UpdateNewCallbackQuery) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateNewCallbackQuery) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetChatInstance returns value of ChatInstance field.
func (u *UpdateNewCallbackQuery) GetChatInstance() (value int64) {
if u == nil {
return
}
return u.ChatInstance
}
// GetPayload returns value of Payload field.
func (u *UpdateNewCallbackQuery) GetPayload() (value CallbackQueryPayloadClass) {
if u == nil {
return
}
return u.Payload
}
// UpdateNewInlineCallbackQuery represents TL type `updateNewInlineCallbackQuery#ecf934ba`.
type UpdateNewInlineCallbackQuery struct {
// Unique query identifier
ID int64
// Identifier of the user who sent the query
SenderUserID int64
// Identifier of the inline message from which the query originated
InlineMessageID string
// An identifier uniquely corresponding to the chat a message was sent to
ChatInstance int64
// Query payload
Payload CallbackQueryPayloadClass
}
// UpdateNewInlineCallbackQueryTypeID is TL type id of UpdateNewInlineCallbackQuery.
const UpdateNewInlineCallbackQueryTypeID = 0xecf934ba
// construct implements constructor of UpdateClass.
func (u UpdateNewInlineCallbackQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewInlineCallbackQuery.
var (
_ bin.Encoder = &UpdateNewInlineCallbackQuery{}
_ bin.Decoder = &UpdateNewInlineCallbackQuery{}
_ bin.BareEncoder = &UpdateNewInlineCallbackQuery{}
_ bin.BareDecoder = &UpdateNewInlineCallbackQuery{}
_ UpdateClass = &UpdateNewInlineCallbackQuery{}
)
func (u *UpdateNewInlineCallbackQuery) Zero() bool {
if u == nil {
return true
}
if !(u.ID == 0) {
return false
}
if !(u.SenderUserID == 0) {
return false
}
if !(u.InlineMessageID == "") {
return false
}
if !(u.ChatInstance == 0) {
return false
}
if !(u.Payload == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewInlineCallbackQuery) String() string {
if u == nil {
return "UpdateNewInlineCallbackQuery(nil)"
}
type Alias UpdateNewInlineCallbackQuery
return fmt.Sprintf("UpdateNewInlineCallbackQuery%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewInlineCallbackQuery) TypeID() uint32 {
return UpdateNewInlineCallbackQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewInlineCallbackQuery) TypeName() string {
return "updateNewInlineCallbackQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewInlineCallbackQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewInlineCallbackQuery",
ID: UpdateNewInlineCallbackQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "SenderUserID",
SchemaName: "sender_user_id",
},
{
Name: "InlineMessageID",
SchemaName: "inline_message_id",
},
{
Name: "ChatInstance",
SchemaName: "chat_instance",
},
{
Name: "Payload",
SchemaName: "payload",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewInlineCallbackQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewInlineCallbackQuery#ecf934ba as nil")
}
b.PutID(UpdateNewInlineCallbackQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewInlineCallbackQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewInlineCallbackQuery#ecf934ba as nil")
}
b.PutLong(u.ID)
b.PutInt53(u.SenderUserID)
b.PutString(u.InlineMessageID)
b.PutLong(u.ChatInstance)
if u.Payload == nil {
return fmt.Errorf("unable to encode updateNewInlineCallbackQuery#ecf934ba: field payload is nil")
}
if err := u.Payload.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewInlineCallbackQuery#ecf934ba: field payload: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewInlineCallbackQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewInlineCallbackQuery#ecf934ba to nil")
}
if err := b.ConsumeID(UpdateNewInlineCallbackQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewInlineCallbackQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewInlineCallbackQuery#ecf934ba to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field id: %w", err)
}
u.ID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field sender_user_id: %w", err)
}
u.SenderUserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field inline_message_id: %w", err)
}
u.InlineMessageID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field chat_instance: %w", err)
}
u.ChatInstance = value
}
{
value, err := DecodeCallbackQueryPayload(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field payload: %w", err)
}
u.Payload = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewInlineCallbackQuery) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewInlineCallbackQuery#ecf934ba as nil")
}
b.ObjStart()
b.PutID("updateNewInlineCallbackQuery")
b.Comma()
b.FieldStart("id")
b.PutLong(u.ID)
b.Comma()
b.FieldStart("sender_user_id")
b.PutInt53(u.SenderUserID)
b.Comma()
b.FieldStart("inline_message_id")
b.PutString(u.InlineMessageID)
b.Comma()
b.FieldStart("chat_instance")
b.PutLong(u.ChatInstance)
b.Comma()
b.FieldStart("payload")
if u.Payload == nil {
return fmt.Errorf("unable to encode updateNewInlineCallbackQuery#ecf934ba: field payload is nil")
}
if err := u.Payload.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewInlineCallbackQuery#ecf934ba: field payload: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewInlineCallbackQuery) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewInlineCallbackQuery#ecf934ba to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewInlineCallbackQuery"); err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: %w", err)
}
case "id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field id: %w", err)
}
u.ID = value
case "sender_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field sender_user_id: %w", err)
}
u.SenderUserID = value
case "inline_message_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field inline_message_id: %w", err)
}
u.InlineMessageID = value
case "chat_instance":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field chat_instance: %w", err)
}
u.ChatInstance = value
case "payload":
value, err := DecodeTDLibJSONCallbackQueryPayload(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewInlineCallbackQuery#ecf934ba: field payload: %w", err)
}
u.Payload = value
default:
return b.Skip()
}
return nil
})
}
// GetID returns value of ID field.
func (u *UpdateNewInlineCallbackQuery) GetID() (value int64) {
if u == nil {
return
}
return u.ID
}
// GetSenderUserID returns value of SenderUserID field.
func (u *UpdateNewInlineCallbackQuery) GetSenderUserID() (value int64) {
if u == nil {
return
}
return u.SenderUserID
}
// GetInlineMessageID returns value of InlineMessageID field.
func (u *UpdateNewInlineCallbackQuery) GetInlineMessageID() (value string) {
if u == nil {
return
}
return u.InlineMessageID
}
// GetChatInstance returns value of ChatInstance field.
func (u *UpdateNewInlineCallbackQuery) GetChatInstance() (value int64) {
if u == nil {
return
}
return u.ChatInstance
}
// GetPayload returns value of Payload field.
func (u *UpdateNewInlineCallbackQuery) GetPayload() (value CallbackQueryPayloadClass) {
if u == nil {
return
}
return u.Payload
}
// UpdateNewBusinessCallbackQuery represents TL type `updateNewBusinessCallbackQuery#14125364`.
type UpdateNewBusinessCallbackQuery struct {
// Unique query identifier
ID int64
// Identifier of the user who sent the query
SenderUserID int64
// Unique identifier of the business connection
ConnectionID string
// The message from the business account from which the query originated
Message BusinessMessage
// An identifier uniquely corresponding to the chat a message was sent to
ChatInstance int64
// Query payload
Payload CallbackQueryPayloadClass
}
// UpdateNewBusinessCallbackQueryTypeID is TL type id of UpdateNewBusinessCallbackQuery.
const UpdateNewBusinessCallbackQueryTypeID = 0x14125364
// construct implements constructor of UpdateClass.
func (u UpdateNewBusinessCallbackQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewBusinessCallbackQuery.
var (
_ bin.Encoder = &UpdateNewBusinessCallbackQuery{}
_ bin.Decoder = &UpdateNewBusinessCallbackQuery{}
_ bin.BareEncoder = &UpdateNewBusinessCallbackQuery{}
_ bin.BareDecoder = &UpdateNewBusinessCallbackQuery{}
_ UpdateClass = &UpdateNewBusinessCallbackQuery{}
)
func (u *UpdateNewBusinessCallbackQuery) Zero() bool {
if u == nil {
return true
}
if !(u.ID == 0) {
return false
}
if !(u.SenderUserID == 0) {
return false
}
if !(u.ConnectionID == "") {
return false
}
if !(u.Message.Zero()) {
return false
}
if !(u.ChatInstance == 0) {
return false
}
if !(u.Payload == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewBusinessCallbackQuery) String() string {
if u == nil {
return "UpdateNewBusinessCallbackQuery(nil)"
}
type Alias UpdateNewBusinessCallbackQuery
return fmt.Sprintf("UpdateNewBusinessCallbackQuery%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewBusinessCallbackQuery) TypeID() uint32 {
return UpdateNewBusinessCallbackQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewBusinessCallbackQuery) TypeName() string {
return "updateNewBusinessCallbackQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewBusinessCallbackQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewBusinessCallbackQuery",
ID: UpdateNewBusinessCallbackQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "SenderUserID",
SchemaName: "sender_user_id",
},
{
Name: "ConnectionID",
SchemaName: "connection_id",
},
{
Name: "Message",
SchemaName: "message",
},
{
Name: "ChatInstance",
SchemaName: "chat_instance",
},
{
Name: "Payload",
SchemaName: "payload",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewBusinessCallbackQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewBusinessCallbackQuery#14125364 as nil")
}
b.PutID(UpdateNewBusinessCallbackQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewBusinessCallbackQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewBusinessCallbackQuery#14125364 as nil")
}
b.PutLong(u.ID)
b.PutInt53(u.SenderUserID)
b.PutString(u.ConnectionID)
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewBusinessCallbackQuery#14125364: field message: %w", err)
}
b.PutLong(u.ChatInstance)
if u.Payload == nil {
return fmt.Errorf("unable to encode updateNewBusinessCallbackQuery#14125364: field payload is nil")
}
if err := u.Payload.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewBusinessCallbackQuery#14125364: field payload: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewBusinessCallbackQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewBusinessCallbackQuery#14125364 to nil")
}
if err := b.ConsumeID(UpdateNewBusinessCallbackQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewBusinessCallbackQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewBusinessCallbackQuery#14125364 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field id: %w", err)
}
u.ID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field sender_user_id: %w", err)
}
u.SenderUserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field connection_id: %w", err)
}
u.ConnectionID = value
}
{
if err := u.Message.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field message: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field chat_instance: %w", err)
}
u.ChatInstance = value
}
{
value, err := DecodeCallbackQueryPayload(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field payload: %w", err)
}
u.Payload = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewBusinessCallbackQuery) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewBusinessCallbackQuery#14125364 as nil")
}
b.ObjStart()
b.PutID("updateNewBusinessCallbackQuery")
b.Comma()
b.FieldStart("id")
b.PutLong(u.ID)
b.Comma()
b.FieldStart("sender_user_id")
b.PutInt53(u.SenderUserID)
b.Comma()
b.FieldStart("connection_id")
b.PutString(u.ConnectionID)
b.Comma()
b.FieldStart("message")
if err := u.Message.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewBusinessCallbackQuery#14125364: field message: %w", err)
}
b.Comma()
b.FieldStart("chat_instance")
b.PutLong(u.ChatInstance)
b.Comma()
b.FieldStart("payload")
if u.Payload == nil {
return fmt.Errorf("unable to encode updateNewBusinessCallbackQuery#14125364: field payload is nil")
}
if err := u.Payload.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewBusinessCallbackQuery#14125364: field payload: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewBusinessCallbackQuery) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewBusinessCallbackQuery#14125364 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewBusinessCallbackQuery"); err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: %w", err)
}
case "id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field id: %w", err)
}
u.ID = value
case "sender_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field sender_user_id: %w", err)
}
u.SenderUserID = value
case "connection_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field connection_id: %w", err)
}
u.ConnectionID = value
case "message":
if err := u.Message.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field message: %w", err)
}
case "chat_instance":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field chat_instance: %w", err)
}
u.ChatInstance = value
case "payload":
value, err := DecodeTDLibJSONCallbackQueryPayload(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewBusinessCallbackQuery#14125364: field payload: %w", err)
}
u.Payload = value
default:
return b.Skip()
}
return nil
})
}
// GetID returns value of ID field.
func (u *UpdateNewBusinessCallbackQuery) GetID() (value int64) {
if u == nil {
return
}
return u.ID
}
// GetSenderUserID returns value of SenderUserID field.
func (u *UpdateNewBusinessCallbackQuery) GetSenderUserID() (value int64) {
if u == nil {
return
}
return u.SenderUserID
}
// GetConnectionID returns value of ConnectionID field.
func (u *UpdateNewBusinessCallbackQuery) GetConnectionID() (value string) {
if u == nil {
return
}
return u.ConnectionID
}
// GetMessage returns value of Message field.
func (u *UpdateNewBusinessCallbackQuery) GetMessage() (value BusinessMessage) {
if u == nil {
return
}
return u.Message
}
// GetChatInstance returns value of ChatInstance field.
func (u *UpdateNewBusinessCallbackQuery) GetChatInstance() (value int64) {
if u == nil {
return
}
return u.ChatInstance
}
// GetPayload returns value of Payload field.
func (u *UpdateNewBusinessCallbackQuery) GetPayload() (value CallbackQueryPayloadClass) {
if u == nil {
return
}
return u.Payload
}
// UpdateNewShippingQuery represents TL type `updateNewShippingQuery#29584672`.
type UpdateNewShippingQuery struct {
// Unique query identifier
ID int64
// Identifier of the user who sent the query
SenderUserID int64
// Invoice payload
InvoicePayload string
// User shipping address
ShippingAddress Address
}
// UpdateNewShippingQueryTypeID is TL type id of UpdateNewShippingQuery.
const UpdateNewShippingQueryTypeID = 0x29584672
// construct implements constructor of UpdateClass.
func (u UpdateNewShippingQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewShippingQuery.
var (
_ bin.Encoder = &UpdateNewShippingQuery{}
_ bin.Decoder = &UpdateNewShippingQuery{}
_ bin.BareEncoder = &UpdateNewShippingQuery{}
_ bin.BareDecoder = &UpdateNewShippingQuery{}
_ UpdateClass = &UpdateNewShippingQuery{}
)
func (u *UpdateNewShippingQuery) Zero() bool {
if u == nil {
return true
}
if !(u.ID == 0) {
return false
}
if !(u.SenderUserID == 0) {
return false
}
if !(u.InvoicePayload == "") {
return false
}
if !(u.ShippingAddress.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewShippingQuery) String() string {
if u == nil {
return "UpdateNewShippingQuery(nil)"
}
type Alias UpdateNewShippingQuery
return fmt.Sprintf("UpdateNewShippingQuery%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewShippingQuery) TypeID() uint32 {
return UpdateNewShippingQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewShippingQuery) TypeName() string {
return "updateNewShippingQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewShippingQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewShippingQuery",
ID: UpdateNewShippingQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "SenderUserID",
SchemaName: "sender_user_id",
},
{
Name: "InvoicePayload",
SchemaName: "invoice_payload",
},
{
Name: "ShippingAddress",
SchemaName: "shipping_address",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewShippingQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewShippingQuery#29584672 as nil")
}
b.PutID(UpdateNewShippingQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewShippingQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewShippingQuery#29584672 as nil")
}
b.PutLong(u.ID)
b.PutInt53(u.SenderUserID)
b.PutString(u.InvoicePayload)
if err := u.ShippingAddress.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewShippingQuery#29584672: field shipping_address: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewShippingQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewShippingQuery#29584672 to nil")
}
if err := b.ConsumeID(UpdateNewShippingQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewShippingQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewShippingQuery#29584672 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: field id: %w", err)
}
u.ID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: field sender_user_id: %w", err)
}
u.SenderUserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: field invoice_payload: %w", err)
}
u.InvoicePayload = value
}
{
if err := u.ShippingAddress.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: field shipping_address: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewShippingQuery) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewShippingQuery#29584672 as nil")
}
b.ObjStart()
b.PutID("updateNewShippingQuery")
b.Comma()
b.FieldStart("id")
b.PutLong(u.ID)
b.Comma()
b.FieldStart("sender_user_id")
b.PutInt53(u.SenderUserID)
b.Comma()
b.FieldStart("invoice_payload")
b.PutString(u.InvoicePayload)
b.Comma()
b.FieldStart("shipping_address")
if err := u.ShippingAddress.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewShippingQuery#29584672: field shipping_address: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewShippingQuery) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewShippingQuery#29584672 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewShippingQuery"); err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: %w", err)
}
case "id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: field id: %w", err)
}
u.ID = value
case "sender_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: field sender_user_id: %w", err)
}
u.SenderUserID = value
case "invoice_payload":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: field invoice_payload: %w", err)
}
u.InvoicePayload = value
case "shipping_address":
if err := u.ShippingAddress.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewShippingQuery#29584672: field shipping_address: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetID returns value of ID field.
func (u *UpdateNewShippingQuery) GetID() (value int64) {
if u == nil {
return
}
return u.ID
}
// GetSenderUserID returns value of SenderUserID field.
func (u *UpdateNewShippingQuery) GetSenderUserID() (value int64) {
if u == nil {
return
}
return u.SenderUserID
}
// GetInvoicePayload returns value of InvoicePayload field.
func (u *UpdateNewShippingQuery) GetInvoicePayload() (value string) {
if u == nil {
return
}
return u.InvoicePayload
}
// GetShippingAddress returns value of ShippingAddress field.
func (u *UpdateNewShippingQuery) GetShippingAddress() (value Address) {
if u == nil {
return
}
return u.ShippingAddress
}
// UpdateNewPreCheckoutQuery represents TL type `updateNewPreCheckoutQuery#2a3871c9`.
type UpdateNewPreCheckoutQuery struct {
// Unique query identifier
ID int64
// Identifier of the user who sent the query
SenderUserID int64
// Currency for the product price
Currency string
// Total price for the product, in the smallest units of the currency
TotalAmount int64
// Invoice payload
InvoicePayload []byte
// Identifier of a shipping option chosen by the user; may be empty if not applicable
ShippingOptionID string
// Information about the order; may be null
OrderInfo OrderInfo
}
// UpdateNewPreCheckoutQueryTypeID is TL type id of UpdateNewPreCheckoutQuery.
const UpdateNewPreCheckoutQueryTypeID = 0x2a3871c9
// construct implements constructor of UpdateClass.
func (u UpdateNewPreCheckoutQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewPreCheckoutQuery.
var (
_ bin.Encoder = &UpdateNewPreCheckoutQuery{}
_ bin.Decoder = &UpdateNewPreCheckoutQuery{}
_ bin.BareEncoder = &UpdateNewPreCheckoutQuery{}
_ bin.BareDecoder = &UpdateNewPreCheckoutQuery{}
_ UpdateClass = &UpdateNewPreCheckoutQuery{}
)
func (u *UpdateNewPreCheckoutQuery) Zero() bool {
if u == nil {
return true
}
if !(u.ID == 0) {
return false
}
if !(u.SenderUserID == 0) {
return false
}
if !(u.Currency == "") {
return false
}
if !(u.TotalAmount == 0) {
return false
}
if !(u.InvoicePayload == nil) {
return false
}
if !(u.ShippingOptionID == "") {
return false
}
if !(u.OrderInfo.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewPreCheckoutQuery) String() string {
if u == nil {
return "UpdateNewPreCheckoutQuery(nil)"
}
type Alias UpdateNewPreCheckoutQuery
return fmt.Sprintf("UpdateNewPreCheckoutQuery%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewPreCheckoutQuery) TypeID() uint32 {
return UpdateNewPreCheckoutQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewPreCheckoutQuery) TypeName() string {
return "updateNewPreCheckoutQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewPreCheckoutQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewPreCheckoutQuery",
ID: UpdateNewPreCheckoutQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "SenderUserID",
SchemaName: "sender_user_id",
},
{
Name: "Currency",
SchemaName: "currency",
},
{
Name: "TotalAmount",
SchemaName: "total_amount",
},
{
Name: "InvoicePayload",
SchemaName: "invoice_payload",
},
{
Name: "ShippingOptionID",
SchemaName: "shipping_option_id",
},
{
Name: "OrderInfo",
SchemaName: "order_info",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewPreCheckoutQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewPreCheckoutQuery#2a3871c9 as nil")
}
b.PutID(UpdateNewPreCheckoutQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewPreCheckoutQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewPreCheckoutQuery#2a3871c9 as nil")
}
b.PutLong(u.ID)
b.PutInt53(u.SenderUserID)
b.PutString(u.Currency)
b.PutInt53(u.TotalAmount)
b.PutBytes(u.InvoicePayload)
b.PutString(u.ShippingOptionID)
if err := u.OrderInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewPreCheckoutQuery#2a3871c9: field order_info: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewPreCheckoutQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewPreCheckoutQuery#2a3871c9 to nil")
}
if err := b.ConsumeID(UpdateNewPreCheckoutQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewPreCheckoutQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewPreCheckoutQuery#2a3871c9 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field id: %w", err)
}
u.ID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field sender_user_id: %w", err)
}
u.SenderUserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field currency: %w", err)
}
u.Currency = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field total_amount: %w", err)
}
u.TotalAmount = value
}
{
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field invoice_payload: %w", err)
}
u.InvoicePayload = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field shipping_option_id: %w", err)
}
u.ShippingOptionID = value
}
{
if err := u.OrderInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field order_info: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewPreCheckoutQuery) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewPreCheckoutQuery#2a3871c9 as nil")
}
b.ObjStart()
b.PutID("updateNewPreCheckoutQuery")
b.Comma()
b.FieldStart("id")
b.PutLong(u.ID)
b.Comma()
b.FieldStart("sender_user_id")
b.PutInt53(u.SenderUserID)
b.Comma()
b.FieldStart("currency")
b.PutString(u.Currency)
b.Comma()
b.FieldStart("total_amount")
b.PutInt53(u.TotalAmount)
b.Comma()
b.FieldStart("invoice_payload")
b.PutBytes(u.InvoicePayload)
b.Comma()
b.FieldStart("shipping_option_id")
b.PutString(u.ShippingOptionID)
b.Comma()
b.FieldStart("order_info")
if err := u.OrderInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewPreCheckoutQuery#2a3871c9: field order_info: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewPreCheckoutQuery) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewPreCheckoutQuery#2a3871c9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewPreCheckoutQuery"); err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: %w", err)
}
case "id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field id: %w", err)
}
u.ID = value
case "sender_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field sender_user_id: %w", err)
}
u.SenderUserID = value
case "currency":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field currency: %w", err)
}
u.Currency = value
case "total_amount":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field total_amount: %w", err)
}
u.TotalAmount = value
case "invoice_payload":
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field invoice_payload: %w", err)
}
u.InvoicePayload = value
case "shipping_option_id":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field shipping_option_id: %w", err)
}
u.ShippingOptionID = value
case "order_info":
if err := u.OrderInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewPreCheckoutQuery#2a3871c9: field order_info: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetID returns value of ID field.
func (u *UpdateNewPreCheckoutQuery) GetID() (value int64) {
if u == nil {
return
}
return u.ID
}
// GetSenderUserID returns value of SenderUserID field.
func (u *UpdateNewPreCheckoutQuery) GetSenderUserID() (value int64) {
if u == nil {
return
}
return u.SenderUserID
}
// GetCurrency returns value of Currency field.
func (u *UpdateNewPreCheckoutQuery) GetCurrency() (value string) {
if u == nil {
return
}
return u.Currency
}
// GetTotalAmount returns value of TotalAmount field.
func (u *UpdateNewPreCheckoutQuery) GetTotalAmount() (value int64) {
if u == nil {
return
}
return u.TotalAmount
}
// GetInvoicePayload returns value of InvoicePayload field.
func (u *UpdateNewPreCheckoutQuery) GetInvoicePayload() (value []byte) {
if u == nil {
return
}
return u.InvoicePayload
}
// GetShippingOptionID returns value of ShippingOptionID field.
func (u *UpdateNewPreCheckoutQuery) GetShippingOptionID() (value string) {
if u == nil {
return
}
return u.ShippingOptionID
}
// GetOrderInfo returns value of OrderInfo field.
func (u *UpdateNewPreCheckoutQuery) GetOrderInfo() (value OrderInfo) {
if u == nil {
return
}
return u.OrderInfo
}
// UpdateNewCustomEvent represents TL type `updateNewCustomEvent#76dd6a0c`.
type UpdateNewCustomEvent struct {
// A JSON-serialized event
Event string
}
// UpdateNewCustomEventTypeID is TL type id of UpdateNewCustomEvent.
const UpdateNewCustomEventTypeID = 0x76dd6a0c
// construct implements constructor of UpdateClass.
func (u UpdateNewCustomEvent) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewCustomEvent.
var (
_ bin.Encoder = &UpdateNewCustomEvent{}
_ bin.Decoder = &UpdateNewCustomEvent{}
_ bin.BareEncoder = &UpdateNewCustomEvent{}
_ bin.BareDecoder = &UpdateNewCustomEvent{}
_ UpdateClass = &UpdateNewCustomEvent{}
)
func (u *UpdateNewCustomEvent) Zero() bool {
if u == nil {
return true
}
if !(u.Event == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewCustomEvent) String() string {
if u == nil {
return "UpdateNewCustomEvent(nil)"
}
type Alias UpdateNewCustomEvent
return fmt.Sprintf("UpdateNewCustomEvent%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewCustomEvent) TypeID() uint32 {
return UpdateNewCustomEventTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewCustomEvent) TypeName() string {
return "updateNewCustomEvent"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewCustomEvent) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewCustomEvent",
ID: UpdateNewCustomEventTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Event",
SchemaName: "event",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewCustomEvent) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCustomEvent#76dd6a0c as nil")
}
b.PutID(UpdateNewCustomEventTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewCustomEvent) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCustomEvent#76dd6a0c as nil")
}
b.PutString(u.Event)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewCustomEvent) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCustomEvent#76dd6a0c to nil")
}
if err := b.ConsumeID(UpdateNewCustomEventTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewCustomEvent#76dd6a0c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewCustomEvent) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCustomEvent#76dd6a0c to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewCustomEvent#76dd6a0c: field event: %w", err)
}
u.Event = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewCustomEvent) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCustomEvent#76dd6a0c as nil")
}
b.ObjStart()
b.PutID("updateNewCustomEvent")
b.Comma()
b.FieldStart("event")
b.PutString(u.Event)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewCustomEvent) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCustomEvent#76dd6a0c to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewCustomEvent"); err != nil {
return fmt.Errorf("unable to decode updateNewCustomEvent#76dd6a0c: %w", err)
}
case "event":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewCustomEvent#76dd6a0c: field event: %w", err)
}
u.Event = value
default:
return b.Skip()
}
return nil
})
}
// GetEvent returns value of Event field.
func (u *UpdateNewCustomEvent) GetEvent() (value string) {
if u == nil {
return
}
return u.Event
}
// UpdateNewCustomQuery represents TL type `updateNewCustomQuery#d702f9a6`.
type UpdateNewCustomQuery struct {
// The query identifier
ID int64
// JSON-serialized query data
Data string
// Query timeout
Timeout int32
}
// UpdateNewCustomQueryTypeID is TL type id of UpdateNewCustomQuery.
const UpdateNewCustomQueryTypeID = 0xd702f9a6
// construct implements constructor of UpdateClass.
func (u UpdateNewCustomQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewCustomQuery.
var (
_ bin.Encoder = &UpdateNewCustomQuery{}
_ bin.Decoder = &UpdateNewCustomQuery{}
_ bin.BareEncoder = &UpdateNewCustomQuery{}
_ bin.BareDecoder = &UpdateNewCustomQuery{}
_ UpdateClass = &UpdateNewCustomQuery{}
)
func (u *UpdateNewCustomQuery) Zero() bool {
if u == nil {
return true
}
if !(u.ID == 0) {
return false
}
if !(u.Data == "") {
return false
}
if !(u.Timeout == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewCustomQuery) String() string {
if u == nil {
return "UpdateNewCustomQuery(nil)"
}
type Alias UpdateNewCustomQuery
return fmt.Sprintf("UpdateNewCustomQuery%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewCustomQuery) TypeID() uint32 {
return UpdateNewCustomQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewCustomQuery) TypeName() string {
return "updateNewCustomQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewCustomQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewCustomQuery",
ID: UpdateNewCustomQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "Data",
SchemaName: "data",
},
{
Name: "Timeout",
SchemaName: "timeout",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewCustomQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCustomQuery#d702f9a6 as nil")
}
b.PutID(UpdateNewCustomQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewCustomQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCustomQuery#d702f9a6 as nil")
}
b.PutLong(u.ID)
b.PutString(u.Data)
b.PutInt32(u.Timeout)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewCustomQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCustomQuery#d702f9a6 to nil")
}
if err := b.ConsumeID(UpdateNewCustomQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewCustomQuery#d702f9a6: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewCustomQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCustomQuery#d702f9a6 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewCustomQuery#d702f9a6: field id: %w", err)
}
u.ID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewCustomQuery#d702f9a6: field data: %w", err)
}
u.Data = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNewCustomQuery#d702f9a6: field timeout: %w", err)
}
u.Timeout = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewCustomQuery) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewCustomQuery#d702f9a6 as nil")
}
b.ObjStart()
b.PutID("updateNewCustomQuery")
b.Comma()
b.FieldStart("id")
b.PutLong(u.ID)
b.Comma()
b.FieldStart("data")
b.PutString(u.Data)
b.Comma()
b.FieldStart("timeout")
b.PutInt32(u.Timeout)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewCustomQuery) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewCustomQuery#d702f9a6 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewCustomQuery"); err != nil {
return fmt.Errorf("unable to decode updateNewCustomQuery#d702f9a6: %w", err)
}
case "id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateNewCustomQuery#d702f9a6: field id: %w", err)
}
u.ID = value
case "data":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateNewCustomQuery#d702f9a6: field data: %w", err)
}
u.Data = value
case "timeout":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateNewCustomQuery#d702f9a6: field timeout: %w", err)
}
u.Timeout = value
default:
return b.Skip()
}
return nil
})
}
// GetID returns value of ID field.
func (u *UpdateNewCustomQuery) GetID() (value int64) {
if u == nil {
return
}
return u.ID
}
// GetData returns value of Data field.
func (u *UpdateNewCustomQuery) GetData() (value string) {
if u == nil {
return
}
return u.Data
}
// GetTimeout returns value of Timeout field.
func (u *UpdateNewCustomQuery) GetTimeout() (value int32) {
if u == nil {
return
}
return u.Timeout
}
// UpdatePoll represents TL type `updatePoll#966b73ca`.
type UpdatePoll struct {
// New data about the poll
Poll Poll
}
// UpdatePollTypeID is TL type id of UpdatePoll.
const UpdatePollTypeID = 0x966b73ca
// construct implements constructor of UpdateClass.
func (u UpdatePoll) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePoll.
var (
_ bin.Encoder = &UpdatePoll{}
_ bin.Decoder = &UpdatePoll{}
_ bin.BareEncoder = &UpdatePoll{}
_ bin.BareDecoder = &UpdatePoll{}
_ UpdateClass = &UpdatePoll{}
)
func (u *UpdatePoll) Zero() bool {
if u == nil {
return true
}
if !(u.Poll.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePoll) String() string {
if u == nil {
return "UpdatePoll(nil)"
}
type Alias UpdatePoll
return fmt.Sprintf("UpdatePoll%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePoll) TypeID() uint32 {
return UpdatePollTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePoll) TypeName() string {
return "updatePoll"
}
// TypeInfo returns info about TL type.
func (u *UpdatePoll) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePoll",
ID: UpdatePollTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Poll",
SchemaName: "poll",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePoll) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePoll#966b73ca as nil")
}
b.PutID(UpdatePollTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePoll) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePoll#966b73ca as nil")
}
if err := u.Poll.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePoll#966b73ca: field poll: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePoll) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePoll#966b73ca to nil")
}
if err := b.ConsumeID(UpdatePollTypeID); err != nil {
return fmt.Errorf("unable to decode updatePoll#966b73ca: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePoll) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePoll#966b73ca to nil")
}
{
if err := u.Poll.Decode(b); err != nil {
return fmt.Errorf("unable to decode updatePoll#966b73ca: field poll: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdatePoll) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updatePoll#966b73ca as nil")
}
b.ObjStart()
b.PutID("updatePoll")
b.Comma()
b.FieldStart("poll")
if err := u.Poll.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updatePoll#966b73ca: field poll: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdatePoll) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updatePoll#966b73ca to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updatePoll"); err != nil {
return fmt.Errorf("unable to decode updatePoll#966b73ca: %w", err)
}
case "poll":
if err := u.Poll.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updatePoll#966b73ca: field poll: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetPoll returns value of Poll field.
func (u *UpdatePoll) GetPoll() (value Poll) {
if u == nil {
return
}
return u.Poll
}
// UpdatePollAnswer represents TL type `updatePollAnswer#b67ac547`.
type UpdatePollAnswer struct {
// Unique poll identifier
PollID int64
// Identifier of the message sender that changed the answer to the poll
VoterID MessageSenderClass
// 0-based identifiers of answer options, chosen by the user
OptionIDs []int32
}
// UpdatePollAnswerTypeID is TL type id of UpdatePollAnswer.
const UpdatePollAnswerTypeID = 0xb67ac547
// construct implements constructor of UpdateClass.
func (u UpdatePollAnswer) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePollAnswer.
var (
_ bin.Encoder = &UpdatePollAnswer{}
_ bin.Decoder = &UpdatePollAnswer{}
_ bin.BareEncoder = &UpdatePollAnswer{}
_ bin.BareDecoder = &UpdatePollAnswer{}
_ UpdateClass = &UpdatePollAnswer{}
)
func (u *UpdatePollAnswer) Zero() bool {
if u == nil {
return true
}
if !(u.PollID == 0) {
return false
}
if !(u.VoterID == nil) {
return false
}
if !(u.OptionIDs == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePollAnswer) String() string {
if u == nil {
return "UpdatePollAnswer(nil)"
}
type Alias UpdatePollAnswer
return fmt.Sprintf("UpdatePollAnswer%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePollAnswer) TypeID() uint32 {
return UpdatePollAnswerTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePollAnswer) TypeName() string {
return "updatePollAnswer"
}
// TypeInfo returns info about TL type.
func (u *UpdatePollAnswer) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePollAnswer",
ID: UpdatePollAnswerTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PollID",
SchemaName: "poll_id",
},
{
Name: "VoterID",
SchemaName: "voter_id",
},
{
Name: "OptionIDs",
SchemaName: "option_ids",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePollAnswer) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePollAnswer#b67ac547 as nil")
}
b.PutID(UpdatePollAnswerTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePollAnswer) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePollAnswer#b67ac547 as nil")
}
b.PutLong(u.PollID)
if u.VoterID == nil {
return fmt.Errorf("unable to encode updatePollAnswer#b67ac547: field voter_id is nil")
}
if err := u.VoterID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePollAnswer#b67ac547: field voter_id: %w", err)
}
b.PutInt(len(u.OptionIDs))
for _, v := range u.OptionIDs {
b.PutInt32(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePollAnswer) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePollAnswer#b67ac547 to nil")
}
if err := b.ConsumeID(UpdatePollAnswerTypeID); err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePollAnswer) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePollAnswer#b67ac547 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: field poll_id: %w", err)
}
u.PollID = value
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: field voter_id: %w", err)
}
u.VoterID = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: field option_ids: %w", err)
}
if headerLen > 0 {
u.OptionIDs = make([]int32, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: field option_ids: %w", err)
}
u.OptionIDs = append(u.OptionIDs, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdatePollAnswer) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updatePollAnswer#b67ac547 as nil")
}
b.ObjStart()
b.PutID("updatePollAnswer")
b.Comma()
b.FieldStart("poll_id")
b.PutLong(u.PollID)
b.Comma()
b.FieldStart("voter_id")
if u.VoterID == nil {
return fmt.Errorf("unable to encode updatePollAnswer#b67ac547: field voter_id is nil")
}
if err := u.VoterID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updatePollAnswer#b67ac547: field voter_id: %w", err)
}
b.Comma()
b.FieldStart("option_ids")
b.ArrStart()
for _, v := range u.OptionIDs {
b.PutInt32(v)
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdatePollAnswer) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updatePollAnswer#b67ac547 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updatePollAnswer"); err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: %w", err)
}
case "poll_id":
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: field poll_id: %w", err)
}
u.PollID = value
case "voter_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: field voter_id: %w", err)
}
u.VoterID = value
case "option_ids":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: field option_ids: %w", err)
}
u.OptionIDs = append(u.OptionIDs, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updatePollAnswer#b67ac547: field option_ids: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetPollID returns value of PollID field.
func (u *UpdatePollAnswer) GetPollID() (value int64) {
if u == nil {
return
}
return u.PollID
}
// GetVoterID returns value of VoterID field.
func (u *UpdatePollAnswer) GetVoterID() (value MessageSenderClass) {
if u == nil {
return
}
return u.VoterID
}
// GetOptionIDs returns value of OptionIDs field.
func (u *UpdatePollAnswer) GetOptionIDs() (value []int32) {
if u == nil {
return
}
return u.OptionIDs
}
// UpdateChatMember represents TL type `updateChatMember#98865bc7`.
type UpdateChatMember struct {
// Chat identifier
ChatID int64
// Identifier of the user, changing the rights
ActorUserID int64
// Point in time (Unix timestamp) when the user rights were changed
Date int32
// If user has joined the chat using an invite link, the invite link; may be null
InviteLink ChatInviteLink
// True, if the user has joined the chat after sending a join request and being approved
// by an administrator
ViaJoinRequest bool
// True, if the user has joined the chat using an invite link for a chat folder
ViaChatFolderInviteLink bool
// Previous chat member
OldChatMember ChatMember
// New chat member
NewChatMember ChatMember
}
// UpdateChatMemberTypeID is TL type id of UpdateChatMember.
const UpdateChatMemberTypeID = 0x98865bc7
// construct implements constructor of UpdateClass.
func (u UpdateChatMember) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatMember.
var (
_ bin.Encoder = &UpdateChatMember{}
_ bin.Decoder = &UpdateChatMember{}
_ bin.BareEncoder = &UpdateChatMember{}
_ bin.BareDecoder = &UpdateChatMember{}
_ UpdateClass = &UpdateChatMember{}
)
func (u *UpdateChatMember) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.ActorUserID == 0) {
return false
}
if !(u.Date == 0) {
return false
}
if !(u.InviteLink.Zero()) {
return false
}
if !(u.ViaJoinRequest == false) {
return false
}
if !(u.ViaChatFolderInviteLink == false) {
return false
}
if !(u.OldChatMember.Zero()) {
return false
}
if !(u.NewChatMember.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatMember) String() string {
if u == nil {
return "UpdateChatMember(nil)"
}
type Alias UpdateChatMember
return fmt.Sprintf("UpdateChatMember%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatMember) TypeID() uint32 {
return UpdateChatMemberTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatMember) TypeName() string {
return "updateChatMember"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatMember) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatMember",
ID: UpdateChatMemberTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "ActorUserID",
SchemaName: "actor_user_id",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "InviteLink",
SchemaName: "invite_link",
},
{
Name: "ViaJoinRequest",
SchemaName: "via_join_request",
},
{
Name: "ViaChatFolderInviteLink",
SchemaName: "via_chat_folder_invite_link",
},
{
Name: "OldChatMember",
SchemaName: "old_chat_member",
},
{
Name: "NewChatMember",
SchemaName: "new_chat_member",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatMember) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatMember#98865bc7 as nil")
}
b.PutID(UpdateChatMemberTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatMember) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatMember#98865bc7 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.ActorUserID)
b.PutInt32(u.Date)
if err := u.InviteLink.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatMember#98865bc7: field invite_link: %w", err)
}
b.PutBool(u.ViaJoinRequest)
b.PutBool(u.ViaChatFolderInviteLink)
if err := u.OldChatMember.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatMember#98865bc7: field old_chat_member: %w", err)
}
if err := u.NewChatMember.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatMember#98865bc7: field new_chat_member: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatMember) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatMember#98865bc7 to nil")
}
if err := b.ConsumeID(UpdateChatMemberTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatMember) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatMember#98865bc7 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field actor_user_id: %w", err)
}
u.ActorUserID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field date: %w", err)
}
u.Date = value
}
{
if err := u.InviteLink.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field invite_link: %w", err)
}
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field via_join_request: %w", err)
}
u.ViaJoinRequest = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field via_chat_folder_invite_link: %w", err)
}
u.ViaChatFolderInviteLink = value
}
{
if err := u.OldChatMember.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field old_chat_member: %w", err)
}
}
{
if err := u.NewChatMember.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field new_chat_member: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatMember) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatMember#98865bc7 as nil")
}
b.ObjStart()
b.PutID("updateChatMember")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("actor_user_id")
b.PutInt53(u.ActorUserID)
b.Comma()
b.FieldStart("date")
b.PutInt32(u.Date)
b.Comma()
b.FieldStart("invite_link")
if err := u.InviteLink.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatMember#98865bc7: field invite_link: %w", err)
}
b.Comma()
b.FieldStart("via_join_request")
b.PutBool(u.ViaJoinRequest)
b.Comma()
b.FieldStart("via_chat_folder_invite_link")
b.PutBool(u.ViaChatFolderInviteLink)
b.Comma()
b.FieldStart("old_chat_member")
if err := u.OldChatMember.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatMember#98865bc7: field old_chat_member: %w", err)
}
b.Comma()
b.FieldStart("new_chat_member")
if err := u.NewChatMember.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatMember#98865bc7: field new_chat_member: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatMember) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatMember#98865bc7 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatMember"); err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field chat_id: %w", err)
}
u.ChatID = value
case "actor_user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field actor_user_id: %w", err)
}
u.ActorUserID = value
case "date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field date: %w", err)
}
u.Date = value
case "invite_link":
if err := u.InviteLink.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field invite_link: %w", err)
}
case "via_join_request":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field via_join_request: %w", err)
}
u.ViaJoinRequest = value
case "via_chat_folder_invite_link":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field via_chat_folder_invite_link: %w", err)
}
u.ViaChatFolderInviteLink = value
case "old_chat_member":
if err := u.OldChatMember.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field old_chat_member: %w", err)
}
case "new_chat_member":
if err := u.NewChatMember.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatMember#98865bc7: field new_chat_member: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatMember) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetActorUserID returns value of ActorUserID field.
func (u *UpdateChatMember) GetActorUserID() (value int64) {
if u == nil {
return
}
return u.ActorUserID
}
// GetDate returns value of Date field.
func (u *UpdateChatMember) GetDate() (value int32) {
if u == nil {
return
}
return u.Date
}
// GetInviteLink returns value of InviteLink field.
func (u *UpdateChatMember) GetInviteLink() (value ChatInviteLink) {
if u == nil {
return
}
return u.InviteLink
}
// GetViaJoinRequest returns value of ViaJoinRequest field.
func (u *UpdateChatMember) GetViaJoinRequest() (value bool) {
if u == nil {
return
}
return u.ViaJoinRequest
}
// GetViaChatFolderInviteLink returns value of ViaChatFolderInviteLink field.
func (u *UpdateChatMember) GetViaChatFolderInviteLink() (value bool) {
if u == nil {
return
}
return u.ViaChatFolderInviteLink
}
// GetOldChatMember returns value of OldChatMember field.
func (u *UpdateChatMember) GetOldChatMember() (value ChatMember) {
if u == nil {
return
}
return u.OldChatMember
}
// GetNewChatMember returns value of NewChatMember field.
func (u *UpdateChatMember) GetNewChatMember() (value ChatMember) {
if u == nil {
return
}
return u.NewChatMember
}
// UpdateNewChatJoinRequest represents TL type `updateNewChatJoinRequest#7e48b843`.
type UpdateNewChatJoinRequest struct {
// Chat identifier
ChatID int64
// Join request
Request ChatJoinRequest
// Chat identifier of the private chat with the user
UserChatID int64
// The invite link, which was used to send join request; may be null
InviteLink ChatInviteLink
}
// UpdateNewChatJoinRequestTypeID is TL type id of UpdateNewChatJoinRequest.
const UpdateNewChatJoinRequestTypeID = 0x7e48b843
// construct implements constructor of UpdateClass.
func (u UpdateNewChatJoinRequest) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewChatJoinRequest.
var (
_ bin.Encoder = &UpdateNewChatJoinRequest{}
_ bin.Decoder = &UpdateNewChatJoinRequest{}
_ bin.BareEncoder = &UpdateNewChatJoinRequest{}
_ bin.BareDecoder = &UpdateNewChatJoinRequest{}
_ UpdateClass = &UpdateNewChatJoinRequest{}
)
func (u *UpdateNewChatJoinRequest) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.Request.Zero()) {
return false
}
if !(u.UserChatID == 0) {
return false
}
if !(u.InviteLink.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewChatJoinRequest) String() string {
if u == nil {
return "UpdateNewChatJoinRequest(nil)"
}
type Alias UpdateNewChatJoinRequest
return fmt.Sprintf("UpdateNewChatJoinRequest%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewChatJoinRequest) TypeID() uint32 {
return UpdateNewChatJoinRequestTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewChatJoinRequest) TypeName() string {
return "updateNewChatJoinRequest"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewChatJoinRequest) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewChatJoinRequest",
ID: UpdateNewChatJoinRequestTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "Request",
SchemaName: "request",
},
{
Name: "UserChatID",
SchemaName: "user_chat_id",
},
{
Name: "InviteLink",
SchemaName: "invite_link",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewChatJoinRequest) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChatJoinRequest#7e48b843 as nil")
}
b.PutID(UpdateNewChatJoinRequestTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewChatJoinRequest) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChatJoinRequest#7e48b843 as nil")
}
b.PutInt53(u.ChatID)
if err := u.Request.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewChatJoinRequest#7e48b843: field request: %w", err)
}
b.PutInt53(u.UserChatID)
if err := u.InviteLink.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewChatJoinRequest#7e48b843: field invite_link: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewChatJoinRequest) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChatJoinRequest#7e48b843 to nil")
}
if err := b.ConsumeID(UpdateNewChatJoinRequestTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewChatJoinRequest) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChatJoinRequest#7e48b843 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.Request.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: field request: %w", err)
}
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: field user_chat_id: %w", err)
}
u.UserChatID = value
}
{
if err := u.InviteLink.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: field invite_link: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateNewChatJoinRequest) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChatJoinRequest#7e48b843 as nil")
}
b.ObjStart()
b.PutID("updateNewChatJoinRequest")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("request")
if err := u.Request.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewChatJoinRequest#7e48b843: field request: %w", err)
}
b.Comma()
b.FieldStart("user_chat_id")
b.PutInt53(u.UserChatID)
b.Comma()
b.FieldStart("invite_link")
if err := u.InviteLink.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateNewChatJoinRequest#7e48b843: field invite_link: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateNewChatJoinRequest) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChatJoinRequest#7e48b843 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateNewChatJoinRequest"); err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: field chat_id: %w", err)
}
u.ChatID = value
case "request":
if err := u.Request.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: field request: %w", err)
}
case "user_chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: field user_chat_id: %w", err)
}
u.UserChatID = value
case "invite_link":
if err := u.InviteLink.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateNewChatJoinRequest#7e48b843: field invite_link: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateNewChatJoinRequest) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetRequest returns value of Request field.
func (u *UpdateNewChatJoinRequest) GetRequest() (value ChatJoinRequest) {
if u == nil {
return
}
return u.Request
}
// GetUserChatID returns value of UserChatID field.
func (u *UpdateNewChatJoinRequest) GetUserChatID() (value int64) {
if u == nil {
return
}
return u.UserChatID
}
// GetInviteLink returns value of InviteLink field.
func (u *UpdateNewChatJoinRequest) GetInviteLink() (value ChatInviteLink) {
if u == nil {
return
}
return u.InviteLink
}
// UpdateChatBoost represents TL type `updateChatBoost#50727e24`.
type UpdateChatBoost struct {
// Chat identifier
ChatID int64
// New information about the boost
Boost ChatBoost
}
// UpdateChatBoostTypeID is TL type id of UpdateChatBoost.
const UpdateChatBoostTypeID = 0x50727e24
// construct implements constructor of UpdateClass.
func (u UpdateChatBoost) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatBoost.
var (
_ bin.Encoder = &UpdateChatBoost{}
_ bin.Decoder = &UpdateChatBoost{}
_ bin.BareEncoder = &UpdateChatBoost{}
_ bin.BareDecoder = &UpdateChatBoost{}
_ UpdateClass = &UpdateChatBoost{}
)
func (u *UpdateChatBoost) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.Boost.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatBoost) String() string {
if u == nil {
return "UpdateChatBoost(nil)"
}
type Alias UpdateChatBoost
return fmt.Sprintf("UpdateChatBoost%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatBoost) TypeID() uint32 {
return UpdateChatBoostTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatBoost) TypeName() string {
return "updateChatBoost"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatBoost) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatBoost",
ID: UpdateChatBoostTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "Boost",
SchemaName: "boost",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatBoost) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBoost#50727e24 as nil")
}
b.PutID(UpdateChatBoostTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatBoost) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBoost#50727e24 as nil")
}
b.PutInt53(u.ChatID)
if err := u.Boost.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatBoost#50727e24: field boost: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatBoost) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBoost#50727e24 to nil")
}
if err := b.ConsumeID(UpdateChatBoostTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatBoost#50727e24: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatBoost) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBoost#50727e24 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatBoost#50727e24: field chat_id: %w", err)
}
u.ChatID = value
}
{
if err := u.Boost.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatBoost#50727e24: field boost: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateChatBoost) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateChatBoost#50727e24 as nil")
}
b.ObjStart()
b.PutID("updateChatBoost")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("boost")
if err := u.Boost.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateChatBoost#50727e24: field boost: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdateChatBoost) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateChatBoost#50727e24 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateChatBoost"); err != nil {
return fmt.Errorf("unable to decode updateChatBoost#50727e24: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateChatBoost#50727e24: field chat_id: %w", err)
}
u.ChatID = value
case "boost":
if err := u.Boost.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateChatBoost#50727e24: field boost: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatBoost) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetBoost returns value of Boost field.
func (u *UpdateChatBoost) GetBoost() (value ChatBoost) {
if u == nil {
return
}
return u.Boost
}
// UpdateMessageReaction represents TL type `updateMessageReaction#f46c854a`.
type UpdateMessageReaction struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
// Identifier of the user or chat that changed reactions
ActorID MessageSenderClass
// Point in time (Unix timestamp) when the reactions were changed
Date int32
// Old list of chosen reactions
OldReactionTypes []ReactionTypeClass
// New list of chosen reactions
NewReactionTypes []ReactionTypeClass
}
// UpdateMessageReactionTypeID is TL type id of UpdateMessageReaction.
const UpdateMessageReactionTypeID = 0xf46c854a
// construct implements constructor of UpdateClass.
func (u UpdateMessageReaction) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageReaction.
var (
_ bin.Encoder = &UpdateMessageReaction{}
_ bin.Decoder = &UpdateMessageReaction{}
_ bin.BareEncoder = &UpdateMessageReaction{}
_ bin.BareDecoder = &UpdateMessageReaction{}
_ UpdateClass = &UpdateMessageReaction{}
)
func (u *UpdateMessageReaction) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.ActorID == nil) {
return false
}
if !(u.Date == 0) {
return false
}
if !(u.OldReactionTypes == nil) {
return false
}
if !(u.NewReactionTypes == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageReaction) String() string {
if u == nil {
return "UpdateMessageReaction(nil)"
}
type Alias UpdateMessageReaction
return fmt.Sprintf("UpdateMessageReaction%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageReaction) TypeID() uint32 {
return UpdateMessageReactionTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageReaction) TypeName() string {
return "updateMessageReaction"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageReaction) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageReaction",
ID: UpdateMessageReactionTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "ActorID",
SchemaName: "actor_id",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "OldReactionTypes",
SchemaName: "old_reaction_types",
},
{
Name: "NewReactionTypes",
SchemaName: "new_reaction_types",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageReaction) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageReaction#f46c854a as nil")
}
b.PutID(UpdateMessageReactionTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageReaction) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageReaction#f46c854a as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
if u.ActorID == nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field actor_id is nil")
}
if err := u.ActorID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field actor_id: %w", err)
}
b.PutInt32(u.Date)
b.PutInt(len(u.OldReactionTypes))
for idx, v := range u.OldReactionTypes {
if v == nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field old_reaction_types element with index %d is nil", idx)
}
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateMessageReaction#f46c854a: field old_reaction_types element with index %d: %w", idx, err)
}
}
b.PutInt(len(u.NewReactionTypes))
for idx, v := range u.NewReactionTypes {
if v == nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field new_reaction_types element with index %d is nil", idx)
}
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateMessageReaction#f46c854a: field new_reaction_types element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageReaction) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageReaction#f46c854a to nil")
}
if err := b.ConsumeID(UpdateMessageReactionTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageReaction) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageReaction#f46c854a to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field message_id: %w", err)
}
u.MessageID = value
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field actor_id: %w", err)
}
u.ActorID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field date: %w", err)
}
u.Date = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field old_reaction_types: %w", err)
}
if headerLen > 0 {
u.OldReactionTypes = make([]ReactionTypeClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodeReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field old_reaction_types: %w", err)
}
u.OldReactionTypes = append(u.OldReactionTypes, value)
}
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field new_reaction_types: %w", err)
}
if headerLen > 0 {
u.NewReactionTypes = make([]ReactionTypeClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodeReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field new_reaction_types: %w", err)
}
u.NewReactionTypes = append(u.NewReactionTypes, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageReaction) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageReaction#f46c854a as nil")
}
b.ObjStart()
b.PutID("updateMessageReaction")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("actor_id")
if u.ActorID == nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field actor_id is nil")
}
if err := u.ActorID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field actor_id: %w", err)
}
b.Comma()
b.FieldStart("date")
b.PutInt32(u.Date)
b.Comma()
b.FieldStart("old_reaction_types")
b.ArrStart()
for idx, v := range u.OldReactionTypes {
if v == nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field old_reaction_types element with index %d is nil", idx)
}
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field old_reaction_types element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("new_reaction_types")
b.ArrStart()
for idx, v := range u.NewReactionTypes {
if v == nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field new_reaction_types element with index %d is nil", idx)
}
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageReaction#f46c854a: field new_reaction_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 (u *UpdateMessageReaction) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageReaction#f46c854a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageReaction"); err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field message_id: %w", err)
}
u.MessageID = value
case "actor_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field actor_id: %w", err)
}
u.ActorID = value
case "date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field date: %w", err)
}
u.Date = value
case "old_reaction_types":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := DecodeTDLibJSONReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field old_reaction_types: %w", err)
}
u.OldReactionTypes = append(u.OldReactionTypes, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field old_reaction_types: %w", err)
}
case "new_reaction_types":
if err := b.Arr(func(b tdjson.Decoder) error {
value, err := DecodeTDLibJSONReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field new_reaction_types: %w", err)
}
u.NewReactionTypes = append(u.NewReactionTypes, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateMessageReaction#f46c854a: field new_reaction_types: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageReaction) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageReaction) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetActorID returns value of ActorID field.
func (u *UpdateMessageReaction) GetActorID() (value MessageSenderClass) {
if u == nil {
return
}
return u.ActorID
}
// GetDate returns value of Date field.
func (u *UpdateMessageReaction) GetDate() (value int32) {
if u == nil {
return
}
return u.Date
}
// GetOldReactionTypes returns value of OldReactionTypes field.
func (u *UpdateMessageReaction) GetOldReactionTypes() (value []ReactionTypeClass) {
if u == nil {
return
}
return u.OldReactionTypes
}
// GetNewReactionTypes returns value of NewReactionTypes field.
func (u *UpdateMessageReaction) GetNewReactionTypes() (value []ReactionTypeClass) {
if u == nil {
return
}
return u.NewReactionTypes
}
// UpdateMessageReactions represents TL type `updateMessageReactions#bd5618e9`.
type UpdateMessageReactions struct {
// Chat identifier
ChatID int64
// Message identifier
MessageID int64
// Point in time (Unix timestamp) when the reactions were changed
Date int32
// The list of reactions added to the message
Reactions []MessageReaction
}
// UpdateMessageReactionsTypeID is TL type id of UpdateMessageReactions.
const UpdateMessageReactionsTypeID = 0xbd5618e9
// construct implements constructor of UpdateClass.
func (u UpdateMessageReactions) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageReactions.
var (
_ bin.Encoder = &UpdateMessageReactions{}
_ bin.Decoder = &UpdateMessageReactions{}
_ bin.BareEncoder = &UpdateMessageReactions{}
_ bin.BareDecoder = &UpdateMessageReactions{}
_ UpdateClass = &UpdateMessageReactions{}
)
func (u *UpdateMessageReactions) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MessageID == 0) {
return false
}
if !(u.Date == 0) {
return false
}
if !(u.Reactions == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageReactions) String() string {
if u == nil {
return "UpdateMessageReactions(nil)"
}
type Alias UpdateMessageReactions
return fmt.Sprintf("UpdateMessageReactions%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageReactions) TypeID() uint32 {
return UpdateMessageReactionsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageReactions) TypeName() string {
return "updateMessageReactions"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageReactions) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageReactions",
ID: UpdateMessageReactionsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MessageID",
SchemaName: "message_id",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "Reactions",
SchemaName: "reactions",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageReactions) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageReactions#bd5618e9 as nil")
}
b.PutID(UpdateMessageReactionsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageReactions) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageReactions#bd5618e9 as nil")
}
b.PutInt53(u.ChatID)
b.PutInt53(u.MessageID)
b.PutInt32(u.Date)
b.PutInt(len(u.Reactions))
for idx, v := range u.Reactions {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare updateMessageReactions#bd5618e9: field reactions element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageReactions) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageReactions#bd5618e9 to nil")
}
if err := b.ConsumeID(UpdateMessageReactionsTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageReactions) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageReactions#bd5618e9 to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: field message_id: %w", err)
}
u.MessageID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: field date: %w", err)
}
u.Date = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: field reactions: %w", err)
}
if headerLen > 0 {
u.Reactions = make([]MessageReaction, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value MessageReaction
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare updateMessageReactions#bd5618e9: field reactions: %w", err)
}
u.Reactions = append(u.Reactions, value)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdateMessageReactions) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageReactions#bd5618e9 as nil")
}
b.ObjStart()
b.PutID("updateMessageReactions")
b.Comma()
b.FieldStart("chat_id")
b.PutInt53(u.ChatID)
b.Comma()
b.FieldStart("message_id")
b.PutInt53(u.MessageID)
b.Comma()
b.FieldStart("date")
b.PutInt32(u.Date)
b.Comma()
b.FieldStart("reactions")
b.ArrStart()
for idx, v := range u.Reactions {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode updateMessageReactions#bd5618e9: field reactions 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 (u *UpdateMessageReactions) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageReactions#bd5618e9 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updateMessageReactions"); err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: %w", err)
}
case "chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: field chat_id: %w", err)
}
u.ChatID = value
case "message_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: field message_id: %w", err)
}
u.MessageID = value
case "date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: field date: %w", err)
}
u.Date = value
case "reactions":
if err := b.Arr(func(b tdjson.Decoder) error {
var value MessageReaction
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: field reactions: %w", err)
}
u.Reactions = append(u.Reactions, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#bd5618e9: field reactions: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetChatID returns value of ChatID field.
func (u *UpdateMessageReactions) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetMessageID returns value of MessageID field.
func (u *UpdateMessageReactions) GetMessageID() (value int64) {
if u == nil {
return
}
return u.MessageID
}
// GetDate returns value of Date field.
func (u *UpdateMessageReactions) GetDate() (value int32) {
if u == nil {
return
}
return u.Date
}
// GetReactions returns value of Reactions field.
func (u *UpdateMessageReactions) GetReactions() (value []MessageReaction) {
if u == nil {
return
}
return u.Reactions
}
// UpdatePaidMediaPurchased represents TL type `updatePaidMediaPurchased#a410e65b`.
type UpdatePaidMediaPurchased struct {
// User identifier
UserID int64
// Bot-specified payload for the paid media
Payload string
}
// UpdatePaidMediaPurchasedTypeID is TL type id of UpdatePaidMediaPurchased.
const UpdatePaidMediaPurchasedTypeID = 0xa410e65b
// construct implements constructor of UpdateClass.
func (u UpdatePaidMediaPurchased) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePaidMediaPurchased.
var (
_ bin.Encoder = &UpdatePaidMediaPurchased{}
_ bin.Decoder = &UpdatePaidMediaPurchased{}
_ bin.BareEncoder = &UpdatePaidMediaPurchased{}
_ bin.BareDecoder = &UpdatePaidMediaPurchased{}
_ UpdateClass = &UpdatePaidMediaPurchased{}
)
func (u *UpdatePaidMediaPurchased) Zero() bool {
if u == nil {
return true
}
if !(u.UserID == 0) {
return false
}
if !(u.Payload == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePaidMediaPurchased) String() string {
if u == nil {
return "UpdatePaidMediaPurchased(nil)"
}
type Alias UpdatePaidMediaPurchased
return fmt.Sprintf("UpdatePaidMediaPurchased%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePaidMediaPurchased) TypeID() uint32 {
return UpdatePaidMediaPurchasedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePaidMediaPurchased) TypeName() string {
return "updatePaidMediaPurchased"
}
// TypeInfo returns info about TL type.
func (u *UpdatePaidMediaPurchased) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePaidMediaPurchased",
ID: UpdatePaidMediaPurchasedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Payload",
SchemaName: "payload",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePaidMediaPurchased) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePaidMediaPurchased#a410e65b as nil")
}
b.PutID(UpdatePaidMediaPurchasedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePaidMediaPurchased) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePaidMediaPurchased#a410e65b as nil")
}
b.PutInt53(u.UserID)
b.PutString(u.Payload)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePaidMediaPurchased) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePaidMediaPurchased#a410e65b to nil")
}
if err := b.ConsumeID(UpdatePaidMediaPurchasedTypeID); err != nil {
return fmt.Errorf("unable to decode updatePaidMediaPurchased#a410e65b: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePaidMediaPurchased) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePaidMediaPurchased#a410e65b to nil")
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updatePaidMediaPurchased#a410e65b: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updatePaidMediaPurchased#a410e65b: field payload: %w", err)
}
u.Payload = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (u *UpdatePaidMediaPurchased) EncodeTDLibJSON(b tdjson.Encoder) error {
if u == nil {
return fmt.Errorf("can't encode updatePaidMediaPurchased#a410e65b as nil")
}
b.ObjStart()
b.PutID("updatePaidMediaPurchased")
b.Comma()
b.FieldStart("user_id")
b.PutInt53(u.UserID)
b.Comma()
b.FieldStart("payload")
b.PutString(u.Payload)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (u *UpdatePaidMediaPurchased) DecodeTDLibJSON(b tdjson.Decoder) error {
if u == nil {
return fmt.Errorf("can't decode updatePaidMediaPurchased#a410e65b to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("updatePaidMediaPurchased"); err != nil {
return fmt.Errorf("unable to decode updatePaidMediaPurchased#a410e65b: %w", err)
}
case "user_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode updatePaidMediaPurchased#a410e65b: field user_id: %w", err)
}
u.UserID = value
case "payload":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updatePaidMediaPurchased#a410e65b: field payload: %w", err)
}
u.Payload = value
default:
return b.Skip()
}
return nil
})
}
// GetUserID returns value of UserID field.
func (u *UpdatePaidMediaPurchased) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetPayload returns value of Payload field.
func (u *UpdatePaidMediaPurchased) GetPayload() (value string) {
if u == nil {
return
}
return u.Payload
}
// UpdateClassName is schema name of UpdateClass.
const UpdateClassName = "Update"
// UpdateClass represents Update generic type.
//
// Example:
//
// g, err := tdapi.DecodeUpdate(buf)
// if err != nil {
// panic(err)
// }
// switch v := g.(type) {
// case *tdapi.UpdateAuthorizationState: // updateAuthorizationState#60b30ee2
// case *tdapi.UpdateNewMessage: // updateNewMessage#de6fb20e
// case *tdapi.UpdateMessageSendAcknowledged: // updateMessageSendAcknowledged#4da7d239
// case *tdapi.UpdateMessageSendSucceeded: // updateMessageSendSucceeded#6c399d7d
// case *tdapi.UpdateMessageSendFailed: // updateMessageSendFailed#da1bf8e7
// case *tdapi.UpdateMessageContent: // updateMessageContent#1e36bb24
// case *tdapi.UpdateMessageEdited: // updateMessageEdited#dea602e6
// case *tdapi.UpdateMessageIsPinned: // updateMessageIsPinned#41bc233d
// case *tdapi.UpdateMessageInteractionInfo: // updateMessageInteractionInfo#ab803bfe
// case *tdapi.UpdateMessageContentOpened: // updateMessageContentOpened#a55ea885
// case *tdapi.UpdateMessageMentionRead: // updateMessageMentionRead#f0f74d46
// case *tdapi.UpdateMessageUnreadReactions: // updateMessageUnreadReactions#12a7220a
// case *tdapi.UpdateMessageFactCheck: // updateMessageFactCheck#3c78fb02
// case *tdapi.UpdateMessageLiveLocationViewed: // updateMessageLiveLocationViewed#b2058595
// case *tdapi.UpdateVideoPublished: // updateVideoPublished#eafc2052
// case *tdapi.UpdateNewChat: // updateNewChat#7bb98ccd
// case *tdapi.UpdateChatTitle: // updateChatTitle#f58b85a4
// case *tdapi.UpdateChatPhoto: // updateChatPhoto#eca5423f
// case *tdapi.UpdateChatAccentColors: // updateChatAccentColors#b7b8f8f9
// case *tdapi.UpdateChatPermissions: // updateChatPermissions#9f52176d
// case *tdapi.UpdateChatLastMessage: // updateChatLastMessage#f10cab1d
// case *tdapi.UpdateChatPosition: // updateChatPosition#ff76fa77
// case *tdapi.UpdateChatAddedToList: // updateChatAddedToList#ab7004ec
// case *tdapi.UpdateChatRemovedFromList: // updateChatRemovedFromList#4d2ac21c
// case *tdapi.UpdateChatReadInbox: // updateChatReadInbox#d07036e7
// case *tdapi.UpdateChatReadOutbox: // updateChatReadOutbox#2a385285
// case *tdapi.UpdateChatActionBar: // updateChatActionBar#d9a258c2
// case *tdapi.UpdateChatBusinessBotManageBar: // updateChatBusinessBotManageBar#be30e7f7
// case *tdapi.UpdateChatAvailableReactions: // updateChatAvailableReactions#8ab413f9
// case *tdapi.UpdateChatDraftMessage: // updateChatDraftMessage#2bf257d4
// case *tdapi.UpdateChatEmojiStatus: // updateChatEmojiStatus#77796510
// case *tdapi.UpdateChatMessageSender: // updateChatMessageSender#77705241
// case *tdapi.UpdateChatMessageAutoDeleteTime: // updateChatMessageAutoDeleteTime#71425de5
// case *tdapi.UpdateChatNotificationSettings: // updateChatNotificationSettings#d020b456
// case *tdapi.UpdateChatPendingJoinRequests: // updateChatPendingJoinRequests#14c6e3e1
// case *tdapi.UpdateChatReplyMarkup: // updateChatReplyMarkup#4e0ba5a0
// case *tdapi.UpdateChatBackground: // updateChatBackground#ff9d38b3
// case *tdapi.UpdateChatTheme: // updateChatTheme#31f3d465
// case *tdapi.UpdateChatUnreadMentionCount: // updateChatUnreadMentionCount#80f47b1c
// case *tdapi.UpdateChatUnreadReactionCount: // updateChatUnreadReactionCount#81603cdd
// case *tdapi.UpdateChatVideoChat: // updateChatVideoChat#25fb4ca6
// case *tdapi.UpdateChatDefaultDisableNotification: // updateChatDefaultDisableNotification#1ba96a9b
// case *tdapi.UpdateChatHasProtectedContent: // updateChatHasProtectedContent#6b50071b
// case *tdapi.UpdateChatIsTranslatable: // updateChatIsTranslatable#7b031617
// case *tdapi.UpdateChatIsMarkedAsUnread: // updateChatIsMarkedAsUnread#57853334
// case *tdapi.UpdateChatViewAsTopics: // updateChatViewAsTopics#5bff163d
// case *tdapi.UpdateChatBlockList: // updateChatBlockList#872af48e
// case *tdapi.UpdateChatHasScheduledMessages: // updateChatHasScheduledMessages#7b14c2d7
// case *tdapi.UpdateChatFolders: // updateChatFolders#e110242a
// case *tdapi.UpdateChatOnlineMemberCount: // updateChatOnlineMemberCount#1d0caa9d
// case *tdapi.UpdateSavedMessagesTopic: // updateSavedMessagesTopic#9f823b30
// case *tdapi.UpdateSavedMessagesTopicCount: // updateSavedMessagesTopicCount#fbd279d1
// case *tdapi.UpdateDirectMessagesChatTopic: // updateDirectMessagesChatTopic#d744f3ed
// case *tdapi.UpdateTopicMessageCount: // updateTopicMessageCount#a1233f99
// case *tdapi.UpdateQuickReplyShortcut: // updateQuickReplyShortcut#c69338cf
// case *tdapi.UpdateQuickReplyShortcutDeleted: // updateQuickReplyShortcutDeleted#e8b9bc3a
// case *tdapi.UpdateQuickReplyShortcuts: // updateQuickReplyShortcuts#77d31a6a
// case *tdapi.UpdateQuickReplyShortcutMessages: // updateQuickReplyShortcutMessages#8bb36b72
// case *tdapi.UpdateForumTopicInfo: // updateForumTopicInfo#54af1e48
// case *tdapi.UpdateForumTopic: // updateForumTopic#e029f75b
// case *tdapi.UpdateScopeNotificationSettings: // updateScopeNotificationSettings#b83ccb73
// case *tdapi.UpdateReactionNotificationSettings: // updateReactionNotificationSettings#e54d17ec
// case *tdapi.UpdateNotification: // updateNotification#8ee67ed4
// case *tdapi.UpdateNotificationGroup: // updateNotificationGroup#96cd9e06
// case *tdapi.UpdateActiveNotifications: // updateActiveNotifications#317d80f2
// case *tdapi.UpdateHavePendingNotifications: // updateHavePendingNotifications#aaee1db
// case *tdapi.UpdateDeleteMessages: // updateDeleteMessages#6a05bf9
// case *tdapi.UpdateChatAction: // updateChatAction#9abfd628
// case *tdapi.UpdateUserStatus: // updateUserStatus#39211211
// case *tdapi.UpdateUser: // updateUser#468928f9
// case *tdapi.UpdateBasicGroup: // updateBasicGroup#c433c763
// case *tdapi.UpdateSupergroup: // updateSupergroup#fb6c6524
// case *tdapi.UpdateSecretChat: // updateSecretChat#9ca5132b
// case *tdapi.UpdateUserFullInfo: // updateUserFullInfo#fcf2cb17
// case *tdapi.UpdateBasicGroupFullInfo: // updateBasicGroupFullInfo#52f66bbf
// case *tdapi.UpdateSupergroupFullInfo: // updateSupergroupFullInfo#19f5cd0e
// case *tdapi.UpdateServiceNotification: // updateServiceNotification#4e9895ad
// case *tdapi.UpdateFile: // updateFile#6cd875f
// case *tdapi.UpdateFileGenerationStart: // updateFileGenerationStart#cec5eec
// case *tdapi.UpdateFileGenerationStop: // updateFileGenerationStop#8f14fdeb
// case *tdapi.UpdateFileDownloads: // updateFileDownloads#e8cd12c7
// case *tdapi.UpdateFileAddedToDownloads: // updateFileAddedToDownloads#5ff5921a
// case *tdapi.UpdateFileDownload: // updateFileDownload#342f83ca
// case *tdapi.UpdateFileRemovedFromDownloads: // updateFileRemovedFromDownloads#6e7c14e8
// case *tdapi.UpdateApplicationVerificationRequired: // updateApplicationVerificationRequired#c59c61d7
// case *tdapi.UpdateApplicationRecaptchaVerificationRequired: // updateApplicationRecaptchaVerificationRequired#94edd9be
// case *tdapi.UpdateCall: // updateCall#4fb3d0dd
// case *tdapi.UpdateGroupCall: // updateGroupCall#30324e00
// case *tdapi.UpdateGroupCallParticipant: // updateGroupCallParticipant#d0213cf9
// case *tdapi.UpdateGroupCallParticipants: // updateGroupCallParticipants#3f7879cd
// case *tdapi.UpdateGroupCallVerificationState: // updateGroupCallVerificationState#9de763b2
// case *tdapi.UpdateNewCallSignalingData: // updateNewCallSignalingData#22c98d8d
// case *tdapi.UpdateUserPrivacySettingRules: // updateUserPrivacySettingRules#c99552f6
// case *tdapi.UpdateUnreadMessageCount: // updateUnreadMessageCount#4b541c9
// case *tdapi.UpdateUnreadChatCount: // updateUnreadChatCount#76e19242
// case *tdapi.UpdateStory: // updateStory#1906572f
// case *tdapi.UpdateStoryDeleted: // updateStoryDeleted#dd440b82
// case *tdapi.UpdateStoryPostSucceeded: // updateStoryPostSucceeded#99ee5b42
// case *tdapi.UpdateStoryPostFailed: // updateStoryPostFailed#4a6589fc
// case *tdapi.UpdateChatActiveStories: // updateChatActiveStories#79786c2c
// case *tdapi.UpdateStoryListChatCount: // updateStoryListChatCount#8833cd3f
// case *tdapi.UpdateStoryStealthMode: // updateStoryStealthMode#6ff7bd1a
// case *tdapi.UpdateOption: // updateOption#35b17404
// case *tdapi.UpdateStickerSet: // updateStickerSet#70035dcc
// case *tdapi.UpdateInstalledStickerSets: // updateInstalledStickerSets#82cd5388
// case *tdapi.UpdateTrendingStickerSets: // updateTrendingStickerSets#4b7a50a7
// case *tdapi.UpdateRecentStickers: // updateRecentStickers#aefdf8dc
// case *tdapi.UpdateFavoriteStickers: // updateFavoriteStickers#113f2b6a
// case *tdapi.UpdateSavedAnimations: // updateSavedAnimations#1084a1c8
// case *tdapi.UpdateSavedNotificationSounds: // updateSavedNotificationSounds#5a6653b4
// case *tdapi.UpdateDefaultBackground: // updateDefaultBackground#d550952f
// case *tdapi.UpdateChatThemes: // updateChatThemes#98dc58d5
// case *tdapi.UpdateAccentColors: // updateAccentColors#1316555e
// case *tdapi.UpdateProfileAccentColors: // updateProfileAccentColors#bf8e7430
// case *tdapi.UpdateLanguagePackStrings: // updateLanguagePackStrings#af87919f
// case *tdapi.UpdateConnectionState: // updateConnectionState#57939e2e
// case *tdapi.UpdateFreezeState: // updateFreezeState#64e022ac
// case *tdapi.UpdateTermsOfService: // updateTermsOfService#b23cc55e
// case *tdapi.UpdateUnconfirmedSession: // updateUnconfirmedSession#fea6088c
// case *tdapi.UpdateAttachmentMenuBots: // updateAttachmentMenuBots#b6b910c
// case *tdapi.UpdateWebAppMessageSent: // updateWebAppMessageSent#58431229
// case *tdapi.UpdateActiveEmojiReactions: // updateActiveEmojiReactions#691ffcb7
// case *tdapi.UpdateAvailableMessageEffects: // updateAvailableMessageEffects#a1cb72b9
// case *tdapi.UpdateDefaultReactionType: // updateDefaultReactionType#4b615105
// case *tdapi.UpdateDefaultPaidReactionType: // updateDefaultPaidReactionType#246dd47
// case *tdapi.UpdateSavedMessagesTags: // updateSavedMessagesTags#7386424a
// case *tdapi.UpdateActiveLiveLocationMessages: // updateActiveLiveLocationMessages#a20b9b1f
// case *tdapi.UpdateOwnedStarCount: // updateOwnedStarCount#af7ebf88
// case *tdapi.UpdateChatRevenueAmount: // updateChatRevenueAmount#c6c9bcc4
// case *tdapi.UpdateStarRevenueStatus: // updateStarRevenueStatus#ef4bfccb
// case *tdapi.UpdateSpeechRecognitionTrial: // updateSpeechRecognitionTrial#ff4efcc1
// case *tdapi.UpdateDiceEmojis: // updateDiceEmojis#9d0f91df
// case *tdapi.UpdateAnimatedEmojiMessageClicked: // updateAnimatedEmojiMessageClicked#a3167405
// case *tdapi.UpdateAnimationSearchParameters: // updateAnimationSearchParameters#6016ef01
// case *tdapi.UpdateSuggestedActions: // updateSuggestedActions#c2e5cccb
// case *tdapi.UpdateSpeedLimitNotification: // updateSpeedLimitNotification#c683d868
// case *tdapi.UpdateContactCloseBirthdays: // updateContactCloseBirthdays#c88b98ce
// case *tdapi.UpdateAutosaveSettings: // updateAutosaveSettings#da274f0b
// case *tdapi.UpdateBusinessConnection: // updateBusinessConnection#8632f476
// case *tdapi.UpdateNewBusinessMessage: // updateNewBusinessMessage#86be4644
// case *tdapi.UpdateBusinessMessageEdited: // updateBusinessMessageEdited#81a66d89
// case *tdapi.UpdateBusinessMessagesDeleted: // updateBusinessMessagesDeleted#e036d3ed
// case *tdapi.UpdateNewInlineQuery: // updateNewInlineQuery#7171bf34
// case *tdapi.UpdateNewChosenInlineResult: // updateNewChosenInlineResult#cb4c4f5d
// case *tdapi.UpdateNewCallbackQuery: // updateNewCallbackQuery#8964d05e
// case *tdapi.UpdateNewInlineCallbackQuery: // updateNewInlineCallbackQuery#ecf934ba
// case *tdapi.UpdateNewBusinessCallbackQuery: // updateNewBusinessCallbackQuery#14125364
// case *tdapi.UpdateNewShippingQuery: // updateNewShippingQuery#29584672
// case *tdapi.UpdateNewPreCheckoutQuery: // updateNewPreCheckoutQuery#2a3871c9
// case *tdapi.UpdateNewCustomEvent: // updateNewCustomEvent#76dd6a0c
// case *tdapi.UpdateNewCustomQuery: // updateNewCustomQuery#d702f9a6
// case *tdapi.UpdatePoll: // updatePoll#966b73ca
// case *tdapi.UpdatePollAnswer: // updatePollAnswer#b67ac547
// case *tdapi.UpdateChatMember: // updateChatMember#98865bc7
// case *tdapi.UpdateNewChatJoinRequest: // updateNewChatJoinRequest#7e48b843
// case *tdapi.UpdateChatBoost: // updateChatBoost#50727e24
// case *tdapi.UpdateMessageReaction: // updateMessageReaction#f46c854a
// case *tdapi.UpdateMessageReactions: // updateMessageReactions#bd5618e9
// case *tdapi.UpdatePaidMediaPurchased: // updatePaidMediaPurchased#a410e65b
// default: panic(v)
// }
type UpdateClass interface {
bin.Encoder
bin.Decoder
bin.BareEncoder
bin.BareDecoder
construct() UpdateClass
// 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
}
// DecodeUpdate implements binary de-serialization for UpdateClass.
func DecodeUpdate(buf *bin.Buffer) (UpdateClass, error) {
id, err := buf.PeekID()
if err != nil {
return nil, err
}
switch id {
case UpdateAuthorizationStateTypeID:
// Decoding updateAuthorizationState#60b30ee2.
v := UpdateAuthorizationState{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewMessageTypeID:
// Decoding updateNewMessage#de6fb20e.
v := UpdateNewMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageSendAcknowledgedTypeID:
// Decoding updateMessageSendAcknowledged#4da7d239.
v := UpdateMessageSendAcknowledged{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageSendSucceededTypeID:
// Decoding updateMessageSendSucceeded#6c399d7d.
v := UpdateMessageSendSucceeded{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageSendFailedTypeID:
// Decoding updateMessageSendFailed#da1bf8e7.
v := UpdateMessageSendFailed{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageContentTypeID:
// Decoding updateMessageContent#1e36bb24.
v := UpdateMessageContent{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageEditedTypeID:
// Decoding updateMessageEdited#dea602e6.
v := UpdateMessageEdited{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageIsPinnedTypeID:
// Decoding updateMessageIsPinned#41bc233d.
v := UpdateMessageIsPinned{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageInteractionInfoTypeID:
// Decoding updateMessageInteractionInfo#ab803bfe.
v := UpdateMessageInteractionInfo{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageContentOpenedTypeID:
// Decoding updateMessageContentOpened#a55ea885.
v := UpdateMessageContentOpened{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageMentionReadTypeID:
// Decoding updateMessageMentionRead#f0f74d46.
v := UpdateMessageMentionRead{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageUnreadReactionsTypeID:
// Decoding updateMessageUnreadReactions#12a7220a.
v := UpdateMessageUnreadReactions{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageFactCheckTypeID:
// Decoding updateMessageFactCheck#3c78fb02.
v := UpdateMessageFactCheck{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageLiveLocationViewedTypeID:
// Decoding updateMessageLiveLocationViewed#b2058595.
v := UpdateMessageLiveLocationViewed{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateVideoPublishedTypeID:
// Decoding updateVideoPublished#eafc2052.
v := UpdateVideoPublished{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewChatTypeID:
// Decoding updateNewChat#7bb98ccd.
v := UpdateNewChat{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatTitleTypeID:
// Decoding updateChatTitle#f58b85a4.
v := UpdateChatTitle{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatPhotoTypeID:
// Decoding updateChatPhoto#eca5423f.
v := UpdateChatPhoto{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatAccentColorsTypeID:
// Decoding updateChatAccentColors#b7b8f8f9.
v := UpdateChatAccentColors{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatPermissionsTypeID:
// Decoding updateChatPermissions#9f52176d.
v := UpdateChatPermissions{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatLastMessageTypeID:
// Decoding updateChatLastMessage#f10cab1d.
v := UpdateChatLastMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatPositionTypeID:
// Decoding updateChatPosition#ff76fa77.
v := UpdateChatPosition{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatAddedToListTypeID:
// Decoding updateChatAddedToList#ab7004ec.
v := UpdateChatAddedToList{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatRemovedFromListTypeID:
// Decoding updateChatRemovedFromList#4d2ac21c.
v := UpdateChatRemovedFromList{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatReadInboxTypeID:
// Decoding updateChatReadInbox#d07036e7.
v := UpdateChatReadInbox{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatReadOutboxTypeID:
// Decoding updateChatReadOutbox#2a385285.
v := UpdateChatReadOutbox{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatActionBarTypeID:
// Decoding updateChatActionBar#d9a258c2.
v := UpdateChatActionBar{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatBusinessBotManageBarTypeID:
// Decoding updateChatBusinessBotManageBar#be30e7f7.
v := UpdateChatBusinessBotManageBar{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatAvailableReactionsTypeID:
// Decoding updateChatAvailableReactions#8ab413f9.
v := UpdateChatAvailableReactions{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatDraftMessageTypeID:
// Decoding updateChatDraftMessage#2bf257d4.
v := UpdateChatDraftMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatEmojiStatusTypeID:
// Decoding updateChatEmojiStatus#77796510.
v := UpdateChatEmojiStatus{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatMessageSenderTypeID:
// Decoding updateChatMessageSender#77705241.
v := UpdateChatMessageSender{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatMessageAutoDeleteTimeTypeID:
// Decoding updateChatMessageAutoDeleteTime#71425de5.
v := UpdateChatMessageAutoDeleteTime{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatNotificationSettingsTypeID:
// Decoding updateChatNotificationSettings#d020b456.
v := UpdateChatNotificationSettings{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatPendingJoinRequestsTypeID:
// Decoding updateChatPendingJoinRequests#14c6e3e1.
v := UpdateChatPendingJoinRequests{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatReplyMarkupTypeID:
// Decoding updateChatReplyMarkup#4e0ba5a0.
v := UpdateChatReplyMarkup{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatBackgroundTypeID:
// Decoding updateChatBackground#ff9d38b3.
v := UpdateChatBackground{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatThemeTypeID:
// Decoding updateChatTheme#31f3d465.
v := UpdateChatTheme{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatUnreadMentionCountTypeID:
// Decoding updateChatUnreadMentionCount#80f47b1c.
v := UpdateChatUnreadMentionCount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatUnreadReactionCountTypeID:
// Decoding updateChatUnreadReactionCount#81603cdd.
v := UpdateChatUnreadReactionCount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatVideoChatTypeID:
// Decoding updateChatVideoChat#25fb4ca6.
v := UpdateChatVideoChat{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatDefaultDisableNotificationTypeID:
// Decoding updateChatDefaultDisableNotification#1ba96a9b.
v := UpdateChatDefaultDisableNotification{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatHasProtectedContentTypeID:
// Decoding updateChatHasProtectedContent#6b50071b.
v := UpdateChatHasProtectedContent{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatIsTranslatableTypeID:
// Decoding updateChatIsTranslatable#7b031617.
v := UpdateChatIsTranslatable{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatIsMarkedAsUnreadTypeID:
// Decoding updateChatIsMarkedAsUnread#57853334.
v := UpdateChatIsMarkedAsUnread{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatViewAsTopicsTypeID:
// Decoding updateChatViewAsTopics#5bff163d.
v := UpdateChatViewAsTopics{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatBlockListTypeID:
// Decoding updateChatBlockList#872af48e.
v := UpdateChatBlockList{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatHasScheduledMessagesTypeID:
// Decoding updateChatHasScheduledMessages#7b14c2d7.
v := UpdateChatHasScheduledMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatFoldersTypeID:
// Decoding updateChatFolders#e110242a.
v := UpdateChatFolders{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatOnlineMemberCountTypeID:
// Decoding updateChatOnlineMemberCount#1d0caa9d.
v := UpdateChatOnlineMemberCount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSavedMessagesTopicTypeID:
// Decoding updateSavedMessagesTopic#9f823b30.
v := UpdateSavedMessagesTopic{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSavedMessagesTopicCountTypeID:
// Decoding updateSavedMessagesTopicCount#fbd279d1.
v := UpdateSavedMessagesTopicCount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDirectMessagesChatTopicTypeID:
// Decoding updateDirectMessagesChatTopic#d744f3ed.
v := UpdateDirectMessagesChatTopic{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateTopicMessageCountTypeID:
// Decoding updateTopicMessageCount#a1233f99.
v := UpdateTopicMessageCount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateQuickReplyShortcutTypeID:
// Decoding updateQuickReplyShortcut#c69338cf.
v := UpdateQuickReplyShortcut{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateQuickReplyShortcutDeletedTypeID:
// Decoding updateQuickReplyShortcutDeleted#e8b9bc3a.
v := UpdateQuickReplyShortcutDeleted{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateQuickReplyShortcutsTypeID:
// Decoding updateQuickReplyShortcuts#77d31a6a.
v := UpdateQuickReplyShortcuts{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateQuickReplyShortcutMessagesTypeID:
// Decoding updateQuickReplyShortcutMessages#8bb36b72.
v := UpdateQuickReplyShortcutMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateForumTopicInfoTypeID:
// Decoding updateForumTopicInfo#54af1e48.
v := UpdateForumTopicInfo{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateForumTopicTypeID:
// Decoding updateForumTopic#e029f75b.
v := UpdateForumTopic{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateScopeNotificationSettingsTypeID:
// Decoding updateScopeNotificationSettings#b83ccb73.
v := UpdateScopeNotificationSettings{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateReactionNotificationSettingsTypeID:
// Decoding updateReactionNotificationSettings#e54d17ec.
v := UpdateReactionNotificationSettings{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNotificationTypeID:
// Decoding updateNotification#8ee67ed4.
v := UpdateNotification{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNotificationGroupTypeID:
// Decoding updateNotificationGroup#96cd9e06.
v := UpdateNotificationGroup{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateActiveNotificationsTypeID:
// Decoding updateActiveNotifications#317d80f2.
v := UpdateActiveNotifications{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateHavePendingNotificationsTypeID:
// Decoding updateHavePendingNotifications#aaee1db.
v := UpdateHavePendingNotifications{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDeleteMessagesTypeID:
// Decoding updateDeleteMessages#6a05bf9.
v := UpdateDeleteMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatActionTypeID:
// Decoding updateChatAction#9abfd628.
v := UpdateChatAction{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUserStatusTypeID:
// Decoding updateUserStatus#39211211.
v := UpdateUserStatus{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUserTypeID:
// Decoding updateUser#468928f9.
v := UpdateUser{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBasicGroupTypeID:
// Decoding updateBasicGroup#c433c763.
v := UpdateBasicGroup{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSupergroupTypeID:
// Decoding updateSupergroup#fb6c6524.
v := UpdateSupergroup{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSecretChatTypeID:
// Decoding updateSecretChat#9ca5132b.
v := UpdateSecretChat{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUserFullInfoTypeID:
// Decoding updateUserFullInfo#fcf2cb17.
v := UpdateUserFullInfo{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBasicGroupFullInfoTypeID:
// Decoding updateBasicGroupFullInfo#52f66bbf.
v := UpdateBasicGroupFullInfo{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSupergroupFullInfoTypeID:
// Decoding updateSupergroupFullInfo#19f5cd0e.
v := UpdateSupergroupFullInfo{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateServiceNotificationTypeID:
// Decoding updateServiceNotification#4e9895ad.
v := UpdateServiceNotification{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFileTypeID:
// Decoding updateFile#6cd875f.
v := UpdateFile{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFileGenerationStartTypeID:
// Decoding updateFileGenerationStart#cec5eec.
v := UpdateFileGenerationStart{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFileGenerationStopTypeID:
// Decoding updateFileGenerationStop#8f14fdeb.
v := UpdateFileGenerationStop{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFileDownloadsTypeID:
// Decoding updateFileDownloads#e8cd12c7.
v := UpdateFileDownloads{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFileAddedToDownloadsTypeID:
// Decoding updateFileAddedToDownloads#5ff5921a.
v := UpdateFileAddedToDownloads{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFileDownloadTypeID:
// Decoding updateFileDownload#342f83ca.
v := UpdateFileDownload{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFileRemovedFromDownloadsTypeID:
// Decoding updateFileRemovedFromDownloads#6e7c14e8.
v := UpdateFileRemovedFromDownloads{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateApplicationVerificationRequiredTypeID:
// Decoding updateApplicationVerificationRequired#c59c61d7.
v := UpdateApplicationVerificationRequired{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateApplicationRecaptchaVerificationRequiredTypeID:
// Decoding updateApplicationRecaptchaVerificationRequired#94edd9be.
v := UpdateApplicationRecaptchaVerificationRequired{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateCallTypeID:
// Decoding updateCall#4fb3d0dd.
v := UpdateCall{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateGroupCallTypeID:
// Decoding updateGroupCall#30324e00.
v := UpdateGroupCall{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateGroupCallParticipantTypeID:
// Decoding updateGroupCallParticipant#d0213cf9.
v := UpdateGroupCallParticipant{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateGroupCallParticipantsTypeID:
// Decoding updateGroupCallParticipants#3f7879cd.
v := UpdateGroupCallParticipants{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateGroupCallVerificationStateTypeID:
// Decoding updateGroupCallVerificationState#9de763b2.
v := UpdateGroupCallVerificationState{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewCallSignalingDataTypeID:
// Decoding updateNewCallSignalingData#22c98d8d.
v := UpdateNewCallSignalingData{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUserPrivacySettingRulesTypeID:
// Decoding updateUserPrivacySettingRules#c99552f6.
v := UpdateUserPrivacySettingRules{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUnreadMessageCountTypeID:
// Decoding updateUnreadMessageCount#4b541c9.
v := UpdateUnreadMessageCount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUnreadChatCountTypeID:
// Decoding updateUnreadChatCount#76e19242.
v := UpdateUnreadChatCount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStoryTypeID:
// Decoding updateStory#1906572f.
v := UpdateStory{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStoryDeletedTypeID:
// Decoding updateStoryDeleted#dd440b82.
v := UpdateStoryDeleted{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStoryPostSucceededTypeID:
// Decoding updateStoryPostSucceeded#99ee5b42.
v := UpdateStoryPostSucceeded{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStoryPostFailedTypeID:
// Decoding updateStoryPostFailed#4a6589fc.
v := UpdateStoryPostFailed{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatActiveStoriesTypeID:
// Decoding updateChatActiveStories#79786c2c.
v := UpdateChatActiveStories{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStoryListChatCountTypeID:
// Decoding updateStoryListChatCount#8833cd3f.
v := UpdateStoryListChatCount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStoryStealthModeTypeID:
// Decoding updateStoryStealthMode#6ff7bd1a.
v := UpdateStoryStealthMode{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateOptionTypeID:
// Decoding updateOption#35b17404.
v := UpdateOption{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStickerSetTypeID:
// Decoding updateStickerSet#70035dcc.
v := UpdateStickerSet{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateInstalledStickerSetsTypeID:
// Decoding updateInstalledStickerSets#82cd5388.
v := UpdateInstalledStickerSets{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateTrendingStickerSetsTypeID:
// Decoding updateTrendingStickerSets#4b7a50a7.
v := UpdateTrendingStickerSets{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateRecentStickersTypeID:
// Decoding updateRecentStickers#aefdf8dc.
v := UpdateRecentStickers{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFavoriteStickersTypeID:
// Decoding updateFavoriteStickers#113f2b6a.
v := UpdateFavoriteStickers{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSavedAnimationsTypeID:
// Decoding updateSavedAnimations#1084a1c8.
v := UpdateSavedAnimations{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSavedNotificationSoundsTypeID:
// Decoding updateSavedNotificationSounds#5a6653b4.
v := UpdateSavedNotificationSounds{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDefaultBackgroundTypeID:
// Decoding updateDefaultBackground#d550952f.
v := UpdateDefaultBackground{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatThemesTypeID:
// Decoding updateChatThemes#98dc58d5.
v := UpdateChatThemes{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateAccentColorsTypeID:
// Decoding updateAccentColors#1316555e.
v := UpdateAccentColors{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateProfileAccentColorsTypeID:
// Decoding updateProfileAccentColors#bf8e7430.
v := UpdateProfileAccentColors{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateLanguagePackStringsTypeID:
// Decoding updateLanguagePackStrings#af87919f.
v := UpdateLanguagePackStrings{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateConnectionStateTypeID:
// Decoding updateConnectionState#57939e2e.
v := UpdateConnectionState{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFreezeStateTypeID:
// Decoding updateFreezeState#64e022ac.
v := UpdateFreezeState{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateTermsOfServiceTypeID:
// Decoding updateTermsOfService#b23cc55e.
v := UpdateTermsOfService{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUnconfirmedSessionTypeID:
// Decoding updateUnconfirmedSession#fea6088c.
v := UpdateUnconfirmedSession{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateAttachmentMenuBotsTypeID:
// Decoding updateAttachmentMenuBots#b6b910c.
v := UpdateAttachmentMenuBots{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateWebAppMessageSentTypeID:
// Decoding updateWebAppMessageSent#58431229.
v := UpdateWebAppMessageSent{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateActiveEmojiReactionsTypeID:
// Decoding updateActiveEmojiReactions#691ffcb7.
v := UpdateActiveEmojiReactions{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateAvailableMessageEffectsTypeID:
// Decoding updateAvailableMessageEffects#a1cb72b9.
v := UpdateAvailableMessageEffects{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDefaultReactionTypeTypeID:
// Decoding updateDefaultReactionType#4b615105.
v := UpdateDefaultReactionType{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDefaultPaidReactionTypeTypeID:
// Decoding updateDefaultPaidReactionType#246dd47.
v := UpdateDefaultPaidReactionType{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSavedMessagesTagsTypeID:
// Decoding updateSavedMessagesTags#7386424a.
v := UpdateSavedMessagesTags{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateActiveLiveLocationMessagesTypeID:
// Decoding updateActiveLiveLocationMessages#a20b9b1f.
v := UpdateActiveLiveLocationMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateOwnedStarCountTypeID:
// Decoding updateOwnedStarCount#af7ebf88.
v := UpdateOwnedStarCount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatRevenueAmountTypeID:
// Decoding updateChatRevenueAmount#c6c9bcc4.
v := UpdateChatRevenueAmount{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStarRevenueStatusTypeID:
// Decoding updateStarRevenueStatus#ef4bfccb.
v := UpdateStarRevenueStatus{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSpeechRecognitionTrialTypeID:
// Decoding updateSpeechRecognitionTrial#ff4efcc1.
v := UpdateSpeechRecognitionTrial{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDiceEmojisTypeID:
// Decoding updateDiceEmojis#9d0f91df.
v := UpdateDiceEmojis{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateAnimatedEmojiMessageClickedTypeID:
// Decoding updateAnimatedEmojiMessageClicked#a3167405.
v := UpdateAnimatedEmojiMessageClicked{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateAnimationSearchParametersTypeID:
// Decoding updateAnimationSearchParameters#6016ef01.
v := UpdateAnimationSearchParameters{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSuggestedActionsTypeID:
// Decoding updateSuggestedActions#c2e5cccb.
v := UpdateSuggestedActions{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSpeedLimitNotificationTypeID:
// Decoding updateSpeedLimitNotification#c683d868.
v := UpdateSpeedLimitNotification{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateContactCloseBirthdaysTypeID:
// Decoding updateContactCloseBirthdays#c88b98ce.
v := UpdateContactCloseBirthdays{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateAutosaveSettingsTypeID:
// Decoding updateAutosaveSettings#da274f0b.
v := UpdateAutosaveSettings{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBusinessConnectionTypeID:
// Decoding updateBusinessConnection#8632f476.
v := UpdateBusinessConnection{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewBusinessMessageTypeID:
// Decoding updateNewBusinessMessage#86be4644.
v := UpdateNewBusinessMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBusinessMessageEditedTypeID:
// Decoding updateBusinessMessageEdited#81a66d89.
v := UpdateBusinessMessageEdited{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBusinessMessagesDeletedTypeID:
// Decoding updateBusinessMessagesDeleted#e036d3ed.
v := UpdateBusinessMessagesDeleted{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewInlineQueryTypeID:
// Decoding updateNewInlineQuery#7171bf34.
v := UpdateNewInlineQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewChosenInlineResultTypeID:
// Decoding updateNewChosenInlineResult#cb4c4f5d.
v := UpdateNewChosenInlineResult{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewCallbackQueryTypeID:
// Decoding updateNewCallbackQuery#8964d05e.
v := UpdateNewCallbackQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewInlineCallbackQueryTypeID:
// Decoding updateNewInlineCallbackQuery#ecf934ba.
v := UpdateNewInlineCallbackQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewBusinessCallbackQueryTypeID:
// Decoding updateNewBusinessCallbackQuery#14125364.
v := UpdateNewBusinessCallbackQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewShippingQueryTypeID:
// Decoding updateNewShippingQuery#29584672.
v := UpdateNewShippingQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewPreCheckoutQueryTypeID:
// Decoding updateNewPreCheckoutQuery#2a3871c9.
v := UpdateNewPreCheckoutQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewCustomEventTypeID:
// Decoding updateNewCustomEvent#76dd6a0c.
v := UpdateNewCustomEvent{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewCustomQueryTypeID:
// Decoding updateNewCustomQuery#d702f9a6.
v := UpdateNewCustomQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePollTypeID:
// Decoding updatePoll#966b73ca.
v := UpdatePoll{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePollAnswerTypeID:
// Decoding updatePollAnswer#b67ac547.
v := UpdatePollAnswer{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatMemberTypeID:
// Decoding updateChatMember#98865bc7.
v := UpdateChatMember{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewChatJoinRequestTypeID:
// Decoding updateNewChatJoinRequest#7e48b843.
v := UpdateNewChatJoinRequest{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatBoostTypeID:
// Decoding updateChatBoost#50727e24.
v := UpdateChatBoost{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageReactionTypeID:
// Decoding updateMessageReaction#f46c854a.
v := UpdateMessageReaction{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageReactionsTypeID:
// Decoding updateMessageReactions#bd5618e9.
v := UpdateMessageReactions{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePaidMediaPurchasedTypeID:
// Decoding updatePaidMediaPurchased#a410e65b.
v := UpdatePaidMediaPurchased{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode UpdateClass: %w", bin.NewUnexpectedID(id))
}
}
// DecodeTDLibJSONUpdate implements binary de-serialization for UpdateClass.
func DecodeTDLibJSONUpdate(buf tdjson.Decoder) (UpdateClass, error) {
id, err := buf.FindTypeID()
if err != nil {
return nil, err
}
switch id {
case "updateAuthorizationState":
// Decoding updateAuthorizationState#60b30ee2.
v := UpdateAuthorizationState{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewMessage":
// Decoding updateNewMessage#de6fb20e.
v := UpdateNewMessage{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageSendAcknowledged":
// Decoding updateMessageSendAcknowledged#4da7d239.
v := UpdateMessageSendAcknowledged{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageSendSucceeded":
// Decoding updateMessageSendSucceeded#6c399d7d.
v := UpdateMessageSendSucceeded{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageSendFailed":
// Decoding updateMessageSendFailed#da1bf8e7.
v := UpdateMessageSendFailed{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageContent":
// Decoding updateMessageContent#1e36bb24.
v := UpdateMessageContent{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageEdited":
// Decoding updateMessageEdited#dea602e6.
v := UpdateMessageEdited{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageIsPinned":
// Decoding updateMessageIsPinned#41bc233d.
v := UpdateMessageIsPinned{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageInteractionInfo":
// Decoding updateMessageInteractionInfo#ab803bfe.
v := UpdateMessageInteractionInfo{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageContentOpened":
// Decoding updateMessageContentOpened#a55ea885.
v := UpdateMessageContentOpened{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageMentionRead":
// Decoding updateMessageMentionRead#f0f74d46.
v := UpdateMessageMentionRead{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageUnreadReactions":
// Decoding updateMessageUnreadReactions#12a7220a.
v := UpdateMessageUnreadReactions{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageFactCheck":
// Decoding updateMessageFactCheck#3c78fb02.
v := UpdateMessageFactCheck{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageLiveLocationViewed":
// Decoding updateMessageLiveLocationViewed#b2058595.
v := UpdateMessageLiveLocationViewed{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateVideoPublished":
// Decoding updateVideoPublished#eafc2052.
v := UpdateVideoPublished{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewChat":
// Decoding updateNewChat#7bb98ccd.
v := UpdateNewChat{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatTitle":
// Decoding updateChatTitle#f58b85a4.
v := UpdateChatTitle{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatPhoto":
// Decoding updateChatPhoto#eca5423f.
v := UpdateChatPhoto{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatAccentColors":
// Decoding updateChatAccentColors#b7b8f8f9.
v := UpdateChatAccentColors{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatPermissions":
// Decoding updateChatPermissions#9f52176d.
v := UpdateChatPermissions{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatLastMessage":
// Decoding updateChatLastMessage#f10cab1d.
v := UpdateChatLastMessage{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatPosition":
// Decoding updateChatPosition#ff76fa77.
v := UpdateChatPosition{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatAddedToList":
// Decoding updateChatAddedToList#ab7004ec.
v := UpdateChatAddedToList{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatRemovedFromList":
// Decoding updateChatRemovedFromList#4d2ac21c.
v := UpdateChatRemovedFromList{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatReadInbox":
// Decoding updateChatReadInbox#d07036e7.
v := UpdateChatReadInbox{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatReadOutbox":
// Decoding updateChatReadOutbox#2a385285.
v := UpdateChatReadOutbox{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatActionBar":
// Decoding updateChatActionBar#d9a258c2.
v := UpdateChatActionBar{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatBusinessBotManageBar":
// Decoding updateChatBusinessBotManageBar#be30e7f7.
v := UpdateChatBusinessBotManageBar{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatAvailableReactions":
// Decoding updateChatAvailableReactions#8ab413f9.
v := UpdateChatAvailableReactions{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatDraftMessage":
// Decoding updateChatDraftMessage#2bf257d4.
v := UpdateChatDraftMessage{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatEmojiStatus":
// Decoding updateChatEmojiStatus#77796510.
v := UpdateChatEmojiStatus{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatMessageSender":
// Decoding updateChatMessageSender#77705241.
v := UpdateChatMessageSender{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatMessageAutoDeleteTime":
// Decoding updateChatMessageAutoDeleteTime#71425de5.
v := UpdateChatMessageAutoDeleteTime{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatNotificationSettings":
// Decoding updateChatNotificationSettings#d020b456.
v := UpdateChatNotificationSettings{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatPendingJoinRequests":
// Decoding updateChatPendingJoinRequests#14c6e3e1.
v := UpdateChatPendingJoinRequests{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatReplyMarkup":
// Decoding updateChatReplyMarkup#4e0ba5a0.
v := UpdateChatReplyMarkup{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatBackground":
// Decoding updateChatBackground#ff9d38b3.
v := UpdateChatBackground{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatTheme":
// Decoding updateChatTheme#31f3d465.
v := UpdateChatTheme{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatUnreadMentionCount":
// Decoding updateChatUnreadMentionCount#80f47b1c.
v := UpdateChatUnreadMentionCount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatUnreadReactionCount":
// Decoding updateChatUnreadReactionCount#81603cdd.
v := UpdateChatUnreadReactionCount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatVideoChat":
// Decoding updateChatVideoChat#25fb4ca6.
v := UpdateChatVideoChat{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatDefaultDisableNotification":
// Decoding updateChatDefaultDisableNotification#1ba96a9b.
v := UpdateChatDefaultDisableNotification{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatHasProtectedContent":
// Decoding updateChatHasProtectedContent#6b50071b.
v := UpdateChatHasProtectedContent{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatIsTranslatable":
// Decoding updateChatIsTranslatable#7b031617.
v := UpdateChatIsTranslatable{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatIsMarkedAsUnread":
// Decoding updateChatIsMarkedAsUnread#57853334.
v := UpdateChatIsMarkedAsUnread{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatViewAsTopics":
// Decoding updateChatViewAsTopics#5bff163d.
v := UpdateChatViewAsTopics{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatBlockList":
// Decoding updateChatBlockList#872af48e.
v := UpdateChatBlockList{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatHasScheduledMessages":
// Decoding updateChatHasScheduledMessages#7b14c2d7.
v := UpdateChatHasScheduledMessages{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatFolders":
// Decoding updateChatFolders#e110242a.
v := UpdateChatFolders{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatOnlineMemberCount":
// Decoding updateChatOnlineMemberCount#1d0caa9d.
v := UpdateChatOnlineMemberCount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSavedMessagesTopic":
// Decoding updateSavedMessagesTopic#9f823b30.
v := UpdateSavedMessagesTopic{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSavedMessagesTopicCount":
// Decoding updateSavedMessagesTopicCount#fbd279d1.
v := UpdateSavedMessagesTopicCount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateDirectMessagesChatTopic":
// Decoding updateDirectMessagesChatTopic#d744f3ed.
v := UpdateDirectMessagesChatTopic{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateTopicMessageCount":
// Decoding updateTopicMessageCount#a1233f99.
v := UpdateTopicMessageCount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateQuickReplyShortcut":
// Decoding updateQuickReplyShortcut#c69338cf.
v := UpdateQuickReplyShortcut{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateQuickReplyShortcutDeleted":
// Decoding updateQuickReplyShortcutDeleted#e8b9bc3a.
v := UpdateQuickReplyShortcutDeleted{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateQuickReplyShortcuts":
// Decoding updateQuickReplyShortcuts#77d31a6a.
v := UpdateQuickReplyShortcuts{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateQuickReplyShortcutMessages":
// Decoding updateQuickReplyShortcutMessages#8bb36b72.
v := UpdateQuickReplyShortcutMessages{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateForumTopicInfo":
// Decoding updateForumTopicInfo#54af1e48.
v := UpdateForumTopicInfo{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateForumTopic":
// Decoding updateForumTopic#e029f75b.
v := UpdateForumTopic{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateScopeNotificationSettings":
// Decoding updateScopeNotificationSettings#b83ccb73.
v := UpdateScopeNotificationSettings{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateReactionNotificationSettings":
// Decoding updateReactionNotificationSettings#e54d17ec.
v := UpdateReactionNotificationSettings{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNotification":
// Decoding updateNotification#8ee67ed4.
v := UpdateNotification{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNotificationGroup":
// Decoding updateNotificationGroup#96cd9e06.
v := UpdateNotificationGroup{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateActiveNotifications":
// Decoding updateActiveNotifications#317d80f2.
v := UpdateActiveNotifications{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateHavePendingNotifications":
// Decoding updateHavePendingNotifications#aaee1db.
v := UpdateHavePendingNotifications{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateDeleteMessages":
// Decoding updateDeleteMessages#6a05bf9.
v := UpdateDeleteMessages{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatAction":
// Decoding updateChatAction#9abfd628.
v := UpdateChatAction{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateUserStatus":
// Decoding updateUserStatus#39211211.
v := UpdateUserStatus{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateUser":
// Decoding updateUser#468928f9.
v := UpdateUser{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateBasicGroup":
// Decoding updateBasicGroup#c433c763.
v := UpdateBasicGroup{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSupergroup":
// Decoding updateSupergroup#fb6c6524.
v := UpdateSupergroup{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSecretChat":
// Decoding updateSecretChat#9ca5132b.
v := UpdateSecretChat{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateUserFullInfo":
// Decoding updateUserFullInfo#fcf2cb17.
v := UpdateUserFullInfo{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateBasicGroupFullInfo":
// Decoding updateBasicGroupFullInfo#52f66bbf.
v := UpdateBasicGroupFullInfo{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSupergroupFullInfo":
// Decoding updateSupergroupFullInfo#19f5cd0e.
v := UpdateSupergroupFullInfo{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateServiceNotification":
// Decoding updateServiceNotification#4e9895ad.
v := UpdateServiceNotification{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateFile":
// Decoding updateFile#6cd875f.
v := UpdateFile{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateFileGenerationStart":
// Decoding updateFileGenerationStart#cec5eec.
v := UpdateFileGenerationStart{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateFileGenerationStop":
// Decoding updateFileGenerationStop#8f14fdeb.
v := UpdateFileGenerationStop{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateFileDownloads":
// Decoding updateFileDownloads#e8cd12c7.
v := UpdateFileDownloads{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateFileAddedToDownloads":
// Decoding updateFileAddedToDownloads#5ff5921a.
v := UpdateFileAddedToDownloads{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateFileDownload":
// Decoding updateFileDownload#342f83ca.
v := UpdateFileDownload{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateFileRemovedFromDownloads":
// Decoding updateFileRemovedFromDownloads#6e7c14e8.
v := UpdateFileRemovedFromDownloads{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateApplicationVerificationRequired":
// Decoding updateApplicationVerificationRequired#c59c61d7.
v := UpdateApplicationVerificationRequired{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateApplicationRecaptchaVerificationRequired":
// Decoding updateApplicationRecaptchaVerificationRequired#94edd9be.
v := UpdateApplicationRecaptchaVerificationRequired{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateCall":
// Decoding updateCall#4fb3d0dd.
v := UpdateCall{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateGroupCall":
// Decoding updateGroupCall#30324e00.
v := UpdateGroupCall{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateGroupCallParticipant":
// Decoding updateGroupCallParticipant#d0213cf9.
v := UpdateGroupCallParticipant{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateGroupCallParticipants":
// Decoding updateGroupCallParticipants#3f7879cd.
v := UpdateGroupCallParticipants{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateGroupCallVerificationState":
// Decoding updateGroupCallVerificationState#9de763b2.
v := UpdateGroupCallVerificationState{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewCallSignalingData":
// Decoding updateNewCallSignalingData#22c98d8d.
v := UpdateNewCallSignalingData{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateUserPrivacySettingRules":
// Decoding updateUserPrivacySettingRules#c99552f6.
v := UpdateUserPrivacySettingRules{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateUnreadMessageCount":
// Decoding updateUnreadMessageCount#4b541c9.
v := UpdateUnreadMessageCount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateUnreadChatCount":
// Decoding updateUnreadChatCount#76e19242.
v := UpdateUnreadChatCount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateStory":
// Decoding updateStory#1906572f.
v := UpdateStory{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateStoryDeleted":
// Decoding updateStoryDeleted#dd440b82.
v := UpdateStoryDeleted{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateStoryPostSucceeded":
// Decoding updateStoryPostSucceeded#99ee5b42.
v := UpdateStoryPostSucceeded{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateStoryPostFailed":
// Decoding updateStoryPostFailed#4a6589fc.
v := UpdateStoryPostFailed{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatActiveStories":
// Decoding updateChatActiveStories#79786c2c.
v := UpdateChatActiveStories{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateStoryListChatCount":
// Decoding updateStoryListChatCount#8833cd3f.
v := UpdateStoryListChatCount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateStoryStealthMode":
// Decoding updateStoryStealthMode#6ff7bd1a.
v := UpdateStoryStealthMode{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateOption":
// Decoding updateOption#35b17404.
v := UpdateOption{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateStickerSet":
// Decoding updateStickerSet#70035dcc.
v := UpdateStickerSet{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateInstalledStickerSets":
// Decoding updateInstalledStickerSets#82cd5388.
v := UpdateInstalledStickerSets{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateTrendingStickerSets":
// Decoding updateTrendingStickerSets#4b7a50a7.
v := UpdateTrendingStickerSets{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateRecentStickers":
// Decoding updateRecentStickers#aefdf8dc.
v := UpdateRecentStickers{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateFavoriteStickers":
// Decoding updateFavoriteStickers#113f2b6a.
v := UpdateFavoriteStickers{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSavedAnimations":
// Decoding updateSavedAnimations#1084a1c8.
v := UpdateSavedAnimations{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSavedNotificationSounds":
// Decoding updateSavedNotificationSounds#5a6653b4.
v := UpdateSavedNotificationSounds{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateDefaultBackground":
// Decoding updateDefaultBackground#d550952f.
v := UpdateDefaultBackground{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatThemes":
// Decoding updateChatThemes#98dc58d5.
v := UpdateChatThemes{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateAccentColors":
// Decoding updateAccentColors#1316555e.
v := UpdateAccentColors{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateProfileAccentColors":
// Decoding updateProfileAccentColors#bf8e7430.
v := UpdateProfileAccentColors{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateLanguagePackStrings":
// Decoding updateLanguagePackStrings#af87919f.
v := UpdateLanguagePackStrings{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateConnectionState":
// Decoding updateConnectionState#57939e2e.
v := UpdateConnectionState{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateFreezeState":
// Decoding updateFreezeState#64e022ac.
v := UpdateFreezeState{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateTermsOfService":
// Decoding updateTermsOfService#b23cc55e.
v := UpdateTermsOfService{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateUnconfirmedSession":
// Decoding updateUnconfirmedSession#fea6088c.
v := UpdateUnconfirmedSession{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateAttachmentMenuBots":
// Decoding updateAttachmentMenuBots#b6b910c.
v := UpdateAttachmentMenuBots{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateWebAppMessageSent":
// Decoding updateWebAppMessageSent#58431229.
v := UpdateWebAppMessageSent{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateActiveEmojiReactions":
// Decoding updateActiveEmojiReactions#691ffcb7.
v := UpdateActiveEmojiReactions{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateAvailableMessageEffects":
// Decoding updateAvailableMessageEffects#a1cb72b9.
v := UpdateAvailableMessageEffects{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateDefaultReactionType":
// Decoding updateDefaultReactionType#4b615105.
v := UpdateDefaultReactionType{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateDefaultPaidReactionType":
// Decoding updateDefaultPaidReactionType#246dd47.
v := UpdateDefaultPaidReactionType{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSavedMessagesTags":
// Decoding updateSavedMessagesTags#7386424a.
v := UpdateSavedMessagesTags{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateActiveLiveLocationMessages":
// Decoding updateActiveLiveLocationMessages#a20b9b1f.
v := UpdateActiveLiveLocationMessages{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateOwnedStarCount":
// Decoding updateOwnedStarCount#af7ebf88.
v := UpdateOwnedStarCount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatRevenueAmount":
// Decoding updateChatRevenueAmount#c6c9bcc4.
v := UpdateChatRevenueAmount{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateStarRevenueStatus":
// Decoding updateStarRevenueStatus#ef4bfccb.
v := UpdateStarRevenueStatus{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSpeechRecognitionTrial":
// Decoding updateSpeechRecognitionTrial#ff4efcc1.
v := UpdateSpeechRecognitionTrial{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateDiceEmojis":
// Decoding updateDiceEmojis#9d0f91df.
v := UpdateDiceEmojis{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateAnimatedEmojiMessageClicked":
// Decoding updateAnimatedEmojiMessageClicked#a3167405.
v := UpdateAnimatedEmojiMessageClicked{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateAnimationSearchParameters":
// Decoding updateAnimationSearchParameters#6016ef01.
v := UpdateAnimationSearchParameters{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSuggestedActions":
// Decoding updateSuggestedActions#c2e5cccb.
v := UpdateSuggestedActions{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateSpeedLimitNotification":
// Decoding updateSpeedLimitNotification#c683d868.
v := UpdateSpeedLimitNotification{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateContactCloseBirthdays":
// Decoding updateContactCloseBirthdays#c88b98ce.
v := UpdateContactCloseBirthdays{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateAutosaveSettings":
// Decoding updateAutosaveSettings#da274f0b.
v := UpdateAutosaveSettings{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateBusinessConnection":
// Decoding updateBusinessConnection#8632f476.
v := UpdateBusinessConnection{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewBusinessMessage":
// Decoding updateNewBusinessMessage#86be4644.
v := UpdateNewBusinessMessage{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateBusinessMessageEdited":
// Decoding updateBusinessMessageEdited#81a66d89.
v := UpdateBusinessMessageEdited{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateBusinessMessagesDeleted":
// Decoding updateBusinessMessagesDeleted#e036d3ed.
v := UpdateBusinessMessagesDeleted{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewInlineQuery":
// Decoding updateNewInlineQuery#7171bf34.
v := UpdateNewInlineQuery{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewChosenInlineResult":
// Decoding updateNewChosenInlineResult#cb4c4f5d.
v := UpdateNewChosenInlineResult{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewCallbackQuery":
// Decoding updateNewCallbackQuery#8964d05e.
v := UpdateNewCallbackQuery{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewInlineCallbackQuery":
// Decoding updateNewInlineCallbackQuery#ecf934ba.
v := UpdateNewInlineCallbackQuery{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewBusinessCallbackQuery":
// Decoding updateNewBusinessCallbackQuery#14125364.
v := UpdateNewBusinessCallbackQuery{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewShippingQuery":
// Decoding updateNewShippingQuery#29584672.
v := UpdateNewShippingQuery{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewPreCheckoutQuery":
// Decoding updateNewPreCheckoutQuery#2a3871c9.
v := UpdateNewPreCheckoutQuery{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewCustomEvent":
// Decoding updateNewCustomEvent#76dd6a0c.
v := UpdateNewCustomEvent{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewCustomQuery":
// Decoding updateNewCustomQuery#d702f9a6.
v := UpdateNewCustomQuery{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updatePoll":
// Decoding updatePoll#966b73ca.
v := UpdatePoll{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updatePollAnswer":
// Decoding updatePollAnswer#b67ac547.
v := UpdatePollAnswer{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatMember":
// Decoding updateChatMember#98865bc7.
v := UpdateChatMember{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateNewChatJoinRequest":
// Decoding updateNewChatJoinRequest#7e48b843.
v := UpdateNewChatJoinRequest{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateChatBoost":
// Decoding updateChatBoost#50727e24.
v := UpdateChatBoost{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageReaction":
// Decoding updateMessageReaction#f46c854a.
v := UpdateMessageReaction{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updateMessageReactions":
// Decoding updateMessageReactions#bd5618e9.
v := UpdateMessageReactions{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case "updatePaidMediaPurchased":
// Decoding updatePaidMediaPurchased#a410e65b.
v := UpdatePaidMediaPurchased{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode UpdateClass: %w", tdjson.NewUnexpectedID(id))
}
}
// Update boxes the UpdateClass providing a helper.
type UpdateBox struct {
Update UpdateClass
}
// Decode implements bin.Decoder for UpdateBox.
func (b *UpdateBox) Decode(buf *bin.Buffer) error {
if b == nil {
return fmt.Errorf("unable to decode UpdateBox to nil")
}
v, err := DecodeUpdate(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.Update = v
return nil
}
// Encode implements bin.Encode for UpdateBox.
func (b *UpdateBox) Encode(buf *bin.Buffer) error {
if b == nil || b.Update == nil {
return fmt.Errorf("unable to encode UpdateClass as nil")
}
return b.Update.Encode(buf)
}
// DecodeTDLibJSON implements bin.Decoder for UpdateBox.
func (b *UpdateBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
if b == nil {
return fmt.Errorf("unable to decode UpdateBox to nil")
}
v, err := DecodeTDLibJSONUpdate(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.Update = v
return nil
}
// EncodeTDLibJSON implements bin.Encode for UpdateBox.
func (b *UpdateBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
if b == nil || b.Update == nil {
return fmt.Errorf("unable to encode UpdateClass as nil")
}
return b.Update.EncodeTDLibJSON(buf)
}