You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20227 lines
505 KiB

// Code generated by gotdgen, DO NOT EDIT.
package tg
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"github.com/gotd/td/bin"
"github.com/gotd/td/tdjson"
"github.com/gotd/td/tdp"
"github.com/gotd/td/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{}
)
// UpdateNewMessage represents TL type `updateNewMessage#1f2b0afd`.
// New message in a private chat or in a legacy group¹.
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateNewMessage for reference.
type UpdateNewMessage struct {
// Message
Message MessageClass
// New quantity of actions in a message box
Pts int
// Number of generated events
PtsCount int
}
// UpdateNewMessageTypeID is TL type id of UpdateNewMessage.
const UpdateNewMessageTypeID = 0x1f2b0afd
// 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 == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
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))
}
// FillFrom fills UpdateNewMessage from given interface.
func (u *UpdateNewMessage) FillFrom(from interface {
GetMessage() (value MessageClass)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Message = from.GetMessage()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// 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",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewMessage#1f2b0afd 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#1f2b0afd as nil")
}
if u.Message == nil {
return fmt.Errorf("unable to encode updateNewMessage#1f2b0afd: field message is nil")
}
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewMessage#1f2b0afd: field message: %w", err)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewMessage#1f2b0afd to nil")
}
if err := b.ConsumeID(UpdateNewMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewMessage#1f2b0afd: %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#1f2b0afd to nil")
}
{
value, err := DecodeMessage(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewMessage#1f2b0afd: field message: %w", err)
}
u.Message = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateNewMessage#1f2b0afd: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateNewMessage#1f2b0afd: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetMessage returns value of Message field.
func (u *UpdateNewMessage) GetMessage() (value MessageClass) {
if u == nil {
return
}
return u.Message
}
// GetPts returns value of Pts field.
func (u *UpdateNewMessage) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateNewMessage) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateMessageID represents TL type `updateMessageID#4e90bfd6`.
// Sent message with random_id client identifier was assigned an identifier.
//
// See https://core.telegram.org/constructor/updateMessageID for reference.
type UpdateMessageID struct {
// id identifier of a respective Message¹
//
// Links:
// 1) https://core.telegram.org/type/Message
ID int
// Previuosly transferred client random_id identifier
RandomID int64
}
// UpdateMessageIDTypeID is TL type id of UpdateMessageID.
const UpdateMessageIDTypeID = 0x4e90bfd6
// construct implements constructor of UpdateClass.
func (u UpdateMessageID) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessageID.
var (
_ bin.Encoder = &UpdateMessageID{}
_ bin.Decoder = &UpdateMessageID{}
_ bin.BareEncoder = &UpdateMessageID{}
_ bin.BareDecoder = &UpdateMessageID{}
_ UpdateClass = &UpdateMessageID{}
)
func (u *UpdateMessageID) Zero() bool {
if u == nil {
return true
}
if !(u.ID == 0) {
return false
}
if !(u.RandomID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessageID) String() string {
if u == nil {
return "UpdateMessageID(nil)"
}
type Alias UpdateMessageID
return fmt.Sprintf("UpdateMessageID%+v", Alias(*u))
}
// FillFrom fills UpdateMessageID from given interface.
func (u *UpdateMessageID) FillFrom(from interface {
GetID() (value int)
GetRandomID() (value int64)
}) {
u.ID = from.GetID()
u.RandomID = from.GetRandomID()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessageID) TypeID() uint32 {
return UpdateMessageIDTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessageID) TypeName() string {
return "updateMessageID"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessageID) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessageID",
ID: UpdateMessageIDTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "RandomID",
SchemaName: "random_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessageID) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageID#4e90bfd6 as nil")
}
b.PutID(UpdateMessageIDTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessageID) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessageID#4e90bfd6 as nil")
}
b.PutInt(u.ID)
b.PutLong(u.RandomID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessageID) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageID#4e90bfd6 to nil")
}
if err := b.ConsumeID(UpdateMessageIDTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageID#4e90bfd6: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessageID) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessageID#4e90bfd6 to nil")
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateMessageID#4e90bfd6: field id: %w", err)
}
u.ID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateMessageID#4e90bfd6: field random_id: %w", err)
}
u.RandomID = value
}
return nil
}
// GetID returns value of ID field.
func (u *UpdateMessageID) GetID() (value int) {
if u == nil {
return
}
return u.ID
}
// GetRandomID returns value of RandomID field.
func (u *UpdateMessageID) GetRandomID() (value int64) {
if u == nil {
return
}
return u.RandomID
}
// UpdateDeleteMessages represents TL type `updateDeleteMessages#a20db0e5`.
// Messages were deleted.
//
// See https://core.telegram.org/constructor/updateDeleteMessages for reference.
type UpdateDeleteMessages struct {
// List of identifiers of deleted messages
Messages []int
// New quality of actions in a message box
Pts int
// Number of generated events¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateDeleteMessagesTypeID is TL type id of UpdateDeleteMessages.
const UpdateDeleteMessagesTypeID = 0xa20db0e5
// 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.Messages == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
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))
}
// FillFrom fills UpdateDeleteMessages from given interface.
func (u *UpdateDeleteMessages) FillFrom(from interface {
GetMessages() (value []int)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Messages = from.GetMessages()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// 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: "Messages",
SchemaName: "messages",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDeleteMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDeleteMessages#a20db0e5 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#a20db0e5 as nil")
}
b.PutVectorHeader(len(u.Messages))
for _, v := range u.Messages {
b.PutInt(v)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDeleteMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDeleteMessages#a20db0e5 to nil")
}
if err := b.ConsumeID(UpdateDeleteMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#a20db0e5: %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#a20db0e5 to nil")
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#a20db0e5: field messages: %w", err)
}
if headerLen > 0 {
u.Messages = make([]int, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#a20db0e5: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#a20db0e5: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteMessages#a20db0e5: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetMessages returns value of Messages field.
func (u *UpdateDeleteMessages) GetMessages() (value []int) {
if u == nil {
return
}
return u.Messages
}
// GetPts returns value of Pts field.
func (u *UpdateDeleteMessages) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateDeleteMessages) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateUserTyping represents TL type `updateUserTyping#c01e857f`.
// The user is preparing a message; typing, recording, uploading, etc. This update is
// valid for 6 seconds. If no repeated update received after 6 seconds, it should be
// considered that the user stopped doing whatever he's been doing.
//
// See https://core.telegram.org/constructor/updateUserTyping for reference.
type UpdateUserTyping struct {
// User id
UserID int64
// Action typeParam added in Layer 17¹.
//
// Links:
// 1) https://core.telegram.org/api/layers#layer-17
Action SendMessageActionClass
}
// UpdateUserTypingTypeID is TL type id of UpdateUserTyping.
const UpdateUserTypingTypeID = 0xc01e857f
// construct implements constructor of UpdateClass.
func (u UpdateUserTyping) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUserTyping.
var (
_ bin.Encoder = &UpdateUserTyping{}
_ bin.Decoder = &UpdateUserTyping{}
_ bin.BareEncoder = &UpdateUserTyping{}
_ bin.BareDecoder = &UpdateUserTyping{}
_ UpdateClass = &UpdateUserTyping{}
)
func (u *UpdateUserTyping) Zero() bool {
if u == nil {
return true
}
if !(u.UserID == 0) {
return false
}
if !(u.Action == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUserTyping) String() string {
if u == nil {
return "UpdateUserTyping(nil)"
}
type Alias UpdateUserTyping
return fmt.Sprintf("UpdateUserTyping%+v", Alias(*u))
}
// FillFrom fills UpdateUserTyping from given interface.
func (u *UpdateUserTyping) FillFrom(from interface {
GetUserID() (value int64)
GetAction() (value SendMessageActionClass)
}) {
u.UserID = from.GetUserID()
u.Action = from.GetAction()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUserTyping) TypeID() uint32 {
return UpdateUserTypingTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUserTyping) TypeName() string {
return "updateUserTyping"
}
// TypeInfo returns info about TL type.
func (u *UpdateUserTyping) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUserTyping",
ID: UpdateUserTypingTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Action",
SchemaName: "action",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUserTyping) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserTyping#c01e857f as nil")
}
b.PutID(UpdateUserTypingTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUserTyping) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserTyping#c01e857f as nil")
}
b.PutLong(u.UserID)
if u.Action == nil {
return fmt.Errorf("unable to encode updateUserTyping#c01e857f: field action is nil")
}
if err := u.Action.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUserTyping#c01e857f: field action: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUserTyping) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserTyping#c01e857f to nil")
}
if err := b.ConsumeID(UpdateUserTypingTypeID); err != nil {
return fmt.Errorf("unable to decode updateUserTyping#c01e857f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUserTyping) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserTyping#c01e857f to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateUserTyping#c01e857f: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := DecodeSendMessageAction(b)
if err != nil {
return fmt.Errorf("unable to decode updateUserTyping#c01e857f: field action: %w", err)
}
u.Action = value
}
return nil
}
// GetUserID returns value of UserID field.
func (u *UpdateUserTyping) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetAction returns value of Action field.
func (u *UpdateUserTyping) GetAction() (value SendMessageActionClass) {
if u == nil {
return
}
return u.Action
}
// UpdateChatUserTyping represents TL type `updateChatUserTyping#83487af0`.
// The user is preparing a message in a group; typing, recording, uploading, etc. This
// update is valid for 6 seconds. If no repeated update received after 6 seconds, it
// should be considered that the user stopped doing whatever he's been doing.
//
// See https://core.telegram.org/constructor/updateChatUserTyping for reference.
type UpdateChatUserTyping struct {
// Group id
ChatID int64
// Peer that started typing (can be the chat itself, in case of anonymous admins).
FromID PeerClass
// Type of actionParameter added in Layer 17¹.
//
// Links:
// 1) https://core.telegram.org/api/layers#layer-17
Action SendMessageActionClass
}
// UpdateChatUserTypingTypeID is TL type id of UpdateChatUserTyping.
const UpdateChatUserTypingTypeID = 0x83487af0
// construct implements constructor of UpdateClass.
func (u UpdateChatUserTyping) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatUserTyping.
var (
_ bin.Encoder = &UpdateChatUserTyping{}
_ bin.Decoder = &UpdateChatUserTyping{}
_ bin.BareEncoder = &UpdateChatUserTyping{}
_ bin.BareDecoder = &UpdateChatUserTyping{}
_ UpdateClass = &UpdateChatUserTyping{}
)
func (u *UpdateChatUserTyping) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.FromID == nil) {
return false
}
if !(u.Action == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatUserTyping) String() string {
if u == nil {
return "UpdateChatUserTyping(nil)"
}
type Alias UpdateChatUserTyping
return fmt.Sprintf("UpdateChatUserTyping%+v", Alias(*u))
}
// FillFrom fills UpdateChatUserTyping from given interface.
func (u *UpdateChatUserTyping) FillFrom(from interface {
GetChatID() (value int64)
GetFromID() (value PeerClass)
GetAction() (value SendMessageActionClass)
}) {
u.ChatID = from.GetChatID()
u.FromID = from.GetFromID()
u.Action = from.GetAction()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatUserTyping) TypeID() uint32 {
return UpdateChatUserTypingTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatUserTyping) TypeName() string {
return "updateChatUserTyping"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatUserTyping) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatUserTyping",
ID: UpdateChatUserTypingTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "FromID",
SchemaName: "from_id",
},
{
Name: "Action",
SchemaName: "action",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatUserTyping) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatUserTyping#83487af0 as nil")
}
b.PutID(UpdateChatUserTypingTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatUserTyping) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatUserTyping#83487af0 as nil")
}
b.PutLong(u.ChatID)
if u.FromID == nil {
return fmt.Errorf("unable to encode updateChatUserTyping#83487af0: field from_id is nil")
}
if err := u.FromID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatUserTyping#83487af0: field from_id: %w", err)
}
if u.Action == nil {
return fmt.Errorf("unable to encode updateChatUserTyping#83487af0: field action is nil")
}
if err := u.Action.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatUserTyping#83487af0: field action: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatUserTyping) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatUserTyping#83487af0 to nil")
}
if err := b.ConsumeID(UpdateChatUserTypingTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatUserTyping#83487af0: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatUserTyping) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatUserTyping#83487af0 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatUserTyping#83487af0: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatUserTyping#83487af0: field from_id: %w", err)
}
u.FromID = value
}
{
value, err := DecodeSendMessageAction(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatUserTyping#83487af0: field action: %w", err)
}
u.Action = value
}
return nil
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatUserTyping) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetFromID returns value of FromID field.
func (u *UpdateChatUserTyping) GetFromID() (value PeerClass) {
if u == nil {
return
}
return u.FromID
}
// GetAction returns value of Action field.
func (u *UpdateChatUserTyping) GetAction() (value SendMessageActionClass) {
if u == nil {
return
}
return u.Action
}
// UpdateChatParticipants represents TL type `updateChatParticipants#7761198`.
// Composition of chat participants changed.
//
// See https://core.telegram.org/constructor/updateChatParticipants for reference.
type UpdateChatParticipants struct {
// Updated chat participants
Participants ChatParticipantsClass
}
// UpdateChatParticipantsTypeID is TL type id of UpdateChatParticipants.
const UpdateChatParticipantsTypeID = 0x7761198
// construct implements constructor of UpdateClass.
func (u UpdateChatParticipants) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatParticipants.
var (
_ bin.Encoder = &UpdateChatParticipants{}
_ bin.Decoder = &UpdateChatParticipants{}
_ bin.BareEncoder = &UpdateChatParticipants{}
_ bin.BareDecoder = &UpdateChatParticipants{}
_ UpdateClass = &UpdateChatParticipants{}
)
func (u *UpdateChatParticipants) Zero() bool {
if u == nil {
return true
}
if !(u.Participants == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatParticipants) String() string {
if u == nil {
return "UpdateChatParticipants(nil)"
}
type Alias UpdateChatParticipants
return fmt.Sprintf("UpdateChatParticipants%+v", Alias(*u))
}
// FillFrom fills UpdateChatParticipants from given interface.
func (u *UpdateChatParticipants) FillFrom(from interface {
GetParticipants() (value ChatParticipantsClass)
}) {
u.Participants = from.GetParticipants()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatParticipants) TypeID() uint32 {
return UpdateChatParticipantsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatParticipants) TypeName() string {
return "updateChatParticipants"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatParticipants) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatParticipants",
ID: UpdateChatParticipantsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Participants",
SchemaName: "participants",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatParticipants) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipants#7761198 as nil")
}
b.PutID(UpdateChatParticipantsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatParticipants) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipants#7761198 as nil")
}
if u.Participants == nil {
return fmt.Errorf("unable to encode updateChatParticipants#7761198: field participants is nil")
}
if err := u.Participants.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatParticipants#7761198: field participants: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatParticipants) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipants#7761198 to nil")
}
if err := b.ConsumeID(UpdateChatParticipantsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatParticipants#7761198: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatParticipants) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipants#7761198 to nil")
}
{
value, err := DecodeChatParticipants(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipants#7761198: field participants: %w", err)
}
u.Participants = value
}
return nil
}
// GetParticipants returns value of Participants field.
func (u *UpdateChatParticipants) GetParticipants() (value ChatParticipantsClass) {
if u == nil {
return
}
return u.Participants
}
// UpdateUserStatus represents TL type `updateUserStatus#e5bdf8de`.
// Contact status update.
//
// See https://core.telegram.org/constructor/updateUserStatus for reference.
type UpdateUserStatus struct {
// User identifier
UserID int64
// New status
Status UserStatusClass
}
// UpdateUserStatusTypeID is TL type id of UpdateUserStatus.
const UpdateUserStatusTypeID = 0xe5bdf8de
// 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))
}
// FillFrom fills UpdateUserStatus from given interface.
func (u *UpdateUserStatus) FillFrom(from interface {
GetUserID() (value int64)
GetStatus() (value UserStatusClass)
}) {
u.UserID = from.GetUserID()
u.Status = from.GetStatus()
}
// 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#e5bdf8de 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#e5bdf8de as nil")
}
b.PutLong(u.UserID)
if u.Status == nil {
return fmt.Errorf("unable to encode updateUserStatus#e5bdf8de: field status is nil")
}
if err := u.Status.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUserStatus#e5bdf8de: 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#e5bdf8de to nil")
}
if err := b.ConsumeID(UpdateUserStatusTypeID); err != nil {
return fmt.Errorf("unable to decode updateUserStatus#e5bdf8de: %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#e5bdf8de to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateUserStatus#e5bdf8de: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := DecodeUserStatus(b)
if err != nil {
return fmt.Errorf("unable to decode updateUserStatus#e5bdf8de: field status: %w", err)
}
u.Status = value
}
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
}
// UpdateUserName represents TL type `updateUserName#c3f202e0`.
// Changes the user's first name, last name and username.
//
// See https://core.telegram.org/constructor/updateUserName for reference.
type UpdateUserName struct {
// User identifier
UserID int64
// New first name. Corresponds to the new value of real_first_name field of the
// userFull¹ constructor.
//
// Links:
// 1) https://core.telegram.org/constructor/userFull
FirstName string
// New last name. Corresponds to the new value of real_last_name field of the userFull¹
// constructor.
//
// Links:
// 1) https://core.telegram.org/constructor/userFull
LastName string
// New username.Parameter added in Layer 18¹.
//
// Links:
// 1) https://core.telegram.org/api/layers#layer-18
Username string
}
// UpdateUserNameTypeID is TL type id of UpdateUserName.
const UpdateUserNameTypeID = 0xc3f202e0
// construct implements constructor of UpdateClass.
func (u UpdateUserName) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUserName.
var (
_ bin.Encoder = &UpdateUserName{}
_ bin.Decoder = &UpdateUserName{}
_ bin.BareEncoder = &UpdateUserName{}
_ bin.BareDecoder = &UpdateUserName{}
_ UpdateClass = &UpdateUserName{}
)
func (u *UpdateUserName) Zero() bool {
if u == nil {
return true
}
if !(u.UserID == 0) {
return false
}
if !(u.FirstName == "") {
return false
}
if !(u.LastName == "") {
return false
}
if !(u.Username == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUserName) String() string {
if u == nil {
return "UpdateUserName(nil)"
}
type Alias UpdateUserName
return fmt.Sprintf("UpdateUserName%+v", Alias(*u))
}
// FillFrom fills UpdateUserName from given interface.
func (u *UpdateUserName) FillFrom(from interface {
GetUserID() (value int64)
GetFirstName() (value string)
GetLastName() (value string)
GetUsername() (value string)
}) {
u.UserID = from.GetUserID()
u.FirstName = from.GetFirstName()
u.LastName = from.GetLastName()
u.Username = from.GetUsername()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUserName) TypeID() uint32 {
return UpdateUserNameTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUserName) TypeName() string {
return "updateUserName"
}
// TypeInfo returns info about TL type.
func (u *UpdateUserName) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUserName",
ID: UpdateUserNameTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "FirstName",
SchemaName: "first_name",
},
{
Name: "LastName",
SchemaName: "last_name",
},
{
Name: "Username",
SchemaName: "username",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUserName) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserName#c3f202e0 as nil")
}
b.PutID(UpdateUserNameTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUserName) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserName#c3f202e0 as nil")
}
b.PutLong(u.UserID)
b.PutString(u.FirstName)
b.PutString(u.LastName)
b.PutString(u.Username)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUserName) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserName#c3f202e0 to nil")
}
if err := b.ConsumeID(UpdateUserNameTypeID); err != nil {
return fmt.Errorf("unable to decode updateUserName#c3f202e0: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUserName) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserName#c3f202e0 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateUserName#c3f202e0: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateUserName#c3f202e0: field first_name: %w", err)
}
u.FirstName = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateUserName#c3f202e0: field last_name: %w", err)
}
u.LastName = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateUserName#c3f202e0: field username: %w", err)
}
u.Username = value
}
return nil
}
// GetUserID returns value of UserID field.
func (u *UpdateUserName) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetFirstName returns value of FirstName field.
func (u *UpdateUserName) GetFirstName() (value string) {
if u == nil {
return
}
return u.FirstName
}
// GetLastName returns value of LastName field.
func (u *UpdateUserName) GetLastName() (value string) {
if u == nil {
return
}
return u.LastName
}
// GetUsername returns value of Username field.
func (u *UpdateUserName) GetUsername() (value string) {
if u == nil {
return
}
return u.Username
}
// UpdateUserPhoto represents TL type `updateUserPhoto#f227868c`.
// Change of contact's profile photo.
//
// See https://core.telegram.org/constructor/updateUserPhoto for reference.
type UpdateUserPhoto struct {
// User identifier
UserID int64
// Date of photo update.
Date int
// New profile photo
Photo UserProfilePhotoClass
// (boolTrue¹), if one of the previously used photos is set a profile photo.
//
// Links:
// 1) https://core.telegram.org/constructor/boolTrue
Previous bool
}
// UpdateUserPhotoTypeID is TL type id of UpdateUserPhoto.
const UpdateUserPhotoTypeID = 0xf227868c
// construct implements constructor of UpdateClass.
func (u UpdateUserPhoto) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUserPhoto.
var (
_ bin.Encoder = &UpdateUserPhoto{}
_ bin.Decoder = &UpdateUserPhoto{}
_ bin.BareEncoder = &UpdateUserPhoto{}
_ bin.BareDecoder = &UpdateUserPhoto{}
_ UpdateClass = &UpdateUserPhoto{}
)
func (u *UpdateUserPhoto) Zero() bool {
if u == nil {
return true
}
if !(u.UserID == 0) {
return false
}
if !(u.Date == 0) {
return false
}
if !(u.Photo == nil) {
return false
}
if !(u.Previous == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUserPhoto) String() string {
if u == nil {
return "UpdateUserPhoto(nil)"
}
type Alias UpdateUserPhoto
return fmt.Sprintf("UpdateUserPhoto%+v", Alias(*u))
}
// FillFrom fills UpdateUserPhoto from given interface.
func (u *UpdateUserPhoto) FillFrom(from interface {
GetUserID() (value int64)
GetDate() (value int)
GetPhoto() (value UserProfilePhotoClass)
GetPrevious() (value bool)
}) {
u.UserID = from.GetUserID()
u.Date = from.GetDate()
u.Photo = from.GetPhoto()
u.Previous = from.GetPrevious()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUserPhoto) TypeID() uint32 {
return UpdateUserPhotoTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUserPhoto) TypeName() string {
return "updateUserPhoto"
}
// TypeInfo returns info about TL type.
func (u *UpdateUserPhoto) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUserPhoto",
ID: UpdateUserPhotoTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "Photo",
SchemaName: "photo",
},
{
Name: "Previous",
SchemaName: "previous",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUserPhoto) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserPhoto#f227868c as nil")
}
b.PutID(UpdateUserPhotoTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUserPhoto) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserPhoto#f227868c as nil")
}
b.PutLong(u.UserID)
b.PutInt(u.Date)
if u.Photo == nil {
return fmt.Errorf("unable to encode updateUserPhoto#f227868c: field photo is nil")
}
if err := u.Photo.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateUserPhoto#f227868c: field photo: %w", err)
}
b.PutBool(u.Previous)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUserPhoto) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserPhoto#f227868c to nil")
}
if err := b.ConsumeID(UpdateUserPhotoTypeID); err != nil {
return fmt.Errorf("unable to decode updateUserPhoto#f227868c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUserPhoto) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserPhoto#f227868c to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateUserPhoto#f227868c: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateUserPhoto#f227868c: field date: %w", err)
}
u.Date = value
}
{
value, err := DecodeUserProfilePhoto(b)
if err != nil {
return fmt.Errorf("unable to decode updateUserPhoto#f227868c: field photo: %w", err)
}
u.Photo = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateUserPhoto#f227868c: field previous: %w", err)
}
u.Previous = value
}
return nil
}
// GetUserID returns value of UserID field.
func (u *UpdateUserPhoto) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetDate returns value of Date field.
func (u *UpdateUserPhoto) GetDate() (value int) {
if u == nil {
return
}
return u.Date
}
// GetPhoto returns value of Photo field.
func (u *UpdateUserPhoto) GetPhoto() (value UserProfilePhotoClass) {
if u == nil {
return
}
return u.Photo
}
// GetPrevious returns value of Previous field.
func (u *UpdateUserPhoto) GetPrevious() (value bool) {
if u == nil {
return
}
return u.Previous
}
// UpdateNewEncryptedMessage represents TL type `updateNewEncryptedMessage#12bcbd9a`.
// New encrypted message.
//
// See https://core.telegram.org/constructor/updateNewEncryptedMessage for reference.
type UpdateNewEncryptedMessage struct {
// Message
Message EncryptedMessageClass
// New qts value, see updates »¹ for more info.
//
// Links:
// 1) https://core.telegram.org/api/updates
Qts int
}
// UpdateNewEncryptedMessageTypeID is TL type id of UpdateNewEncryptedMessage.
const UpdateNewEncryptedMessageTypeID = 0x12bcbd9a
// construct implements constructor of UpdateClass.
func (u UpdateNewEncryptedMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewEncryptedMessage.
var (
_ bin.Encoder = &UpdateNewEncryptedMessage{}
_ bin.Decoder = &UpdateNewEncryptedMessage{}
_ bin.BareEncoder = &UpdateNewEncryptedMessage{}
_ bin.BareDecoder = &UpdateNewEncryptedMessage{}
_ UpdateClass = &UpdateNewEncryptedMessage{}
)
func (u *UpdateNewEncryptedMessage) Zero() bool {
if u == nil {
return true
}
if !(u.Message == nil) {
return false
}
if !(u.Qts == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewEncryptedMessage) String() string {
if u == nil {
return "UpdateNewEncryptedMessage(nil)"
}
type Alias UpdateNewEncryptedMessage
return fmt.Sprintf("UpdateNewEncryptedMessage%+v", Alias(*u))
}
// FillFrom fills UpdateNewEncryptedMessage from given interface.
func (u *UpdateNewEncryptedMessage) FillFrom(from interface {
GetMessage() (value EncryptedMessageClass)
GetQts() (value int)
}) {
u.Message = from.GetMessage()
u.Qts = from.GetQts()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewEncryptedMessage) TypeID() uint32 {
return UpdateNewEncryptedMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewEncryptedMessage) TypeName() string {
return "updateNewEncryptedMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewEncryptedMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewEncryptedMessage",
ID: UpdateNewEncryptedMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Message",
SchemaName: "message",
},
{
Name: "Qts",
SchemaName: "qts",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewEncryptedMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewEncryptedMessage#12bcbd9a as nil")
}
b.PutID(UpdateNewEncryptedMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewEncryptedMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewEncryptedMessage#12bcbd9a as nil")
}
if u.Message == nil {
return fmt.Errorf("unable to encode updateNewEncryptedMessage#12bcbd9a: field message is nil")
}
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewEncryptedMessage#12bcbd9a: field message: %w", err)
}
b.PutInt(u.Qts)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewEncryptedMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewEncryptedMessage#12bcbd9a to nil")
}
if err := b.ConsumeID(UpdateNewEncryptedMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewEncryptedMessage#12bcbd9a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewEncryptedMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewEncryptedMessage#12bcbd9a to nil")
}
{
value, err := DecodeEncryptedMessage(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewEncryptedMessage#12bcbd9a: field message: %w", err)
}
u.Message = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateNewEncryptedMessage#12bcbd9a: field qts: %w", err)
}
u.Qts = value
}
return nil
}
// GetMessage returns value of Message field.
func (u *UpdateNewEncryptedMessage) GetMessage() (value EncryptedMessageClass) {
if u == nil {
return
}
return u.Message
}
// GetQts returns value of Qts field.
func (u *UpdateNewEncryptedMessage) GetQts() (value int) {
if u == nil {
return
}
return u.Qts
}
// UpdateEncryptedChatTyping represents TL type `updateEncryptedChatTyping#1710f156`.
// Interlocutor is typing a message in an encrypted chat. Update period is 6 second. If
// upon this time there is no repeated update, it shall be considered that the
// interlocutor stopped typing.
//
// See https://core.telegram.org/constructor/updateEncryptedChatTyping for reference.
type UpdateEncryptedChatTyping struct {
// Chat ID
ChatID int
}
// UpdateEncryptedChatTypingTypeID is TL type id of UpdateEncryptedChatTyping.
const UpdateEncryptedChatTypingTypeID = 0x1710f156
// construct implements constructor of UpdateClass.
func (u UpdateEncryptedChatTyping) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateEncryptedChatTyping.
var (
_ bin.Encoder = &UpdateEncryptedChatTyping{}
_ bin.Decoder = &UpdateEncryptedChatTyping{}
_ bin.BareEncoder = &UpdateEncryptedChatTyping{}
_ bin.BareDecoder = &UpdateEncryptedChatTyping{}
_ UpdateClass = &UpdateEncryptedChatTyping{}
)
func (u *UpdateEncryptedChatTyping) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateEncryptedChatTyping) String() string {
if u == nil {
return "UpdateEncryptedChatTyping(nil)"
}
type Alias UpdateEncryptedChatTyping
return fmt.Sprintf("UpdateEncryptedChatTyping%+v", Alias(*u))
}
// FillFrom fills UpdateEncryptedChatTyping from given interface.
func (u *UpdateEncryptedChatTyping) FillFrom(from interface {
GetChatID() (value int)
}) {
u.ChatID = from.GetChatID()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateEncryptedChatTyping) TypeID() uint32 {
return UpdateEncryptedChatTypingTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateEncryptedChatTyping) TypeName() string {
return "updateEncryptedChatTyping"
}
// TypeInfo returns info about TL type.
func (u *UpdateEncryptedChatTyping) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateEncryptedChatTyping",
ID: UpdateEncryptedChatTypingTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateEncryptedChatTyping) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEncryptedChatTyping#1710f156 as nil")
}
b.PutID(UpdateEncryptedChatTypingTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateEncryptedChatTyping) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEncryptedChatTyping#1710f156 as nil")
}
b.PutInt(u.ChatID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateEncryptedChatTyping) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEncryptedChatTyping#1710f156 to nil")
}
if err := b.ConsumeID(UpdateEncryptedChatTypingTypeID); err != nil {
return fmt.Errorf("unable to decode updateEncryptedChatTyping#1710f156: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateEncryptedChatTyping) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEncryptedChatTyping#1710f156 to nil")
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateEncryptedChatTyping#1710f156: field chat_id: %w", err)
}
u.ChatID = value
}
return nil
}
// GetChatID returns value of ChatID field.
func (u *UpdateEncryptedChatTyping) GetChatID() (value int) {
if u == nil {
return
}
return u.ChatID
}
// UpdateEncryption represents TL type `updateEncryption#b4a2e88d`.
// Change of state in an encrypted chat.
//
// See https://core.telegram.org/constructor/updateEncryption for reference.
type UpdateEncryption struct {
// Encrypted chat
Chat EncryptedChatClass
// Date of change
Date int
}
// UpdateEncryptionTypeID is TL type id of UpdateEncryption.
const UpdateEncryptionTypeID = 0xb4a2e88d
// construct implements constructor of UpdateClass.
func (u UpdateEncryption) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateEncryption.
var (
_ bin.Encoder = &UpdateEncryption{}
_ bin.Decoder = &UpdateEncryption{}
_ bin.BareEncoder = &UpdateEncryption{}
_ bin.BareDecoder = &UpdateEncryption{}
_ UpdateClass = &UpdateEncryption{}
)
func (u *UpdateEncryption) Zero() bool {
if u == nil {
return true
}
if !(u.Chat == nil) {
return false
}
if !(u.Date == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateEncryption) String() string {
if u == nil {
return "UpdateEncryption(nil)"
}
type Alias UpdateEncryption
return fmt.Sprintf("UpdateEncryption%+v", Alias(*u))
}
// FillFrom fills UpdateEncryption from given interface.
func (u *UpdateEncryption) FillFrom(from interface {
GetChat() (value EncryptedChatClass)
GetDate() (value int)
}) {
u.Chat = from.GetChat()
u.Date = from.GetDate()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateEncryption) TypeID() uint32 {
return UpdateEncryptionTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateEncryption) TypeName() string {
return "updateEncryption"
}
// TypeInfo returns info about TL type.
func (u *UpdateEncryption) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateEncryption",
ID: UpdateEncryptionTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Chat",
SchemaName: "chat",
},
{
Name: "Date",
SchemaName: "date",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateEncryption) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEncryption#b4a2e88d as nil")
}
b.PutID(UpdateEncryptionTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateEncryption) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEncryption#b4a2e88d as nil")
}
if u.Chat == nil {
return fmt.Errorf("unable to encode updateEncryption#b4a2e88d: field chat is nil")
}
if err := u.Chat.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateEncryption#b4a2e88d: field chat: %w", err)
}
b.PutInt(u.Date)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateEncryption) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEncryption#b4a2e88d to nil")
}
if err := b.ConsumeID(UpdateEncryptionTypeID); err != nil {
return fmt.Errorf("unable to decode updateEncryption#b4a2e88d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateEncryption) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEncryption#b4a2e88d to nil")
}
{
value, err := DecodeEncryptedChat(b)
if err != nil {
return fmt.Errorf("unable to decode updateEncryption#b4a2e88d: field chat: %w", err)
}
u.Chat = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateEncryption#b4a2e88d: field date: %w", err)
}
u.Date = value
}
return nil
}
// GetChat returns value of Chat field.
func (u *UpdateEncryption) GetChat() (value EncryptedChatClass) {
if u == nil {
return
}
return u.Chat
}
// GetDate returns value of Date field.
func (u *UpdateEncryption) GetDate() (value int) {
if u == nil {
return
}
return u.Date
}
// UpdateEncryptedMessagesRead represents TL type `updateEncryptedMessagesRead#38fe25b7`.
// Communication history in an encrypted chat was marked as read.
//
// See https://core.telegram.org/constructor/updateEncryptedMessagesRead for reference.
type UpdateEncryptedMessagesRead struct {
// Chat ID
ChatID int
// Maximum value of data for read messages
MaxDate int
// Time when messages were read
Date int
}
// UpdateEncryptedMessagesReadTypeID is TL type id of UpdateEncryptedMessagesRead.
const UpdateEncryptedMessagesReadTypeID = 0x38fe25b7
// construct implements constructor of UpdateClass.
func (u UpdateEncryptedMessagesRead) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateEncryptedMessagesRead.
var (
_ bin.Encoder = &UpdateEncryptedMessagesRead{}
_ bin.Decoder = &UpdateEncryptedMessagesRead{}
_ bin.BareEncoder = &UpdateEncryptedMessagesRead{}
_ bin.BareDecoder = &UpdateEncryptedMessagesRead{}
_ UpdateClass = &UpdateEncryptedMessagesRead{}
)
func (u *UpdateEncryptedMessagesRead) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.MaxDate == 0) {
return false
}
if !(u.Date == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateEncryptedMessagesRead) String() string {
if u == nil {
return "UpdateEncryptedMessagesRead(nil)"
}
type Alias UpdateEncryptedMessagesRead
return fmt.Sprintf("UpdateEncryptedMessagesRead%+v", Alias(*u))
}
// FillFrom fills UpdateEncryptedMessagesRead from given interface.
func (u *UpdateEncryptedMessagesRead) FillFrom(from interface {
GetChatID() (value int)
GetMaxDate() (value int)
GetDate() (value int)
}) {
u.ChatID = from.GetChatID()
u.MaxDate = from.GetMaxDate()
u.Date = from.GetDate()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateEncryptedMessagesRead) TypeID() uint32 {
return UpdateEncryptedMessagesReadTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateEncryptedMessagesRead) TypeName() string {
return "updateEncryptedMessagesRead"
}
// TypeInfo returns info about TL type.
func (u *UpdateEncryptedMessagesRead) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateEncryptedMessagesRead",
ID: UpdateEncryptedMessagesReadTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "MaxDate",
SchemaName: "max_date",
},
{
Name: "Date",
SchemaName: "date",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateEncryptedMessagesRead) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEncryptedMessagesRead#38fe25b7 as nil")
}
b.PutID(UpdateEncryptedMessagesReadTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateEncryptedMessagesRead) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEncryptedMessagesRead#38fe25b7 as nil")
}
b.PutInt(u.ChatID)
b.PutInt(u.MaxDate)
b.PutInt(u.Date)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateEncryptedMessagesRead) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEncryptedMessagesRead#38fe25b7 to nil")
}
if err := b.ConsumeID(UpdateEncryptedMessagesReadTypeID); err != nil {
return fmt.Errorf("unable to decode updateEncryptedMessagesRead#38fe25b7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateEncryptedMessagesRead) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEncryptedMessagesRead#38fe25b7 to nil")
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateEncryptedMessagesRead#38fe25b7: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateEncryptedMessagesRead#38fe25b7: field max_date: %w", err)
}
u.MaxDate = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateEncryptedMessagesRead#38fe25b7: field date: %w", err)
}
u.Date = value
}
return nil
}
// GetChatID returns value of ChatID field.
func (u *UpdateEncryptedMessagesRead) GetChatID() (value int) {
if u == nil {
return
}
return u.ChatID
}
// GetMaxDate returns value of MaxDate field.
func (u *UpdateEncryptedMessagesRead) GetMaxDate() (value int) {
if u == nil {
return
}
return u.MaxDate
}
// GetDate returns value of Date field.
func (u *UpdateEncryptedMessagesRead) GetDate() (value int) {
if u == nil {
return
}
return u.Date
}
// UpdateChatParticipantAdd represents TL type `updateChatParticipantAdd#3dda5451`.
// New group member.
//
// See https://core.telegram.org/constructor/updateChatParticipantAdd for reference.
type UpdateChatParticipantAdd struct {
// Group ID
ChatID int64
// ID of the new member
UserID int64
// ID of the user, who added member to the group
InviterID int64
// When was the participant added
Date int
// Chat version number
Version int
}
// UpdateChatParticipantAddTypeID is TL type id of UpdateChatParticipantAdd.
const UpdateChatParticipantAddTypeID = 0x3dda5451
// construct implements constructor of UpdateClass.
func (u UpdateChatParticipantAdd) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatParticipantAdd.
var (
_ bin.Encoder = &UpdateChatParticipantAdd{}
_ bin.Decoder = &UpdateChatParticipantAdd{}
_ bin.BareEncoder = &UpdateChatParticipantAdd{}
_ bin.BareDecoder = &UpdateChatParticipantAdd{}
_ UpdateClass = &UpdateChatParticipantAdd{}
)
func (u *UpdateChatParticipantAdd) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.InviterID == 0) {
return false
}
if !(u.Date == 0) {
return false
}
if !(u.Version == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatParticipantAdd) String() string {
if u == nil {
return "UpdateChatParticipantAdd(nil)"
}
type Alias UpdateChatParticipantAdd
return fmt.Sprintf("UpdateChatParticipantAdd%+v", Alias(*u))
}
// FillFrom fills UpdateChatParticipantAdd from given interface.
func (u *UpdateChatParticipantAdd) FillFrom(from interface {
GetChatID() (value int64)
GetUserID() (value int64)
GetInviterID() (value int64)
GetDate() (value int)
GetVersion() (value int)
}) {
u.ChatID = from.GetChatID()
u.UserID = from.GetUserID()
u.InviterID = from.GetInviterID()
u.Date = from.GetDate()
u.Version = from.GetVersion()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatParticipantAdd) TypeID() uint32 {
return UpdateChatParticipantAddTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatParticipantAdd) TypeName() string {
return "updateChatParticipantAdd"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatParticipantAdd) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatParticipantAdd",
ID: UpdateChatParticipantAddTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "InviterID",
SchemaName: "inviter_id",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "Version",
SchemaName: "version",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatParticipantAdd) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipantAdd#3dda5451 as nil")
}
b.PutID(UpdateChatParticipantAddTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatParticipantAdd) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipantAdd#3dda5451 as nil")
}
b.PutLong(u.ChatID)
b.PutLong(u.UserID)
b.PutLong(u.InviterID)
b.PutInt(u.Date)
b.PutInt(u.Version)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatParticipantAdd) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipantAdd#3dda5451 to nil")
}
if err := b.ConsumeID(UpdateChatParticipantAddTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdd#3dda5451: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatParticipantAdd) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipantAdd#3dda5451 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdd#3dda5451: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdd#3dda5451: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdd#3dda5451: field inviter_id: %w", err)
}
u.InviterID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdd#3dda5451: field date: %w", err)
}
u.Date = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdd#3dda5451: field version: %w", err)
}
u.Version = value
}
return nil
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatParticipantAdd) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetUserID returns value of UserID field.
func (u *UpdateChatParticipantAdd) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetInviterID returns value of InviterID field.
func (u *UpdateChatParticipantAdd) GetInviterID() (value int64) {
if u == nil {
return
}
return u.InviterID
}
// GetDate returns value of Date field.
func (u *UpdateChatParticipantAdd) GetDate() (value int) {
if u == nil {
return
}
return u.Date
}
// GetVersion returns value of Version field.
func (u *UpdateChatParticipantAdd) GetVersion() (value int) {
if u == nil {
return
}
return u.Version
}
// UpdateChatParticipantDelete represents TL type `updateChatParticipantDelete#e32f3d77`.
// A member has left the group.
//
// See https://core.telegram.org/constructor/updateChatParticipantDelete for reference.
type UpdateChatParticipantDelete struct {
// Group ID
ChatID int64
// ID of the user
UserID int64
// Used in basic groups to reorder updates and make sure that all of them was received.
Version int
}
// UpdateChatParticipantDeleteTypeID is TL type id of UpdateChatParticipantDelete.
const UpdateChatParticipantDeleteTypeID = 0xe32f3d77
// construct implements constructor of UpdateClass.
func (u UpdateChatParticipantDelete) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatParticipantDelete.
var (
_ bin.Encoder = &UpdateChatParticipantDelete{}
_ bin.Decoder = &UpdateChatParticipantDelete{}
_ bin.BareEncoder = &UpdateChatParticipantDelete{}
_ bin.BareDecoder = &UpdateChatParticipantDelete{}
_ UpdateClass = &UpdateChatParticipantDelete{}
)
func (u *UpdateChatParticipantDelete) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.Version == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatParticipantDelete) String() string {
if u == nil {
return "UpdateChatParticipantDelete(nil)"
}
type Alias UpdateChatParticipantDelete
return fmt.Sprintf("UpdateChatParticipantDelete%+v", Alias(*u))
}
// FillFrom fills UpdateChatParticipantDelete from given interface.
func (u *UpdateChatParticipantDelete) FillFrom(from interface {
GetChatID() (value int64)
GetUserID() (value int64)
GetVersion() (value int)
}) {
u.ChatID = from.GetChatID()
u.UserID = from.GetUserID()
u.Version = from.GetVersion()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatParticipantDelete) TypeID() uint32 {
return UpdateChatParticipantDeleteTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatParticipantDelete) TypeName() string {
return "updateChatParticipantDelete"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatParticipantDelete) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatParticipantDelete",
ID: UpdateChatParticipantDeleteTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Version",
SchemaName: "version",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatParticipantDelete) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipantDelete#e32f3d77 as nil")
}
b.PutID(UpdateChatParticipantDeleteTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatParticipantDelete) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipantDelete#e32f3d77 as nil")
}
b.PutLong(u.ChatID)
b.PutLong(u.UserID)
b.PutInt(u.Version)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatParticipantDelete) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipantDelete#e32f3d77 to nil")
}
if err := b.ConsumeID(UpdateChatParticipantDeleteTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatParticipantDelete#e32f3d77: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatParticipantDelete) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipantDelete#e32f3d77 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantDelete#e32f3d77: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantDelete#e32f3d77: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantDelete#e32f3d77: field version: %w", err)
}
u.Version = value
}
return nil
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatParticipantDelete) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetUserID returns value of UserID field.
func (u *UpdateChatParticipantDelete) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetVersion returns value of Version field.
func (u *UpdateChatParticipantDelete) GetVersion() (value int) {
if u == nil {
return
}
return u.Version
}
// UpdateDCOptions represents TL type `updateDcOptions#8e5e9873`.
// Changes in the data center configuration options.
//
// See https://core.telegram.org/constructor/updateDcOptions for reference.
type UpdateDCOptions struct {
// New connection options
DCOptions []DCOption
}
// UpdateDCOptionsTypeID is TL type id of UpdateDCOptions.
const UpdateDCOptionsTypeID = 0x8e5e9873
// construct implements constructor of UpdateClass.
func (u UpdateDCOptions) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDCOptions.
var (
_ bin.Encoder = &UpdateDCOptions{}
_ bin.Decoder = &UpdateDCOptions{}
_ bin.BareEncoder = &UpdateDCOptions{}
_ bin.BareDecoder = &UpdateDCOptions{}
_ UpdateClass = &UpdateDCOptions{}
)
func (u *UpdateDCOptions) Zero() bool {
if u == nil {
return true
}
if !(u.DCOptions == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDCOptions) String() string {
if u == nil {
return "UpdateDCOptions(nil)"
}
type Alias UpdateDCOptions
return fmt.Sprintf("UpdateDCOptions%+v", Alias(*u))
}
// FillFrom fills UpdateDCOptions from given interface.
func (u *UpdateDCOptions) FillFrom(from interface {
GetDCOptions() (value []DCOption)
}) {
u.DCOptions = from.GetDCOptions()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDCOptions) TypeID() uint32 {
return UpdateDCOptionsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDCOptions) TypeName() string {
return "updateDcOptions"
}
// TypeInfo returns info about TL type.
func (u *UpdateDCOptions) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDcOptions",
ID: UpdateDCOptionsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "DCOptions",
SchemaName: "dc_options",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDCOptions) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDcOptions#8e5e9873 as nil")
}
b.PutID(UpdateDCOptionsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDCOptions) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDcOptions#8e5e9873 as nil")
}
b.PutVectorHeader(len(u.DCOptions))
for idx, v := range u.DCOptions {
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDcOptions#8e5e9873: field dc_options element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDCOptions) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDcOptions#8e5e9873 to nil")
}
if err := b.ConsumeID(UpdateDCOptionsTypeID); err != nil {
return fmt.Errorf("unable to decode updateDcOptions#8e5e9873: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDCOptions) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDcOptions#8e5e9873 to nil")
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateDcOptions#8e5e9873: field dc_options: %w", err)
}
if headerLen > 0 {
u.DCOptions = make([]DCOption, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value DCOption
if err := value.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateDcOptions#8e5e9873: field dc_options: %w", err)
}
u.DCOptions = append(u.DCOptions, value)
}
}
return nil
}
// GetDCOptions returns value of DCOptions field.
func (u *UpdateDCOptions) GetDCOptions() (value []DCOption) {
if u == nil {
return
}
return u.DCOptions
}
// UpdateNotifySettings represents TL type `updateNotifySettings#bec268ef`.
// Changes in notification settings.
//
// See https://core.telegram.org/constructor/updateNotifySettings for reference.
type UpdateNotifySettings struct {
// Nofication source
Peer NotifyPeerClass
// New notification settings
NotifySettings PeerNotifySettings
}
// UpdateNotifySettingsTypeID is TL type id of UpdateNotifySettings.
const UpdateNotifySettingsTypeID = 0xbec268ef
// construct implements constructor of UpdateClass.
func (u UpdateNotifySettings) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNotifySettings.
var (
_ bin.Encoder = &UpdateNotifySettings{}
_ bin.Decoder = &UpdateNotifySettings{}
_ bin.BareEncoder = &UpdateNotifySettings{}
_ bin.BareDecoder = &UpdateNotifySettings{}
_ UpdateClass = &UpdateNotifySettings{}
)
func (u *UpdateNotifySettings) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.NotifySettings.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNotifySettings) String() string {
if u == nil {
return "UpdateNotifySettings(nil)"
}
type Alias UpdateNotifySettings
return fmt.Sprintf("UpdateNotifySettings%+v", Alias(*u))
}
// FillFrom fills UpdateNotifySettings from given interface.
func (u *UpdateNotifySettings) FillFrom(from interface {
GetPeer() (value NotifyPeerClass)
GetNotifySettings() (value PeerNotifySettings)
}) {
u.Peer = from.GetPeer()
u.NotifySettings = from.GetNotifySettings()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNotifySettings) TypeID() uint32 {
return UpdateNotifySettingsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNotifySettings) TypeName() string {
return "updateNotifySettings"
}
// TypeInfo returns info about TL type.
func (u *UpdateNotifySettings) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNotifySettings",
ID: UpdateNotifySettingsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "NotifySettings",
SchemaName: "notify_settings",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNotifySettings) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNotifySettings#bec268ef as nil")
}
b.PutID(UpdateNotifySettingsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNotifySettings) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNotifySettings#bec268ef as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateNotifySettings#bec268ef: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNotifySettings#bec268ef: field peer: %w", err)
}
if err := u.NotifySettings.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNotifySettings#bec268ef: field notify_settings: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNotifySettings) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNotifySettings#bec268ef to nil")
}
if err := b.ConsumeID(UpdateNotifySettingsTypeID); err != nil {
return fmt.Errorf("unable to decode updateNotifySettings#bec268ef: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNotifySettings) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNotifySettings#bec268ef to nil")
}
{
value, err := DecodeNotifyPeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateNotifySettings#bec268ef: field peer: %w", err)
}
u.Peer = value
}
{
if err := u.NotifySettings.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateNotifySettings#bec268ef: field notify_settings: %w", err)
}
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdateNotifySettings) GetPeer() (value NotifyPeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetNotifySettings returns value of NotifySettings field.
func (u *UpdateNotifySettings) GetNotifySettings() (value PeerNotifySettings) {
if u == nil {
return
}
return u.NotifySettings
}
// UpdateServiceNotification represents TL type `updateServiceNotification#ebe46819`.
// A service message for the user.
// The app must show the message to the user upon receiving this update. In case the
// popup parameter was passed, the text message must be displayed in a popup alert
// immediately upon receipt. It is recommended to handle the text as you would an
// ordinary message in terms of highlighting links, etc. The message must also be stored
// locally as part of the message history with the user id 777000 (Telegram
// Notifications).
//
// See https://core.telegram.org/constructor/updateServiceNotification for reference.
type UpdateServiceNotification struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// (boolTrue) if the message must be displayed in a popup.
Popup bool
// When was the notification receivedThe message must also be stored locally as part of
// the message history with the user id 777000 (Telegram Notifications).
//
// Use SetInboxDate and GetInboxDate helpers.
InboxDate int
// String, identical in format and contents to the type¹ field in API errors. Describes
// type of service message. It is acceptable to ignore repeated messages of the same type
// within a short period of time (15 minutes).
//
// Links:
// 1) https://core.telegram.org/api/errors#error-type
Type string
// Message text
Message string
// Media content (optional)
Media MessageMediaClass
// Message entities for styled text¹
//
// Links:
// 1) https://core.telegram.org/api/entities
Entities []MessageEntityClass
}
// UpdateServiceNotificationTypeID is TL type id of UpdateServiceNotification.
const UpdateServiceNotificationTypeID = 0xebe46819
// 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.Flags.Zero()) {
return false
}
if !(u.Popup == false) {
return false
}
if !(u.InboxDate == 0) {
return false
}
if !(u.Type == "") {
return false
}
if !(u.Message == "") {
return false
}
if !(u.Media == nil) {
return false
}
if !(u.Entities == 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))
}
// FillFrom fills UpdateServiceNotification from given interface.
func (u *UpdateServiceNotification) FillFrom(from interface {
GetPopup() (value bool)
GetInboxDate() (value int, ok bool)
GetType() (value string)
GetMessage() (value string)
GetMedia() (value MessageMediaClass)
GetEntities() (value []MessageEntityClass)
}) {
u.Popup = from.GetPopup()
if val, ok := from.GetInboxDate(); ok {
u.InboxDate = val
}
u.Type = from.GetType()
u.Message = from.GetMessage()
u.Media = from.GetMedia()
u.Entities = from.GetEntities()
}
// 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: "Popup",
SchemaName: "popup",
Null: !u.Flags.Has(0),
},
{
Name: "InboxDate",
SchemaName: "inbox_date",
Null: !u.Flags.Has(1),
},
{
Name: "Type",
SchemaName: "type",
},
{
Name: "Message",
SchemaName: "message",
},
{
Name: "Media",
SchemaName: "media",
},
{
Name: "Entities",
SchemaName: "entities",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateServiceNotification) SetFlags() {
if !(u.Popup == false) {
u.Flags.Set(0)
}
if !(u.InboxDate == 0) {
u.Flags.Set(1)
}
}
// Encode implements bin.Encoder.
func (u *UpdateServiceNotification) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateServiceNotification#ebe46819 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#ebe46819 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateServiceNotification#ebe46819: field flags: %w", err)
}
if u.Flags.Has(1) {
b.PutInt(u.InboxDate)
}
b.PutString(u.Type)
b.PutString(u.Message)
if u.Media == nil {
return fmt.Errorf("unable to encode updateServiceNotification#ebe46819: field media is nil")
}
if err := u.Media.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateServiceNotification#ebe46819: field media: %w", err)
}
b.PutVectorHeader(len(u.Entities))
for idx, v := range u.Entities {
if v == nil {
return fmt.Errorf("unable to encode updateServiceNotification#ebe46819: field entities element with index %d is nil", idx)
}
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateServiceNotification#ebe46819: field entities element with index %d: %w", idx, 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#ebe46819 to nil")
}
if err := b.ConsumeID(UpdateServiceNotificationTypeID); err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#ebe46819: %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#ebe46819 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#ebe46819: field flags: %w", err)
}
}
u.Popup = u.Flags.Has(0)
if u.Flags.Has(1) {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#ebe46819: field inbox_date: %w", err)
}
u.InboxDate = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#ebe46819: field type: %w", err)
}
u.Type = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#ebe46819: field message: %w", err)
}
u.Message = value
}
{
value, err := DecodeMessageMedia(b)
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#ebe46819: field media: %w", err)
}
u.Media = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#ebe46819: field entities: %w", err)
}
if headerLen > 0 {
u.Entities = make([]MessageEntityClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodeMessageEntity(b)
if err != nil {
return fmt.Errorf("unable to decode updateServiceNotification#ebe46819: field entities: %w", err)
}
u.Entities = append(u.Entities, value)
}
}
return nil
}
// SetPopup sets value of Popup conditional field.
func (u *UpdateServiceNotification) SetPopup(value bool) {
if value {
u.Flags.Set(0)
u.Popup = true
} else {
u.Flags.Unset(0)
u.Popup = false
}
}
// GetPopup returns value of Popup conditional field.
func (u *UpdateServiceNotification) GetPopup() (value bool) {
if u == nil {
return
}
return u.Flags.Has(0)
}
// SetInboxDate sets value of InboxDate conditional field.
func (u *UpdateServiceNotification) SetInboxDate(value int) {
u.Flags.Set(1)
u.InboxDate = value
}
// GetInboxDate returns value of InboxDate conditional field and
// boolean which is true if field was set.
func (u *UpdateServiceNotification) GetInboxDate() (value int, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.InboxDate, true
}
// GetType returns value of Type field.
func (u *UpdateServiceNotification) GetType() (value string) {
if u == nil {
return
}
return u.Type
}
// GetMessage returns value of Message field.
func (u *UpdateServiceNotification) GetMessage() (value string) {
if u == nil {
return
}
return u.Message
}
// GetMedia returns value of Media field.
func (u *UpdateServiceNotification) GetMedia() (value MessageMediaClass) {
if u == nil {
return
}
return u.Media
}
// GetEntities returns value of Entities field.
func (u *UpdateServiceNotification) GetEntities() (value []MessageEntityClass) {
if u == nil {
return
}
return u.Entities
}
// MapEntities returns field Entities wrapped in MessageEntityClassArray helper.
func (u *UpdateServiceNotification) MapEntities() (value MessageEntityClassArray) {
return MessageEntityClassArray(u.Entities)
}
// UpdatePrivacy represents TL type `updatePrivacy#ee3b272a`.
// Privacy rules were changed
//
// See https://core.telegram.org/constructor/updatePrivacy for reference.
type UpdatePrivacy struct {
// Peers to which the privacy rules apply
Key PrivacyKeyClass
// New privacy rules
Rules []PrivacyRuleClass
}
// UpdatePrivacyTypeID is TL type id of UpdatePrivacy.
const UpdatePrivacyTypeID = 0xee3b272a
// construct implements constructor of UpdateClass.
func (u UpdatePrivacy) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePrivacy.
var (
_ bin.Encoder = &UpdatePrivacy{}
_ bin.Decoder = &UpdatePrivacy{}
_ bin.BareEncoder = &UpdatePrivacy{}
_ bin.BareDecoder = &UpdatePrivacy{}
_ UpdateClass = &UpdatePrivacy{}
)
func (u *UpdatePrivacy) Zero() bool {
if u == nil {
return true
}
if !(u.Key == nil) {
return false
}
if !(u.Rules == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePrivacy) String() string {
if u == nil {
return "UpdatePrivacy(nil)"
}
type Alias UpdatePrivacy
return fmt.Sprintf("UpdatePrivacy%+v", Alias(*u))
}
// FillFrom fills UpdatePrivacy from given interface.
func (u *UpdatePrivacy) FillFrom(from interface {
GetKey() (value PrivacyKeyClass)
GetRules() (value []PrivacyRuleClass)
}) {
u.Key = from.GetKey()
u.Rules = from.GetRules()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePrivacy) TypeID() uint32 {
return UpdatePrivacyTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePrivacy) TypeName() string {
return "updatePrivacy"
}
// TypeInfo returns info about TL type.
func (u *UpdatePrivacy) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePrivacy",
ID: UpdatePrivacyTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Key",
SchemaName: "key",
},
{
Name: "Rules",
SchemaName: "rules",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePrivacy) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePrivacy#ee3b272a as nil")
}
b.PutID(UpdatePrivacyTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePrivacy) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePrivacy#ee3b272a as nil")
}
if u.Key == nil {
return fmt.Errorf("unable to encode updatePrivacy#ee3b272a: field key is nil")
}
if err := u.Key.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePrivacy#ee3b272a: field key: %w", err)
}
b.PutVectorHeader(len(u.Rules))
for idx, v := range u.Rules {
if v == nil {
return fmt.Errorf("unable to encode updatePrivacy#ee3b272a: field rules element with index %d is nil", idx)
}
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePrivacy#ee3b272a: field rules element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePrivacy) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePrivacy#ee3b272a to nil")
}
if err := b.ConsumeID(UpdatePrivacyTypeID); err != nil {
return fmt.Errorf("unable to decode updatePrivacy#ee3b272a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePrivacy) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePrivacy#ee3b272a to nil")
}
{
value, err := DecodePrivacyKey(b)
if err != nil {
return fmt.Errorf("unable to decode updatePrivacy#ee3b272a: field key: %w", err)
}
u.Key = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updatePrivacy#ee3b272a: field rules: %w", err)
}
if headerLen > 0 {
u.Rules = make([]PrivacyRuleClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodePrivacyRule(b)
if err != nil {
return fmt.Errorf("unable to decode updatePrivacy#ee3b272a: field rules: %w", err)
}
u.Rules = append(u.Rules, value)
}
}
return nil
}
// GetKey returns value of Key field.
func (u *UpdatePrivacy) GetKey() (value PrivacyKeyClass) {
if u == nil {
return
}
return u.Key
}
// GetRules returns value of Rules field.
func (u *UpdatePrivacy) GetRules() (value []PrivacyRuleClass) {
if u == nil {
return
}
return u.Rules
}
// MapRules returns field Rules wrapped in PrivacyRuleClassArray helper.
func (u *UpdatePrivacy) MapRules() (value PrivacyRuleClassArray) {
return PrivacyRuleClassArray(u.Rules)
}
// UpdateUserPhone represents TL type `updateUserPhone#5492a13`.
// A user's phone number was changed
//
// See https://core.telegram.org/constructor/updateUserPhone for reference.
type UpdateUserPhone struct {
// User ID
UserID int64
// New phone number
Phone string
}
// UpdateUserPhoneTypeID is TL type id of UpdateUserPhone.
const UpdateUserPhoneTypeID = 0x5492a13
// construct implements constructor of UpdateClass.
func (u UpdateUserPhone) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateUserPhone.
var (
_ bin.Encoder = &UpdateUserPhone{}
_ bin.Decoder = &UpdateUserPhone{}
_ bin.BareEncoder = &UpdateUserPhone{}
_ bin.BareDecoder = &UpdateUserPhone{}
_ UpdateClass = &UpdateUserPhone{}
)
func (u *UpdateUserPhone) Zero() bool {
if u == nil {
return true
}
if !(u.UserID == 0) {
return false
}
if !(u.Phone == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateUserPhone) String() string {
if u == nil {
return "UpdateUserPhone(nil)"
}
type Alias UpdateUserPhone
return fmt.Sprintf("UpdateUserPhone%+v", Alias(*u))
}
// FillFrom fills UpdateUserPhone from given interface.
func (u *UpdateUserPhone) FillFrom(from interface {
GetUserID() (value int64)
GetPhone() (value string)
}) {
u.UserID = from.GetUserID()
u.Phone = from.GetPhone()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateUserPhone) TypeID() uint32 {
return UpdateUserPhoneTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateUserPhone) TypeName() string {
return "updateUserPhone"
}
// TypeInfo returns info about TL type.
func (u *UpdateUserPhone) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateUserPhone",
ID: UpdateUserPhoneTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Phone",
SchemaName: "phone",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateUserPhone) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserPhone#5492a13 as nil")
}
b.PutID(UpdateUserPhoneTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateUserPhone) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateUserPhone#5492a13 as nil")
}
b.PutLong(u.UserID)
b.PutString(u.Phone)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateUserPhone) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserPhone#5492a13 to nil")
}
if err := b.ConsumeID(UpdateUserPhoneTypeID); err != nil {
return fmt.Errorf("unable to decode updateUserPhone#5492a13: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateUserPhone) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateUserPhone#5492a13 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateUserPhone#5492a13: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateUserPhone#5492a13: field phone: %w", err)
}
u.Phone = value
}
return nil
}
// GetUserID returns value of UserID field.
func (u *UpdateUserPhone) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetPhone returns value of Phone field.
func (u *UpdateUserPhone) GetPhone() (value string) {
if u == nil {
return
}
return u.Phone
}
// UpdateReadHistoryInbox represents TL type `updateReadHistoryInbox#9c974fdf`.
// Incoming messages were read
//
// See https://core.telegram.org/constructor/updateReadHistoryInbox for reference.
type UpdateReadHistoryInbox struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Peer folder ID, for more info click here¹
//
// Links:
// 1) https://core.telegram.org/api/folders#peer-folders
//
// Use SetFolderID and GetFolderID helpers.
FolderID int
// Peer
Peer PeerClass
// Maximum ID of messages read
MaxID int
// Number of messages that are still unread
StillUnreadCount int
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateReadHistoryInboxTypeID is TL type id of UpdateReadHistoryInbox.
const UpdateReadHistoryInboxTypeID = 0x9c974fdf
// construct implements constructor of UpdateClass.
func (u UpdateReadHistoryInbox) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateReadHistoryInbox.
var (
_ bin.Encoder = &UpdateReadHistoryInbox{}
_ bin.Decoder = &UpdateReadHistoryInbox{}
_ bin.BareEncoder = &UpdateReadHistoryInbox{}
_ bin.BareDecoder = &UpdateReadHistoryInbox{}
_ UpdateClass = &UpdateReadHistoryInbox{}
)
func (u *UpdateReadHistoryInbox) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.FolderID == 0) {
return false
}
if !(u.Peer == nil) {
return false
}
if !(u.MaxID == 0) {
return false
}
if !(u.StillUnreadCount == 0) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateReadHistoryInbox) String() string {
if u == nil {
return "UpdateReadHistoryInbox(nil)"
}
type Alias UpdateReadHistoryInbox
return fmt.Sprintf("UpdateReadHistoryInbox%+v", Alias(*u))
}
// FillFrom fills UpdateReadHistoryInbox from given interface.
func (u *UpdateReadHistoryInbox) FillFrom(from interface {
GetFolderID() (value int, ok bool)
GetPeer() (value PeerClass)
GetMaxID() (value int)
GetStillUnreadCount() (value int)
GetPts() (value int)
GetPtsCount() (value int)
}) {
if val, ok := from.GetFolderID(); ok {
u.FolderID = val
}
u.Peer = from.GetPeer()
u.MaxID = from.GetMaxID()
u.StillUnreadCount = from.GetStillUnreadCount()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateReadHistoryInbox) TypeID() uint32 {
return UpdateReadHistoryInboxTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateReadHistoryInbox) TypeName() string {
return "updateReadHistoryInbox"
}
// TypeInfo returns info about TL type.
func (u *UpdateReadHistoryInbox) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateReadHistoryInbox",
ID: UpdateReadHistoryInboxTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "FolderID",
SchemaName: "folder_id",
Null: !u.Flags.Has(0),
},
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "MaxID",
SchemaName: "max_id",
},
{
Name: "StillUnreadCount",
SchemaName: "still_unread_count",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateReadHistoryInbox) SetFlags() {
if !(u.FolderID == 0) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateReadHistoryInbox) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadHistoryInbox#9c974fdf as nil")
}
b.PutID(UpdateReadHistoryInboxTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateReadHistoryInbox) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadHistoryInbox#9c974fdf as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateReadHistoryInbox#9c974fdf: field flags: %w", err)
}
if u.Flags.Has(0) {
b.PutInt(u.FolderID)
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateReadHistoryInbox#9c974fdf: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateReadHistoryInbox#9c974fdf: field peer: %w", err)
}
b.PutInt(u.MaxID)
b.PutInt(u.StillUnreadCount)
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateReadHistoryInbox) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadHistoryInbox#9c974fdf to nil")
}
if err := b.ConsumeID(UpdateReadHistoryInboxTypeID); err != nil {
return fmt.Errorf("unable to decode updateReadHistoryInbox#9c974fdf: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateReadHistoryInbox) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadHistoryInbox#9c974fdf to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateReadHistoryInbox#9c974fdf: field flags: %w", err)
}
}
if u.Flags.Has(0) {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryInbox#9c974fdf: field folder_id: %w", err)
}
u.FolderID = value
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryInbox#9c974fdf: field peer: %w", err)
}
u.Peer = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryInbox#9c974fdf: field max_id: %w", err)
}
u.MaxID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryInbox#9c974fdf: field still_unread_count: %w", err)
}
u.StillUnreadCount = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryInbox#9c974fdf: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryInbox#9c974fdf: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// SetFolderID sets value of FolderID conditional field.
func (u *UpdateReadHistoryInbox) SetFolderID(value int) {
u.Flags.Set(0)
u.FolderID = value
}
// GetFolderID returns value of FolderID conditional field and
// boolean which is true if field was set.
func (u *UpdateReadHistoryInbox) GetFolderID() (value int, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.FolderID, true
}
// GetPeer returns value of Peer field.
func (u *UpdateReadHistoryInbox) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetMaxID returns value of MaxID field.
func (u *UpdateReadHistoryInbox) GetMaxID() (value int) {
if u == nil {
return
}
return u.MaxID
}
// GetStillUnreadCount returns value of StillUnreadCount field.
func (u *UpdateReadHistoryInbox) GetStillUnreadCount() (value int) {
if u == nil {
return
}
return u.StillUnreadCount
}
// GetPts returns value of Pts field.
func (u *UpdateReadHistoryInbox) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateReadHistoryInbox) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateReadHistoryOutbox represents TL type `updateReadHistoryOutbox#2f2f21bf`.
// Outgoing messages were read
//
// See https://core.telegram.org/constructor/updateReadHistoryOutbox for reference.
type UpdateReadHistoryOutbox struct {
// Peer
Peer PeerClass
// Maximum ID of read outgoing messages
MaxID int
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateReadHistoryOutboxTypeID is TL type id of UpdateReadHistoryOutbox.
const UpdateReadHistoryOutboxTypeID = 0x2f2f21bf
// construct implements constructor of UpdateClass.
func (u UpdateReadHistoryOutbox) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateReadHistoryOutbox.
var (
_ bin.Encoder = &UpdateReadHistoryOutbox{}
_ bin.Decoder = &UpdateReadHistoryOutbox{}
_ bin.BareEncoder = &UpdateReadHistoryOutbox{}
_ bin.BareDecoder = &UpdateReadHistoryOutbox{}
_ UpdateClass = &UpdateReadHistoryOutbox{}
)
func (u *UpdateReadHistoryOutbox) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.MaxID == 0) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateReadHistoryOutbox) String() string {
if u == nil {
return "UpdateReadHistoryOutbox(nil)"
}
type Alias UpdateReadHistoryOutbox
return fmt.Sprintf("UpdateReadHistoryOutbox%+v", Alias(*u))
}
// FillFrom fills UpdateReadHistoryOutbox from given interface.
func (u *UpdateReadHistoryOutbox) FillFrom(from interface {
GetPeer() (value PeerClass)
GetMaxID() (value int)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Peer = from.GetPeer()
u.MaxID = from.GetMaxID()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateReadHistoryOutbox) TypeID() uint32 {
return UpdateReadHistoryOutboxTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateReadHistoryOutbox) TypeName() string {
return "updateReadHistoryOutbox"
}
// TypeInfo returns info about TL type.
func (u *UpdateReadHistoryOutbox) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateReadHistoryOutbox",
ID: UpdateReadHistoryOutboxTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "MaxID",
SchemaName: "max_id",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateReadHistoryOutbox) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadHistoryOutbox#2f2f21bf as nil")
}
b.PutID(UpdateReadHistoryOutboxTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateReadHistoryOutbox) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadHistoryOutbox#2f2f21bf as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateReadHistoryOutbox#2f2f21bf: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateReadHistoryOutbox#2f2f21bf: field peer: %w", err)
}
b.PutInt(u.MaxID)
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateReadHistoryOutbox) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadHistoryOutbox#2f2f21bf to nil")
}
if err := b.ConsumeID(UpdateReadHistoryOutboxTypeID); err != nil {
return fmt.Errorf("unable to decode updateReadHistoryOutbox#2f2f21bf: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateReadHistoryOutbox) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadHistoryOutbox#2f2f21bf to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryOutbox#2f2f21bf: field peer: %w", err)
}
u.Peer = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryOutbox#2f2f21bf: field max_id: %w", err)
}
u.MaxID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryOutbox#2f2f21bf: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadHistoryOutbox#2f2f21bf: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdateReadHistoryOutbox) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetMaxID returns value of MaxID field.
func (u *UpdateReadHistoryOutbox) GetMaxID() (value int) {
if u == nil {
return
}
return u.MaxID
}
// GetPts returns value of Pts field.
func (u *UpdateReadHistoryOutbox) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateReadHistoryOutbox) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateWebPage represents TL type `updateWebPage#7f891213`.
// An instant view¹ webpage preview was generated
//
// Links:
// 1) https://instantview.telegram.org
//
// See https://core.telegram.org/constructor/updateWebPage for reference.
type UpdateWebPage struct {
// Webpage preview
Webpage WebPageClass
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateWebPageTypeID is TL type id of UpdateWebPage.
const UpdateWebPageTypeID = 0x7f891213
// construct implements constructor of UpdateClass.
func (u UpdateWebPage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateWebPage.
var (
_ bin.Encoder = &UpdateWebPage{}
_ bin.Decoder = &UpdateWebPage{}
_ bin.BareEncoder = &UpdateWebPage{}
_ bin.BareDecoder = &UpdateWebPage{}
_ UpdateClass = &UpdateWebPage{}
)
func (u *UpdateWebPage) Zero() bool {
if u == nil {
return true
}
if !(u.Webpage == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateWebPage) String() string {
if u == nil {
return "UpdateWebPage(nil)"
}
type Alias UpdateWebPage
return fmt.Sprintf("UpdateWebPage%+v", Alias(*u))
}
// FillFrom fills UpdateWebPage from given interface.
func (u *UpdateWebPage) FillFrom(from interface {
GetWebpage() (value WebPageClass)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Webpage = from.GetWebpage()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateWebPage) TypeID() uint32 {
return UpdateWebPageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateWebPage) TypeName() string {
return "updateWebPage"
}
// TypeInfo returns info about TL type.
func (u *UpdateWebPage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateWebPage",
ID: UpdateWebPageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Webpage",
SchemaName: "webpage",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateWebPage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateWebPage#7f891213 as nil")
}
b.PutID(UpdateWebPageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateWebPage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateWebPage#7f891213 as nil")
}
if u.Webpage == nil {
return fmt.Errorf("unable to encode updateWebPage#7f891213: field webpage is nil")
}
if err := u.Webpage.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateWebPage#7f891213: field webpage: %w", err)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateWebPage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateWebPage#7f891213 to nil")
}
if err := b.ConsumeID(UpdateWebPageTypeID); err != nil {
return fmt.Errorf("unable to decode updateWebPage#7f891213: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateWebPage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateWebPage#7f891213 to nil")
}
{
value, err := DecodeWebPage(b)
if err != nil {
return fmt.Errorf("unable to decode updateWebPage#7f891213: field webpage: %w", err)
}
u.Webpage = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateWebPage#7f891213: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateWebPage#7f891213: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetWebpage returns value of Webpage field.
func (u *UpdateWebPage) GetWebpage() (value WebPageClass) {
if u == nil {
return
}
return u.Webpage
}
// GetPts returns value of Pts field.
func (u *UpdateWebPage) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateWebPage) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateReadMessagesContents represents TL type `updateReadMessagesContents#68c13933`.
// Contents of messages in the common message box¹ were read
//
// Links:
// 1) https://core.telegram.org/api/updates
//
// See https://core.telegram.org/constructor/updateReadMessagesContents for reference.
type UpdateReadMessagesContents struct {
// IDs of read messages
Messages []int
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateReadMessagesContentsTypeID is TL type id of UpdateReadMessagesContents.
const UpdateReadMessagesContentsTypeID = 0x68c13933
// construct implements constructor of UpdateClass.
func (u UpdateReadMessagesContents) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateReadMessagesContents.
var (
_ bin.Encoder = &UpdateReadMessagesContents{}
_ bin.Decoder = &UpdateReadMessagesContents{}
_ bin.BareEncoder = &UpdateReadMessagesContents{}
_ bin.BareDecoder = &UpdateReadMessagesContents{}
_ UpdateClass = &UpdateReadMessagesContents{}
)
func (u *UpdateReadMessagesContents) Zero() bool {
if u == nil {
return true
}
if !(u.Messages == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateReadMessagesContents) String() string {
if u == nil {
return "UpdateReadMessagesContents(nil)"
}
type Alias UpdateReadMessagesContents
return fmt.Sprintf("UpdateReadMessagesContents%+v", Alias(*u))
}
// FillFrom fills UpdateReadMessagesContents from given interface.
func (u *UpdateReadMessagesContents) FillFrom(from interface {
GetMessages() (value []int)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Messages = from.GetMessages()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateReadMessagesContents) TypeID() uint32 {
return UpdateReadMessagesContentsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateReadMessagesContents) TypeName() string {
return "updateReadMessagesContents"
}
// TypeInfo returns info about TL type.
func (u *UpdateReadMessagesContents) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateReadMessagesContents",
ID: UpdateReadMessagesContentsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Messages",
SchemaName: "messages",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateReadMessagesContents) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadMessagesContents#68c13933 as nil")
}
b.PutID(UpdateReadMessagesContentsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateReadMessagesContents) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadMessagesContents#68c13933 as nil")
}
b.PutVectorHeader(len(u.Messages))
for _, v := range u.Messages {
b.PutInt(v)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateReadMessagesContents) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadMessagesContents#68c13933 to nil")
}
if err := b.ConsumeID(UpdateReadMessagesContentsTypeID); err != nil {
return fmt.Errorf("unable to decode updateReadMessagesContents#68c13933: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateReadMessagesContents) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadMessagesContents#68c13933 to nil")
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateReadMessagesContents#68c13933: field messages: %w", err)
}
if headerLen > 0 {
u.Messages = make([]int, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadMessagesContents#68c13933: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadMessagesContents#68c13933: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadMessagesContents#68c13933: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetMessages returns value of Messages field.
func (u *UpdateReadMessagesContents) GetMessages() (value []int) {
if u == nil {
return
}
return u.Messages
}
// GetPts returns value of Pts field.
func (u *UpdateReadMessagesContents) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateReadMessagesContents) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateChannelTooLong represents TL type `updateChannelTooLong#108d941f`.
// There are new updates in the specified channel, the client must fetch them.
// If the difference is too long or if the channel isn't currently in the states, start
// fetching from the specified pts.
//
// See https://core.telegram.org/constructor/updateChannelTooLong for reference.
type UpdateChannelTooLong struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// The channel
ChannelID int64
// The PTS¹.
//
// Links:
// 1) https://core.telegram.org/api/updates
//
// Use SetPts and GetPts helpers.
Pts int
}
// UpdateChannelTooLongTypeID is TL type id of UpdateChannelTooLong.
const UpdateChannelTooLongTypeID = 0x108d941f
// construct implements constructor of UpdateClass.
func (u UpdateChannelTooLong) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChannelTooLong.
var (
_ bin.Encoder = &UpdateChannelTooLong{}
_ bin.Decoder = &UpdateChannelTooLong{}
_ bin.BareEncoder = &UpdateChannelTooLong{}
_ bin.BareDecoder = &UpdateChannelTooLong{}
_ UpdateClass = &UpdateChannelTooLong{}
)
func (u *UpdateChannelTooLong) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.ChannelID == 0) {
return false
}
if !(u.Pts == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChannelTooLong) String() string {
if u == nil {
return "UpdateChannelTooLong(nil)"
}
type Alias UpdateChannelTooLong
return fmt.Sprintf("UpdateChannelTooLong%+v", Alias(*u))
}
// FillFrom fills UpdateChannelTooLong from given interface.
func (u *UpdateChannelTooLong) FillFrom(from interface {
GetChannelID() (value int64)
GetPts() (value int, ok bool)
}) {
u.ChannelID = from.GetChannelID()
if val, ok := from.GetPts(); ok {
u.Pts = val
}
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChannelTooLong) TypeID() uint32 {
return UpdateChannelTooLongTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChannelTooLong) TypeName() string {
return "updateChannelTooLong"
}
// TypeInfo returns info about TL type.
func (u *UpdateChannelTooLong) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChannelTooLong",
ID: UpdateChannelTooLongTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "Pts",
SchemaName: "pts",
Null: !u.Flags.Has(0),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateChannelTooLong) SetFlags() {
if !(u.Pts == 0) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateChannelTooLong) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelTooLong#108d941f as nil")
}
b.PutID(UpdateChannelTooLongTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChannelTooLong) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelTooLong#108d941f as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChannelTooLong#108d941f: field flags: %w", err)
}
b.PutLong(u.ChannelID)
if u.Flags.Has(0) {
b.PutInt(u.Pts)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChannelTooLong) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelTooLong#108d941f to nil")
}
if err := b.ConsumeID(UpdateChannelTooLongTypeID); err != nil {
return fmt.Errorf("unable to decode updateChannelTooLong#108d941f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChannelTooLong) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelTooLong#108d941f to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChannelTooLong#108d941f: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelTooLong#108d941f: field channel_id: %w", err)
}
u.ChannelID = value
}
if u.Flags.Has(0) {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelTooLong#108d941f: field pts: %w", err)
}
u.Pts = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateChannelTooLong) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// SetPts sets value of Pts conditional field.
func (u *UpdateChannelTooLong) SetPts(value int) {
u.Flags.Set(0)
u.Pts = value
}
// GetPts returns value of Pts conditional field and
// boolean which is true if field was set.
func (u *UpdateChannelTooLong) GetPts() (value int, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.Pts, true
}
// UpdateChannel represents TL type `updateChannel#635b4c09`.
// A new channel is available
//
// See https://core.telegram.org/constructor/updateChannel for reference.
type UpdateChannel struct {
// Channel ID
ChannelID int64
}
// UpdateChannelTypeID is TL type id of UpdateChannel.
const UpdateChannelTypeID = 0x635b4c09
// construct implements constructor of UpdateClass.
func (u UpdateChannel) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChannel.
var (
_ bin.Encoder = &UpdateChannel{}
_ bin.Decoder = &UpdateChannel{}
_ bin.BareEncoder = &UpdateChannel{}
_ bin.BareDecoder = &UpdateChannel{}
_ UpdateClass = &UpdateChannel{}
)
func (u *UpdateChannel) Zero() bool {
if u == nil {
return true
}
if !(u.ChannelID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChannel) String() string {
if u == nil {
return "UpdateChannel(nil)"
}
type Alias UpdateChannel
return fmt.Sprintf("UpdateChannel%+v", Alias(*u))
}
// FillFrom fills UpdateChannel from given interface.
func (u *UpdateChannel) FillFrom(from interface {
GetChannelID() (value int64)
}) {
u.ChannelID = from.GetChannelID()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChannel) TypeID() uint32 {
return UpdateChannelTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChannel) TypeName() string {
return "updateChannel"
}
// TypeInfo returns info about TL type.
func (u *UpdateChannel) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChannel",
ID: UpdateChannelTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChannel) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannel#635b4c09 as nil")
}
b.PutID(UpdateChannelTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChannel) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannel#635b4c09 as nil")
}
b.PutLong(u.ChannelID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChannel) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannel#635b4c09 to nil")
}
if err := b.ConsumeID(UpdateChannelTypeID); err != nil {
return fmt.Errorf("unable to decode updateChannel#635b4c09: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChannel) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannel#635b4c09 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannel#635b4c09: field channel_id: %w", err)
}
u.ChannelID = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateChannel) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// UpdateNewChannelMessage represents TL type `updateNewChannelMessage#62ba04d9`.
// A new message was sent in a channel/supergroup¹
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateNewChannelMessage for reference.
type UpdateNewChannelMessage struct {
// New message
Message MessageClass
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateNewChannelMessageTypeID is TL type id of UpdateNewChannelMessage.
const UpdateNewChannelMessageTypeID = 0x62ba04d9
// construct implements constructor of UpdateClass.
func (u UpdateNewChannelMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewChannelMessage.
var (
_ bin.Encoder = &UpdateNewChannelMessage{}
_ bin.Decoder = &UpdateNewChannelMessage{}
_ bin.BareEncoder = &UpdateNewChannelMessage{}
_ bin.BareDecoder = &UpdateNewChannelMessage{}
_ UpdateClass = &UpdateNewChannelMessage{}
)
func (u *UpdateNewChannelMessage) Zero() bool {
if u == nil {
return true
}
if !(u.Message == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewChannelMessage) String() string {
if u == nil {
return "UpdateNewChannelMessage(nil)"
}
type Alias UpdateNewChannelMessage
return fmt.Sprintf("UpdateNewChannelMessage%+v", Alias(*u))
}
// FillFrom fills UpdateNewChannelMessage from given interface.
func (u *UpdateNewChannelMessage) FillFrom(from interface {
GetMessage() (value MessageClass)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Message = from.GetMessage()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewChannelMessage) TypeID() uint32 {
return UpdateNewChannelMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewChannelMessage) TypeName() string {
return "updateNewChannelMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewChannelMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewChannelMessage",
ID: UpdateNewChannelMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Message",
SchemaName: "message",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewChannelMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChannelMessage#62ba04d9 as nil")
}
b.PutID(UpdateNewChannelMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewChannelMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewChannelMessage#62ba04d9 as nil")
}
if u.Message == nil {
return fmt.Errorf("unable to encode updateNewChannelMessage#62ba04d9: field message is nil")
}
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewChannelMessage#62ba04d9: field message: %w", err)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewChannelMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChannelMessage#62ba04d9 to nil")
}
if err := b.ConsumeID(UpdateNewChannelMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewChannelMessage#62ba04d9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewChannelMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewChannelMessage#62ba04d9 to nil")
}
{
value, err := DecodeMessage(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewChannelMessage#62ba04d9: field message: %w", err)
}
u.Message = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateNewChannelMessage#62ba04d9: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateNewChannelMessage#62ba04d9: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetMessage returns value of Message field.
func (u *UpdateNewChannelMessage) GetMessage() (value MessageClass) {
if u == nil {
return
}
return u.Message
}
// GetPts returns value of Pts field.
func (u *UpdateNewChannelMessage) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateNewChannelMessage) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateReadChannelInbox represents TL type `updateReadChannelInbox#922e6e10`.
// Incoming messages in a channel/supergroup¹ were read
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateReadChannelInbox for reference.
type UpdateReadChannelInbox struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Peer folder ID, for more info click here¹
//
// Links:
// 1) https://core.telegram.org/api/folders#peer-folders
//
// Use SetFolderID and GetFolderID helpers.
FolderID int
// Channel/supergroup ID
ChannelID int64
// Position up to which all incoming messages are read.
MaxID int
// Count of messages weren't read yet
StillUnreadCount int
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
}
// UpdateReadChannelInboxTypeID is TL type id of UpdateReadChannelInbox.
const UpdateReadChannelInboxTypeID = 0x922e6e10
// construct implements constructor of UpdateClass.
func (u UpdateReadChannelInbox) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateReadChannelInbox.
var (
_ bin.Encoder = &UpdateReadChannelInbox{}
_ bin.Decoder = &UpdateReadChannelInbox{}
_ bin.BareEncoder = &UpdateReadChannelInbox{}
_ bin.BareDecoder = &UpdateReadChannelInbox{}
_ UpdateClass = &UpdateReadChannelInbox{}
)
func (u *UpdateReadChannelInbox) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.FolderID == 0) {
return false
}
if !(u.ChannelID == 0) {
return false
}
if !(u.MaxID == 0) {
return false
}
if !(u.StillUnreadCount == 0) {
return false
}
if !(u.Pts == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateReadChannelInbox) String() string {
if u == nil {
return "UpdateReadChannelInbox(nil)"
}
type Alias UpdateReadChannelInbox
return fmt.Sprintf("UpdateReadChannelInbox%+v", Alias(*u))
}
// FillFrom fills UpdateReadChannelInbox from given interface.
func (u *UpdateReadChannelInbox) FillFrom(from interface {
GetFolderID() (value int, ok bool)
GetChannelID() (value int64)
GetMaxID() (value int)
GetStillUnreadCount() (value int)
GetPts() (value int)
}) {
if val, ok := from.GetFolderID(); ok {
u.FolderID = val
}
u.ChannelID = from.GetChannelID()
u.MaxID = from.GetMaxID()
u.StillUnreadCount = from.GetStillUnreadCount()
u.Pts = from.GetPts()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateReadChannelInbox) TypeID() uint32 {
return UpdateReadChannelInboxTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateReadChannelInbox) TypeName() string {
return "updateReadChannelInbox"
}
// TypeInfo returns info about TL type.
func (u *UpdateReadChannelInbox) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateReadChannelInbox",
ID: UpdateReadChannelInboxTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "FolderID",
SchemaName: "folder_id",
Null: !u.Flags.Has(0),
},
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "MaxID",
SchemaName: "max_id",
},
{
Name: "StillUnreadCount",
SchemaName: "still_unread_count",
},
{
Name: "Pts",
SchemaName: "pts",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateReadChannelInbox) SetFlags() {
if !(u.FolderID == 0) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateReadChannelInbox) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadChannelInbox#922e6e10 as nil")
}
b.PutID(UpdateReadChannelInboxTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateReadChannelInbox) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadChannelInbox#922e6e10 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateReadChannelInbox#922e6e10: field flags: %w", err)
}
if u.Flags.Has(0) {
b.PutInt(u.FolderID)
}
b.PutLong(u.ChannelID)
b.PutInt(u.MaxID)
b.PutInt(u.StillUnreadCount)
b.PutInt(u.Pts)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateReadChannelInbox) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadChannelInbox#922e6e10 to nil")
}
if err := b.ConsumeID(UpdateReadChannelInboxTypeID); err != nil {
return fmt.Errorf("unable to decode updateReadChannelInbox#922e6e10: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateReadChannelInbox) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadChannelInbox#922e6e10 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateReadChannelInbox#922e6e10: field flags: %w", err)
}
}
if u.Flags.Has(0) {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelInbox#922e6e10: field folder_id: %w", err)
}
u.FolderID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelInbox#922e6e10: field channel_id: %w", err)
}
u.ChannelID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelInbox#922e6e10: field max_id: %w", err)
}
u.MaxID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelInbox#922e6e10: field still_unread_count: %w", err)
}
u.StillUnreadCount = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelInbox#922e6e10: field pts: %w", err)
}
u.Pts = value
}
return nil
}
// SetFolderID sets value of FolderID conditional field.
func (u *UpdateReadChannelInbox) SetFolderID(value int) {
u.Flags.Set(0)
u.FolderID = value
}
// GetFolderID returns value of FolderID conditional field and
// boolean which is true if field was set.
func (u *UpdateReadChannelInbox) GetFolderID() (value int, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.FolderID, true
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateReadChannelInbox) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetMaxID returns value of MaxID field.
func (u *UpdateReadChannelInbox) GetMaxID() (value int) {
if u == nil {
return
}
return u.MaxID
}
// GetStillUnreadCount returns value of StillUnreadCount field.
func (u *UpdateReadChannelInbox) GetStillUnreadCount() (value int) {
if u == nil {
return
}
return u.StillUnreadCount
}
// GetPts returns value of Pts field.
func (u *UpdateReadChannelInbox) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// UpdateDeleteChannelMessages represents TL type `updateDeleteChannelMessages#c32d5b12`.
// Some messages in a supergroup/channel¹ were deleted
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateDeleteChannelMessages for reference.
type UpdateDeleteChannelMessages struct {
// Channel ID
ChannelID int64
// IDs of messages that were deleted
Messages []int
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateDeleteChannelMessagesTypeID is TL type id of UpdateDeleteChannelMessages.
const UpdateDeleteChannelMessagesTypeID = 0xc32d5b12
// construct implements constructor of UpdateClass.
func (u UpdateDeleteChannelMessages) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDeleteChannelMessages.
var (
_ bin.Encoder = &UpdateDeleteChannelMessages{}
_ bin.Decoder = &UpdateDeleteChannelMessages{}
_ bin.BareEncoder = &UpdateDeleteChannelMessages{}
_ bin.BareDecoder = &UpdateDeleteChannelMessages{}
_ UpdateClass = &UpdateDeleteChannelMessages{}
)
func (u *UpdateDeleteChannelMessages) Zero() bool {
if u == nil {
return true
}
if !(u.ChannelID == 0) {
return false
}
if !(u.Messages == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDeleteChannelMessages) String() string {
if u == nil {
return "UpdateDeleteChannelMessages(nil)"
}
type Alias UpdateDeleteChannelMessages
return fmt.Sprintf("UpdateDeleteChannelMessages%+v", Alias(*u))
}
// FillFrom fills UpdateDeleteChannelMessages from given interface.
func (u *UpdateDeleteChannelMessages) FillFrom(from interface {
GetChannelID() (value int64)
GetMessages() (value []int)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.ChannelID = from.GetChannelID()
u.Messages = from.GetMessages()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDeleteChannelMessages) TypeID() uint32 {
return UpdateDeleteChannelMessagesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDeleteChannelMessages) TypeName() string {
return "updateDeleteChannelMessages"
}
// TypeInfo returns info about TL type.
func (u *UpdateDeleteChannelMessages) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDeleteChannelMessages",
ID: UpdateDeleteChannelMessagesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "Messages",
SchemaName: "messages",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDeleteChannelMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDeleteChannelMessages#c32d5b12 as nil")
}
b.PutID(UpdateDeleteChannelMessagesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDeleteChannelMessages) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDeleteChannelMessages#c32d5b12 as nil")
}
b.PutLong(u.ChannelID)
b.PutVectorHeader(len(u.Messages))
for _, v := range u.Messages {
b.PutInt(v)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDeleteChannelMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDeleteChannelMessages#c32d5b12 to nil")
}
if err := b.ConsumeID(UpdateDeleteChannelMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updateDeleteChannelMessages#c32d5b12: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDeleteChannelMessages) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDeleteChannelMessages#c32d5b12 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteChannelMessages#c32d5b12: field channel_id: %w", err)
}
u.ChannelID = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteChannelMessages#c32d5b12: field messages: %w", err)
}
if headerLen > 0 {
u.Messages = make([]int, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteChannelMessages#c32d5b12: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteChannelMessages#c32d5b12: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteChannelMessages#c32d5b12: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateDeleteChannelMessages) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetMessages returns value of Messages field.
func (u *UpdateDeleteChannelMessages) GetMessages() (value []int) {
if u == nil {
return
}
return u.Messages
}
// GetPts returns value of Pts field.
func (u *UpdateDeleteChannelMessages) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateDeleteChannelMessages) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateChannelMessageViews represents TL type `updateChannelMessageViews#f226ac08`.
// The view counter of a message in a channel has changed
//
// See https://core.telegram.org/constructor/updateChannelMessageViews for reference.
type UpdateChannelMessageViews struct {
// Channel ID
ChannelID int64
// ID of the message
ID int
// New view counter
Views int
}
// UpdateChannelMessageViewsTypeID is TL type id of UpdateChannelMessageViews.
const UpdateChannelMessageViewsTypeID = 0xf226ac08
// construct implements constructor of UpdateClass.
func (u UpdateChannelMessageViews) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChannelMessageViews.
var (
_ bin.Encoder = &UpdateChannelMessageViews{}
_ bin.Decoder = &UpdateChannelMessageViews{}
_ bin.BareEncoder = &UpdateChannelMessageViews{}
_ bin.BareDecoder = &UpdateChannelMessageViews{}
_ UpdateClass = &UpdateChannelMessageViews{}
)
func (u *UpdateChannelMessageViews) Zero() bool {
if u == nil {
return true
}
if !(u.ChannelID == 0) {
return false
}
if !(u.ID == 0) {
return false
}
if !(u.Views == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChannelMessageViews) String() string {
if u == nil {
return "UpdateChannelMessageViews(nil)"
}
type Alias UpdateChannelMessageViews
return fmt.Sprintf("UpdateChannelMessageViews%+v", Alias(*u))
}
// FillFrom fills UpdateChannelMessageViews from given interface.
func (u *UpdateChannelMessageViews) FillFrom(from interface {
GetChannelID() (value int64)
GetID() (value int)
GetViews() (value int)
}) {
u.ChannelID = from.GetChannelID()
u.ID = from.GetID()
u.Views = from.GetViews()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChannelMessageViews) TypeID() uint32 {
return UpdateChannelMessageViewsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChannelMessageViews) TypeName() string {
return "updateChannelMessageViews"
}
// TypeInfo returns info about TL type.
func (u *UpdateChannelMessageViews) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChannelMessageViews",
ID: UpdateChannelMessageViewsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "ID",
SchemaName: "id",
},
{
Name: "Views",
SchemaName: "views",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChannelMessageViews) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelMessageViews#f226ac08 as nil")
}
b.PutID(UpdateChannelMessageViewsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChannelMessageViews) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelMessageViews#f226ac08 as nil")
}
b.PutLong(u.ChannelID)
b.PutInt(u.ID)
b.PutInt(u.Views)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChannelMessageViews) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelMessageViews#f226ac08 to nil")
}
if err := b.ConsumeID(UpdateChannelMessageViewsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChannelMessageViews#f226ac08: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChannelMessageViews) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelMessageViews#f226ac08 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelMessageViews#f226ac08: field channel_id: %w", err)
}
u.ChannelID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelMessageViews#f226ac08: field id: %w", err)
}
u.ID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelMessageViews#f226ac08: field views: %w", err)
}
u.Views = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateChannelMessageViews) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetID returns value of ID field.
func (u *UpdateChannelMessageViews) GetID() (value int) {
if u == nil {
return
}
return u.ID
}
// GetViews returns value of Views field.
func (u *UpdateChannelMessageViews) GetViews() (value int) {
if u == nil {
return
}
return u.Views
}
// UpdateChatParticipantAdmin represents TL type `updateChatParticipantAdmin#d7ca61a2`.
// Admin permissions of a user in a legacy group¹ were changed
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateChatParticipantAdmin for reference.
type UpdateChatParticipantAdmin struct {
// Chat ID
ChatID int64
// ID of the (de)admined user
UserID int64
// Whether the user was rendered admin
IsAdmin bool
// Used in basic groups to reorder updates and make sure that all of them was received.
Version int
}
// UpdateChatParticipantAdminTypeID is TL type id of UpdateChatParticipantAdmin.
const UpdateChatParticipantAdminTypeID = 0xd7ca61a2
// construct implements constructor of UpdateClass.
func (u UpdateChatParticipantAdmin) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatParticipantAdmin.
var (
_ bin.Encoder = &UpdateChatParticipantAdmin{}
_ bin.Decoder = &UpdateChatParticipantAdmin{}
_ bin.BareEncoder = &UpdateChatParticipantAdmin{}
_ bin.BareDecoder = &UpdateChatParticipantAdmin{}
_ UpdateClass = &UpdateChatParticipantAdmin{}
)
func (u *UpdateChatParticipantAdmin) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.IsAdmin == false) {
return false
}
if !(u.Version == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatParticipantAdmin) String() string {
if u == nil {
return "UpdateChatParticipantAdmin(nil)"
}
type Alias UpdateChatParticipantAdmin
return fmt.Sprintf("UpdateChatParticipantAdmin%+v", Alias(*u))
}
// FillFrom fills UpdateChatParticipantAdmin from given interface.
func (u *UpdateChatParticipantAdmin) FillFrom(from interface {
GetChatID() (value int64)
GetUserID() (value int64)
GetIsAdmin() (value bool)
GetVersion() (value int)
}) {
u.ChatID = from.GetChatID()
u.UserID = from.GetUserID()
u.IsAdmin = from.GetIsAdmin()
u.Version = from.GetVersion()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatParticipantAdmin) TypeID() uint32 {
return UpdateChatParticipantAdminTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatParticipantAdmin) TypeName() string {
return "updateChatParticipantAdmin"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatParticipantAdmin) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatParticipantAdmin",
ID: UpdateChatParticipantAdminTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "IsAdmin",
SchemaName: "is_admin",
},
{
Name: "Version",
SchemaName: "version",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatParticipantAdmin) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipantAdmin#d7ca61a2 as nil")
}
b.PutID(UpdateChatParticipantAdminTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatParticipantAdmin) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipantAdmin#d7ca61a2 as nil")
}
b.PutLong(u.ChatID)
b.PutLong(u.UserID)
b.PutBool(u.IsAdmin)
b.PutInt(u.Version)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatParticipantAdmin) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipantAdmin#d7ca61a2 to nil")
}
if err := b.ConsumeID(UpdateChatParticipantAdminTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdmin#d7ca61a2: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatParticipantAdmin) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipantAdmin#d7ca61a2 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdmin#d7ca61a2: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdmin#d7ca61a2: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdmin#d7ca61a2: field is_admin: %w", err)
}
u.IsAdmin = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipantAdmin#d7ca61a2: field version: %w", err)
}
u.Version = value
}
return nil
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatParticipantAdmin) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetUserID returns value of UserID field.
func (u *UpdateChatParticipantAdmin) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetIsAdmin returns value of IsAdmin field.
func (u *UpdateChatParticipantAdmin) GetIsAdmin() (value bool) {
if u == nil {
return
}
return u.IsAdmin
}
// GetVersion returns value of Version field.
func (u *UpdateChatParticipantAdmin) GetVersion() (value int) {
if u == nil {
return
}
return u.Version
}
// UpdateNewStickerSet represents TL type `updateNewStickerSet#688a30aa`.
// A new stickerset was installed
//
// See https://core.telegram.org/constructor/updateNewStickerSet for reference.
type UpdateNewStickerSet struct {
// The installed stickerset
Stickerset MessagesStickerSetClass
}
// UpdateNewStickerSetTypeID is TL type id of UpdateNewStickerSet.
const UpdateNewStickerSetTypeID = 0x688a30aa
// construct implements constructor of UpdateClass.
func (u UpdateNewStickerSet) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewStickerSet.
var (
_ bin.Encoder = &UpdateNewStickerSet{}
_ bin.Decoder = &UpdateNewStickerSet{}
_ bin.BareEncoder = &UpdateNewStickerSet{}
_ bin.BareDecoder = &UpdateNewStickerSet{}
_ UpdateClass = &UpdateNewStickerSet{}
)
func (u *UpdateNewStickerSet) Zero() bool {
if u == nil {
return true
}
if !(u.Stickerset == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewStickerSet) String() string {
if u == nil {
return "UpdateNewStickerSet(nil)"
}
type Alias UpdateNewStickerSet
return fmt.Sprintf("UpdateNewStickerSet%+v", Alias(*u))
}
// FillFrom fills UpdateNewStickerSet from given interface.
func (u *UpdateNewStickerSet) FillFrom(from interface {
GetStickerset() (value MessagesStickerSetClass)
}) {
u.Stickerset = from.GetStickerset()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewStickerSet) TypeID() uint32 {
return UpdateNewStickerSetTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewStickerSet) TypeName() string {
return "updateNewStickerSet"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewStickerSet) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewStickerSet",
ID: UpdateNewStickerSetTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Stickerset",
SchemaName: "stickerset",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewStickerSet) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewStickerSet#688a30aa as nil")
}
b.PutID(UpdateNewStickerSetTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewStickerSet) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewStickerSet#688a30aa as nil")
}
if u.Stickerset == nil {
return fmt.Errorf("unable to encode updateNewStickerSet#688a30aa: field stickerset is nil")
}
if err := u.Stickerset.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewStickerSet#688a30aa: field stickerset: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewStickerSet) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewStickerSet#688a30aa to nil")
}
if err := b.ConsumeID(UpdateNewStickerSetTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewStickerSet#688a30aa: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewStickerSet) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewStickerSet#688a30aa to nil")
}
{
value, err := DecodeMessagesStickerSet(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewStickerSet#688a30aa: field stickerset: %w", err)
}
u.Stickerset = value
}
return nil
}
// GetStickerset returns value of Stickerset field.
func (u *UpdateNewStickerSet) GetStickerset() (value MessagesStickerSetClass) {
if u == nil {
return
}
return u.Stickerset
}
// UpdateStickerSetsOrder represents TL type `updateStickerSetsOrder#bb2d201`.
// The order of stickersets was changed
//
// See https://core.telegram.org/constructor/updateStickerSetsOrder for reference.
type UpdateStickerSetsOrder struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Whether the updated stickers are mask stickers
Masks bool
// New sticker order by sticker ID
Order []int64
}
// UpdateStickerSetsOrderTypeID is TL type id of UpdateStickerSetsOrder.
const UpdateStickerSetsOrderTypeID = 0xbb2d201
// construct implements constructor of UpdateClass.
func (u UpdateStickerSetsOrder) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStickerSetsOrder.
var (
_ bin.Encoder = &UpdateStickerSetsOrder{}
_ bin.Decoder = &UpdateStickerSetsOrder{}
_ bin.BareEncoder = &UpdateStickerSetsOrder{}
_ bin.BareDecoder = &UpdateStickerSetsOrder{}
_ UpdateClass = &UpdateStickerSetsOrder{}
)
func (u *UpdateStickerSetsOrder) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.Masks == false) {
return false
}
if !(u.Order == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStickerSetsOrder) String() string {
if u == nil {
return "UpdateStickerSetsOrder(nil)"
}
type Alias UpdateStickerSetsOrder
return fmt.Sprintf("UpdateStickerSetsOrder%+v", Alias(*u))
}
// FillFrom fills UpdateStickerSetsOrder from given interface.
func (u *UpdateStickerSetsOrder) FillFrom(from interface {
GetMasks() (value bool)
GetOrder() (value []int64)
}) {
u.Masks = from.GetMasks()
u.Order = from.GetOrder()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStickerSetsOrder) TypeID() uint32 {
return UpdateStickerSetsOrderTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStickerSetsOrder) TypeName() string {
return "updateStickerSetsOrder"
}
// TypeInfo returns info about TL type.
func (u *UpdateStickerSetsOrder) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStickerSetsOrder",
ID: UpdateStickerSetsOrderTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Masks",
SchemaName: "masks",
Null: !u.Flags.Has(0),
},
{
Name: "Order",
SchemaName: "order",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateStickerSetsOrder) SetFlags() {
if !(u.Masks == false) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateStickerSetsOrder) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStickerSetsOrder#bb2d201 as nil")
}
b.PutID(UpdateStickerSetsOrderTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStickerSetsOrder) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStickerSetsOrder#bb2d201 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateStickerSetsOrder#bb2d201: field flags: %w", err)
}
b.PutVectorHeader(len(u.Order))
for _, v := range u.Order {
b.PutLong(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStickerSetsOrder) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStickerSetsOrder#bb2d201 to nil")
}
if err := b.ConsumeID(UpdateStickerSetsOrderTypeID); err != nil {
return fmt.Errorf("unable to decode updateStickerSetsOrder#bb2d201: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStickerSetsOrder) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStickerSetsOrder#bb2d201 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateStickerSetsOrder#bb2d201: field flags: %w", err)
}
}
u.Masks = u.Flags.Has(0)
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateStickerSetsOrder#bb2d201: field order: %w", err)
}
if headerLen > 0 {
u.Order = 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 updateStickerSetsOrder#bb2d201: field order: %w", err)
}
u.Order = append(u.Order, value)
}
}
return nil
}
// SetMasks sets value of Masks conditional field.
func (u *UpdateStickerSetsOrder) SetMasks(value bool) {
if value {
u.Flags.Set(0)
u.Masks = true
} else {
u.Flags.Unset(0)
u.Masks = false
}
}
// GetMasks returns value of Masks conditional field.
func (u *UpdateStickerSetsOrder) GetMasks() (value bool) {
if u == nil {
return
}
return u.Flags.Has(0)
}
// GetOrder returns value of Order field.
func (u *UpdateStickerSetsOrder) GetOrder() (value []int64) {
if u == nil {
return
}
return u.Order
}
// UpdateStickerSets represents TL type `updateStickerSets#43ae3dec`.
// Installed stickersets have changed, the client should refetch them using messages
// getAllStickers¹
//
// Links:
// 1) https://core.telegram.org/method/messages.getAllStickers
//
// See https://core.telegram.org/constructor/updateStickerSets for reference.
type UpdateStickerSets struct {
}
// UpdateStickerSetsTypeID is TL type id of UpdateStickerSets.
const UpdateStickerSetsTypeID = 0x43ae3dec
// construct implements constructor of UpdateClass.
func (u UpdateStickerSets) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateStickerSets.
var (
_ bin.Encoder = &UpdateStickerSets{}
_ bin.Decoder = &UpdateStickerSets{}
_ bin.BareEncoder = &UpdateStickerSets{}
_ bin.BareDecoder = &UpdateStickerSets{}
_ UpdateClass = &UpdateStickerSets{}
)
func (u *UpdateStickerSets) Zero() bool {
if u == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateStickerSets) String() string {
if u == nil {
return "UpdateStickerSets(nil)"
}
type Alias UpdateStickerSets
return fmt.Sprintf("UpdateStickerSets%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateStickerSets) TypeID() uint32 {
return UpdateStickerSetsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateStickerSets) TypeName() string {
return "updateStickerSets"
}
// TypeInfo returns info about TL type.
func (u *UpdateStickerSets) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateStickerSets",
ID: UpdateStickerSetsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateStickerSets) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStickerSets#43ae3dec as nil")
}
b.PutID(UpdateStickerSetsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateStickerSets) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateStickerSets#43ae3dec as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateStickerSets) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStickerSets#43ae3dec to nil")
}
if err := b.ConsumeID(UpdateStickerSetsTypeID); err != nil {
return fmt.Errorf("unable to decode updateStickerSets#43ae3dec: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateStickerSets) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateStickerSets#43ae3dec to nil")
}
return nil
}
// UpdateSavedGifs represents TL type `updateSavedGifs#9375341e`.
// The saved gif list has changed, the client should refetch it using messages
// getSavedGifs¹
//
// Links:
// 1) https://core.telegram.org/method/messages.getSavedGifs
//
// See https://core.telegram.org/constructor/updateSavedGifs for reference.
type UpdateSavedGifs struct {
}
// UpdateSavedGifsTypeID is TL type id of UpdateSavedGifs.
const UpdateSavedGifsTypeID = 0x9375341e
// construct implements constructor of UpdateClass.
func (u UpdateSavedGifs) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateSavedGifs.
var (
_ bin.Encoder = &UpdateSavedGifs{}
_ bin.Decoder = &UpdateSavedGifs{}
_ bin.BareEncoder = &UpdateSavedGifs{}
_ bin.BareDecoder = &UpdateSavedGifs{}
_ UpdateClass = &UpdateSavedGifs{}
)
func (u *UpdateSavedGifs) Zero() bool {
if u == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateSavedGifs) String() string {
if u == nil {
return "UpdateSavedGifs(nil)"
}
type Alias UpdateSavedGifs
return fmt.Sprintf("UpdateSavedGifs%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateSavedGifs) TypeID() uint32 {
return UpdateSavedGifsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateSavedGifs) TypeName() string {
return "updateSavedGifs"
}
// TypeInfo returns info about TL type.
func (u *UpdateSavedGifs) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateSavedGifs",
ID: UpdateSavedGifsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateSavedGifs) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedGifs#9375341e as nil")
}
b.PutID(UpdateSavedGifsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateSavedGifs) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateSavedGifs#9375341e as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateSavedGifs) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedGifs#9375341e to nil")
}
if err := b.ConsumeID(UpdateSavedGifsTypeID); err != nil {
return fmt.Errorf("unable to decode updateSavedGifs#9375341e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateSavedGifs) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateSavedGifs#9375341e to nil")
}
return nil
}
// UpdateBotInlineQuery represents TL type `updateBotInlineQuery#496f379c`.
// An incoming inline query
//
// See https://core.telegram.org/constructor/updateBotInlineQuery for reference.
type UpdateBotInlineQuery struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Query ID
QueryID int64
// User that sent the query
UserID int64
// Text of query
Query string
// Attached geolocation
//
// Use SetGeo and GetGeo helpers.
Geo GeoPointClass
// Type of the chat from which the inline query was sent.
//
// Use SetPeerType and GetPeerType helpers.
PeerType InlineQueryPeerTypeClass
// Offset to navigate through results
Offset string
}
// UpdateBotInlineQueryTypeID is TL type id of UpdateBotInlineQuery.
const UpdateBotInlineQueryTypeID = 0x496f379c
// construct implements constructor of UpdateClass.
func (u UpdateBotInlineQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotInlineQuery.
var (
_ bin.Encoder = &UpdateBotInlineQuery{}
_ bin.Decoder = &UpdateBotInlineQuery{}
_ bin.BareEncoder = &UpdateBotInlineQuery{}
_ bin.BareDecoder = &UpdateBotInlineQuery{}
_ UpdateClass = &UpdateBotInlineQuery{}
)
func (u *UpdateBotInlineQuery) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.QueryID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.Query == "") {
return false
}
if !(u.Geo == nil) {
return false
}
if !(u.PeerType == nil) {
return false
}
if !(u.Offset == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotInlineQuery) String() string {
if u == nil {
return "UpdateBotInlineQuery(nil)"
}
type Alias UpdateBotInlineQuery
return fmt.Sprintf("UpdateBotInlineQuery%+v", Alias(*u))
}
// FillFrom fills UpdateBotInlineQuery from given interface.
func (u *UpdateBotInlineQuery) FillFrom(from interface {
GetQueryID() (value int64)
GetUserID() (value int64)
GetQuery() (value string)
GetGeo() (value GeoPointClass, ok bool)
GetPeerType() (value InlineQueryPeerTypeClass, ok bool)
GetOffset() (value string)
}) {
u.QueryID = from.GetQueryID()
u.UserID = from.GetUserID()
u.Query = from.GetQuery()
if val, ok := from.GetGeo(); ok {
u.Geo = val
}
if val, ok := from.GetPeerType(); ok {
u.PeerType = val
}
u.Offset = from.GetOffset()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotInlineQuery) TypeID() uint32 {
return UpdateBotInlineQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotInlineQuery) TypeName() string {
return "updateBotInlineQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotInlineQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotInlineQuery",
ID: UpdateBotInlineQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "QueryID",
SchemaName: "query_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Query",
SchemaName: "query",
},
{
Name: "Geo",
SchemaName: "geo",
Null: !u.Flags.Has(0),
},
{
Name: "PeerType",
SchemaName: "peer_type",
Null: !u.Flags.Has(1),
},
{
Name: "Offset",
SchemaName: "offset",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateBotInlineQuery) SetFlags() {
if !(u.Geo == nil) {
u.Flags.Set(0)
}
if !(u.PeerType == nil) {
u.Flags.Set(1)
}
}
// Encode implements bin.Encoder.
func (u *UpdateBotInlineQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotInlineQuery#496f379c as nil")
}
b.PutID(UpdateBotInlineQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotInlineQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotInlineQuery#496f379c as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotInlineQuery#496f379c: field flags: %w", err)
}
b.PutLong(u.QueryID)
b.PutLong(u.UserID)
b.PutString(u.Query)
if u.Flags.Has(0) {
if u.Geo == nil {
return fmt.Errorf("unable to encode updateBotInlineQuery#496f379c: field geo is nil")
}
if err := u.Geo.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotInlineQuery#496f379c: field geo: %w", err)
}
}
if u.Flags.Has(1) {
if u.PeerType == nil {
return fmt.Errorf("unable to encode updateBotInlineQuery#496f379c: field peer_type is nil")
}
if err := u.PeerType.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotInlineQuery#496f379c: field peer_type: %w", err)
}
}
b.PutString(u.Offset)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotInlineQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotInlineQuery#496f379c to nil")
}
if err := b.ConsumeID(UpdateBotInlineQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotInlineQuery#496f379c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotInlineQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotInlineQuery#496f379c to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotInlineQuery#496f379c: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineQuery#496f379c: field query_id: %w", err)
}
u.QueryID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineQuery#496f379c: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineQuery#496f379c: field query: %w", err)
}
u.Query = value
}
if u.Flags.Has(0) {
value, err := DecodeGeoPoint(b)
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineQuery#496f379c: field geo: %w", err)
}
u.Geo = value
}
if u.Flags.Has(1) {
value, err := DecodeInlineQueryPeerType(b)
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineQuery#496f379c: field peer_type: %w", err)
}
u.PeerType = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineQuery#496f379c: field offset: %w", err)
}
u.Offset = value
}
return nil
}
// GetQueryID returns value of QueryID field.
func (u *UpdateBotInlineQuery) GetQueryID() (value int64) {
if u == nil {
return
}
return u.QueryID
}
// GetUserID returns value of UserID field.
func (u *UpdateBotInlineQuery) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetQuery returns value of Query field.
func (u *UpdateBotInlineQuery) GetQuery() (value string) {
if u == nil {
return
}
return u.Query
}
// SetGeo sets value of Geo conditional field.
func (u *UpdateBotInlineQuery) SetGeo(value GeoPointClass) {
u.Flags.Set(0)
u.Geo = value
}
// GetGeo returns value of Geo conditional field and
// boolean which is true if field was set.
func (u *UpdateBotInlineQuery) GetGeo() (value GeoPointClass, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.Geo, true
}
// SetPeerType sets value of PeerType conditional field.
func (u *UpdateBotInlineQuery) SetPeerType(value InlineQueryPeerTypeClass) {
u.Flags.Set(1)
u.PeerType = value
}
// GetPeerType returns value of PeerType conditional field and
// boolean which is true if field was set.
func (u *UpdateBotInlineQuery) GetPeerType() (value InlineQueryPeerTypeClass, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.PeerType, true
}
// GetOffset returns value of Offset field.
func (u *UpdateBotInlineQuery) GetOffset() (value string) {
if u == nil {
return
}
return u.Offset
}
// UpdateBotInlineSend represents TL type `updateBotInlineSend#12f12a07`.
// The result of an inline query that was chosen by a user and sent to their chat partner
// Please see our documentation on the feedback collecting¹ for details on how to
// enable these updates for your bot.
//
// Links:
// 1) https://core.telegram.org/bots/inline#collecting-feedback
//
// See https://core.telegram.org/constructor/updateBotInlineSend for reference.
type UpdateBotInlineSend struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// The user that chose the result
UserID int64
// The query that was used to obtain the result
Query string
// Optional. Sender location, only for bots that require user location
//
// Use SetGeo and GetGeo helpers.
Geo GeoPointClass
// The unique identifier for the result that was chosen
ID string
// Identifier of the sent inline message. Available only if there is an inline keyboard
// attached to the message. Will be also received in callback queries and can be used to
// edit the message.
//
// Use SetMsgID and GetMsgID helpers.
MsgID InputBotInlineMessageIDClass
}
// UpdateBotInlineSendTypeID is TL type id of UpdateBotInlineSend.
const UpdateBotInlineSendTypeID = 0x12f12a07
// construct implements constructor of UpdateClass.
func (u UpdateBotInlineSend) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotInlineSend.
var (
_ bin.Encoder = &UpdateBotInlineSend{}
_ bin.Decoder = &UpdateBotInlineSend{}
_ bin.BareEncoder = &UpdateBotInlineSend{}
_ bin.BareDecoder = &UpdateBotInlineSend{}
_ UpdateClass = &UpdateBotInlineSend{}
)
func (u *UpdateBotInlineSend) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.Query == "") {
return false
}
if !(u.Geo == nil) {
return false
}
if !(u.ID == "") {
return false
}
if !(u.MsgID == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotInlineSend) String() string {
if u == nil {
return "UpdateBotInlineSend(nil)"
}
type Alias UpdateBotInlineSend
return fmt.Sprintf("UpdateBotInlineSend%+v", Alias(*u))
}
// FillFrom fills UpdateBotInlineSend from given interface.
func (u *UpdateBotInlineSend) FillFrom(from interface {
GetUserID() (value int64)
GetQuery() (value string)
GetGeo() (value GeoPointClass, ok bool)
GetID() (value string)
GetMsgID() (value InputBotInlineMessageIDClass, ok bool)
}) {
u.UserID = from.GetUserID()
u.Query = from.GetQuery()
if val, ok := from.GetGeo(); ok {
u.Geo = val
}
u.ID = from.GetID()
if val, ok := from.GetMsgID(); ok {
u.MsgID = val
}
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotInlineSend) TypeID() uint32 {
return UpdateBotInlineSendTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotInlineSend) TypeName() string {
return "updateBotInlineSend"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotInlineSend) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotInlineSend",
ID: UpdateBotInlineSendTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Query",
SchemaName: "query",
},
{
Name: "Geo",
SchemaName: "geo",
Null: !u.Flags.Has(0),
},
{
Name: "ID",
SchemaName: "id",
},
{
Name: "MsgID",
SchemaName: "msg_id",
Null: !u.Flags.Has(1),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateBotInlineSend) SetFlags() {
if !(u.Geo == nil) {
u.Flags.Set(0)
}
if !(u.MsgID == nil) {
u.Flags.Set(1)
}
}
// Encode implements bin.Encoder.
func (u *UpdateBotInlineSend) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotInlineSend#12f12a07 as nil")
}
b.PutID(UpdateBotInlineSendTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotInlineSend) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotInlineSend#12f12a07 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotInlineSend#12f12a07: field flags: %w", err)
}
b.PutLong(u.UserID)
b.PutString(u.Query)
if u.Flags.Has(0) {
if u.Geo == nil {
return fmt.Errorf("unable to encode updateBotInlineSend#12f12a07: field geo is nil")
}
if err := u.Geo.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotInlineSend#12f12a07: field geo: %w", err)
}
}
b.PutString(u.ID)
if u.Flags.Has(1) {
if u.MsgID == nil {
return fmt.Errorf("unable to encode updateBotInlineSend#12f12a07: field msg_id is nil")
}
if err := u.MsgID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotInlineSend#12f12a07: field msg_id: %w", err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotInlineSend) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotInlineSend#12f12a07 to nil")
}
if err := b.ConsumeID(UpdateBotInlineSendTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotInlineSend#12f12a07: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotInlineSend) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotInlineSend#12f12a07 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotInlineSend#12f12a07: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineSend#12f12a07: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineSend#12f12a07: field query: %w", err)
}
u.Query = value
}
if u.Flags.Has(0) {
value, err := DecodeGeoPoint(b)
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineSend#12f12a07: field geo: %w", err)
}
u.Geo = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineSend#12f12a07: field id: %w", err)
}
u.ID = value
}
if u.Flags.Has(1) {
value, err := DecodeInputBotInlineMessageID(b)
if err != nil {
return fmt.Errorf("unable to decode updateBotInlineSend#12f12a07: field msg_id: %w", err)
}
u.MsgID = value
}
return nil
}
// GetUserID returns value of UserID field.
func (u *UpdateBotInlineSend) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetQuery returns value of Query field.
func (u *UpdateBotInlineSend) GetQuery() (value string) {
if u == nil {
return
}
return u.Query
}
// SetGeo sets value of Geo conditional field.
func (u *UpdateBotInlineSend) SetGeo(value GeoPointClass) {
u.Flags.Set(0)
u.Geo = value
}
// GetGeo returns value of Geo conditional field and
// boolean which is true if field was set.
func (u *UpdateBotInlineSend) GetGeo() (value GeoPointClass, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.Geo, true
}
// GetID returns value of ID field.
func (u *UpdateBotInlineSend) GetID() (value string) {
if u == nil {
return
}
return u.ID
}
// SetMsgID sets value of MsgID conditional field.
func (u *UpdateBotInlineSend) SetMsgID(value InputBotInlineMessageIDClass) {
u.Flags.Set(1)
u.MsgID = value
}
// GetMsgID returns value of MsgID conditional field and
// boolean which is true if field was set.
func (u *UpdateBotInlineSend) GetMsgID() (value InputBotInlineMessageIDClass, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.MsgID, true
}
// UpdateEditChannelMessage represents TL type `updateEditChannelMessage#1b3f4df7`.
// A message was edited in a channel/supergroup¹
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateEditChannelMessage for reference.
type UpdateEditChannelMessage struct {
// The new message
Message MessageClass
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateEditChannelMessageTypeID is TL type id of UpdateEditChannelMessage.
const UpdateEditChannelMessageTypeID = 0x1b3f4df7
// construct implements constructor of UpdateClass.
func (u UpdateEditChannelMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateEditChannelMessage.
var (
_ bin.Encoder = &UpdateEditChannelMessage{}
_ bin.Decoder = &UpdateEditChannelMessage{}
_ bin.BareEncoder = &UpdateEditChannelMessage{}
_ bin.BareDecoder = &UpdateEditChannelMessage{}
_ UpdateClass = &UpdateEditChannelMessage{}
)
func (u *UpdateEditChannelMessage) Zero() bool {
if u == nil {
return true
}
if !(u.Message == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateEditChannelMessage) String() string {
if u == nil {
return "UpdateEditChannelMessage(nil)"
}
type Alias UpdateEditChannelMessage
return fmt.Sprintf("UpdateEditChannelMessage%+v", Alias(*u))
}
// FillFrom fills UpdateEditChannelMessage from given interface.
func (u *UpdateEditChannelMessage) FillFrom(from interface {
GetMessage() (value MessageClass)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Message = from.GetMessage()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateEditChannelMessage) TypeID() uint32 {
return UpdateEditChannelMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateEditChannelMessage) TypeName() string {
return "updateEditChannelMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateEditChannelMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateEditChannelMessage",
ID: UpdateEditChannelMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Message",
SchemaName: "message",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateEditChannelMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEditChannelMessage#1b3f4df7 as nil")
}
b.PutID(UpdateEditChannelMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateEditChannelMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEditChannelMessage#1b3f4df7 as nil")
}
if u.Message == nil {
return fmt.Errorf("unable to encode updateEditChannelMessage#1b3f4df7: field message is nil")
}
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateEditChannelMessage#1b3f4df7: field message: %w", err)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateEditChannelMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEditChannelMessage#1b3f4df7 to nil")
}
if err := b.ConsumeID(UpdateEditChannelMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateEditChannelMessage#1b3f4df7: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateEditChannelMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEditChannelMessage#1b3f4df7 to nil")
}
{
value, err := DecodeMessage(b)
if err != nil {
return fmt.Errorf("unable to decode updateEditChannelMessage#1b3f4df7: field message: %w", err)
}
u.Message = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateEditChannelMessage#1b3f4df7: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateEditChannelMessage#1b3f4df7: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetMessage returns value of Message field.
func (u *UpdateEditChannelMessage) GetMessage() (value MessageClass) {
if u == nil {
return
}
return u.Message
}
// GetPts returns value of Pts field.
func (u *UpdateEditChannelMessage) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateEditChannelMessage) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateBotCallbackQuery represents TL type `updateBotCallbackQuery#b9cfc48d`.
// A callback button was pressed, and the button data was sent to the bot that created
// the button
//
// See https://core.telegram.org/constructor/updateBotCallbackQuery for reference.
type UpdateBotCallbackQuery struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Query ID
QueryID int64
// ID of the user that pressed the button
UserID int64
// Chat where the inline keyboard was sent
Peer PeerClass
// Message ID
MsgID int
// Global identifier, uniquely corresponding to the chat to which the message with the
// callback button was sent. Useful for high scores in games.
ChatInstance int64
// Callback data
//
// Use SetData and GetData helpers.
Data []byte
// Short name of a Game to be returned, serves as the unique identifier for the game
//
// Use SetGameShortName and GetGameShortName helpers.
GameShortName string
}
// UpdateBotCallbackQueryTypeID is TL type id of UpdateBotCallbackQuery.
const UpdateBotCallbackQueryTypeID = 0xb9cfc48d
// construct implements constructor of UpdateClass.
func (u UpdateBotCallbackQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotCallbackQuery.
var (
_ bin.Encoder = &UpdateBotCallbackQuery{}
_ bin.Decoder = &UpdateBotCallbackQuery{}
_ bin.BareEncoder = &UpdateBotCallbackQuery{}
_ bin.BareDecoder = &UpdateBotCallbackQuery{}
_ UpdateClass = &UpdateBotCallbackQuery{}
)
func (u *UpdateBotCallbackQuery) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.QueryID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.Peer == nil) {
return false
}
if !(u.MsgID == 0) {
return false
}
if !(u.ChatInstance == 0) {
return false
}
if !(u.Data == nil) {
return false
}
if !(u.GameShortName == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotCallbackQuery) String() string {
if u == nil {
return "UpdateBotCallbackQuery(nil)"
}
type Alias UpdateBotCallbackQuery
return fmt.Sprintf("UpdateBotCallbackQuery%+v", Alias(*u))
}
// FillFrom fills UpdateBotCallbackQuery from given interface.
func (u *UpdateBotCallbackQuery) FillFrom(from interface {
GetQueryID() (value int64)
GetUserID() (value int64)
GetPeer() (value PeerClass)
GetMsgID() (value int)
GetChatInstance() (value int64)
GetData() (value []byte, ok bool)
GetGameShortName() (value string, ok bool)
}) {
u.QueryID = from.GetQueryID()
u.UserID = from.GetUserID()
u.Peer = from.GetPeer()
u.MsgID = from.GetMsgID()
u.ChatInstance = from.GetChatInstance()
if val, ok := from.GetData(); ok {
u.Data = val
}
if val, ok := from.GetGameShortName(); ok {
u.GameShortName = val
}
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotCallbackQuery) TypeID() uint32 {
return UpdateBotCallbackQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotCallbackQuery) TypeName() string {
return "updateBotCallbackQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotCallbackQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotCallbackQuery",
ID: UpdateBotCallbackQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "QueryID",
SchemaName: "query_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "MsgID",
SchemaName: "msg_id",
},
{
Name: "ChatInstance",
SchemaName: "chat_instance",
},
{
Name: "Data",
SchemaName: "data",
Null: !u.Flags.Has(0),
},
{
Name: "GameShortName",
SchemaName: "game_short_name",
Null: !u.Flags.Has(1),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateBotCallbackQuery) SetFlags() {
if !(u.Data == nil) {
u.Flags.Set(0)
}
if !(u.GameShortName == "") {
u.Flags.Set(1)
}
}
// Encode implements bin.Encoder.
func (u *UpdateBotCallbackQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotCallbackQuery#b9cfc48d as nil")
}
b.PutID(UpdateBotCallbackQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotCallbackQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotCallbackQuery#b9cfc48d as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotCallbackQuery#b9cfc48d: field flags: %w", err)
}
b.PutLong(u.QueryID)
b.PutLong(u.UserID)
if u.Peer == nil {
return fmt.Errorf("unable to encode updateBotCallbackQuery#b9cfc48d: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotCallbackQuery#b9cfc48d: field peer: %w", err)
}
b.PutInt(u.MsgID)
b.PutLong(u.ChatInstance)
if u.Flags.Has(0) {
b.PutBytes(u.Data)
}
if u.Flags.Has(1) {
b.PutString(u.GameShortName)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotCallbackQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotCallbackQuery#b9cfc48d to nil")
}
if err := b.ConsumeID(UpdateBotCallbackQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotCallbackQuery#b9cfc48d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotCallbackQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotCallbackQuery#b9cfc48d to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotCallbackQuery#b9cfc48d: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotCallbackQuery#b9cfc48d: field query_id: %w", err)
}
u.QueryID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotCallbackQuery#b9cfc48d: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateBotCallbackQuery#b9cfc48d: field peer: %w", err)
}
u.Peer = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateBotCallbackQuery#b9cfc48d: field msg_id: %w", err)
}
u.MsgID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotCallbackQuery#b9cfc48d: field chat_instance: %w", err)
}
u.ChatInstance = value
}
if u.Flags.Has(0) {
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updateBotCallbackQuery#b9cfc48d: field data: %w", err)
}
u.Data = value
}
if u.Flags.Has(1) {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBotCallbackQuery#b9cfc48d: field game_short_name: %w", err)
}
u.GameShortName = value
}
return nil
}
// GetQueryID returns value of QueryID field.
func (u *UpdateBotCallbackQuery) GetQueryID() (value int64) {
if u == nil {
return
}
return u.QueryID
}
// GetUserID returns value of UserID field.
func (u *UpdateBotCallbackQuery) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetPeer returns value of Peer field.
func (u *UpdateBotCallbackQuery) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetMsgID returns value of MsgID field.
func (u *UpdateBotCallbackQuery) GetMsgID() (value int) {
if u == nil {
return
}
return u.MsgID
}
// GetChatInstance returns value of ChatInstance field.
func (u *UpdateBotCallbackQuery) GetChatInstance() (value int64) {
if u == nil {
return
}
return u.ChatInstance
}
// SetData sets value of Data conditional field.
func (u *UpdateBotCallbackQuery) SetData(value []byte) {
u.Flags.Set(0)
u.Data = value
}
// GetData returns value of Data conditional field and
// boolean which is true if field was set.
func (u *UpdateBotCallbackQuery) GetData() (value []byte, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.Data, true
}
// SetGameShortName sets value of GameShortName conditional field.
func (u *UpdateBotCallbackQuery) SetGameShortName(value string) {
u.Flags.Set(1)
u.GameShortName = value
}
// GetGameShortName returns value of GameShortName conditional field and
// boolean which is true if field was set.
func (u *UpdateBotCallbackQuery) GetGameShortName() (value string, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.GameShortName, true
}
// UpdateEditMessage represents TL type `updateEditMessage#e40370a3`.
// A message was edited
//
// See https://core.telegram.org/constructor/updateEditMessage for reference.
type UpdateEditMessage struct {
// The new edited message
Message MessageClass
// PTS¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// PTS count¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateEditMessageTypeID is TL type id of UpdateEditMessage.
const UpdateEditMessageTypeID = 0xe40370a3
// construct implements constructor of UpdateClass.
func (u UpdateEditMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateEditMessage.
var (
_ bin.Encoder = &UpdateEditMessage{}
_ bin.Decoder = &UpdateEditMessage{}
_ bin.BareEncoder = &UpdateEditMessage{}
_ bin.BareDecoder = &UpdateEditMessage{}
_ UpdateClass = &UpdateEditMessage{}
)
func (u *UpdateEditMessage) Zero() bool {
if u == nil {
return true
}
if !(u.Message == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateEditMessage) String() string {
if u == nil {
return "UpdateEditMessage(nil)"
}
type Alias UpdateEditMessage
return fmt.Sprintf("UpdateEditMessage%+v", Alias(*u))
}
// FillFrom fills UpdateEditMessage from given interface.
func (u *UpdateEditMessage) FillFrom(from interface {
GetMessage() (value MessageClass)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Message = from.GetMessage()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateEditMessage) TypeID() uint32 {
return UpdateEditMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateEditMessage) TypeName() string {
return "updateEditMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateEditMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateEditMessage",
ID: UpdateEditMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Message",
SchemaName: "message",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateEditMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEditMessage#e40370a3 as nil")
}
b.PutID(UpdateEditMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateEditMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateEditMessage#e40370a3 as nil")
}
if u.Message == nil {
return fmt.Errorf("unable to encode updateEditMessage#e40370a3: field message is nil")
}
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateEditMessage#e40370a3: field message: %w", err)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateEditMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEditMessage#e40370a3 to nil")
}
if err := b.ConsumeID(UpdateEditMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateEditMessage#e40370a3: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateEditMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateEditMessage#e40370a3 to nil")
}
{
value, err := DecodeMessage(b)
if err != nil {
return fmt.Errorf("unable to decode updateEditMessage#e40370a3: field message: %w", err)
}
u.Message = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateEditMessage#e40370a3: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateEditMessage#e40370a3: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetMessage returns value of Message field.
func (u *UpdateEditMessage) GetMessage() (value MessageClass) {
if u == nil {
return
}
return u.Message
}
// GetPts returns value of Pts field.
func (u *UpdateEditMessage) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateEditMessage) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateInlineBotCallbackQuery represents TL type `updateInlineBotCallbackQuery#691e9052`.
// This notification is received by bots when a button is pressed
//
// See https://core.telegram.org/constructor/updateInlineBotCallbackQuery for reference.
type UpdateInlineBotCallbackQuery struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Query ID
QueryID int64
// ID of the user that pressed the button
UserID int64
// ID of the inline message with the button
MsgID InputBotInlineMessageIDClass
// Global identifier, uniquely corresponding to the chat to which the message with the
// callback button was sent. Useful for high scores in games.
ChatInstance int64
// Data associated with the callback button. Be aware that a bad client can send
// arbitrary data in this field.
//
// Use SetData and GetData helpers.
Data []byte
// Short name of a Game to be returned, serves as the unique identifier for the game
//
// Use SetGameShortName and GetGameShortName helpers.
GameShortName string
}
// UpdateInlineBotCallbackQueryTypeID is TL type id of UpdateInlineBotCallbackQuery.
const UpdateInlineBotCallbackQueryTypeID = 0x691e9052
// construct implements constructor of UpdateClass.
func (u UpdateInlineBotCallbackQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateInlineBotCallbackQuery.
var (
_ bin.Encoder = &UpdateInlineBotCallbackQuery{}
_ bin.Decoder = &UpdateInlineBotCallbackQuery{}
_ bin.BareEncoder = &UpdateInlineBotCallbackQuery{}
_ bin.BareDecoder = &UpdateInlineBotCallbackQuery{}
_ UpdateClass = &UpdateInlineBotCallbackQuery{}
)
func (u *UpdateInlineBotCallbackQuery) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.QueryID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.MsgID == nil) {
return false
}
if !(u.ChatInstance == 0) {
return false
}
if !(u.Data == nil) {
return false
}
if !(u.GameShortName == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateInlineBotCallbackQuery) String() string {
if u == nil {
return "UpdateInlineBotCallbackQuery(nil)"
}
type Alias UpdateInlineBotCallbackQuery
return fmt.Sprintf("UpdateInlineBotCallbackQuery%+v", Alias(*u))
}
// FillFrom fills UpdateInlineBotCallbackQuery from given interface.
func (u *UpdateInlineBotCallbackQuery) FillFrom(from interface {
GetQueryID() (value int64)
GetUserID() (value int64)
GetMsgID() (value InputBotInlineMessageIDClass)
GetChatInstance() (value int64)
GetData() (value []byte, ok bool)
GetGameShortName() (value string, ok bool)
}) {
u.QueryID = from.GetQueryID()
u.UserID = from.GetUserID()
u.MsgID = from.GetMsgID()
u.ChatInstance = from.GetChatInstance()
if val, ok := from.GetData(); ok {
u.Data = val
}
if val, ok := from.GetGameShortName(); ok {
u.GameShortName = val
}
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateInlineBotCallbackQuery) TypeID() uint32 {
return UpdateInlineBotCallbackQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateInlineBotCallbackQuery) TypeName() string {
return "updateInlineBotCallbackQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateInlineBotCallbackQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateInlineBotCallbackQuery",
ID: UpdateInlineBotCallbackQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "QueryID",
SchemaName: "query_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "MsgID",
SchemaName: "msg_id",
},
{
Name: "ChatInstance",
SchemaName: "chat_instance",
},
{
Name: "Data",
SchemaName: "data",
Null: !u.Flags.Has(0),
},
{
Name: "GameShortName",
SchemaName: "game_short_name",
Null: !u.Flags.Has(1),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateInlineBotCallbackQuery) SetFlags() {
if !(u.Data == nil) {
u.Flags.Set(0)
}
if !(u.GameShortName == "") {
u.Flags.Set(1)
}
}
// Encode implements bin.Encoder.
func (u *UpdateInlineBotCallbackQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateInlineBotCallbackQuery#691e9052 as nil")
}
b.PutID(UpdateInlineBotCallbackQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateInlineBotCallbackQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateInlineBotCallbackQuery#691e9052 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateInlineBotCallbackQuery#691e9052: field flags: %w", err)
}
b.PutLong(u.QueryID)
b.PutLong(u.UserID)
if u.MsgID == nil {
return fmt.Errorf("unable to encode updateInlineBotCallbackQuery#691e9052: field msg_id is nil")
}
if err := u.MsgID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateInlineBotCallbackQuery#691e9052: field msg_id: %w", err)
}
b.PutLong(u.ChatInstance)
if u.Flags.Has(0) {
b.PutBytes(u.Data)
}
if u.Flags.Has(1) {
b.PutString(u.GameShortName)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateInlineBotCallbackQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateInlineBotCallbackQuery#691e9052 to nil")
}
if err := b.ConsumeID(UpdateInlineBotCallbackQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateInlineBotCallbackQuery#691e9052: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateInlineBotCallbackQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateInlineBotCallbackQuery#691e9052 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateInlineBotCallbackQuery#691e9052: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateInlineBotCallbackQuery#691e9052: field query_id: %w", err)
}
u.QueryID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateInlineBotCallbackQuery#691e9052: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := DecodeInputBotInlineMessageID(b)
if err != nil {
return fmt.Errorf("unable to decode updateInlineBotCallbackQuery#691e9052: field msg_id: %w", err)
}
u.MsgID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateInlineBotCallbackQuery#691e9052: field chat_instance: %w", err)
}
u.ChatInstance = value
}
if u.Flags.Has(0) {
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updateInlineBotCallbackQuery#691e9052: field data: %w", err)
}
u.Data = value
}
if u.Flags.Has(1) {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateInlineBotCallbackQuery#691e9052: field game_short_name: %w", err)
}
u.GameShortName = value
}
return nil
}
// GetQueryID returns value of QueryID field.
func (u *UpdateInlineBotCallbackQuery) GetQueryID() (value int64) {
if u == nil {
return
}
return u.QueryID
}
// GetUserID returns value of UserID field.
func (u *UpdateInlineBotCallbackQuery) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetMsgID returns value of MsgID field.
func (u *UpdateInlineBotCallbackQuery) GetMsgID() (value InputBotInlineMessageIDClass) {
if u == nil {
return
}
return u.MsgID
}
// GetChatInstance returns value of ChatInstance field.
func (u *UpdateInlineBotCallbackQuery) GetChatInstance() (value int64) {
if u == nil {
return
}
return u.ChatInstance
}
// SetData sets value of Data conditional field.
func (u *UpdateInlineBotCallbackQuery) SetData(value []byte) {
u.Flags.Set(0)
u.Data = value
}
// GetData returns value of Data conditional field and
// boolean which is true if field was set.
func (u *UpdateInlineBotCallbackQuery) GetData() (value []byte, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.Data, true
}
// SetGameShortName sets value of GameShortName conditional field.
func (u *UpdateInlineBotCallbackQuery) SetGameShortName(value string) {
u.Flags.Set(1)
u.GameShortName = value
}
// GetGameShortName returns value of GameShortName conditional field and
// boolean which is true if field was set.
func (u *UpdateInlineBotCallbackQuery) GetGameShortName() (value string, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.GameShortName, true
}
// UpdateReadChannelOutbox represents TL type `updateReadChannelOutbox#b75f99a9`.
// Outgoing messages in a channel/supergroup¹ were read
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateReadChannelOutbox for reference.
type UpdateReadChannelOutbox struct {
// Channel/supergroup ID
ChannelID int64
// Position up to which all outgoing messages are read.
MaxID int
}
// UpdateReadChannelOutboxTypeID is TL type id of UpdateReadChannelOutbox.
const UpdateReadChannelOutboxTypeID = 0xb75f99a9
// construct implements constructor of UpdateClass.
func (u UpdateReadChannelOutbox) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateReadChannelOutbox.
var (
_ bin.Encoder = &UpdateReadChannelOutbox{}
_ bin.Decoder = &UpdateReadChannelOutbox{}
_ bin.BareEncoder = &UpdateReadChannelOutbox{}
_ bin.BareDecoder = &UpdateReadChannelOutbox{}
_ UpdateClass = &UpdateReadChannelOutbox{}
)
func (u *UpdateReadChannelOutbox) Zero() bool {
if u == nil {
return true
}
if !(u.ChannelID == 0) {
return false
}
if !(u.MaxID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateReadChannelOutbox) String() string {
if u == nil {
return "UpdateReadChannelOutbox(nil)"
}
type Alias UpdateReadChannelOutbox
return fmt.Sprintf("UpdateReadChannelOutbox%+v", Alias(*u))
}
// FillFrom fills UpdateReadChannelOutbox from given interface.
func (u *UpdateReadChannelOutbox) FillFrom(from interface {
GetChannelID() (value int64)
GetMaxID() (value int)
}) {
u.ChannelID = from.GetChannelID()
u.MaxID = from.GetMaxID()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateReadChannelOutbox) TypeID() uint32 {
return UpdateReadChannelOutboxTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateReadChannelOutbox) TypeName() string {
return "updateReadChannelOutbox"
}
// TypeInfo returns info about TL type.
func (u *UpdateReadChannelOutbox) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateReadChannelOutbox",
ID: UpdateReadChannelOutboxTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "MaxID",
SchemaName: "max_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateReadChannelOutbox) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadChannelOutbox#b75f99a9 as nil")
}
b.PutID(UpdateReadChannelOutboxTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateReadChannelOutbox) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadChannelOutbox#b75f99a9 as nil")
}
b.PutLong(u.ChannelID)
b.PutInt(u.MaxID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateReadChannelOutbox) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadChannelOutbox#b75f99a9 to nil")
}
if err := b.ConsumeID(UpdateReadChannelOutboxTypeID); err != nil {
return fmt.Errorf("unable to decode updateReadChannelOutbox#b75f99a9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateReadChannelOutbox) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadChannelOutbox#b75f99a9 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelOutbox#b75f99a9: field channel_id: %w", err)
}
u.ChannelID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelOutbox#b75f99a9: field max_id: %w", err)
}
u.MaxID = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateReadChannelOutbox) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetMaxID returns value of MaxID field.
func (u *UpdateReadChannelOutbox) GetMaxID() (value int) {
if u == nil {
return
}
return u.MaxID
}
// UpdateDraftMessage represents TL type `updateDraftMessage#ee2bb969`.
// Notifies a change of a message draft¹.
//
// Links:
// 1) https://core.telegram.org/api/drafts
//
// See https://core.telegram.org/constructor/updateDraftMessage for reference.
type UpdateDraftMessage struct {
// The peer to which the draft is associated
Peer PeerClass
// The draft
Draft DraftMessageClass
}
// UpdateDraftMessageTypeID is TL type id of UpdateDraftMessage.
const UpdateDraftMessageTypeID = 0xee2bb969
// construct implements constructor of UpdateClass.
func (u UpdateDraftMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDraftMessage.
var (
_ bin.Encoder = &UpdateDraftMessage{}
_ bin.Decoder = &UpdateDraftMessage{}
_ bin.BareEncoder = &UpdateDraftMessage{}
_ bin.BareDecoder = &UpdateDraftMessage{}
_ UpdateClass = &UpdateDraftMessage{}
)
func (u *UpdateDraftMessage) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.Draft == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDraftMessage) String() string {
if u == nil {
return "UpdateDraftMessage(nil)"
}
type Alias UpdateDraftMessage
return fmt.Sprintf("UpdateDraftMessage%+v", Alias(*u))
}
// FillFrom fills UpdateDraftMessage from given interface.
func (u *UpdateDraftMessage) FillFrom(from interface {
GetPeer() (value PeerClass)
GetDraft() (value DraftMessageClass)
}) {
u.Peer = from.GetPeer()
u.Draft = from.GetDraft()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDraftMessage) TypeID() uint32 {
return UpdateDraftMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDraftMessage) TypeName() string {
return "updateDraftMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateDraftMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDraftMessage",
ID: UpdateDraftMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "Draft",
SchemaName: "draft",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDraftMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDraftMessage#ee2bb969 as nil")
}
b.PutID(UpdateDraftMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDraftMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDraftMessage#ee2bb969 as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateDraftMessage#ee2bb969: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDraftMessage#ee2bb969: field peer: %w", err)
}
if u.Draft == nil {
return fmt.Errorf("unable to encode updateDraftMessage#ee2bb969: field draft is nil")
}
if err := u.Draft.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDraftMessage#ee2bb969: field draft: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDraftMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDraftMessage#ee2bb969 to nil")
}
if err := b.ConsumeID(UpdateDraftMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateDraftMessage#ee2bb969: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDraftMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDraftMessage#ee2bb969 to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateDraftMessage#ee2bb969: field peer: %w", err)
}
u.Peer = value
}
{
value, err := DecodeDraftMessage(b)
if err != nil {
return fmt.Errorf("unable to decode updateDraftMessage#ee2bb969: field draft: %w", err)
}
u.Draft = value
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdateDraftMessage) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetDraft returns value of Draft field.
func (u *UpdateDraftMessage) GetDraft() (value DraftMessageClass) {
if u == nil {
return
}
return u.Draft
}
// UpdateReadFeaturedStickers represents TL type `updateReadFeaturedStickers#571d2742`.
// Some featured stickers were marked as read
//
// See https://core.telegram.org/constructor/updateReadFeaturedStickers for reference.
type UpdateReadFeaturedStickers struct {
}
// UpdateReadFeaturedStickersTypeID is TL type id of UpdateReadFeaturedStickers.
const UpdateReadFeaturedStickersTypeID = 0x571d2742
// construct implements constructor of UpdateClass.
func (u UpdateReadFeaturedStickers) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateReadFeaturedStickers.
var (
_ bin.Encoder = &UpdateReadFeaturedStickers{}
_ bin.Decoder = &UpdateReadFeaturedStickers{}
_ bin.BareEncoder = &UpdateReadFeaturedStickers{}
_ bin.BareDecoder = &UpdateReadFeaturedStickers{}
_ UpdateClass = &UpdateReadFeaturedStickers{}
)
func (u *UpdateReadFeaturedStickers) Zero() bool {
if u == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateReadFeaturedStickers) String() string {
if u == nil {
return "UpdateReadFeaturedStickers(nil)"
}
type Alias UpdateReadFeaturedStickers
return fmt.Sprintf("UpdateReadFeaturedStickers%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateReadFeaturedStickers) TypeID() uint32 {
return UpdateReadFeaturedStickersTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateReadFeaturedStickers) TypeName() string {
return "updateReadFeaturedStickers"
}
// TypeInfo returns info about TL type.
func (u *UpdateReadFeaturedStickers) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateReadFeaturedStickers",
ID: UpdateReadFeaturedStickersTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateReadFeaturedStickers) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadFeaturedStickers#571d2742 as nil")
}
b.PutID(UpdateReadFeaturedStickersTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateReadFeaturedStickers) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadFeaturedStickers#571d2742 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateReadFeaturedStickers) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadFeaturedStickers#571d2742 to nil")
}
if err := b.ConsumeID(UpdateReadFeaturedStickersTypeID); err != nil {
return fmt.Errorf("unable to decode updateReadFeaturedStickers#571d2742: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateReadFeaturedStickers) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadFeaturedStickers#571d2742 to nil")
}
return nil
}
// UpdateRecentStickers represents TL type `updateRecentStickers#9a422c20`.
// The recent sticker list was updated
//
// See https://core.telegram.org/constructor/updateRecentStickers for reference.
type UpdateRecentStickers struct {
}
// UpdateRecentStickersTypeID is TL type id of UpdateRecentStickers.
const UpdateRecentStickersTypeID = 0x9a422c20
// 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
}
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{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateRecentStickers) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateRecentStickers#9a422c20 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#9a422c20 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateRecentStickers) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateRecentStickers#9a422c20 to nil")
}
if err := b.ConsumeID(UpdateRecentStickersTypeID); err != nil {
return fmt.Errorf("unable to decode updateRecentStickers#9a422c20: %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#9a422c20 to nil")
}
return nil
}
// UpdateConfig represents TL type `updateConfig#a229dd06`.
// The server-side configuration has changed; the client should re-fetch the config using
// help.getConfig¹
//
// Links:
// 1) https://core.telegram.org/method/help.getConfig
//
// See https://core.telegram.org/constructor/updateConfig for reference.
type UpdateConfig struct {
}
// UpdateConfigTypeID is TL type id of UpdateConfig.
const UpdateConfigTypeID = 0xa229dd06
// construct implements constructor of UpdateClass.
func (u UpdateConfig) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateConfig.
var (
_ bin.Encoder = &UpdateConfig{}
_ bin.Decoder = &UpdateConfig{}
_ bin.BareEncoder = &UpdateConfig{}
_ bin.BareDecoder = &UpdateConfig{}
_ UpdateClass = &UpdateConfig{}
)
func (u *UpdateConfig) Zero() bool {
if u == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateConfig) String() string {
if u == nil {
return "UpdateConfig(nil)"
}
type Alias UpdateConfig
return fmt.Sprintf("UpdateConfig%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateConfig) TypeID() uint32 {
return UpdateConfigTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateConfig) TypeName() string {
return "updateConfig"
}
// TypeInfo returns info about TL type.
func (u *UpdateConfig) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateConfig",
ID: UpdateConfigTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateConfig) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateConfig#a229dd06 as nil")
}
b.PutID(UpdateConfigTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateConfig) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateConfig#a229dd06 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateConfig) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateConfig#a229dd06 to nil")
}
if err := b.ConsumeID(UpdateConfigTypeID); err != nil {
return fmt.Errorf("unable to decode updateConfig#a229dd06: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateConfig) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateConfig#a229dd06 to nil")
}
return nil
}
// UpdatePtsChanged represents TL type `updatePtsChanged#3354678f`.
// Common message box sequence PTS¹ has changed, state has to be refetched using updates
// getState²
//
// Links:
// 1) https://core.telegram.org/api/updates
// 2) https://core.telegram.org/api/updates#fetching-state
//
// See https://core.telegram.org/constructor/updatePtsChanged for reference.
type UpdatePtsChanged struct {
}
// UpdatePtsChangedTypeID is TL type id of UpdatePtsChanged.
const UpdatePtsChangedTypeID = 0x3354678f
// construct implements constructor of UpdateClass.
func (u UpdatePtsChanged) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePtsChanged.
var (
_ bin.Encoder = &UpdatePtsChanged{}
_ bin.Decoder = &UpdatePtsChanged{}
_ bin.BareEncoder = &UpdatePtsChanged{}
_ bin.BareDecoder = &UpdatePtsChanged{}
_ UpdateClass = &UpdatePtsChanged{}
)
func (u *UpdatePtsChanged) Zero() bool {
if u == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePtsChanged) String() string {
if u == nil {
return "UpdatePtsChanged(nil)"
}
type Alias UpdatePtsChanged
return fmt.Sprintf("UpdatePtsChanged%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePtsChanged) TypeID() uint32 {
return UpdatePtsChangedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePtsChanged) TypeName() string {
return "updatePtsChanged"
}
// TypeInfo returns info about TL type.
func (u *UpdatePtsChanged) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePtsChanged",
ID: UpdatePtsChangedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePtsChanged) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePtsChanged#3354678f as nil")
}
b.PutID(UpdatePtsChangedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePtsChanged) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePtsChanged#3354678f as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePtsChanged) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePtsChanged#3354678f to nil")
}
if err := b.ConsumeID(UpdatePtsChangedTypeID); err != nil {
return fmt.Errorf("unable to decode updatePtsChanged#3354678f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePtsChanged) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePtsChanged#3354678f to nil")
}
return nil
}
// UpdateChannelWebPage represents TL type `updateChannelWebPage#2f2ba99f`.
// A webpage preview of a link in a channel/supergroup¹ message was generated
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateChannelWebPage for reference.
type UpdateChannelWebPage struct {
// Channel/supergroup¹ ID
//
// Links:
// 1) https://core.telegram.org/api/channel
ChannelID int64
// Generated webpage preview
Webpage WebPageClass
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateChannelWebPageTypeID is TL type id of UpdateChannelWebPage.
const UpdateChannelWebPageTypeID = 0x2f2ba99f
// construct implements constructor of UpdateClass.
func (u UpdateChannelWebPage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChannelWebPage.
var (
_ bin.Encoder = &UpdateChannelWebPage{}
_ bin.Decoder = &UpdateChannelWebPage{}
_ bin.BareEncoder = &UpdateChannelWebPage{}
_ bin.BareDecoder = &UpdateChannelWebPage{}
_ UpdateClass = &UpdateChannelWebPage{}
)
func (u *UpdateChannelWebPage) Zero() bool {
if u == nil {
return true
}
if !(u.ChannelID == 0) {
return false
}
if !(u.Webpage == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChannelWebPage) String() string {
if u == nil {
return "UpdateChannelWebPage(nil)"
}
type Alias UpdateChannelWebPage
return fmt.Sprintf("UpdateChannelWebPage%+v", Alias(*u))
}
// FillFrom fills UpdateChannelWebPage from given interface.
func (u *UpdateChannelWebPage) FillFrom(from interface {
GetChannelID() (value int64)
GetWebpage() (value WebPageClass)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.ChannelID = from.GetChannelID()
u.Webpage = from.GetWebpage()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChannelWebPage) TypeID() uint32 {
return UpdateChannelWebPageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChannelWebPage) TypeName() string {
return "updateChannelWebPage"
}
// TypeInfo returns info about TL type.
func (u *UpdateChannelWebPage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChannelWebPage",
ID: UpdateChannelWebPageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "Webpage",
SchemaName: "webpage",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChannelWebPage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelWebPage#2f2ba99f as nil")
}
b.PutID(UpdateChannelWebPageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChannelWebPage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelWebPage#2f2ba99f as nil")
}
b.PutLong(u.ChannelID)
if u.Webpage == nil {
return fmt.Errorf("unable to encode updateChannelWebPage#2f2ba99f: field webpage is nil")
}
if err := u.Webpage.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChannelWebPage#2f2ba99f: field webpage: %w", err)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChannelWebPage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelWebPage#2f2ba99f to nil")
}
if err := b.ConsumeID(UpdateChannelWebPageTypeID); err != nil {
return fmt.Errorf("unable to decode updateChannelWebPage#2f2ba99f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChannelWebPage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelWebPage#2f2ba99f to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelWebPage#2f2ba99f: field channel_id: %w", err)
}
u.ChannelID = value
}
{
value, err := DecodeWebPage(b)
if err != nil {
return fmt.Errorf("unable to decode updateChannelWebPage#2f2ba99f: field webpage: %w", err)
}
u.Webpage = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelWebPage#2f2ba99f: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelWebPage#2f2ba99f: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateChannelWebPage) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetWebpage returns value of Webpage field.
func (u *UpdateChannelWebPage) GetWebpage() (value WebPageClass) {
if u == nil {
return
}
return u.Webpage
}
// GetPts returns value of Pts field.
func (u *UpdateChannelWebPage) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateChannelWebPage) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateDialogPinned represents TL type `updateDialogPinned#6e6fe51c`.
// A dialog was pinned/unpinned
//
// See https://core.telegram.org/constructor/updateDialogPinned for reference.
type UpdateDialogPinned struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Whether the dialog was pinned
Pinned bool
// Peer folder ID, for more info click here¹
//
// Links:
// 1) https://core.telegram.org/api/folders#peer-folders
//
// Use SetFolderID and GetFolderID helpers.
FolderID int
// The dialog
Peer DialogPeerClass
}
// UpdateDialogPinnedTypeID is TL type id of UpdateDialogPinned.
const UpdateDialogPinnedTypeID = 0x6e6fe51c
// construct implements constructor of UpdateClass.
func (u UpdateDialogPinned) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDialogPinned.
var (
_ bin.Encoder = &UpdateDialogPinned{}
_ bin.Decoder = &UpdateDialogPinned{}
_ bin.BareEncoder = &UpdateDialogPinned{}
_ bin.BareDecoder = &UpdateDialogPinned{}
_ UpdateClass = &UpdateDialogPinned{}
)
func (u *UpdateDialogPinned) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.Pinned == false) {
return false
}
if !(u.FolderID == 0) {
return false
}
if !(u.Peer == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDialogPinned) String() string {
if u == nil {
return "UpdateDialogPinned(nil)"
}
type Alias UpdateDialogPinned
return fmt.Sprintf("UpdateDialogPinned%+v", Alias(*u))
}
// FillFrom fills UpdateDialogPinned from given interface.
func (u *UpdateDialogPinned) FillFrom(from interface {
GetPinned() (value bool)
GetFolderID() (value int, ok bool)
GetPeer() (value DialogPeerClass)
}) {
u.Pinned = from.GetPinned()
if val, ok := from.GetFolderID(); ok {
u.FolderID = val
}
u.Peer = from.GetPeer()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDialogPinned) TypeID() uint32 {
return UpdateDialogPinnedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDialogPinned) TypeName() string {
return "updateDialogPinned"
}
// TypeInfo returns info about TL type.
func (u *UpdateDialogPinned) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDialogPinned",
ID: UpdateDialogPinnedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Pinned",
SchemaName: "pinned",
Null: !u.Flags.Has(0),
},
{
Name: "FolderID",
SchemaName: "folder_id",
Null: !u.Flags.Has(1),
},
{
Name: "Peer",
SchemaName: "peer",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateDialogPinned) SetFlags() {
if !(u.Pinned == false) {
u.Flags.Set(0)
}
if !(u.FolderID == 0) {
u.Flags.Set(1)
}
}
// Encode implements bin.Encoder.
func (u *UpdateDialogPinned) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogPinned#6e6fe51c as nil")
}
b.PutID(UpdateDialogPinnedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDialogPinned) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogPinned#6e6fe51c as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDialogPinned#6e6fe51c: field flags: %w", err)
}
if u.Flags.Has(1) {
b.PutInt(u.FolderID)
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateDialogPinned#6e6fe51c: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDialogPinned#6e6fe51c: field peer: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDialogPinned) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogPinned#6e6fe51c to nil")
}
if err := b.ConsumeID(UpdateDialogPinnedTypeID); err != nil {
return fmt.Errorf("unable to decode updateDialogPinned#6e6fe51c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDialogPinned) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogPinned#6e6fe51c to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateDialogPinned#6e6fe51c: field flags: %w", err)
}
}
u.Pinned = u.Flags.Has(0)
if u.Flags.Has(1) {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDialogPinned#6e6fe51c: field folder_id: %w", err)
}
u.FolderID = value
}
{
value, err := DecodeDialogPeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateDialogPinned#6e6fe51c: field peer: %w", err)
}
u.Peer = value
}
return nil
}
// SetPinned sets value of Pinned conditional field.
func (u *UpdateDialogPinned) SetPinned(value bool) {
if value {
u.Flags.Set(0)
u.Pinned = true
} else {
u.Flags.Unset(0)
u.Pinned = false
}
}
// GetPinned returns value of Pinned conditional field.
func (u *UpdateDialogPinned) GetPinned() (value bool) {
if u == nil {
return
}
return u.Flags.Has(0)
}
// SetFolderID sets value of FolderID conditional field.
func (u *UpdateDialogPinned) SetFolderID(value int) {
u.Flags.Set(1)
u.FolderID = value
}
// GetFolderID returns value of FolderID conditional field and
// boolean which is true if field was set.
func (u *UpdateDialogPinned) GetFolderID() (value int, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.FolderID, true
}
// GetPeer returns value of Peer field.
func (u *UpdateDialogPinned) GetPeer() (value DialogPeerClass) {
if u == nil {
return
}
return u.Peer
}
// UpdatePinnedDialogs represents TL type `updatePinnedDialogs#fa0f3ca2`.
// Pinned dialogs were updated
//
// See https://core.telegram.org/constructor/updatePinnedDialogs for reference.
type UpdatePinnedDialogs struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Peer folder ID, for more info click here¹
//
// Links:
// 1) https://core.telegram.org/api/folders#peer-folders
//
// Use SetFolderID and GetFolderID helpers.
FolderID int
// New order of pinned dialogs
//
// Use SetOrder and GetOrder helpers.
Order []DialogPeerClass
}
// UpdatePinnedDialogsTypeID is TL type id of UpdatePinnedDialogs.
const UpdatePinnedDialogsTypeID = 0xfa0f3ca2
// construct implements constructor of UpdateClass.
func (u UpdatePinnedDialogs) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePinnedDialogs.
var (
_ bin.Encoder = &UpdatePinnedDialogs{}
_ bin.Decoder = &UpdatePinnedDialogs{}
_ bin.BareEncoder = &UpdatePinnedDialogs{}
_ bin.BareDecoder = &UpdatePinnedDialogs{}
_ UpdateClass = &UpdatePinnedDialogs{}
)
func (u *UpdatePinnedDialogs) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.FolderID == 0) {
return false
}
if !(u.Order == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePinnedDialogs) String() string {
if u == nil {
return "UpdatePinnedDialogs(nil)"
}
type Alias UpdatePinnedDialogs
return fmt.Sprintf("UpdatePinnedDialogs%+v", Alias(*u))
}
// FillFrom fills UpdatePinnedDialogs from given interface.
func (u *UpdatePinnedDialogs) FillFrom(from interface {
GetFolderID() (value int, ok bool)
GetOrder() (value []DialogPeerClass, ok bool)
}) {
if val, ok := from.GetFolderID(); ok {
u.FolderID = val
}
if val, ok := from.GetOrder(); ok {
u.Order = val
}
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePinnedDialogs) TypeID() uint32 {
return UpdatePinnedDialogsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePinnedDialogs) TypeName() string {
return "updatePinnedDialogs"
}
// TypeInfo returns info about TL type.
func (u *UpdatePinnedDialogs) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePinnedDialogs",
ID: UpdatePinnedDialogsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "FolderID",
SchemaName: "folder_id",
Null: !u.Flags.Has(1),
},
{
Name: "Order",
SchemaName: "order",
Null: !u.Flags.Has(0),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdatePinnedDialogs) SetFlags() {
if !(u.FolderID == 0) {
u.Flags.Set(1)
}
if !(u.Order == nil) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdatePinnedDialogs) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePinnedDialogs#fa0f3ca2 as nil")
}
b.PutID(UpdatePinnedDialogsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePinnedDialogs) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePinnedDialogs#fa0f3ca2 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePinnedDialogs#fa0f3ca2: field flags: %w", err)
}
if u.Flags.Has(1) {
b.PutInt(u.FolderID)
}
if u.Flags.Has(0) {
b.PutVectorHeader(len(u.Order))
for idx, v := range u.Order {
if v == nil {
return fmt.Errorf("unable to encode updatePinnedDialogs#fa0f3ca2: field order element with index %d is nil", idx)
}
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePinnedDialogs#fa0f3ca2: field order element with index %d: %w", idx, err)
}
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePinnedDialogs) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePinnedDialogs#fa0f3ca2 to nil")
}
if err := b.ConsumeID(UpdatePinnedDialogsTypeID); err != nil {
return fmt.Errorf("unable to decode updatePinnedDialogs#fa0f3ca2: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePinnedDialogs) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePinnedDialogs#fa0f3ca2 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updatePinnedDialogs#fa0f3ca2: field flags: %w", err)
}
}
if u.Flags.Has(1) {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedDialogs#fa0f3ca2: field folder_id: %w", err)
}
u.FolderID = value
}
if u.Flags.Has(0) {
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedDialogs#fa0f3ca2: field order: %w", err)
}
if headerLen > 0 {
u.Order = make([]DialogPeerClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodeDialogPeer(b)
if err != nil {
return fmt.Errorf("unable to decode updatePinnedDialogs#fa0f3ca2: field order: %w", err)
}
u.Order = append(u.Order, value)
}
}
return nil
}
// SetFolderID sets value of FolderID conditional field.
func (u *UpdatePinnedDialogs) SetFolderID(value int) {
u.Flags.Set(1)
u.FolderID = value
}
// GetFolderID returns value of FolderID conditional field and
// boolean which is true if field was set.
func (u *UpdatePinnedDialogs) GetFolderID() (value int, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.FolderID, true
}
// SetOrder sets value of Order conditional field.
func (u *UpdatePinnedDialogs) SetOrder(value []DialogPeerClass) {
u.Flags.Set(0)
u.Order = value
}
// GetOrder returns value of Order conditional field and
// boolean which is true if field was set.
func (u *UpdatePinnedDialogs) GetOrder() (value []DialogPeerClass, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.Order, true
}
// MapOrder returns field Order wrapped in DialogPeerClassArray helper.
func (u *UpdatePinnedDialogs) MapOrder() (value DialogPeerClassArray, ok bool) {
if !u.Flags.Has(0) {
return value, false
}
return DialogPeerClassArray(u.Order), true
}
// UpdateBotWebhookJSON represents TL type `updateBotWebhookJSON#8317c0c3`.
// A new incoming event; for bots only
//
// See https://core.telegram.org/constructor/updateBotWebhookJSON for reference.
type UpdateBotWebhookJSON struct {
// The event
Data DataJSON
}
// UpdateBotWebhookJSONTypeID is TL type id of UpdateBotWebhookJSON.
const UpdateBotWebhookJSONTypeID = 0x8317c0c3
// construct implements constructor of UpdateClass.
func (u UpdateBotWebhookJSON) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotWebhookJSON.
var (
_ bin.Encoder = &UpdateBotWebhookJSON{}
_ bin.Decoder = &UpdateBotWebhookJSON{}
_ bin.BareEncoder = &UpdateBotWebhookJSON{}
_ bin.BareDecoder = &UpdateBotWebhookJSON{}
_ UpdateClass = &UpdateBotWebhookJSON{}
)
func (u *UpdateBotWebhookJSON) Zero() bool {
if u == nil {
return true
}
if !(u.Data.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotWebhookJSON) String() string {
if u == nil {
return "UpdateBotWebhookJSON(nil)"
}
type Alias UpdateBotWebhookJSON
return fmt.Sprintf("UpdateBotWebhookJSON%+v", Alias(*u))
}
// FillFrom fills UpdateBotWebhookJSON from given interface.
func (u *UpdateBotWebhookJSON) FillFrom(from interface {
GetData() (value DataJSON)
}) {
u.Data = from.GetData()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotWebhookJSON) TypeID() uint32 {
return UpdateBotWebhookJSONTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotWebhookJSON) TypeName() string {
return "updateBotWebhookJSON"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotWebhookJSON) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotWebhookJSON",
ID: UpdateBotWebhookJSONTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Data",
SchemaName: "data",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBotWebhookJSON) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotWebhookJSON#8317c0c3 as nil")
}
b.PutID(UpdateBotWebhookJSONTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotWebhookJSON) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotWebhookJSON#8317c0c3 as nil")
}
if err := u.Data.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotWebhookJSON#8317c0c3: field data: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotWebhookJSON) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotWebhookJSON#8317c0c3 to nil")
}
if err := b.ConsumeID(UpdateBotWebhookJSONTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotWebhookJSON#8317c0c3: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotWebhookJSON) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotWebhookJSON#8317c0c3 to nil")
}
{
if err := u.Data.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotWebhookJSON#8317c0c3: field data: %w", err)
}
}
return nil
}
// GetData returns value of Data field.
func (u *UpdateBotWebhookJSON) GetData() (value DataJSON) {
if u == nil {
return
}
return u.Data
}
// UpdateBotWebhookJSONQuery represents TL type `updateBotWebhookJSONQuery#9b9240a6`.
// A new incoming query; for bots only
//
// See https://core.telegram.org/constructor/updateBotWebhookJSONQuery for reference.
type UpdateBotWebhookJSONQuery struct {
// Query identifier
QueryID int64
// Query data
Data DataJSON
// Query timeout
Timeout int
}
// UpdateBotWebhookJSONQueryTypeID is TL type id of UpdateBotWebhookJSONQuery.
const UpdateBotWebhookJSONQueryTypeID = 0x9b9240a6
// construct implements constructor of UpdateClass.
func (u UpdateBotWebhookJSONQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotWebhookJSONQuery.
var (
_ bin.Encoder = &UpdateBotWebhookJSONQuery{}
_ bin.Decoder = &UpdateBotWebhookJSONQuery{}
_ bin.BareEncoder = &UpdateBotWebhookJSONQuery{}
_ bin.BareDecoder = &UpdateBotWebhookJSONQuery{}
_ UpdateClass = &UpdateBotWebhookJSONQuery{}
)
func (u *UpdateBotWebhookJSONQuery) Zero() bool {
if u == nil {
return true
}
if !(u.QueryID == 0) {
return false
}
if !(u.Data.Zero()) {
return false
}
if !(u.Timeout == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotWebhookJSONQuery) String() string {
if u == nil {
return "UpdateBotWebhookJSONQuery(nil)"
}
type Alias UpdateBotWebhookJSONQuery
return fmt.Sprintf("UpdateBotWebhookJSONQuery%+v", Alias(*u))
}
// FillFrom fills UpdateBotWebhookJSONQuery from given interface.
func (u *UpdateBotWebhookJSONQuery) FillFrom(from interface {
GetQueryID() (value int64)
GetData() (value DataJSON)
GetTimeout() (value int)
}) {
u.QueryID = from.GetQueryID()
u.Data = from.GetData()
u.Timeout = from.GetTimeout()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotWebhookJSONQuery) TypeID() uint32 {
return UpdateBotWebhookJSONQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotWebhookJSONQuery) TypeName() string {
return "updateBotWebhookJSONQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotWebhookJSONQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotWebhookJSONQuery",
ID: UpdateBotWebhookJSONQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "QueryID",
SchemaName: "query_id",
},
{
Name: "Data",
SchemaName: "data",
},
{
Name: "Timeout",
SchemaName: "timeout",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBotWebhookJSONQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotWebhookJSONQuery#9b9240a6 as nil")
}
b.PutID(UpdateBotWebhookJSONQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotWebhookJSONQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotWebhookJSONQuery#9b9240a6 as nil")
}
b.PutLong(u.QueryID)
if err := u.Data.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotWebhookJSONQuery#9b9240a6: field data: %w", err)
}
b.PutInt(u.Timeout)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotWebhookJSONQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotWebhookJSONQuery#9b9240a6 to nil")
}
if err := b.ConsumeID(UpdateBotWebhookJSONQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotWebhookJSONQuery#9b9240a6: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotWebhookJSONQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotWebhookJSONQuery#9b9240a6 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotWebhookJSONQuery#9b9240a6: field query_id: %w", err)
}
u.QueryID = value
}
{
if err := u.Data.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotWebhookJSONQuery#9b9240a6: field data: %w", err)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateBotWebhookJSONQuery#9b9240a6: field timeout: %w", err)
}
u.Timeout = value
}
return nil
}
// GetQueryID returns value of QueryID field.
func (u *UpdateBotWebhookJSONQuery) GetQueryID() (value int64) {
if u == nil {
return
}
return u.QueryID
}
// GetData returns value of Data field.
func (u *UpdateBotWebhookJSONQuery) GetData() (value DataJSON) {
if u == nil {
return
}
return u.Data
}
// GetTimeout returns value of Timeout field.
func (u *UpdateBotWebhookJSONQuery) GetTimeout() (value int) {
if u == nil {
return
}
return u.Timeout
}
// UpdateBotShippingQuery represents TL type `updateBotShippingQuery#b5aefd7d`.
// This object contains information about an incoming shipping query.
//
// See https://core.telegram.org/constructor/updateBotShippingQuery for reference.
type UpdateBotShippingQuery struct {
// Unique query identifier
QueryID int64
// User who sent the query
UserID int64
// Bot specified invoice payload
Payload []byte
// User specified shipping address
ShippingAddress PostAddress
}
// UpdateBotShippingQueryTypeID is TL type id of UpdateBotShippingQuery.
const UpdateBotShippingQueryTypeID = 0xb5aefd7d
// construct implements constructor of UpdateClass.
func (u UpdateBotShippingQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotShippingQuery.
var (
_ bin.Encoder = &UpdateBotShippingQuery{}
_ bin.Decoder = &UpdateBotShippingQuery{}
_ bin.BareEncoder = &UpdateBotShippingQuery{}
_ bin.BareDecoder = &UpdateBotShippingQuery{}
_ UpdateClass = &UpdateBotShippingQuery{}
)
func (u *UpdateBotShippingQuery) Zero() bool {
if u == nil {
return true
}
if !(u.QueryID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.Payload == nil) {
return false
}
if !(u.ShippingAddress.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotShippingQuery) String() string {
if u == nil {
return "UpdateBotShippingQuery(nil)"
}
type Alias UpdateBotShippingQuery
return fmt.Sprintf("UpdateBotShippingQuery%+v", Alias(*u))
}
// FillFrom fills UpdateBotShippingQuery from given interface.
func (u *UpdateBotShippingQuery) FillFrom(from interface {
GetQueryID() (value int64)
GetUserID() (value int64)
GetPayload() (value []byte)
GetShippingAddress() (value PostAddress)
}) {
u.QueryID = from.GetQueryID()
u.UserID = from.GetUserID()
u.Payload = from.GetPayload()
u.ShippingAddress = from.GetShippingAddress()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotShippingQuery) TypeID() uint32 {
return UpdateBotShippingQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotShippingQuery) TypeName() string {
return "updateBotShippingQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotShippingQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotShippingQuery",
ID: UpdateBotShippingQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "QueryID",
SchemaName: "query_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Payload",
SchemaName: "payload",
},
{
Name: "ShippingAddress",
SchemaName: "shipping_address",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBotShippingQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotShippingQuery#b5aefd7d as nil")
}
b.PutID(UpdateBotShippingQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotShippingQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotShippingQuery#b5aefd7d as nil")
}
b.PutLong(u.QueryID)
b.PutLong(u.UserID)
b.PutBytes(u.Payload)
if err := u.ShippingAddress.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotShippingQuery#b5aefd7d: field shipping_address: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotShippingQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotShippingQuery#b5aefd7d to nil")
}
if err := b.ConsumeID(UpdateBotShippingQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotShippingQuery#b5aefd7d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotShippingQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotShippingQuery#b5aefd7d to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotShippingQuery#b5aefd7d: field query_id: %w", err)
}
u.QueryID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotShippingQuery#b5aefd7d: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updateBotShippingQuery#b5aefd7d: field payload: %w", err)
}
u.Payload = value
}
{
if err := u.ShippingAddress.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotShippingQuery#b5aefd7d: field shipping_address: %w", err)
}
}
return nil
}
// GetQueryID returns value of QueryID field.
func (u *UpdateBotShippingQuery) GetQueryID() (value int64) {
if u == nil {
return
}
return u.QueryID
}
// GetUserID returns value of UserID field.
func (u *UpdateBotShippingQuery) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetPayload returns value of Payload field.
func (u *UpdateBotShippingQuery) GetPayload() (value []byte) {
if u == nil {
return
}
return u.Payload
}
// GetShippingAddress returns value of ShippingAddress field.
func (u *UpdateBotShippingQuery) GetShippingAddress() (value PostAddress) {
if u == nil {
return
}
return u.ShippingAddress
}
// UpdateBotPrecheckoutQuery represents TL type `updateBotPrecheckoutQuery#8caa9a96`.
// This object contains information about an incoming pre-checkout query.
//
// See https://core.telegram.org/constructor/updateBotPrecheckoutQuery for reference.
type UpdateBotPrecheckoutQuery struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Unique query identifier
QueryID int64
// User who sent the query
UserID int64
// Bot specified invoice payload
Payload []byte
// Order info provided by the user
//
// Use SetInfo and GetInfo helpers.
Info PaymentRequestedInfo
// Identifier of the shipping option chosen by the user
//
// Use SetShippingOptionID and GetShippingOptionID helpers.
ShippingOptionID string
// Three-letter ISO 4217 currency¹ code
//
// Links:
// 1) https://core.telegram.org/bots/payments#supported-currencies
Currency string
// Total amount in the smallest units of the currency (integer, not float/double). For
// example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in
// currencies.json¹, it shows the number of digits past the decimal point for each
// currency (2 for the majority of currencies).
//
// Links:
// 1) https://core.telegram.org/bots/payments/currencies.json
TotalAmount int64
}
// UpdateBotPrecheckoutQueryTypeID is TL type id of UpdateBotPrecheckoutQuery.
const UpdateBotPrecheckoutQueryTypeID = 0x8caa9a96
// construct implements constructor of UpdateClass.
func (u UpdateBotPrecheckoutQuery) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotPrecheckoutQuery.
var (
_ bin.Encoder = &UpdateBotPrecheckoutQuery{}
_ bin.Decoder = &UpdateBotPrecheckoutQuery{}
_ bin.BareEncoder = &UpdateBotPrecheckoutQuery{}
_ bin.BareDecoder = &UpdateBotPrecheckoutQuery{}
_ UpdateClass = &UpdateBotPrecheckoutQuery{}
)
func (u *UpdateBotPrecheckoutQuery) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.QueryID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.Payload == nil) {
return false
}
if !(u.Info.Zero()) {
return false
}
if !(u.ShippingOptionID == "") {
return false
}
if !(u.Currency == "") {
return false
}
if !(u.TotalAmount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotPrecheckoutQuery) String() string {
if u == nil {
return "UpdateBotPrecheckoutQuery(nil)"
}
type Alias UpdateBotPrecheckoutQuery
return fmt.Sprintf("UpdateBotPrecheckoutQuery%+v", Alias(*u))
}
// FillFrom fills UpdateBotPrecheckoutQuery from given interface.
func (u *UpdateBotPrecheckoutQuery) FillFrom(from interface {
GetQueryID() (value int64)
GetUserID() (value int64)
GetPayload() (value []byte)
GetInfo() (value PaymentRequestedInfo, ok bool)
GetShippingOptionID() (value string, ok bool)
GetCurrency() (value string)
GetTotalAmount() (value int64)
}) {
u.QueryID = from.GetQueryID()
u.UserID = from.GetUserID()
u.Payload = from.GetPayload()
if val, ok := from.GetInfo(); ok {
u.Info = val
}
if val, ok := from.GetShippingOptionID(); ok {
u.ShippingOptionID = val
}
u.Currency = from.GetCurrency()
u.TotalAmount = from.GetTotalAmount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotPrecheckoutQuery) TypeID() uint32 {
return UpdateBotPrecheckoutQueryTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotPrecheckoutQuery) TypeName() string {
return "updateBotPrecheckoutQuery"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotPrecheckoutQuery) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotPrecheckoutQuery",
ID: UpdateBotPrecheckoutQueryTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "QueryID",
SchemaName: "query_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Payload",
SchemaName: "payload",
},
{
Name: "Info",
SchemaName: "info",
Null: !u.Flags.Has(0),
},
{
Name: "ShippingOptionID",
SchemaName: "shipping_option_id",
Null: !u.Flags.Has(1),
},
{
Name: "Currency",
SchemaName: "currency",
},
{
Name: "TotalAmount",
SchemaName: "total_amount",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateBotPrecheckoutQuery) SetFlags() {
if !(u.Info.Zero()) {
u.Flags.Set(0)
}
if !(u.ShippingOptionID == "") {
u.Flags.Set(1)
}
}
// Encode implements bin.Encoder.
func (u *UpdateBotPrecheckoutQuery) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotPrecheckoutQuery#8caa9a96 as nil")
}
b.PutID(UpdateBotPrecheckoutQueryTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotPrecheckoutQuery) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotPrecheckoutQuery#8caa9a96 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotPrecheckoutQuery#8caa9a96: field flags: %w", err)
}
b.PutLong(u.QueryID)
b.PutLong(u.UserID)
b.PutBytes(u.Payload)
if u.Flags.Has(0) {
if err := u.Info.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotPrecheckoutQuery#8caa9a96: field info: %w", err)
}
}
if u.Flags.Has(1) {
b.PutString(u.ShippingOptionID)
}
b.PutString(u.Currency)
b.PutLong(u.TotalAmount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotPrecheckoutQuery) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotPrecheckoutQuery#8caa9a96 to nil")
}
if err := b.ConsumeID(UpdateBotPrecheckoutQueryTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotPrecheckoutQuery#8caa9a96: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotPrecheckoutQuery) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotPrecheckoutQuery#8caa9a96 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotPrecheckoutQuery#8caa9a96: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotPrecheckoutQuery#8caa9a96: field query_id: %w", err)
}
u.QueryID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotPrecheckoutQuery#8caa9a96: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updateBotPrecheckoutQuery#8caa9a96: field payload: %w", err)
}
u.Payload = value
}
if u.Flags.Has(0) {
if err := u.Info.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotPrecheckoutQuery#8caa9a96: field info: %w", err)
}
}
if u.Flags.Has(1) {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBotPrecheckoutQuery#8caa9a96: field shipping_option_id: %w", err)
}
u.ShippingOptionID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBotPrecheckoutQuery#8caa9a96: field currency: %w", err)
}
u.Currency = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotPrecheckoutQuery#8caa9a96: field total_amount: %w", err)
}
u.TotalAmount = value
}
return nil
}
// GetQueryID returns value of QueryID field.
func (u *UpdateBotPrecheckoutQuery) GetQueryID() (value int64) {
if u == nil {
return
}
return u.QueryID
}
// GetUserID returns value of UserID field.
func (u *UpdateBotPrecheckoutQuery) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetPayload returns value of Payload field.
func (u *UpdateBotPrecheckoutQuery) GetPayload() (value []byte) {
if u == nil {
return
}
return u.Payload
}
// SetInfo sets value of Info conditional field.
func (u *UpdateBotPrecheckoutQuery) SetInfo(value PaymentRequestedInfo) {
u.Flags.Set(0)
u.Info = value
}
// GetInfo returns value of Info conditional field and
// boolean which is true if field was set.
func (u *UpdateBotPrecheckoutQuery) GetInfo() (value PaymentRequestedInfo, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.Info, true
}
// SetShippingOptionID sets value of ShippingOptionID conditional field.
func (u *UpdateBotPrecheckoutQuery) SetShippingOptionID(value string) {
u.Flags.Set(1)
u.ShippingOptionID = value
}
// GetShippingOptionID returns value of ShippingOptionID conditional field and
// boolean which is true if field was set.
func (u *UpdateBotPrecheckoutQuery) GetShippingOptionID() (value string, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.ShippingOptionID, true
}
// GetCurrency returns value of Currency field.
func (u *UpdateBotPrecheckoutQuery) GetCurrency() (value string) {
if u == nil {
return
}
return u.Currency
}
// GetTotalAmount returns value of TotalAmount field.
func (u *UpdateBotPrecheckoutQuery) GetTotalAmount() (value int64) {
if u == nil {
return
}
return u.TotalAmount
}
// UpdatePhoneCall represents TL type `updatePhoneCall#ab0f6b1e`.
// An incoming phone call
//
// See https://core.telegram.org/constructor/updatePhoneCall for reference.
type UpdatePhoneCall struct {
// Phone call
PhoneCall PhoneCallClass
}
// UpdatePhoneCallTypeID is TL type id of UpdatePhoneCall.
const UpdatePhoneCallTypeID = 0xab0f6b1e
// construct implements constructor of UpdateClass.
func (u UpdatePhoneCall) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePhoneCall.
var (
_ bin.Encoder = &UpdatePhoneCall{}
_ bin.Decoder = &UpdatePhoneCall{}
_ bin.BareEncoder = &UpdatePhoneCall{}
_ bin.BareDecoder = &UpdatePhoneCall{}
_ UpdateClass = &UpdatePhoneCall{}
)
func (u *UpdatePhoneCall) Zero() bool {
if u == nil {
return true
}
if !(u.PhoneCall == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePhoneCall) String() string {
if u == nil {
return "UpdatePhoneCall(nil)"
}
type Alias UpdatePhoneCall
return fmt.Sprintf("UpdatePhoneCall%+v", Alias(*u))
}
// FillFrom fills UpdatePhoneCall from given interface.
func (u *UpdatePhoneCall) FillFrom(from interface {
GetPhoneCall() (value PhoneCallClass)
}) {
u.PhoneCall = from.GetPhoneCall()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePhoneCall) TypeID() uint32 {
return UpdatePhoneCallTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePhoneCall) TypeName() string {
return "updatePhoneCall"
}
// TypeInfo returns info about TL type.
func (u *UpdatePhoneCall) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePhoneCall",
ID: UpdatePhoneCallTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PhoneCall",
SchemaName: "phone_call",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePhoneCall) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePhoneCall#ab0f6b1e as nil")
}
b.PutID(UpdatePhoneCallTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePhoneCall) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePhoneCall#ab0f6b1e as nil")
}
if u.PhoneCall == nil {
return fmt.Errorf("unable to encode updatePhoneCall#ab0f6b1e: field phone_call is nil")
}
if err := u.PhoneCall.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePhoneCall#ab0f6b1e: field phone_call: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePhoneCall) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePhoneCall#ab0f6b1e to nil")
}
if err := b.ConsumeID(UpdatePhoneCallTypeID); err != nil {
return fmt.Errorf("unable to decode updatePhoneCall#ab0f6b1e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePhoneCall) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePhoneCall#ab0f6b1e to nil")
}
{
value, err := DecodePhoneCall(b)
if err != nil {
return fmt.Errorf("unable to decode updatePhoneCall#ab0f6b1e: field phone_call: %w", err)
}
u.PhoneCall = value
}
return nil
}
// GetPhoneCall returns value of PhoneCall field.
func (u *UpdatePhoneCall) GetPhoneCall() (value PhoneCallClass) {
if u == nil {
return
}
return u.PhoneCall
}
// UpdateLangPackTooLong represents TL type `updateLangPackTooLong#46560264`.
// A language pack has changed, the client should manually fetch the changed strings
// using langpack.getDifference¹
//
// Links:
// 1) https://core.telegram.org/method/langpack.getDifference
//
// See https://core.telegram.org/constructor/updateLangPackTooLong for reference.
type UpdateLangPackTooLong struct {
// Language code
LangCode string
}
// UpdateLangPackTooLongTypeID is TL type id of UpdateLangPackTooLong.
const UpdateLangPackTooLongTypeID = 0x46560264
// construct implements constructor of UpdateClass.
func (u UpdateLangPackTooLong) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateLangPackTooLong.
var (
_ bin.Encoder = &UpdateLangPackTooLong{}
_ bin.Decoder = &UpdateLangPackTooLong{}
_ bin.BareEncoder = &UpdateLangPackTooLong{}
_ bin.BareDecoder = &UpdateLangPackTooLong{}
_ UpdateClass = &UpdateLangPackTooLong{}
)
func (u *UpdateLangPackTooLong) Zero() bool {
if u == nil {
return true
}
if !(u.LangCode == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateLangPackTooLong) String() string {
if u == nil {
return "UpdateLangPackTooLong(nil)"
}
type Alias UpdateLangPackTooLong
return fmt.Sprintf("UpdateLangPackTooLong%+v", Alias(*u))
}
// FillFrom fills UpdateLangPackTooLong from given interface.
func (u *UpdateLangPackTooLong) FillFrom(from interface {
GetLangCode() (value string)
}) {
u.LangCode = from.GetLangCode()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateLangPackTooLong) TypeID() uint32 {
return UpdateLangPackTooLongTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateLangPackTooLong) TypeName() string {
return "updateLangPackTooLong"
}
// TypeInfo returns info about TL type.
func (u *UpdateLangPackTooLong) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateLangPackTooLong",
ID: UpdateLangPackTooLongTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "LangCode",
SchemaName: "lang_code",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateLangPackTooLong) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateLangPackTooLong#46560264 as nil")
}
b.PutID(UpdateLangPackTooLongTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateLangPackTooLong) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateLangPackTooLong#46560264 as nil")
}
b.PutString(u.LangCode)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateLangPackTooLong) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateLangPackTooLong#46560264 to nil")
}
if err := b.ConsumeID(UpdateLangPackTooLongTypeID); err != nil {
return fmt.Errorf("unable to decode updateLangPackTooLong#46560264: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateLangPackTooLong) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateLangPackTooLong#46560264 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateLangPackTooLong#46560264: field lang_code: %w", err)
}
u.LangCode = value
}
return nil
}
// GetLangCode returns value of LangCode field.
func (u *UpdateLangPackTooLong) GetLangCode() (value string) {
if u == nil {
return
}
return u.LangCode
}
// UpdateLangPack represents TL type `updateLangPack#56022f4d`.
// Language pack updated
//
// See https://core.telegram.org/constructor/updateLangPack for reference.
type UpdateLangPack struct {
// Changed strings
Difference LangPackDifference
}
// UpdateLangPackTypeID is TL type id of UpdateLangPack.
const UpdateLangPackTypeID = 0x56022f4d
// construct implements constructor of UpdateClass.
func (u UpdateLangPack) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateLangPack.
var (
_ bin.Encoder = &UpdateLangPack{}
_ bin.Decoder = &UpdateLangPack{}
_ bin.BareEncoder = &UpdateLangPack{}
_ bin.BareDecoder = &UpdateLangPack{}
_ UpdateClass = &UpdateLangPack{}
)
func (u *UpdateLangPack) Zero() bool {
if u == nil {
return true
}
if !(u.Difference.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateLangPack) String() string {
if u == nil {
return "UpdateLangPack(nil)"
}
type Alias UpdateLangPack
return fmt.Sprintf("UpdateLangPack%+v", Alias(*u))
}
// FillFrom fills UpdateLangPack from given interface.
func (u *UpdateLangPack) FillFrom(from interface {
GetDifference() (value LangPackDifference)
}) {
u.Difference = from.GetDifference()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateLangPack) TypeID() uint32 {
return UpdateLangPackTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateLangPack) TypeName() string {
return "updateLangPack"
}
// TypeInfo returns info about TL type.
func (u *UpdateLangPack) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateLangPack",
ID: UpdateLangPackTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Difference",
SchemaName: "difference",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateLangPack) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateLangPack#56022f4d as nil")
}
b.PutID(UpdateLangPackTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateLangPack) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateLangPack#56022f4d as nil")
}
if err := u.Difference.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateLangPack#56022f4d: field difference: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateLangPack) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateLangPack#56022f4d to nil")
}
if err := b.ConsumeID(UpdateLangPackTypeID); err != nil {
return fmt.Errorf("unable to decode updateLangPack#56022f4d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateLangPack) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateLangPack#56022f4d to nil")
}
{
if err := u.Difference.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateLangPack#56022f4d: field difference: %w", err)
}
}
return nil
}
// GetDifference returns value of Difference field.
func (u *UpdateLangPack) GetDifference() (value LangPackDifference) {
if u == nil {
return
}
return u.Difference
}
// UpdateFavedStickers represents TL type `updateFavedStickers#e511996d`.
// The list of favorited stickers was changed, the client should call messages
// getFavedStickers¹ to refetch the new list
//
// Links:
// 1) https://core.telegram.org/method/messages.getFavedStickers
//
// See https://core.telegram.org/constructor/updateFavedStickers for reference.
type UpdateFavedStickers struct {
}
// UpdateFavedStickersTypeID is TL type id of UpdateFavedStickers.
const UpdateFavedStickersTypeID = 0xe511996d
// construct implements constructor of UpdateClass.
func (u UpdateFavedStickers) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFavedStickers.
var (
_ bin.Encoder = &UpdateFavedStickers{}
_ bin.Decoder = &UpdateFavedStickers{}
_ bin.BareEncoder = &UpdateFavedStickers{}
_ bin.BareDecoder = &UpdateFavedStickers{}
_ UpdateClass = &UpdateFavedStickers{}
)
func (u *UpdateFavedStickers) Zero() bool {
if u == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFavedStickers) String() string {
if u == nil {
return "UpdateFavedStickers(nil)"
}
type Alias UpdateFavedStickers
return fmt.Sprintf("UpdateFavedStickers%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFavedStickers) TypeID() uint32 {
return UpdateFavedStickersTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFavedStickers) TypeName() string {
return "updateFavedStickers"
}
// TypeInfo returns info about TL type.
func (u *UpdateFavedStickers) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFavedStickers",
ID: UpdateFavedStickersTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFavedStickers) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFavedStickers#e511996d as nil")
}
b.PutID(UpdateFavedStickersTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFavedStickers) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFavedStickers#e511996d as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFavedStickers) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFavedStickers#e511996d to nil")
}
if err := b.ConsumeID(UpdateFavedStickersTypeID); err != nil {
return fmt.Errorf("unable to decode updateFavedStickers#e511996d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFavedStickers) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFavedStickers#e511996d to nil")
}
return nil
}
// UpdateChannelReadMessagesContents represents TL type `updateChannelReadMessagesContents#44bdd535`.
// The specified channel/supergroup¹ messages were read
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateChannelReadMessagesContents for reference.
type UpdateChannelReadMessagesContents struct {
// Channel/supergroup¹ ID
//
// Links:
// 1) https://core.telegram.org/api/channel
ChannelID int64
// IDs of messages that were read
Messages []int
}
// UpdateChannelReadMessagesContentsTypeID is TL type id of UpdateChannelReadMessagesContents.
const UpdateChannelReadMessagesContentsTypeID = 0x44bdd535
// construct implements constructor of UpdateClass.
func (u UpdateChannelReadMessagesContents) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChannelReadMessagesContents.
var (
_ bin.Encoder = &UpdateChannelReadMessagesContents{}
_ bin.Decoder = &UpdateChannelReadMessagesContents{}
_ bin.BareEncoder = &UpdateChannelReadMessagesContents{}
_ bin.BareDecoder = &UpdateChannelReadMessagesContents{}
_ UpdateClass = &UpdateChannelReadMessagesContents{}
)
func (u *UpdateChannelReadMessagesContents) Zero() bool {
if u == nil {
return true
}
if !(u.ChannelID == 0) {
return false
}
if !(u.Messages == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChannelReadMessagesContents) String() string {
if u == nil {
return "UpdateChannelReadMessagesContents(nil)"
}
type Alias UpdateChannelReadMessagesContents
return fmt.Sprintf("UpdateChannelReadMessagesContents%+v", Alias(*u))
}
// FillFrom fills UpdateChannelReadMessagesContents from given interface.
func (u *UpdateChannelReadMessagesContents) FillFrom(from interface {
GetChannelID() (value int64)
GetMessages() (value []int)
}) {
u.ChannelID = from.GetChannelID()
u.Messages = from.GetMessages()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChannelReadMessagesContents) TypeID() uint32 {
return UpdateChannelReadMessagesContentsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChannelReadMessagesContents) TypeName() string {
return "updateChannelReadMessagesContents"
}
// TypeInfo returns info about TL type.
func (u *UpdateChannelReadMessagesContents) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChannelReadMessagesContents",
ID: UpdateChannelReadMessagesContentsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "Messages",
SchemaName: "messages",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChannelReadMessagesContents) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelReadMessagesContents#44bdd535 as nil")
}
b.PutID(UpdateChannelReadMessagesContentsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChannelReadMessagesContents) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelReadMessagesContents#44bdd535 as nil")
}
b.PutLong(u.ChannelID)
b.PutVectorHeader(len(u.Messages))
for _, v := range u.Messages {
b.PutInt(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChannelReadMessagesContents) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelReadMessagesContents#44bdd535 to nil")
}
if err := b.ConsumeID(UpdateChannelReadMessagesContentsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChannelReadMessagesContents#44bdd535: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChannelReadMessagesContents) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelReadMessagesContents#44bdd535 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelReadMessagesContents#44bdd535: field channel_id: %w", err)
}
u.ChannelID = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateChannelReadMessagesContents#44bdd535: field messages: %w", err)
}
if headerLen > 0 {
u.Messages = make([]int, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelReadMessagesContents#44bdd535: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
}
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateChannelReadMessagesContents) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetMessages returns value of Messages field.
func (u *UpdateChannelReadMessagesContents) GetMessages() (value []int) {
if u == nil {
return
}
return u.Messages
}
// UpdateContactsReset represents TL type `updateContactsReset#7084a7be`.
// All contacts were deleted
//
// See https://core.telegram.org/constructor/updateContactsReset for reference.
type UpdateContactsReset struct {
}
// UpdateContactsResetTypeID is TL type id of UpdateContactsReset.
const UpdateContactsResetTypeID = 0x7084a7be
// construct implements constructor of UpdateClass.
func (u UpdateContactsReset) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateContactsReset.
var (
_ bin.Encoder = &UpdateContactsReset{}
_ bin.Decoder = &UpdateContactsReset{}
_ bin.BareEncoder = &UpdateContactsReset{}
_ bin.BareDecoder = &UpdateContactsReset{}
_ UpdateClass = &UpdateContactsReset{}
)
func (u *UpdateContactsReset) Zero() bool {
if u == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateContactsReset) String() string {
if u == nil {
return "UpdateContactsReset(nil)"
}
type Alias UpdateContactsReset
return fmt.Sprintf("UpdateContactsReset%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateContactsReset) TypeID() uint32 {
return UpdateContactsResetTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateContactsReset) TypeName() string {
return "updateContactsReset"
}
// TypeInfo returns info about TL type.
func (u *UpdateContactsReset) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateContactsReset",
ID: UpdateContactsResetTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateContactsReset) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateContactsReset#7084a7be as nil")
}
b.PutID(UpdateContactsResetTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateContactsReset) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateContactsReset#7084a7be as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateContactsReset) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateContactsReset#7084a7be to nil")
}
if err := b.ConsumeID(UpdateContactsResetTypeID); err != nil {
return fmt.Errorf("unable to decode updateContactsReset#7084a7be: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateContactsReset) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateContactsReset#7084a7be to nil")
}
return nil
}
// UpdateChannelAvailableMessages represents TL type `updateChannelAvailableMessages#b23fc698`.
// The history of a channel/supergroup¹ was hidden.
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateChannelAvailableMessages for reference.
type UpdateChannelAvailableMessages struct {
// Channel/supergroup ID
ChannelID int64
// Identifier of a maximum unavailable message in a channel due to hidden history.
AvailableMinID int
}
// UpdateChannelAvailableMessagesTypeID is TL type id of UpdateChannelAvailableMessages.
const UpdateChannelAvailableMessagesTypeID = 0xb23fc698
// construct implements constructor of UpdateClass.
func (u UpdateChannelAvailableMessages) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChannelAvailableMessages.
var (
_ bin.Encoder = &UpdateChannelAvailableMessages{}
_ bin.Decoder = &UpdateChannelAvailableMessages{}
_ bin.BareEncoder = &UpdateChannelAvailableMessages{}
_ bin.BareDecoder = &UpdateChannelAvailableMessages{}
_ UpdateClass = &UpdateChannelAvailableMessages{}
)
func (u *UpdateChannelAvailableMessages) Zero() bool {
if u == nil {
return true
}
if !(u.ChannelID == 0) {
return false
}
if !(u.AvailableMinID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChannelAvailableMessages) String() string {
if u == nil {
return "UpdateChannelAvailableMessages(nil)"
}
type Alias UpdateChannelAvailableMessages
return fmt.Sprintf("UpdateChannelAvailableMessages%+v", Alias(*u))
}
// FillFrom fills UpdateChannelAvailableMessages from given interface.
func (u *UpdateChannelAvailableMessages) FillFrom(from interface {
GetChannelID() (value int64)
GetAvailableMinID() (value int)
}) {
u.ChannelID = from.GetChannelID()
u.AvailableMinID = from.GetAvailableMinID()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChannelAvailableMessages) TypeID() uint32 {
return UpdateChannelAvailableMessagesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChannelAvailableMessages) TypeName() string {
return "updateChannelAvailableMessages"
}
// TypeInfo returns info about TL type.
func (u *UpdateChannelAvailableMessages) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChannelAvailableMessages",
ID: UpdateChannelAvailableMessagesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "AvailableMinID",
SchemaName: "available_min_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChannelAvailableMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelAvailableMessages#b23fc698 as nil")
}
b.PutID(UpdateChannelAvailableMessagesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChannelAvailableMessages) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelAvailableMessages#b23fc698 as nil")
}
b.PutLong(u.ChannelID)
b.PutInt(u.AvailableMinID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChannelAvailableMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelAvailableMessages#b23fc698 to nil")
}
if err := b.ConsumeID(UpdateChannelAvailableMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updateChannelAvailableMessages#b23fc698: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChannelAvailableMessages) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelAvailableMessages#b23fc698 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelAvailableMessages#b23fc698: field channel_id: %w", err)
}
u.ChannelID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelAvailableMessages#b23fc698: field available_min_id: %w", err)
}
u.AvailableMinID = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateChannelAvailableMessages) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetAvailableMinID returns value of AvailableMinID field.
func (u *UpdateChannelAvailableMessages) GetAvailableMinID() (value int) {
if u == nil {
return
}
return u.AvailableMinID
}
// UpdateDialogUnreadMark represents TL type `updateDialogUnreadMark#e16459c3`.
// The manual unread mark of a chat was changed
//
// See https://core.telegram.org/constructor/updateDialogUnreadMark for reference.
type UpdateDialogUnreadMark struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Was the chat marked or unmarked as read
Unread bool
// The dialog
Peer DialogPeerClass
}
// UpdateDialogUnreadMarkTypeID is TL type id of UpdateDialogUnreadMark.
const UpdateDialogUnreadMarkTypeID = 0xe16459c3
// construct implements constructor of UpdateClass.
func (u UpdateDialogUnreadMark) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDialogUnreadMark.
var (
_ bin.Encoder = &UpdateDialogUnreadMark{}
_ bin.Decoder = &UpdateDialogUnreadMark{}
_ bin.BareEncoder = &UpdateDialogUnreadMark{}
_ bin.BareDecoder = &UpdateDialogUnreadMark{}
_ UpdateClass = &UpdateDialogUnreadMark{}
)
func (u *UpdateDialogUnreadMark) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.Unread == false) {
return false
}
if !(u.Peer == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDialogUnreadMark) String() string {
if u == nil {
return "UpdateDialogUnreadMark(nil)"
}
type Alias UpdateDialogUnreadMark
return fmt.Sprintf("UpdateDialogUnreadMark%+v", Alias(*u))
}
// FillFrom fills UpdateDialogUnreadMark from given interface.
func (u *UpdateDialogUnreadMark) FillFrom(from interface {
GetUnread() (value bool)
GetPeer() (value DialogPeerClass)
}) {
u.Unread = from.GetUnread()
u.Peer = from.GetPeer()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDialogUnreadMark) TypeID() uint32 {
return UpdateDialogUnreadMarkTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDialogUnreadMark) TypeName() string {
return "updateDialogUnreadMark"
}
// TypeInfo returns info about TL type.
func (u *UpdateDialogUnreadMark) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDialogUnreadMark",
ID: UpdateDialogUnreadMarkTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Unread",
SchemaName: "unread",
Null: !u.Flags.Has(0),
},
{
Name: "Peer",
SchemaName: "peer",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateDialogUnreadMark) SetFlags() {
if !(u.Unread == false) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateDialogUnreadMark) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogUnreadMark#e16459c3 as nil")
}
b.PutID(UpdateDialogUnreadMarkTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDialogUnreadMark) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogUnreadMark#e16459c3 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDialogUnreadMark#e16459c3: field flags: %w", err)
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateDialogUnreadMark#e16459c3: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDialogUnreadMark#e16459c3: field peer: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDialogUnreadMark) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogUnreadMark#e16459c3 to nil")
}
if err := b.ConsumeID(UpdateDialogUnreadMarkTypeID); err != nil {
return fmt.Errorf("unable to decode updateDialogUnreadMark#e16459c3: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDialogUnreadMark) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogUnreadMark#e16459c3 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateDialogUnreadMark#e16459c3: field flags: %w", err)
}
}
u.Unread = u.Flags.Has(0)
{
value, err := DecodeDialogPeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateDialogUnreadMark#e16459c3: field peer: %w", err)
}
u.Peer = value
}
return nil
}
// SetUnread sets value of Unread conditional field.
func (u *UpdateDialogUnreadMark) SetUnread(value bool) {
if value {
u.Flags.Set(0)
u.Unread = true
} else {
u.Flags.Unset(0)
u.Unread = false
}
}
// GetUnread returns value of Unread conditional field.
func (u *UpdateDialogUnreadMark) GetUnread() (value bool) {
if u == nil {
return
}
return u.Flags.Has(0)
}
// GetPeer returns value of Peer field.
func (u *UpdateDialogUnreadMark) GetPeer() (value DialogPeerClass) {
if u == nil {
return
}
return u.Peer
}
// UpdateMessagePoll represents TL type `updateMessagePoll#aca1657b`.
// The results of a poll have changed
//
// See https://core.telegram.org/constructor/updateMessagePoll for reference.
type UpdateMessagePoll struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Poll ID
PollID int64
// If the server knows the client hasn't cached this poll yet, the poll itself
//
// Use SetPoll and GetPoll helpers.
Poll Poll
// New poll results
Results PollResults
}
// UpdateMessagePollTypeID is TL type id of UpdateMessagePoll.
const UpdateMessagePollTypeID = 0xaca1657b
// construct implements constructor of UpdateClass.
func (u UpdateMessagePoll) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessagePoll.
var (
_ bin.Encoder = &UpdateMessagePoll{}
_ bin.Decoder = &UpdateMessagePoll{}
_ bin.BareEncoder = &UpdateMessagePoll{}
_ bin.BareDecoder = &UpdateMessagePoll{}
_ UpdateClass = &UpdateMessagePoll{}
)
func (u *UpdateMessagePoll) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.PollID == 0) {
return false
}
if !(u.Poll.Zero()) {
return false
}
if !(u.Results.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessagePoll) String() string {
if u == nil {
return "UpdateMessagePoll(nil)"
}
type Alias UpdateMessagePoll
return fmt.Sprintf("UpdateMessagePoll%+v", Alias(*u))
}
// FillFrom fills UpdateMessagePoll from given interface.
func (u *UpdateMessagePoll) FillFrom(from interface {
GetPollID() (value int64)
GetPoll() (value Poll, ok bool)
GetResults() (value PollResults)
}) {
u.PollID = from.GetPollID()
if val, ok := from.GetPoll(); ok {
u.Poll = val
}
u.Results = from.GetResults()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessagePoll) TypeID() uint32 {
return UpdateMessagePollTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessagePoll) TypeName() string {
return "updateMessagePoll"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessagePoll) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessagePoll",
ID: UpdateMessagePollTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PollID",
SchemaName: "poll_id",
},
{
Name: "Poll",
SchemaName: "poll",
Null: !u.Flags.Has(0),
},
{
Name: "Results",
SchemaName: "results",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateMessagePoll) SetFlags() {
if !(u.Poll.Zero()) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateMessagePoll) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessagePoll#aca1657b as nil")
}
b.PutID(UpdateMessagePollTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessagePoll) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessagePoll#aca1657b as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessagePoll#aca1657b: field flags: %w", err)
}
b.PutLong(u.PollID)
if u.Flags.Has(0) {
if err := u.Poll.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessagePoll#aca1657b: field poll: %w", err)
}
}
if err := u.Results.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessagePoll#aca1657b: field results: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessagePoll) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessagePoll#aca1657b to nil")
}
if err := b.ConsumeID(UpdateMessagePollTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessagePoll#aca1657b: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessagePoll) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessagePoll#aca1657b to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateMessagePoll#aca1657b: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateMessagePoll#aca1657b: field poll_id: %w", err)
}
u.PollID = value
}
if u.Flags.Has(0) {
if err := u.Poll.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateMessagePoll#aca1657b: field poll: %w", err)
}
}
{
if err := u.Results.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateMessagePoll#aca1657b: field results: %w", err)
}
}
return nil
}
// GetPollID returns value of PollID field.
func (u *UpdateMessagePoll) GetPollID() (value int64) {
if u == nil {
return
}
return u.PollID
}
// SetPoll sets value of Poll conditional field.
func (u *UpdateMessagePoll) SetPoll(value Poll) {
u.Flags.Set(0)
u.Poll = value
}
// GetPoll returns value of Poll conditional field and
// boolean which is true if field was set.
func (u *UpdateMessagePoll) GetPoll() (value Poll, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.Poll, true
}
// GetResults returns value of Results field.
func (u *UpdateMessagePoll) GetResults() (value PollResults) {
if u == nil {
return
}
return u.Results
}
// UpdateChatDefaultBannedRights represents TL type `updateChatDefaultBannedRights#54c01850`.
// Default banned rights in a normal chat¹ were updated
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateChatDefaultBannedRights for reference.
type UpdateChatDefaultBannedRights struct {
// The chat
Peer PeerClass
// New default banned rights
DefaultBannedRights ChatBannedRights
// Version
Version int
}
// UpdateChatDefaultBannedRightsTypeID is TL type id of UpdateChatDefaultBannedRights.
const UpdateChatDefaultBannedRightsTypeID = 0x54c01850
// construct implements constructor of UpdateClass.
func (u UpdateChatDefaultBannedRights) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatDefaultBannedRights.
var (
_ bin.Encoder = &UpdateChatDefaultBannedRights{}
_ bin.Decoder = &UpdateChatDefaultBannedRights{}
_ bin.BareEncoder = &UpdateChatDefaultBannedRights{}
_ bin.BareDecoder = &UpdateChatDefaultBannedRights{}
_ UpdateClass = &UpdateChatDefaultBannedRights{}
)
func (u *UpdateChatDefaultBannedRights) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.DefaultBannedRights.Zero()) {
return false
}
if !(u.Version == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatDefaultBannedRights) String() string {
if u == nil {
return "UpdateChatDefaultBannedRights(nil)"
}
type Alias UpdateChatDefaultBannedRights
return fmt.Sprintf("UpdateChatDefaultBannedRights%+v", Alias(*u))
}
// FillFrom fills UpdateChatDefaultBannedRights from given interface.
func (u *UpdateChatDefaultBannedRights) FillFrom(from interface {
GetPeer() (value PeerClass)
GetDefaultBannedRights() (value ChatBannedRights)
GetVersion() (value int)
}) {
u.Peer = from.GetPeer()
u.DefaultBannedRights = from.GetDefaultBannedRights()
u.Version = from.GetVersion()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatDefaultBannedRights) TypeID() uint32 {
return UpdateChatDefaultBannedRightsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatDefaultBannedRights) TypeName() string {
return "updateChatDefaultBannedRights"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatDefaultBannedRights) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatDefaultBannedRights",
ID: UpdateChatDefaultBannedRightsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "DefaultBannedRights",
SchemaName: "default_banned_rights",
},
{
Name: "Version",
SchemaName: "version",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChatDefaultBannedRights) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatDefaultBannedRights#54c01850 as nil")
}
b.PutID(UpdateChatDefaultBannedRightsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatDefaultBannedRights) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatDefaultBannedRights#54c01850 as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateChatDefaultBannedRights#54c01850: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatDefaultBannedRights#54c01850: field peer: %w", err)
}
if err := u.DefaultBannedRights.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatDefaultBannedRights#54c01850: field default_banned_rights: %w", err)
}
b.PutInt(u.Version)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatDefaultBannedRights) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatDefaultBannedRights#54c01850 to nil")
}
if err := b.ConsumeID(UpdateChatDefaultBannedRightsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatDefaultBannedRights#54c01850: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatDefaultBannedRights) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatDefaultBannedRights#54c01850 to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatDefaultBannedRights#54c01850: field peer: %w", err)
}
u.Peer = value
}
{
if err := u.DefaultBannedRights.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatDefaultBannedRights#54c01850: field default_banned_rights: %w", err)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatDefaultBannedRights#54c01850: field version: %w", err)
}
u.Version = value
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdateChatDefaultBannedRights) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetDefaultBannedRights returns value of DefaultBannedRights field.
func (u *UpdateChatDefaultBannedRights) GetDefaultBannedRights() (value ChatBannedRights) {
if u == nil {
return
}
return u.DefaultBannedRights
}
// GetVersion returns value of Version field.
func (u *UpdateChatDefaultBannedRights) GetVersion() (value int) {
if u == nil {
return
}
return u.Version
}
// UpdateFolderPeers represents TL type `updateFolderPeers#19360dc0`.
// The peer list of a peer folder¹ was updated
//
// Links:
// 1) https://core.telegram.org/api/folders#peer-folders
//
// See https://core.telegram.org/constructor/updateFolderPeers for reference.
type UpdateFolderPeers struct {
// New peer list
FolderPeers []FolderPeer
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdateFolderPeersTypeID is TL type id of UpdateFolderPeers.
const UpdateFolderPeersTypeID = 0x19360dc0
// construct implements constructor of UpdateClass.
func (u UpdateFolderPeers) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateFolderPeers.
var (
_ bin.Encoder = &UpdateFolderPeers{}
_ bin.Decoder = &UpdateFolderPeers{}
_ bin.BareEncoder = &UpdateFolderPeers{}
_ bin.BareDecoder = &UpdateFolderPeers{}
_ UpdateClass = &UpdateFolderPeers{}
)
func (u *UpdateFolderPeers) Zero() bool {
if u == nil {
return true
}
if !(u.FolderPeers == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateFolderPeers) String() string {
if u == nil {
return "UpdateFolderPeers(nil)"
}
type Alias UpdateFolderPeers
return fmt.Sprintf("UpdateFolderPeers%+v", Alias(*u))
}
// FillFrom fills UpdateFolderPeers from given interface.
func (u *UpdateFolderPeers) FillFrom(from interface {
GetFolderPeers() (value []FolderPeer)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.FolderPeers = from.GetFolderPeers()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateFolderPeers) TypeID() uint32 {
return UpdateFolderPeersTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateFolderPeers) TypeName() string {
return "updateFolderPeers"
}
// TypeInfo returns info about TL type.
func (u *UpdateFolderPeers) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateFolderPeers",
ID: UpdateFolderPeersTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "FolderPeers",
SchemaName: "folder_peers",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateFolderPeers) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFolderPeers#19360dc0 as nil")
}
b.PutID(UpdateFolderPeersTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateFolderPeers) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateFolderPeers#19360dc0 as nil")
}
b.PutVectorHeader(len(u.FolderPeers))
for idx, v := range u.FolderPeers {
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateFolderPeers#19360dc0: field folder_peers element with index %d: %w", idx, err)
}
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateFolderPeers) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFolderPeers#19360dc0 to nil")
}
if err := b.ConsumeID(UpdateFolderPeersTypeID); err != nil {
return fmt.Errorf("unable to decode updateFolderPeers#19360dc0: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateFolderPeers) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateFolderPeers#19360dc0 to nil")
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateFolderPeers#19360dc0: field folder_peers: %w", err)
}
if headerLen > 0 {
u.FolderPeers = make([]FolderPeer, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value FolderPeer
if err := value.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateFolderPeers#19360dc0: field folder_peers: %w", err)
}
u.FolderPeers = append(u.FolderPeers, value)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateFolderPeers#19360dc0: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateFolderPeers#19360dc0: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// GetFolderPeers returns value of FolderPeers field.
func (u *UpdateFolderPeers) GetFolderPeers() (value []FolderPeer) {
if u == nil {
return
}
return u.FolderPeers
}
// GetPts returns value of Pts field.
func (u *UpdateFolderPeers) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdateFolderPeers) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdatePeerSettings represents TL type `updatePeerSettings#6a7e7366`.
// Settings of a certain peer have changed
//
// See https://core.telegram.org/constructor/updatePeerSettings for reference.
type UpdatePeerSettings struct {
// The peer
Peer PeerClass
// Associated peer settings
Settings PeerSettings
}
// UpdatePeerSettingsTypeID is TL type id of UpdatePeerSettings.
const UpdatePeerSettingsTypeID = 0x6a7e7366
// construct implements constructor of UpdateClass.
func (u UpdatePeerSettings) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePeerSettings.
var (
_ bin.Encoder = &UpdatePeerSettings{}
_ bin.Decoder = &UpdatePeerSettings{}
_ bin.BareEncoder = &UpdatePeerSettings{}
_ bin.BareDecoder = &UpdatePeerSettings{}
_ UpdateClass = &UpdatePeerSettings{}
)
func (u *UpdatePeerSettings) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.Settings.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePeerSettings) String() string {
if u == nil {
return "UpdatePeerSettings(nil)"
}
type Alias UpdatePeerSettings
return fmt.Sprintf("UpdatePeerSettings%+v", Alias(*u))
}
// FillFrom fills UpdatePeerSettings from given interface.
func (u *UpdatePeerSettings) FillFrom(from interface {
GetPeer() (value PeerClass)
GetSettings() (value PeerSettings)
}) {
u.Peer = from.GetPeer()
u.Settings = from.GetSettings()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePeerSettings) TypeID() uint32 {
return UpdatePeerSettingsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePeerSettings) TypeName() string {
return "updatePeerSettings"
}
// TypeInfo returns info about TL type.
func (u *UpdatePeerSettings) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePeerSettings",
ID: UpdatePeerSettingsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "Settings",
SchemaName: "settings",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePeerSettings) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePeerSettings#6a7e7366 as nil")
}
b.PutID(UpdatePeerSettingsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePeerSettings) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePeerSettings#6a7e7366 as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updatePeerSettings#6a7e7366: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePeerSettings#6a7e7366: field peer: %w", err)
}
if err := u.Settings.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePeerSettings#6a7e7366: field settings: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePeerSettings) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePeerSettings#6a7e7366 to nil")
}
if err := b.ConsumeID(UpdatePeerSettingsTypeID); err != nil {
return fmt.Errorf("unable to decode updatePeerSettings#6a7e7366: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePeerSettings) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePeerSettings#6a7e7366 to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updatePeerSettings#6a7e7366: field peer: %w", err)
}
u.Peer = value
}
{
if err := u.Settings.Decode(b); err != nil {
return fmt.Errorf("unable to decode updatePeerSettings#6a7e7366: field settings: %w", err)
}
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdatePeerSettings) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetSettings returns value of Settings field.
func (u *UpdatePeerSettings) GetSettings() (value PeerSettings) {
if u == nil {
return
}
return u.Settings
}
// UpdatePeerLocated represents TL type `updatePeerLocated#b4afcfb0`.
// List of peers near you was updated
//
// See https://core.telegram.org/constructor/updatePeerLocated for reference.
type UpdatePeerLocated struct {
// Geolocated peer list update
Peers []PeerLocatedClass
}
// UpdatePeerLocatedTypeID is TL type id of UpdatePeerLocated.
const UpdatePeerLocatedTypeID = 0xb4afcfb0
// construct implements constructor of UpdateClass.
func (u UpdatePeerLocated) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePeerLocated.
var (
_ bin.Encoder = &UpdatePeerLocated{}
_ bin.Decoder = &UpdatePeerLocated{}
_ bin.BareEncoder = &UpdatePeerLocated{}
_ bin.BareDecoder = &UpdatePeerLocated{}
_ UpdateClass = &UpdatePeerLocated{}
)
func (u *UpdatePeerLocated) Zero() bool {
if u == nil {
return true
}
if !(u.Peers == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePeerLocated) String() string {
if u == nil {
return "UpdatePeerLocated(nil)"
}
type Alias UpdatePeerLocated
return fmt.Sprintf("UpdatePeerLocated%+v", Alias(*u))
}
// FillFrom fills UpdatePeerLocated from given interface.
func (u *UpdatePeerLocated) FillFrom(from interface {
GetPeers() (value []PeerLocatedClass)
}) {
u.Peers = from.GetPeers()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePeerLocated) TypeID() uint32 {
return UpdatePeerLocatedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePeerLocated) TypeName() string {
return "updatePeerLocated"
}
// TypeInfo returns info about TL type.
func (u *UpdatePeerLocated) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePeerLocated",
ID: UpdatePeerLocatedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peers",
SchemaName: "peers",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePeerLocated) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePeerLocated#b4afcfb0 as nil")
}
b.PutID(UpdatePeerLocatedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePeerLocated) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePeerLocated#b4afcfb0 as nil")
}
b.PutVectorHeader(len(u.Peers))
for idx, v := range u.Peers {
if v == nil {
return fmt.Errorf("unable to encode updatePeerLocated#b4afcfb0: field peers element with index %d is nil", idx)
}
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePeerLocated#b4afcfb0: field peers element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePeerLocated) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePeerLocated#b4afcfb0 to nil")
}
if err := b.ConsumeID(UpdatePeerLocatedTypeID); err != nil {
return fmt.Errorf("unable to decode updatePeerLocated#b4afcfb0: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePeerLocated) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePeerLocated#b4afcfb0 to nil")
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updatePeerLocated#b4afcfb0: field peers: %w", err)
}
if headerLen > 0 {
u.Peers = make([]PeerLocatedClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodePeerLocated(b)
if err != nil {
return fmt.Errorf("unable to decode updatePeerLocated#b4afcfb0: field peers: %w", err)
}
u.Peers = append(u.Peers, value)
}
}
return nil
}
// GetPeers returns value of Peers field.
func (u *UpdatePeerLocated) GetPeers() (value []PeerLocatedClass) {
if u == nil {
return
}
return u.Peers
}
// MapPeers returns field Peers wrapped in PeerLocatedClassArray helper.
func (u *UpdatePeerLocated) MapPeers() (value PeerLocatedClassArray) {
return PeerLocatedClassArray(u.Peers)
}
// UpdateNewScheduledMessage represents TL type `updateNewScheduledMessage#39a51dfb`.
// A message was added to the schedule queue of a chat¹
//
// Links:
// 1) https://core.telegram.org/api/scheduled-messages
//
// See https://core.telegram.org/constructor/updateNewScheduledMessage for reference.
type UpdateNewScheduledMessage struct {
// Message
Message MessageClass
}
// UpdateNewScheduledMessageTypeID is TL type id of UpdateNewScheduledMessage.
const UpdateNewScheduledMessageTypeID = 0x39a51dfb
// construct implements constructor of UpdateClass.
func (u UpdateNewScheduledMessage) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateNewScheduledMessage.
var (
_ bin.Encoder = &UpdateNewScheduledMessage{}
_ bin.Decoder = &UpdateNewScheduledMessage{}
_ bin.BareEncoder = &UpdateNewScheduledMessage{}
_ bin.BareDecoder = &UpdateNewScheduledMessage{}
_ UpdateClass = &UpdateNewScheduledMessage{}
)
func (u *UpdateNewScheduledMessage) Zero() bool {
if u == nil {
return true
}
if !(u.Message == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateNewScheduledMessage) String() string {
if u == nil {
return "UpdateNewScheduledMessage(nil)"
}
type Alias UpdateNewScheduledMessage
return fmt.Sprintf("UpdateNewScheduledMessage%+v", Alias(*u))
}
// FillFrom fills UpdateNewScheduledMessage from given interface.
func (u *UpdateNewScheduledMessage) FillFrom(from interface {
GetMessage() (value MessageClass)
}) {
u.Message = from.GetMessage()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateNewScheduledMessage) TypeID() uint32 {
return UpdateNewScheduledMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateNewScheduledMessage) TypeName() string {
return "updateNewScheduledMessage"
}
// TypeInfo returns info about TL type.
func (u *UpdateNewScheduledMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateNewScheduledMessage",
ID: UpdateNewScheduledMessageTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Message",
SchemaName: "message",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateNewScheduledMessage) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewScheduledMessage#39a51dfb as nil")
}
b.PutID(UpdateNewScheduledMessageTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateNewScheduledMessage) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateNewScheduledMessage#39a51dfb as nil")
}
if u.Message == nil {
return fmt.Errorf("unable to encode updateNewScheduledMessage#39a51dfb: field message is nil")
}
if err := u.Message.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateNewScheduledMessage#39a51dfb: field message: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateNewScheduledMessage) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewScheduledMessage#39a51dfb to nil")
}
if err := b.ConsumeID(UpdateNewScheduledMessageTypeID); err != nil {
return fmt.Errorf("unable to decode updateNewScheduledMessage#39a51dfb: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateNewScheduledMessage) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateNewScheduledMessage#39a51dfb to nil")
}
{
value, err := DecodeMessage(b)
if err != nil {
return fmt.Errorf("unable to decode updateNewScheduledMessage#39a51dfb: field message: %w", err)
}
u.Message = value
}
return nil
}
// GetMessage returns value of Message field.
func (u *UpdateNewScheduledMessage) GetMessage() (value MessageClass) {
if u == nil {
return
}
return u.Message
}
// UpdateDeleteScheduledMessages represents TL type `updateDeleteScheduledMessages#90866cee`.
// Some scheduled messages¹ were deleted from the schedule queue of a chat
//
// Links:
// 1) https://core.telegram.org/api/scheduled-messages
//
// See https://core.telegram.org/constructor/updateDeleteScheduledMessages for reference.
type UpdateDeleteScheduledMessages struct {
// Peer
Peer PeerClass
// Deleted scheduled messages
Messages []int
}
// UpdateDeleteScheduledMessagesTypeID is TL type id of UpdateDeleteScheduledMessages.
const UpdateDeleteScheduledMessagesTypeID = 0x90866cee
// construct implements constructor of UpdateClass.
func (u UpdateDeleteScheduledMessages) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDeleteScheduledMessages.
var (
_ bin.Encoder = &UpdateDeleteScheduledMessages{}
_ bin.Decoder = &UpdateDeleteScheduledMessages{}
_ bin.BareEncoder = &UpdateDeleteScheduledMessages{}
_ bin.BareDecoder = &UpdateDeleteScheduledMessages{}
_ UpdateClass = &UpdateDeleteScheduledMessages{}
)
func (u *UpdateDeleteScheduledMessages) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.Messages == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDeleteScheduledMessages) String() string {
if u == nil {
return "UpdateDeleteScheduledMessages(nil)"
}
type Alias UpdateDeleteScheduledMessages
return fmt.Sprintf("UpdateDeleteScheduledMessages%+v", Alias(*u))
}
// FillFrom fills UpdateDeleteScheduledMessages from given interface.
func (u *UpdateDeleteScheduledMessages) FillFrom(from interface {
GetPeer() (value PeerClass)
GetMessages() (value []int)
}) {
u.Peer = from.GetPeer()
u.Messages = from.GetMessages()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDeleteScheduledMessages) TypeID() uint32 {
return UpdateDeleteScheduledMessagesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDeleteScheduledMessages) TypeName() string {
return "updateDeleteScheduledMessages"
}
// TypeInfo returns info about TL type.
func (u *UpdateDeleteScheduledMessages) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDeleteScheduledMessages",
ID: UpdateDeleteScheduledMessagesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "Messages",
SchemaName: "messages",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDeleteScheduledMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDeleteScheduledMessages#90866cee as nil")
}
b.PutID(UpdateDeleteScheduledMessagesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDeleteScheduledMessages) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDeleteScheduledMessages#90866cee as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateDeleteScheduledMessages#90866cee: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDeleteScheduledMessages#90866cee: field peer: %w", err)
}
b.PutVectorHeader(len(u.Messages))
for _, v := range u.Messages {
b.PutInt(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDeleteScheduledMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDeleteScheduledMessages#90866cee to nil")
}
if err := b.ConsumeID(UpdateDeleteScheduledMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updateDeleteScheduledMessages#90866cee: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDeleteScheduledMessages) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDeleteScheduledMessages#90866cee to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateDeleteScheduledMessages#90866cee: field peer: %w", err)
}
u.Peer = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteScheduledMessages#90866cee: field messages: %w", err)
}
if headerLen > 0 {
u.Messages = make([]int, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDeleteScheduledMessages#90866cee: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
}
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdateDeleteScheduledMessages) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetMessages returns value of Messages field.
func (u *UpdateDeleteScheduledMessages) GetMessages() (value []int) {
if u == nil {
return
}
return u.Messages
}
// UpdateTheme represents TL type `updateTheme#8216fba3`.
// A cloud theme was updated
//
// See https://core.telegram.org/constructor/updateTheme for reference.
type UpdateTheme struct {
// Theme
Theme Theme
}
// UpdateThemeTypeID is TL type id of UpdateTheme.
const UpdateThemeTypeID = 0x8216fba3
// construct implements constructor of UpdateClass.
func (u UpdateTheme) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateTheme.
var (
_ bin.Encoder = &UpdateTheme{}
_ bin.Decoder = &UpdateTheme{}
_ bin.BareEncoder = &UpdateTheme{}
_ bin.BareDecoder = &UpdateTheme{}
_ UpdateClass = &UpdateTheme{}
)
func (u *UpdateTheme) Zero() bool {
if u == nil {
return true
}
if !(u.Theme.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateTheme) String() string {
if u == nil {
return "UpdateTheme(nil)"
}
type Alias UpdateTheme
return fmt.Sprintf("UpdateTheme%+v", Alias(*u))
}
// FillFrom fills UpdateTheme from given interface.
func (u *UpdateTheme) FillFrom(from interface {
GetTheme() (value Theme)
}) {
u.Theme = from.GetTheme()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateTheme) TypeID() uint32 {
return UpdateThemeTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateTheme) TypeName() string {
return "updateTheme"
}
// TypeInfo returns info about TL type.
func (u *UpdateTheme) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateTheme",
ID: UpdateThemeTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Theme",
SchemaName: "theme",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateTheme) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateTheme#8216fba3 as nil")
}
b.PutID(UpdateThemeTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateTheme) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateTheme#8216fba3 as nil")
}
if err := u.Theme.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateTheme#8216fba3: field theme: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateTheme) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateTheme#8216fba3 to nil")
}
if err := b.ConsumeID(UpdateThemeTypeID); err != nil {
return fmt.Errorf("unable to decode updateTheme#8216fba3: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateTheme) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateTheme#8216fba3 to nil")
}
{
if err := u.Theme.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateTheme#8216fba3: field theme: %w", err)
}
}
return nil
}
// GetTheme returns value of Theme field.
func (u *UpdateTheme) GetTheme() (value Theme) {
if u == nil {
return
}
return u.Theme
}
// UpdateGeoLiveViewed represents TL type `updateGeoLiveViewed#871fb939`.
// Live geoposition message was viewed
//
// See https://core.telegram.org/constructor/updateGeoLiveViewed for reference.
type UpdateGeoLiveViewed struct {
// The user that viewed the live geoposition
Peer PeerClass
// Message ID of geoposition message
MsgID int
}
// UpdateGeoLiveViewedTypeID is TL type id of UpdateGeoLiveViewed.
const UpdateGeoLiveViewedTypeID = 0x871fb939
// construct implements constructor of UpdateClass.
func (u UpdateGeoLiveViewed) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateGeoLiveViewed.
var (
_ bin.Encoder = &UpdateGeoLiveViewed{}
_ bin.Decoder = &UpdateGeoLiveViewed{}
_ bin.BareEncoder = &UpdateGeoLiveViewed{}
_ bin.BareDecoder = &UpdateGeoLiveViewed{}
_ UpdateClass = &UpdateGeoLiveViewed{}
)
func (u *UpdateGeoLiveViewed) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.MsgID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateGeoLiveViewed) String() string {
if u == nil {
return "UpdateGeoLiveViewed(nil)"
}
type Alias UpdateGeoLiveViewed
return fmt.Sprintf("UpdateGeoLiveViewed%+v", Alias(*u))
}
// FillFrom fills UpdateGeoLiveViewed from given interface.
func (u *UpdateGeoLiveViewed) FillFrom(from interface {
GetPeer() (value PeerClass)
GetMsgID() (value int)
}) {
u.Peer = from.GetPeer()
u.MsgID = from.GetMsgID()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateGeoLiveViewed) TypeID() uint32 {
return UpdateGeoLiveViewedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateGeoLiveViewed) TypeName() string {
return "updateGeoLiveViewed"
}
// TypeInfo returns info about TL type.
func (u *UpdateGeoLiveViewed) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateGeoLiveViewed",
ID: UpdateGeoLiveViewedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "MsgID",
SchemaName: "msg_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateGeoLiveViewed) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGeoLiveViewed#871fb939 as nil")
}
b.PutID(UpdateGeoLiveViewedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateGeoLiveViewed) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGeoLiveViewed#871fb939 as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateGeoLiveViewed#871fb939: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateGeoLiveViewed#871fb939: field peer: %w", err)
}
b.PutInt(u.MsgID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateGeoLiveViewed) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGeoLiveViewed#871fb939 to nil")
}
if err := b.ConsumeID(UpdateGeoLiveViewedTypeID); err != nil {
return fmt.Errorf("unable to decode updateGeoLiveViewed#871fb939: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateGeoLiveViewed) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGeoLiveViewed#871fb939 to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateGeoLiveViewed#871fb939: field peer: %w", err)
}
u.Peer = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateGeoLiveViewed#871fb939: field msg_id: %w", err)
}
u.MsgID = value
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdateGeoLiveViewed) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetMsgID returns value of MsgID field.
func (u *UpdateGeoLiveViewed) GetMsgID() (value int) {
if u == nil {
return
}
return u.MsgID
}
// UpdateLoginToken represents TL type `updateLoginToken#564fe691`.
// A login token (for login via QR code) was accepted.
//
// See https://core.telegram.org/constructor/updateLoginToken for reference.
type UpdateLoginToken struct {
}
// UpdateLoginTokenTypeID is TL type id of UpdateLoginToken.
const UpdateLoginTokenTypeID = 0x564fe691
// construct implements constructor of UpdateClass.
func (u UpdateLoginToken) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateLoginToken.
var (
_ bin.Encoder = &UpdateLoginToken{}
_ bin.Decoder = &UpdateLoginToken{}
_ bin.BareEncoder = &UpdateLoginToken{}
_ bin.BareDecoder = &UpdateLoginToken{}
_ UpdateClass = &UpdateLoginToken{}
)
func (u *UpdateLoginToken) Zero() bool {
if u == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateLoginToken) String() string {
if u == nil {
return "UpdateLoginToken(nil)"
}
type Alias UpdateLoginToken
return fmt.Sprintf("UpdateLoginToken%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateLoginToken) TypeID() uint32 {
return UpdateLoginTokenTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateLoginToken) TypeName() string {
return "updateLoginToken"
}
// TypeInfo returns info about TL type.
func (u *UpdateLoginToken) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateLoginToken",
ID: UpdateLoginTokenTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateLoginToken) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateLoginToken#564fe691 as nil")
}
b.PutID(UpdateLoginTokenTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateLoginToken) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateLoginToken#564fe691 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateLoginToken) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateLoginToken#564fe691 to nil")
}
if err := b.ConsumeID(UpdateLoginTokenTypeID); err != nil {
return fmt.Errorf("unable to decode updateLoginToken#564fe691: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateLoginToken) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateLoginToken#564fe691 to nil")
}
return nil
}
// UpdateMessagePollVote represents TL type `updateMessagePollVote#106395c9`.
// A specific user has voted in a poll
//
// See https://core.telegram.org/constructor/updateMessagePollVote for reference.
type UpdateMessagePollVote struct {
// Poll ID
PollID int64
// User ID
UserID int64
// Chosen option(s)
Options [][]byte
// New qts value, see updates »¹ for more info.
//
// Links:
// 1) https://core.telegram.org/api/updates
Qts int
}
// UpdateMessagePollVoteTypeID is TL type id of UpdateMessagePollVote.
const UpdateMessagePollVoteTypeID = 0x106395c9
// construct implements constructor of UpdateClass.
func (u UpdateMessagePollVote) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateMessagePollVote.
var (
_ bin.Encoder = &UpdateMessagePollVote{}
_ bin.Decoder = &UpdateMessagePollVote{}
_ bin.BareEncoder = &UpdateMessagePollVote{}
_ bin.BareDecoder = &UpdateMessagePollVote{}
_ UpdateClass = &UpdateMessagePollVote{}
)
func (u *UpdateMessagePollVote) Zero() bool {
if u == nil {
return true
}
if !(u.PollID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.Options == nil) {
return false
}
if !(u.Qts == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateMessagePollVote) String() string {
if u == nil {
return "UpdateMessagePollVote(nil)"
}
type Alias UpdateMessagePollVote
return fmt.Sprintf("UpdateMessagePollVote%+v", Alias(*u))
}
// FillFrom fills UpdateMessagePollVote from given interface.
func (u *UpdateMessagePollVote) FillFrom(from interface {
GetPollID() (value int64)
GetUserID() (value int64)
GetOptions() (value [][]byte)
GetQts() (value int)
}) {
u.PollID = from.GetPollID()
u.UserID = from.GetUserID()
u.Options = from.GetOptions()
u.Qts = from.GetQts()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateMessagePollVote) TypeID() uint32 {
return UpdateMessagePollVoteTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateMessagePollVote) TypeName() string {
return "updateMessagePollVote"
}
// TypeInfo returns info about TL type.
func (u *UpdateMessagePollVote) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateMessagePollVote",
ID: UpdateMessagePollVoteTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PollID",
SchemaName: "poll_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Options",
SchemaName: "options",
},
{
Name: "Qts",
SchemaName: "qts",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateMessagePollVote) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessagePollVote#106395c9 as nil")
}
b.PutID(UpdateMessagePollVoteTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateMessagePollVote) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateMessagePollVote#106395c9 as nil")
}
b.PutLong(u.PollID)
b.PutLong(u.UserID)
b.PutVectorHeader(len(u.Options))
for _, v := range u.Options {
b.PutBytes(v)
}
b.PutInt(u.Qts)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateMessagePollVote) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessagePollVote#106395c9 to nil")
}
if err := b.ConsumeID(UpdateMessagePollVoteTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessagePollVote#106395c9: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateMessagePollVote) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateMessagePollVote#106395c9 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateMessagePollVote#106395c9: field poll_id: %w", err)
}
u.PollID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateMessagePollVote#106395c9: field user_id: %w", err)
}
u.UserID = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateMessagePollVote#106395c9: field options: %w", err)
}
if headerLen > 0 {
u.Options = make([][]byte, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updateMessagePollVote#106395c9: field options: %w", err)
}
u.Options = append(u.Options, value)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateMessagePollVote#106395c9: field qts: %w", err)
}
u.Qts = value
}
return nil
}
// GetPollID returns value of PollID field.
func (u *UpdateMessagePollVote) GetPollID() (value int64) {
if u == nil {
return
}
return u.PollID
}
// GetUserID returns value of UserID field.
func (u *UpdateMessagePollVote) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetOptions returns value of Options field.
func (u *UpdateMessagePollVote) GetOptions() (value [][]byte) {
if u == nil {
return
}
return u.Options
}
// GetQts returns value of Qts field.
func (u *UpdateMessagePollVote) GetQts() (value int) {
if u == nil {
return
}
return u.Qts
}
// UpdateDialogFilter represents TL type `updateDialogFilter#26ffde7d`.
// A new folder¹ was added
//
// Links:
// 1) https://core.telegram.org/api/folders
//
// See https://core.telegram.org/constructor/updateDialogFilter for reference.
type UpdateDialogFilter struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Folder¹ ID
//
// Links:
// 1) https://core.telegram.org/api/folders
ID int
// Folder¹ info
//
// Links:
// 1) https://core.telegram.org/api/folders
//
// Use SetFilter and GetFilter helpers.
Filter DialogFilter
}
// UpdateDialogFilterTypeID is TL type id of UpdateDialogFilter.
const UpdateDialogFilterTypeID = 0x26ffde7d
// construct implements constructor of UpdateClass.
func (u UpdateDialogFilter) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDialogFilter.
var (
_ bin.Encoder = &UpdateDialogFilter{}
_ bin.Decoder = &UpdateDialogFilter{}
_ bin.BareEncoder = &UpdateDialogFilter{}
_ bin.BareDecoder = &UpdateDialogFilter{}
_ UpdateClass = &UpdateDialogFilter{}
)
func (u *UpdateDialogFilter) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.ID == 0) {
return false
}
if !(u.Filter.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDialogFilter) String() string {
if u == nil {
return "UpdateDialogFilter(nil)"
}
type Alias UpdateDialogFilter
return fmt.Sprintf("UpdateDialogFilter%+v", Alias(*u))
}
// FillFrom fills UpdateDialogFilter from given interface.
func (u *UpdateDialogFilter) FillFrom(from interface {
GetID() (value int)
GetFilter() (value DialogFilter, ok bool)
}) {
u.ID = from.GetID()
if val, ok := from.GetFilter(); ok {
u.Filter = val
}
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDialogFilter) TypeID() uint32 {
return UpdateDialogFilterTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDialogFilter) TypeName() string {
return "updateDialogFilter"
}
// TypeInfo returns info about TL type.
func (u *UpdateDialogFilter) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDialogFilter",
ID: UpdateDialogFilterTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "Filter",
SchemaName: "filter",
Null: !u.Flags.Has(0),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateDialogFilter) SetFlags() {
if !(u.Filter.Zero()) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateDialogFilter) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogFilter#26ffde7d as nil")
}
b.PutID(UpdateDialogFilterTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDialogFilter) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogFilter#26ffde7d as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDialogFilter#26ffde7d: field flags: %w", err)
}
b.PutInt(u.ID)
if u.Flags.Has(0) {
if err := u.Filter.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateDialogFilter#26ffde7d: field filter: %w", err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDialogFilter) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogFilter#26ffde7d to nil")
}
if err := b.ConsumeID(UpdateDialogFilterTypeID); err != nil {
return fmt.Errorf("unable to decode updateDialogFilter#26ffde7d: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDialogFilter) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogFilter#26ffde7d to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateDialogFilter#26ffde7d: field flags: %w", err)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDialogFilter#26ffde7d: field id: %w", err)
}
u.ID = value
}
if u.Flags.Has(0) {
if err := u.Filter.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateDialogFilter#26ffde7d: field filter: %w", err)
}
}
return nil
}
// GetID returns value of ID field.
func (u *UpdateDialogFilter) GetID() (value int) {
if u == nil {
return
}
return u.ID
}
// SetFilter sets value of Filter conditional field.
func (u *UpdateDialogFilter) SetFilter(value DialogFilter) {
u.Flags.Set(0)
u.Filter = value
}
// GetFilter returns value of Filter conditional field and
// boolean which is true if field was set.
func (u *UpdateDialogFilter) GetFilter() (value DialogFilter, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.Filter, true
}
// UpdateDialogFilterOrder represents TL type `updateDialogFilterOrder#a5d72105`.
// New folder¹ order
//
// Links:
// 1) https://core.telegram.org/api/folders
//
// See https://core.telegram.org/constructor/updateDialogFilterOrder for reference.
type UpdateDialogFilterOrder struct {
// Ordered folder IDs¹
//
// Links:
// 1) https://core.telegram.org/api/folders
Order []int
}
// UpdateDialogFilterOrderTypeID is TL type id of UpdateDialogFilterOrder.
const UpdateDialogFilterOrderTypeID = 0xa5d72105
// construct implements constructor of UpdateClass.
func (u UpdateDialogFilterOrder) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDialogFilterOrder.
var (
_ bin.Encoder = &UpdateDialogFilterOrder{}
_ bin.Decoder = &UpdateDialogFilterOrder{}
_ bin.BareEncoder = &UpdateDialogFilterOrder{}
_ bin.BareDecoder = &UpdateDialogFilterOrder{}
_ UpdateClass = &UpdateDialogFilterOrder{}
)
func (u *UpdateDialogFilterOrder) Zero() bool {
if u == nil {
return true
}
if !(u.Order == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDialogFilterOrder) String() string {
if u == nil {
return "UpdateDialogFilterOrder(nil)"
}
type Alias UpdateDialogFilterOrder
return fmt.Sprintf("UpdateDialogFilterOrder%+v", Alias(*u))
}
// FillFrom fills UpdateDialogFilterOrder from given interface.
func (u *UpdateDialogFilterOrder) FillFrom(from interface {
GetOrder() (value []int)
}) {
u.Order = from.GetOrder()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDialogFilterOrder) TypeID() uint32 {
return UpdateDialogFilterOrderTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDialogFilterOrder) TypeName() string {
return "updateDialogFilterOrder"
}
// TypeInfo returns info about TL type.
func (u *UpdateDialogFilterOrder) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDialogFilterOrder",
ID: UpdateDialogFilterOrderTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Order",
SchemaName: "order",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDialogFilterOrder) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogFilterOrder#a5d72105 as nil")
}
b.PutID(UpdateDialogFilterOrderTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDialogFilterOrder) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogFilterOrder#a5d72105 as nil")
}
b.PutVectorHeader(len(u.Order))
for _, v := range u.Order {
b.PutInt(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDialogFilterOrder) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogFilterOrder#a5d72105 to nil")
}
if err := b.ConsumeID(UpdateDialogFilterOrderTypeID); err != nil {
return fmt.Errorf("unable to decode updateDialogFilterOrder#a5d72105: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDialogFilterOrder) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogFilterOrder#a5d72105 to nil")
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateDialogFilterOrder#a5d72105: field order: %w", err)
}
if headerLen > 0 {
u.Order = make([]int, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateDialogFilterOrder#a5d72105: field order: %w", err)
}
u.Order = append(u.Order, value)
}
}
return nil
}
// GetOrder returns value of Order field.
func (u *UpdateDialogFilterOrder) GetOrder() (value []int) {
if u == nil {
return
}
return u.Order
}
// UpdateDialogFilters represents TL type `updateDialogFilters#3504914f`.
// Clients should update folder¹ info
//
// Links:
// 1) https://core.telegram.org/api/folders
//
// See https://core.telegram.org/constructor/updateDialogFilters for reference.
type UpdateDialogFilters struct {
}
// UpdateDialogFiltersTypeID is TL type id of UpdateDialogFilters.
const UpdateDialogFiltersTypeID = 0x3504914f
// construct implements constructor of UpdateClass.
func (u UpdateDialogFilters) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateDialogFilters.
var (
_ bin.Encoder = &UpdateDialogFilters{}
_ bin.Decoder = &UpdateDialogFilters{}
_ bin.BareEncoder = &UpdateDialogFilters{}
_ bin.BareDecoder = &UpdateDialogFilters{}
_ UpdateClass = &UpdateDialogFilters{}
)
func (u *UpdateDialogFilters) Zero() bool {
if u == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateDialogFilters) String() string {
if u == nil {
return "UpdateDialogFilters(nil)"
}
type Alias UpdateDialogFilters
return fmt.Sprintf("UpdateDialogFilters%+v", Alias(*u))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateDialogFilters) TypeID() uint32 {
return UpdateDialogFiltersTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateDialogFilters) TypeName() string {
return "updateDialogFilters"
}
// TypeInfo returns info about TL type.
func (u *UpdateDialogFilters) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateDialogFilters",
ID: UpdateDialogFiltersTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateDialogFilters) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogFilters#3504914f as nil")
}
b.PutID(UpdateDialogFiltersTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateDialogFilters) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateDialogFilters#3504914f as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateDialogFilters) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogFilters#3504914f to nil")
}
if err := b.ConsumeID(UpdateDialogFiltersTypeID); err != nil {
return fmt.Errorf("unable to decode updateDialogFilters#3504914f: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateDialogFilters) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateDialogFilters#3504914f to nil")
}
return nil
}
// UpdatePhoneCallSignalingData represents TL type `updatePhoneCallSignalingData#2661bf09`.
// Incoming phone call signaling payload
//
// See https://core.telegram.org/constructor/updatePhoneCallSignalingData for reference.
type UpdatePhoneCallSignalingData struct {
// Phone call ID
PhoneCallID int64
// Signaling payload
Data []byte
}
// UpdatePhoneCallSignalingDataTypeID is TL type id of UpdatePhoneCallSignalingData.
const UpdatePhoneCallSignalingDataTypeID = 0x2661bf09
// construct implements constructor of UpdateClass.
func (u UpdatePhoneCallSignalingData) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePhoneCallSignalingData.
var (
_ bin.Encoder = &UpdatePhoneCallSignalingData{}
_ bin.Decoder = &UpdatePhoneCallSignalingData{}
_ bin.BareEncoder = &UpdatePhoneCallSignalingData{}
_ bin.BareDecoder = &UpdatePhoneCallSignalingData{}
_ UpdateClass = &UpdatePhoneCallSignalingData{}
)
func (u *UpdatePhoneCallSignalingData) Zero() bool {
if u == nil {
return true
}
if !(u.PhoneCallID == 0) {
return false
}
if !(u.Data == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePhoneCallSignalingData) String() string {
if u == nil {
return "UpdatePhoneCallSignalingData(nil)"
}
type Alias UpdatePhoneCallSignalingData
return fmt.Sprintf("UpdatePhoneCallSignalingData%+v", Alias(*u))
}
// FillFrom fills UpdatePhoneCallSignalingData from given interface.
func (u *UpdatePhoneCallSignalingData) FillFrom(from interface {
GetPhoneCallID() (value int64)
GetData() (value []byte)
}) {
u.PhoneCallID = from.GetPhoneCallID()
u.Data = from.GetData()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePhoneCallSignalingData) TypeID() uint32 {
return UpdatePhoneCallSignalingDataTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePhoneCallSignalingData) TypeName() string {
return "updatePhoneCallSignalingData"
}
// TypeInfo returns info about TL type.
func (u *UpdatePhoneCallSignalingData) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePhoneCallSignalingData",
ID: UpdatePhoneCallSignalingDataTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PhoneCallID",
SchemaName: "phone_call_id",
},
{
Name: "Data",
SchemaName: "data",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePhoneCallSignalingData) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePhoneCallSignalingData#2661bf09 as nil")
}
b.PutID(UpdatePhoneCallSignalingDataTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePhoneCallSignalingData) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePhoneCallSignalingData#2661bf09 as nil")
}
b.PutLong(u.PhoneCallID)
b.PutBytes(u.Data)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePhoneCallSignalingData) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePhoneCallSignalingData#2661bf09 to nil")
}
if err := b.ConsumeID(UpdatePhoneCallSignalingDataTypeID); err != nil {
return fmt.Errorf("unable to decode updatePhoneCallSignalingData#2661bf09: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePhoneCallSignalingData) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePhoneCallSignalingData#2661bf09 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updatePhoneCallSignalingData#2661bf09: field phone_call_id: %w", err)
}
u.PhoneCallID = value
}
{
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode updatePhoneCallSignalingData#2661bf09: field data: %w", err)
}
u.Data = value
}
return nil
}
// GetPhoneCallID returns value of PhoneCallID field.
func (u *UpdatePhoneCallSignalingData) GetPhoneCallID() (value int64) {
if u == nil {
return
}
return u.PhoneCallID
}
// GetData returns value of Data field.
func (u *UpdatePhoneCallSignalingData) GetData() (value []byte) {
if u == nil {
return
}
return u.Data
}
// UpdateChannelMessageForwards represents TL type `updateChannelMessageForwards#d29a27f4`.
// The forward counter of a message in a channel has changed
//
// See https://core.telegram.org/constructor/updateChannelMessageForwards for reference.
type UpdateChannelMessageForwards struct {
// Channel ID
ChannelID int64
// ID of the message
ID int
// New forward counter
Forwards int
}
// UpdateChannelMessageForwardsTypeID is TL type id of UpdateChannelMessageForwards.
const UpdateChannelMessageForwardsTypeID = 0xd29a27f4
// construct implements constructor of UpdateClass.
func (u UpdateChannelMessageForwards) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChannelMessageForwards.
var (
_ bin.Encoder = &UpdateChannelMessageForwards{}
_ bin.Decoder = &UpdateChannelMessageForwards{}
_ bin.BareEncoder = &UpdateChannelMessageForwards{}
_ bin.BareDecoder = &UpdateChannelMessageForwards{}
_ UpdateClass = &UpdateChannelMessageForwards{}
)
func (u *UpdateChannelMessageForwards) Zero() bool {
if u == nil {
return true
}
if !(u.ChannelID == 0) {
return false
}
if !(u.ID == 0) {
return false
}
if !(u.Forwards == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChannelMessageForwards) String() string {
if u == nil {
return "UpdateChannelMessageForwards(nil)"
}
type Alias UpdateChannelMessageForwards
return fmt.Sprintf("UpdateChannelMessageForwards%+v", Alias(*u))
}
// FillFrom fills UpdateChannelMessageForwards from given interface.
func (u *UpdateChannelMessageForwards) FillFrom(from interface {
GetChannelID() (value int64)
GetID() (value int)
GetForwards() (value int)
}) {
u.ChannelID = from.GetChannelID()
u.ID = from.GetID()
u.Forwards = from.GetForwards()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChannelMessageForwards) TypeID() uint32 {
return UpdateChannelMessageForwardsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChannelMessageForwards) TypeName() string {
return "updateChannelMessageForwards"
}
// TypeInfo returns info about TL type.
func (u *UpdateChannelMessageForwards) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChannelMessageForwards",
ID: UpdateChannelMessageForwardsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "ID",
SchemaName: "id",
},
{
Name: "Forwards",
SchemaName: "forwards",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChannelMessageForwards) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelMessageForwards#d29a27f4 as nil")
}
b.PutID(UpdateChannelMessageForwardsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChannelMessageForwards) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelMessageForwards#d29a27f4 as nil")
}
b.PutLong(u.ChannelID)
b.PutInt(u.ID)
b.PutInt(u.Forwards)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChannelMessageForwards) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelMessageForwards#d29a27f4 to nil")
}
if err := b.ConsumeID(UpdateChannelMessageForwardsTypeID); err != nil {
return fmt.Errorf("unable to decode updateChannelMessageForwards#d29a27f4: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChannelMessageForwards) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelMessageForwards#d29a27f4 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelMessageForwards#d29a27f4: field channel_id: %w", err)
}
u.ChannelID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelMessageForwards#d29a27f4: field id: %w", err)
}
u.ID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelMessageForwards#d29a27f4: field forwards: %w", err)
}
u.Forwards = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateChannelMessageForwards) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetID returns value of ID field.
func (u *UpdateChannelMessageForwards) GetID() (value int) {
if u == nil {
return
}
return u.ID
}
// GetForwards returns value of Forwards field.
func (u *UpdateChannelMessageForwards) GetForwards() (value int) {
if u == nil {
return
}
return u.Forwards
}
// UpdateReadChannelDiscussionInbox represents TL type `updateReadChannelDiscussionInbox#d6b19546`.
// Incoming comments in a discussion thread¹ were marked as read
//
// Links:
// 1) https://core.telegram.org/api/threads
//
// See https://core.telegram.org/constructor/updateReadChannelDiscussionInbox for reference.
type UpdateReadChannelDiscussionInbox struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Discussion group ID¹
//
// Links:
// 1) https://core.telegram.org/api/channel
ChannelID int64
// ID of the group message that started the thread¹ (message in linked discussion group)
//
// Links:
// 1) https://core.telegram.org/api/threads
TopMsgID int
// Message ID of latest read incoming message for this thread¹
//
// Links:
// 1) https://core.telegram.org/api/threads
ReadMaxID int
// If set, contains the ID of the channel¹ that contains the post that started the
// comment thread² in the discussion group (channel_id)
//
// Links:
// 1) https://core.telegram.org/api/channel
// 2) https://core.telegram.org/api/threads
//
// Use SetBroadcastID and GetBroadcastID helpers.
BroadcastID int64
// If set, contains the ID of the channel post that started the the comment thread¹
//
// Links:
// 1) https://core.telegram.org/api/threads
//
// Use SetBroadcastPost and GetBroadcastPost helpers.
BroadcastPost int
}
// UpdateReadChannelDiscussionInboxTypeID is TL type id of UpdateReadChannelDiscussionInbox.
const UpdateReadChannelDiscussionInboxTypeID = 0xd6b19546
// construct implements constructor of UpdateClass.
func (u UpdateReadChannelDiscussionInbox) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateReadChannelDiscussionInbox.
var (
_ bin.Encoder = &UpdateReadChannelDiscussionInbox{}
_ bin.Decoder = &UpdateReadChannelDiscussionInbox{}
_ bin.BareEncoder = &UpdateReadChannelDiscussionInbox{}
_ bin.BareDecoder = &UpdateReadChannelDiscussionInbox{}
_ UpdateClass = &UpdateReadChannelDiscussionInbox{}
)
func (u *UpdateReadChannelDiscussionInbox) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.ChannelID == 0) {
return false
}
if !(u.TopMsgID == 0) {
return false
}
if !(u.ReadMaxID == 0) {
return false
}
if !(u.BroadcastID == 0) {
return false
}
if !(u.BroadcastPost == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateReadChannelDiscussionInbox) String() string {
if u == nil {
return "UpdateReadChannelDiscussionInbox(nil)"
}
type Alias UpdateReadChannelDiscussionInbox
return fmt.Sprintf("UpdateReadChannelDiscussionInbox%+v", Alias(*u))
}
// FillFrom fills UpdateReadChannelDiscussionInbox from given interface.
func (u *UpdateReadChannelDiscussionInbox) FillFrom(from interface {
GetChannelID() (value int64)
GetTopMsgID() (value int)
GetReadMaxID() (value int)
GetBroadcastID() (value int64, ok bool)
GetBroadcastPost() (value int, ok bool)
}) {
u.ChannelID = from.GetChannelID()
u.TopMsgID = from.GetTopMsgID()
u.ReadMaxID = from.GetReadMaxID()
if val, ok := from.GetBroadcastID(); ok {
u.BroadcastID = val
}
if val, ok := from.GetBroadcastPost(); ok {
u.BroadcastPost = val
}
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateReadChannelDiscussionInbox) TypeID() uint32 {
return UpdateReadChannelDiscussionInboxTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateReadChannelDiscussionInbox) TypeName() string {
return "updateReadChannelDiscussionInbox"
}
// TypeInfo returns info about TL type.
func (u *UpdateReadChannelDiscussionInbox) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateReadChannelDiscussionInbox",
ID: UpdateReadChannelDiscussionInboxTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "TopMsgID",
SchemaName: "top_msg_id",
},
{
Name: "ReadMaxID",
SchemaName: "read_max_id",
},
{
Name: "BroadcastID",
SchemaName: "broadcast_id",
Null: !u.Flags.Has(0),
},
{
Name: "BroadcastPost",
SchemaName: "broadcast_post",
Null: !u.Flags.Has(0),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateReadChannelDiscussionInbox) SetFlags() {
if !(u.BroadcastID == 0) {
u.Flags.Set(0)
}
if !(u.BroadcastPost == 0) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateReadChannelDiscussionInbox) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadChannelDiscussionInbox#d6b19546 as nil")
}
b.PutID(UpdateReadChannelDiscussionInboxTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateReadChannelDiscussionInbox) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadChannelDiscussionInbox#d6b19546 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateReadChannelDiscussionInbox#d6b19546: field flags: %w", err)
}
b.PutLong(u.ChannelID)
b.PutInt(u.TopMsgID)
b.PutInt(u.ReadMaxID)
if u.Flags.Has(0) {
b.PutLong(u.BroadcastID)
}
if u.Flags.Has(0) {
b.PutInt(u.BroadcastPost)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateReadChannelDiscussionInbox) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadChannelDiscussionInbox#d6b19546 to nil")
}
if err := b.ConsumeID(UpdateReadChannelDiscussionInboxTypeID); err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionInbox#d6b19546: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateReadChannelDiscussionInbox) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadChannelDiscussionInbox#d6b19546 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionInbox#d6b19546: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionInbox#d6b19546: field channel_id: %w", err)
}
u.ChannelID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionInbox#d6b19546: field top_msg_id: %w", err)
}
u.TopMsgID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionInbox#d6b19546: field read_max_id: %w", err)
}
u.ReadMaxID = value
}
if u.Flags.Has(0) {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionInbox#d6b19546: field broadcast_id: %w", err)
}
u.BroadcastID = value
}
if u.Flags.Has(0) {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionInbox#d6b19546: field broadcast_post: %w", err)
}
u.BroadcastPost = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateReadChannelDiscussionInbox) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetTopMsgID returns value of TopMsgID field.
func (u *UpdateReadChannelDiscussionInbox) GetTopMsgID() (value int) {
if u == nil {
return
}
return u.TopMsgID
}
// GetReadMaxID returns value of ReadMaxID field.
func (u *UpdateReadChannelDiscussionInbox) GetReadMaxID() (value int) {
if u == nil {
return
}
return u.ReadMaxID
}
// SetBroadcastID sets value of BroadcastID conditional field.
func (u *UpdateReadChannelDiscussionInbox) SetBroadcastID(value int64) {
u.Flags.Set(0)
u.BroadcastID = value
}
// GetBroadcastID returns value of BroadcastID conditional field and
// boolean which is true if field was set.
func (u *UpdateReadChannelDiscussionInbox) GetBroadcastID() (value int64, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.BroadcastID, true
}
// SetBroadcastPost sets value of BroadcastPost conditional field.
func (u *UpdateReadChannelDiscussionInbox) SetBroadcastPost(value int) {
u.Flags.Set(0)
u.BroadcastPost = value
}
// GetBroadcastPost returns value of BroadcastPost conditional field and
// boolean which is true if field was set.
func (u *UpdateReadChannelDiscussionInbox) GetBroadcastPost() (value int, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.BroadcastPost, true
}
// UpdateReadChannelDiscussionOutbox represents TL type `updateReadChannelDiscussionOutbox#695c9e7c`.
// Outgoing comments in a discussion thread¹ were marked as read
//
// Links:
// 1) https://core.telegram.org/api/threads
//
// See https://core.telegram.org/constructor/updateReadChannelDiscussionOutbox for reference.
type UpdateReadChannelDiscussionOutbox struct {
// Supergroup ID¹
//
// Links:
// 1) https://core.telegram.org/api/channel
ChannelID int64
// ID of the group message that started the thread¹
//
// Links:
// 1) https://core.telegram.org/api/threads
TopMsgID int
// Message ID of latest read outgoing message for this thread¹
//
// Links:
// 1) https://core.telegram.org/api/threads
ReadMaxID int
}
// UpdateReadChannelDiscussionOutboxTypeID is TL type id of UpdateReadChannelDiscussionOutbox.
const UpdateReadChannelDiscussionOutboxTypeID = 0x695c9e7c
// construct implements constructor of UpdateClass.
func (u UpdateReadChannelDiscussionOutbox) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateReadChannelDiscussionOutbox.
var (
_ bin.Encoder = &UpdateReadChannelDiscussionOutbox{}
_ bin.Decoder = &UpdateReadChannelDiscussionOutbox{}
_ bin.BareEncoder = &UpdateReadChannelDiscussionOutbox{}
_ bin.BareDecoder = &UpdateReadChannelDiscussionOutbox{}
_ UpdateClass = &UpdateReadChannelDiscussionOutbox{}
)
func (u *UpdateReadChannelDiscussionOutbox) Zero() bool {
if u == nil {
return true
}
if !(u.ChannelID == 0) {
return false
}
if !(u.TopMsgID == 0) {
return false
}
if !(u.ReadMaxID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateReadChannelDiscussionOutbox) String() string {
if u == nil {
return "UpdateReadChannelDiscussionOutbox(nil)"
}
type Alias UpdateReadChannelDiscussionOutbox
return fmt.Sprintf("UpdateReadChannelDiscussionOutbox%+v", Alias(*u))
}
// FillFrom fills UpdateReadChannelDiscussionOutbox from given interface.
func (u *UpdateReadChannelDiscussionOutbox) FillFrom(from interface {
GetChannelID() (value int64)
GetTopMsgID() (value int)
GetReadMaxID() (value int)
}) {
u.ChannelID = from.GetChannelID()
u.TopMsgID = from.GetTopMsgID()
u.ReadMaxID = from.GetReadMaxID()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateReadChannelDiscussionOutbox) TypeID() uint32 {
return UpdateReadChannelDiscussionOutboxTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateReadChannelDiscussionOutbox) TypeName() string {
return "updateReadChannelDiscussionOutbox"
}
// TypeInfo returns info about TL type.
func (u *UpdateReadChannelDiscussionOutbox) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateReadChannelDiscussionOutbox",
ID: UpdateReadChannelDiscussionOutboxTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "TopMsgID",
SchemaName: "top_msg_id",
},
{
Name: "ReadMaxID",
SchemaName: "read_max_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateReadChannelDiscussionOutbox) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadChannelDiscussionOutbox#695c9e7c as nil")
}
b.PutID(UpdateReadChannelDiscussionOutboxTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateReadChannelDiscussionOutbox) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateReadChannelDiscussionOutbox#695c9e7c as nil")
}
b.PutLong(u.ChannelID)
b.PutInt(u.TopMsgID)
b.PutInt(u.ReadMaxID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateReadChannelDiscussionOutbox) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadChannelDiscussionOutbox#695c9e7c to nil")
}
if err := b.ConsumeID(UpdateReadChannelDiscussionOutboxTypeID); err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionOutbox#695c9e7c: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateReadChannelDiscussionOutbox) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateReadChannelDiscussionOutbox#695c9e7c to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionOutbox#695c9e7c: field channel_id: %w", err)
}
u.ChannelID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionOutbox#695c9e7c: field top_msg_id: %w", err)
}
u.TopMsgID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateReadChannelDiscussionOutbox#695c9e7c: field read_max_id: %w", err)
}
u.ReadMaxID = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateReadChannelDiscussionOutbox) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetTopMsgID returns value of TopMsgID field.
func (u *UpdateReadChannelDiscussionOutbox) GetTopMsgID() (value int) {
if u == nil {
return
}
return u.TopMsgID
}
// GetReadMaxID returns value of ReadMaxID field.
func (u *UpdateReadChannelDiscussionOutbox) GetReadMaxID() (value int) {
if u == nil {
return
}
return u.ReadMaxID
}
// UpdatePeerBlocked represents TL type `updatePeerBlocked#246a4b22`.
// A peer was blocked
//
// See https://core.telegram.org/constructor/updatePeerBlocked for reference.
type UpdatePeerBlocked struct {
// The blocked peer
PeerID PeerClass
// Whether the peer was blocked or unblocked
Blocked bool
}
// UpdatePeerBlockedTypeID is TL type id of UpdatePeerBlocked.
const UpdatePeerBlockedTypeID = 0x246a4b22
// construct implements constructor of UpdateClass.
func (u UpdatePeerBlocked) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePeerBlocked.
var (
_ bin.Encoder = &UpdatePeerBlocked{}
_ bin.Decoder = &UpdatePeerBlocked{}
_ bin.BareEncoder = &UpdatePeerBlocked{}
_ bin.BareDecoder = &UpdatePeerBlocked{}
_ UpdateClass = &UpdatePeerBlocked{}
)
func (u *UpdatePeerBlocked) Zero() bool {
if u == nil {
return true
}
if !(u.PeerID == nil) {
return false
}
if !(u.Blocked == false) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePeerBlocked) String() string {
if u == nil {
return "UpdatePeerBlocked(nil)"
}
type Alias UpdatePeerBlocked
return fmt.Sprintf("UpdatePeerBlocked%+v", Alias(*u))
}
// FillFrom fills UpdatePeerBlocked from given interface.
func (u *UpdatePeerBlocked) FillFrom(from interface {
GetPeerID() (value PeerClass)
GetBlocked() (value bool)
}) {
u.PeerID = from.GetPeerID()
u.Blocked = from.GetBlocked()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePeerBlocked) TypeID() uint32 {
return UpdatePeerBlockedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePeerBlocked) TypeName() string {
return "updatePeerBlocked"
}
// TypeInfo returns info about TL type.
func (u *UpdatePeerBlocked) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePeerBlocked",
ID: UpdatePeerBlockedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PeerID",
SchemaName: "peer_id",
},
{
Name: "Blocked",
SchemaName: "blocked",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePeerBlocked) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePeerBlocked#246a4b22 as nil")
}
b.PutID(UpdatePeerBlockedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePeerBlocked) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePeerBlocked#246a4b22 as nil")
}
if u.PeerID == nil {
return fmt.Errorf("unable to encode updatePeerBlocked#246a4b22: field peer_id is nil")
}
if err := u.PeerID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePeerBlocked#246a4b22: field peer_id: %w", err)
}
b.PutBool(u.Blocked)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePeerBlocked) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePeerBlocked#246a4b22 to nil")
}
if err := b.ConsumeID(UpdatePeerBlockedTypeID); err != nil {
return fmt.Errorf("unable to decode updatePeerBlocked#246a4b22: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePeerBlocked) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePeerBlocked#246a4b22 to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updatePeerBlocked#246a4b22: field peer_id: %w", err)
}
u.PeerID = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updatePeerBlocked#246a4b22: field blocked: %w", err)
}
u.Blocked = value
}
return nil
}
// GetPeerID returns value of PeerID field.
func (u *UpdatePeerBlocked) GetPeerID() (value PeerClass) {
if u == nil {
return
}
return u.PeerID
}
// GetBlocked returns value of Blocked field.
func (u *UpdatePeerBlocked) GetBlocked() (value bool) {
if u == nil {
return
}
return u.Blocked
}
// UpdateChannelUserTyping represents TL type `updateChannelUserTyping#8c88c923`.
// A user is typing in a supergroup, channel¹ or message thread²
//
// Links:
// 1) https://core.telegram.org/api/channel
// 2) https://core.telegram.org/api/threads
//
// See https://core.telegram.org/constructor/updateChannelUserTyping for reference.
type UpdateChannelUserTyping struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Channel ID
ChannelID int64
// Thread ID¹
//
// Links:
// 1) https://core.telegram.org/api/threads
//
// Use SetTopMsgID and GetTopMsgID helpers.
TopMsgID int
// The peer that is typing
FromID PeerClass
// Whether the user is typing, sending a media or doing something else
Action SendMessageActionClass
}
// UpdateChannelUserTypingTypeID is TL type id of UpdateChannelUserTyping.
const UpdateChannelUserTypingTypeID = 0x8c88c923
// construct implements constructor of UpdateClass.
func (u UpdateChannelUserTyping) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChannelUserTyping.
var (
_ bin.Encoder = &UpdateChannelUserTyping{}
_ bin.Decoder = &UpdateChannelUserTyping{}
_ bin.BareEncoder = &UpdateChannelUserTyping{}
_ bin.BareDecoder = &UpdateChannelUserTyping{}
_ UpdateClass = &UpdateChannelUserTyping{}
)
func (u *UpdateChannelUserTyping) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.ChannelID == 0) {
return false
}
if !(u.TopMsgID == 0) {
return false
}
if !(u.FromID == nil) {
return false
}
if !(u.Action == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChannelUserTyping) String() string {
if u == nil {
return "UpdateChannelUserTyping(nil)"
}
type Alias UpdateChannelUserTyping
return fmt.Sprintf("UpdateChannelUserTyping%+v", Alias(*u))
}
// FillFrom fills UpdateChannelUserTyping from given interface.
func (u *UpdateChannelUserTyping) FillFrom(from interface {
GetChannelID() (value int64)
GetTopMsgID() (value int, ok bool)
GetFromID() (value PeerClass)
GetAction() (value SendMessageActionClass)
}) {
u.ChannelID = from.GetChannelID()
if val, ok := from.GetTopMsgID(); ok {
u.TopMsgID = val
}
u.FromID = from.GetFromID()
u.Action = from.GetAction()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChannelUserTyping) TypeID() uint32 {
return UpdateChannelUserTypingTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChannelUserTyping) TypeName() string {
return "updateChannelUserTyping"
}
// TypeInfo returns info about TL type.
func (u *UpdateChannelUserTyping) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChannelUserTyping",
ID: UpdateChannelUserTypingTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "TopMsgID",
SchemaName: "top_msg_id",
Null: !u.Flags.Has(0),
},
{
Name: "FromID",
SchemaName: "from_id",
},
{
Name: "Action",
SchemaName: "action",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateChannelUserTyping) SetFlags() {
if !(u.TopMsgID == 0) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateChannelUserTyping) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelUserTyping#8c88c923 as nil")
}
b.PutID(UpdateChannelUserTypingTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChannelUserTyping) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelUserTyping#8c88c923 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChannelUserTyping#8c88c923: field flags: %w", err)
}
b.PutLong(u.ChannelID)
if u.Flags.Has(0) {
b.PutInt(u.TopMsgID)
}
if u.FromID == nil {
return fmt.Errorf("unable to encode updateChannelUserTyping#8c88c923: field from_id is nil")
}
if err := u.FromID.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChannelUserTyping#8c88c923: field from_id: %w", err)
}
if u.Action == nil {
return fmt.Errorf("unable to encode updateChannelUserTyping#8c88c923: field action is nil")
}
if err := u.Action.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChannelUserTyping#8c88c923: field action: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChannelUserTyping) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelUserTyping#8c88c923 to nil")
}
if err := b.ConsumeID(UpdateChannelUserTypingTypeID); err != nil {
return fmt.Errorf("unable to decode updateChannelUserTyping#8c88c923: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChannelUserTyping) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelUserTyping#8c88c923 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChannelUserTyping#8c88c923: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelUserTyping#8c88c923: field channel_id: %w", err)
}
u.ChannelID = value
}
if u.Flags.Has(0) {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelUserTyping#8c88c923: field top_msg_id: %w", err)
}
u.TopMsgID = value
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateChannelUserTyping#8c88c923: field from_id: %w", err)
}
u.FromID = value
}
{
value, err := DecodeSendMessageAction(b)
if err != nil {
return fmt.Errorf("unable to decode updateChannelUserTyping#8c88c923: field action: %w", err)
}
u.Action = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateChannelUserTyping) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// SetTopMsgID sets value of TopMsgID conditional field.
func (u *UpdateChannelUserTyping) SetTopMsgID(value int) {
u.Flags.Set(0)
u.TopMsgID = value
}
// GetTopMsgID returns value of TopMsgID conditional field and
// boolean which is true if field was set.
func (u *UpdateChannelUserTyping) GetTopMsgID() (value int, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.TopMsgID, true
}
// GetFromID returns value of FromID field.
func (u *UpdateChannelUserTyping) GetFromID() (value PeerClass) {
if u == nil {
return
}
return u.FromID
}
// GetAction returns value of Action field.
func (u *UpdateChannelUserTyping) GetAction() (value SendMessageActionClass) {
if u == nil {
return
}
return u.Action
}
// UpdatePinnedMessages represents TL type `updatePinnedMessages#ed85eab5`.
// Some messages were pinned in a chat
//
// See https://core.telegram.org/constructor/updatePinnedMessages for reference.
type UpdatePinnedMessages struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Whether the messages were pinned or unpinned
Pinned bool
// Peer
Peer PeerClass
// Message IDs
Messages []int
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdatePinnedMessagesTypeID is TL type id of UpdatePinnedMessages.
const UpdatePinnedMessagesTypeID = 0xed85eab5
// construct implements constructor of UpdateClass.
func (u UpdatePinnedMessages) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePinnedMessages.
var (
_ bin.Encoder = &UpdatePinnedMessages{}
_ bin.Decoder = &UpdatePinnedMessages{}
_ bin.BareEncoder = &UpdatePinnedMessages{}
_ bin.BareDecoder = &UpdatePinnedMessages{}
_ UpdateClass = &UpdatePinnedMessages{}
)
func (u *UpdatePinnedMessages) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.Pinned == false) {
return false
}
if !(u.Peer == nil) {
return false
}
if !(u.Messages == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePinnedMessages) String() string {
if u == nil {
return "UpdatePinnedMessages(nil)"
}
type Alias UpdatePinnedMessages
return fmt.Sprintf("UpdatePinnedMessages%+v", Alias(*u))
}
// FillFrom fills UpdatePinnedMessages from given interface.
func (u *UpdatePinnedMessages) FillFrom(from interface {
GetPinned() (value bool)
GetPeer() (value PeerClass)
GetMessages() (value []int)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Pinned = from.GetPinned()
u.Peer = from.GetPeer()
u.Messages = from.GetMessages()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePinnedMessages) TypeID() uint32 {
return UpdatePinnedMessagesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePinnedMessages) TypeName() string {
return "updatePinnedMessages"
}
// TypeInfo returns info about TL type.
func (u *UpdatePinnedMessages) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePinnedMessages",
ID: UpdatePinnedMessagesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Pinned",
SchemaName: "pinned",
Null: !u.Flags.Has(0),
},
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "Messages",
SchemaName: "messages",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdatePinnedMessages) SetFlags() {
if !(u.Pinned == false) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdatePinnedMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePinnedMessages#ed85eab5 as nil")
}
b.PutID(UpdatePinnedMessagesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePinnedMessages) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePinnedMessages#ed85eab5 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePinnedMessages#ed85eab5: field flags: %w", err)
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updatePinnedMessages#ed85eab5: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePinnedMessages#ed85eab5: field peer: %w", err)
}
b.PutVectorHeader(len(u.Messages))
for _, v := range u.Messages {
b.PutInt(v)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePinnedMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePinnedMessages#ed85eab5 to nil")
}
if err := b.ConsumeID(UpdatePinnedMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updatePinnedMessages#ed85eab5: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePinnedMessages) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePinnedMessages#ed85eab5 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updatePinnedMessages#ed85eab5: field flags: %w", err)
}
}
u.Pinned = u.Flags.Has(0)
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updatePinnedMessages#ed85eab5: field peer: %w", err)
}
u.Peer = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedMessages#ed85eab5: field messages: %w", err)
}
if headerLen > 0 {
u.Messages = make([]int, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedMessages#ed85eab5: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedMessages#ed85eab5: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedMessages#ed85eab5: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// SetPinned sets value of Pinned conditional field.
func (u *UpdatePinnedMessages) SetPinned(value bool) {
if value {
u.Flags.Set(0)
u.Pinned = true
} else {
u.Flags.Unset(0)
u.Pinned = false
}
}
// GetPinned returns value of Pinned conditional field.
func (u *UpdatePinnedMessages) GetPinned() (value bool) {
if u == nil {
return
}
return u.Flags.Has(0)
}
// GetPeer returns value of Peer field.
func (u *UpdatePinnedMessages) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetMessages returns value of Messages field.
func (u *UpdatePinnedMessages) GetMessages() (value []int) {
if u == nil {
return
}
return u.Messages
}
// GetPts returns value of Pts field.
func (u *UpdatePinnedMessages) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdatePinnedMessages) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdatePinnedChannelMessages represents TL type `updatePinnedChannelMessages#5bb98608`.
// Messages were pinned/unpinned in a channel/supergroup¹
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updatePinnedChannelMessages for reference.
type UpdatePinnedChannelMessages struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Whether the messages were pinned or unpinned
Pinned bool
// Channel ID
ChannelID int64
// Messages
Messages []int
// Event count after generation¹
//
// Links:
// 1) https://core.telegram.org/api/updates
Pts int
// Number of events that were generated¹
//
// Links:
// 1) https://core.telegram.org/api/updates
PtsCount int
}
// UpdatePinnedChannelMessagesTypeID is TL type id of UpdatePinnedChannelMessages.
const UpdatePinnedChannelMessagesTypeID = 0x5bb98608
// construct implements constructor of UpdateClass.
func (u UpdatePinnedChannelMessages) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePinnedChannelMessages.
var (
_ bin.Encoder = &UpdatePinnedChannelMessages{}
_ bin.Decoder = &UpdatePinnedChannelMessages{}
_ bin.BareEncoder = &UpdatePinnedChannelMessages{}
_ bin.BareDecoder = &UpdatePinnedChannelMessages{}
_ UpdateClass = &UpdatePinnedChannelMessages{}
)
func (u *UpdatePinnedChannelMessages) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.Pinned == false) {
return false
}
if !(u.ChannelID == 0) {
return false
}
if !(u.Messages == nil) {
return false
}
if !(u.Pts == 0) {
return false
}
if !(u.PtsCount == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePinnedChannelMessages) String() string {
if u == nil {
return "UpdatePinnedChannelMessages(nil)"
}
type Alias UpdatePinnedChannelMessages
return fmt.Sprintf("UpdatePinnedChannelMessages%+v", Alias(*u))
}
// FillFrom fills UpdatePinnedChannelMessages from given interface.
func (u *UpdatePinnedChannelMessages) FillFrom(from interface {
GetPinned() (value bool)
GetChannelID() (value int64)
GetMessages() (value []int)
GetPts() (value int)
GetPtsCount() (value int)
}) {
u.Pinned = from.GetPinned()
u.ChannelID = from.GetChannelID()
u.Messages = from.GetMessages()
u.Pts = from.GetPts()
u.PtsCount = from.GetPtsCount()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePinnedChannelMessages) TypeID() uint32 {
return UpdatePinnedChannelMessagesTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePinnedChannelMessages) TypeName() string {
return "updatePinnedChannelMessages"
}
// TypeInfo returns info about TL type.
func (u *UpdatePinnedChannelMessages) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePinnedChannelMessages",
ID: UpdatePinnedChannelMessagesTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Pinned",
SchemaName: "pinned",
Null: !u.Flags.Has(0),
},
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "Messages",
SchemaName: "messages",
},
{
Name: "Pts",
SchemaName: "pts",
},
{
Name: "PtsCount",
SchemaName: "pts_count",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdatePinnedChannelMessages) SetFlags() {
if !(u.Pinned == false) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdatePinnedChannelMessages) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePinnedChannelMessages#5bb98608 as nil")
}
b.PutID(UpdatePinnedChannelMessagesTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePinnedChannelMessages) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePinnedChannelMessages#5bb98608 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePinnedChannelMessages#5bb98608: field flags: %w", err)
}
b.PutLong(u.ChannelID)
b.PutVectorHeader(len(u.Messages))
for _, v := range u.Messages {
b.PutInt(v)
}
b.PutInt(u.Pts)
b.PutInt(u.PtsCount)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePinnedChannelMessages) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePinnedChannelMessages#5bb98608 to nil")
}
if err := b.ConsumeID(UpdatePinnedChannelMessagesTypeID); err != nil {
return fmt.Errorf("unable to decode updatePinnedChannelMessages#5bb98608: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePinnedChannelMessages) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePinnedChannelMessages#5bb98608 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updatePinnedChannelMessages#5bb98608: field flags: %w", err)
}
}
u.Pinned = u.Flags.Has(0)
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedChannelMessages#5bb98608: field channel_id: %w", err)
}
u.ChannelID = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedChannelMessages#5bb98608: field messages: %w", err)
}
if headerLen > 0 {
u.Messages = make([]int, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedChannelMessages#5bb98608: field messages: %w", err)
}
u.Messages = append(u.Messages, value)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedChannelMessages#5bb98608: field pts: %w", err)
}
u.Pts = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePinnedChannelMessages#5bb98608: field pts_count: %w", err)
}
u.PtsCount = value
}
return nil
}
// SetPinned sets value of Pinned conditional field.
func (u *UpdatePinnedChannelMessages) SetPinned(value bool) {
if value {
u.Flags.Set(0)
u.Pinned = true
} else {
u.Flags.Unset(0)
u.Pinned = false
}
}
// GetPinned returns value of Pinned conditional field.
func (u *UpdatePinnedChannelMessages) GetPinned() (value bool) {
if u == nil {
return
}
return u.Flags.Has(0)
}
// GetChannelID returns value of ChannelID field.
func (u *UpdatePinnedChannelMessages) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetMessages returns value of Messages field.
func (u *UpdatePinnedChannelMessages) GetMessages() (value []int) {
if u == nil {
return
}
return u.Messages
}
// GetPts returns value of Pts field.
func (u *UpdatePinnedChannelMessages) GetPts() (value int) {
if u == nil {
return
}
return u.Pts
}
// GetPtsCount returns value of PtsCount field.
func (u *UpdatePinnedChannelMessages) GetPtsCount() (value int) {
if u == nil {
return
}
return u.PtsCount
}
// UpdateChat represents TL type `updateChat#f89a6a4e`.
// A new chat is available
//
// See https://core.telegram.org/constructor/updateChat for reference.
type UpdateChat struct {
// Chat ID
ChatID int64
}
// UpdateChatTypeID is TL type id of UpdateChat.
const UpdateChatTypeID = 0xf89a6a4e
// construct implements constructor of UpdateClass.
func (u UpdateChat) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChat.
var (
_ bin.Encoder = &UpdateChat{}
_ bin.Decoder = &UpdateChat{}
_ bin.BareEncoder = &UpdateChat{}
_ bin.BareDecoder = &UpdateChat{}
_ UpdateClass = &UpdateChat{}
)
func (u *UpdateChat) Zero() bool {
if u == nil {
return true
}
if !(u.ChatID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChat) String() string {
if u == nil {
return "UpdateChat(nil)"
}
type Alias UpdateChat
return fmt.Sprintf("UpdateChat%+v", Alias(*u))
}
// FillFrom fills UpdateChat from given interface.
func (u *UpdateChat) FillFrom(from interface {
GetChatID() (value int64)
}) {
u.ChatID = from.GetChatID()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChat) TypeID() uint32 {
return UpdateChatTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChat) TypeName() string {
return "updateChat"
}
// TypeInfo returns info about TL type.
func (u *UpdateChat) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChat",
ID: UpdateChatTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateChat) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChat#f89a6a4e as nil")
}
b.PutID(UpdateChatTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChat) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChat#f89a6a4e as nil")
}
b.PutLong(u.ChatID)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChat) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChat#f89a6a4e to nil")
}
if err := b.ConsumeID(UpdateChatTypeID); err != nil {
return fmt.Errorf("unable to decode updateChat#f89a6a4e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChat) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChat#f89a6a4e to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChat#f89a6a4e: field chat_id: %w", err)
}
u.ChatID = value
}
return nil
}
// GetChatID returns value of ChatID field.
func (u *UpdateChat) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// UpdateGroupCallParticipants represents TL type `updateGroupCallParticipants#f2ebdb4e`.
// The participant list of a certain group call has changed
//
// See https://core.telegram.org/constructor/updateGroupCallParticipants for reference.
type UpdateGroupCallParticipants struct {
// Group call
Call InputGroupCall
// New participant list
Participants []GroupCallParticipant
// Version
Version int
}
// UpdateGroupCallParticipantsTypeID is TL type id of UpdateGroupCallParticipants.
const UpdateGroupCallParticipantsTypeID = 0xf2ebdb4e
// 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.Call.Zero()) {
return false
}
if !(u.Participants == nil) {
return false
}
if !(u.Version == 0) {
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))
}
// FillFrom fills UpdateGroupCallParticipants from given interface.
func (u *UpdateGroupCallParticipants) FillFrom(from interface {
GetCall() (value InputGroupCall)
GetParticipants() (value []GroupCallParticipant)
GetVersion() (value int)
}) {
u.Call = from.GetCall()
u.Participants = from.GetParticipants()
u.Version = from.GetVersion()
}
// 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: "Call",
SchemaName: "call",
},
{
Name: "Participants",
SchemaName: "participants",
},
{
Name: "Version",
SchemaName: "version",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateGroupCallParticipants) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallParticipants#f2ebdb4e 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#f2ebdb4e as nil")
}
if err := u.Call.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateGroupCallParticipants#f2ebdb4e: field call: %w", err)
}
b.PutVectorHeader(len(u.Participants))
for idx, v := range u.Participants {
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateGroupCallParticipants#f2ebdb4e: field participants element with index %d: %w", idx, err)
}
}
b.PutInt(u.Version)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateGroupCallParticipants) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallParticipants#f2ebdb4e to nil")
}
if err := b.ConsumeID(UpdateGroupCallParticipantsTypeID); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#f2ebdb4e: %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#f2ebdb4e to nil")
}
{
if err := u.Call.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#f2ebdb4e: field call: %w", err)
}
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#f2ebdb4e: field participants: %w", err)
}
if headerLen > 0 {
u.Participants = make([]GroupCallParticipant, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value GroupCallParticipant
if err := value.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#f2ebdb4e: field participants: %w", err)
}
u.Participants = append(u.Participants, value)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCallParticipants#f2ebdb4e: field version: %w", err)
}
u.Version = value
}
return nil
}
// GetCall returns value of Call field.
func (u *UpdateGroupCallParticipants) GetCall() (value InputGroupCall) {
if u == nil {
return
}
return u.Call
}
// GetParticipants returns value of Participants field.
func (u *UpdateGroupCallParticipants) GetParticipants() (value []GroupCallParticipant) {
if u == nil {
return
}
return u.Participants
}
// GetVersion returns value of Version field.
func (u *UpdateGroupCallParticipants) GetVersion() (value int) {
if u == nil {
return
}
return u.Version
}
// UpdateGroupCall represents TL type `updateGroupCall#14b24500`.
// A new groupcall was started
//
// See https://core.telegram.org/constructor/updateGroupCall for reference.
type UpdateGroupCall struct {
// The channel/supergroup¹ where this group call or livestream takes place
//
// Links:
// 1) https://core.telegram.org/api/channel
ChatID int64
// Info about the group call or livestream
Call GroupCallClass
}
// UpdateGroupCallTypeID is TL type id of UpdateGroupCall.
const UpdateGroupCallTypeID = 0x14b24500
// 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.ChatID == 0) {
return false
}
if !(u.Call == nil) {
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))
}
// FillFrom fills UpdateGroupCall from given interface.
func (u *UpdateGroupCall) FillFrom(from interface {
GetChatID() (value int64)
GetCall() (value GroupCallClass)
}) {
u.ChatID = from.GetChatID()
u.Call = from.GetCall()
}
// 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: "ChatID",
SchemaName: "chat_id",
},
{
Name: "Call",
SchemaName: "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#14b24500 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#14b24500 as nil")
}
b.PutLong(u.ChatID)
if u.Call == nil {
return fmt.Errorf("unable to encode updateGroupCall#14b24500: field call is nil")
}
if err := u.Call.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateGroupCall#14b24500: field 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#14b24500 to nil")
}
if err := b.ConsumeID(UpdateGroupCallTypeID); err != nil {
return fmt.Errorf("unable to decode updateGroupCall#14b24500: %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#14b24500 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateGroupCall#14b24500: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := DecodeGroupCall(b)
if err != nil {
return fmt.Errorf("unable to decode updateGroupCall#14b24500: field call: %w", err)
}
u.Call = value
}
return nil
}
// GetChatID returns value of ChatID field.
func (u *UpdateGroupCall) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetCall returns value of Call field.
func (u *UpdateGroupCall) GetCall() (value GroupCallClass) {
if u == nil {
return
}
return u.Call
}
// UpdatePeerHistoryTTL represents TL type `updatePeerHistoryTTL#bb9bb9a5`.
// The Time-To-Live for messages sent by the current user in a specific chat has changed
//
// See https://core.telegram.org/constructor/updatePeerHistoryTTL for reference.
type UpdatePeerHistoryTTL struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// The chat
Peer PeerClass
// The new Time-To-Live
//
// Use SetTTLPeriod and GetTTLPeriod helpers.
TTLPeriod int
}
// UpdatePeerHistoryTTLTypeID is TL type id of UpdatePeerHistoryTTL.
const UpdatePeerHistoryTTLTypeID = 0xbb9bb9a5
// construct implements constructor of UpdateClass.
func (u UpdatePeerHistoryTTL) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePeerHistoryTTL.
var (
_ bin.Encoder = &UpdatePeerHistoryTTL{}
_ bin.Decoder = &UpdatePeerHistoryTTL{}
_ bin.BareEncoder = &UpdatePeerHistoryTTL{}
_ bin.BareDecoder = &UpdatePeerHistoryTTL{}
_ UpdateClass = &UpdatePeerHistoryTTL{}
)
func (u *UpdatePeerHistoryTTL) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.Peer == nil) {
return false
}
if !(u.TTLPeriod == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePeerHistoryTTL) String() string {
if u == nil {
return "UpdatePeerHistoryTTL(nil)"
}
type Alias UpdatePeerHistoryTTL
return fmt.Sprintf("UpdatePeerHistoryTTL%+v", Alias(*u))
}
// FillFrom fills UpdatePeerHistoryTTL from given interface.
func (u *UpdatePeerHistoryTTL) FillFrom(from interface {
GetPeer() (value PeerClass)
GetTTLPeriod() (value int, ok bool)
}) {
u.Peer = from.GetPeer()
if val, ok := from.GetTTLPeriod(); ok {
u.TTLPeriod = val
}
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePeerHistoryTTL) TypeID() uint32 {
return UpdatePeerHistoryTTLTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePeerHistoryTTL) TypeName() string {
return "updatePeerHistoryTTL"
}
// TypeInfo returns info about TL type.
func (u *UpdatePeerHistoryTTL) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePeerHistoryTTL",
ID: UpdatePeerHistoryTTLTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "TTLPeriod",
SchemaName: "ttl_period",
Null: !u.Flags.Has(0),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdatePeerHistoryTTL) SetFlags() {
if !(u.TTLPeriod == 0) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdatePeerHistoryTTL) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePeerHistoryTTL#bb9bb9a5 as nil")
}
b.PutID(UpdatePeerHistoryTTLTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePeerHistoryTTL) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePeerHistoryTTL#bb9bb9a5 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePeerHistoryTTL#bb9bb9a5: field flags: %w", err)
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updatePeerHistoryTTL#bb9bb9a5: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePeerHistoryTTL#bb9bb9a5: field peer: %w", err)
}
if u.Flags.Has(0) {
b.PutInt(u.TTLPeriod)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePeerHistoryTTL) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePeerHistoryTTL#bb9bb9a5 to nil")
}
if err := b.ConsumeID(UpdatePeerHistoryTTLTypeID); err != nil {
return fmt.Errorf("unable to decode updatePeerHistoryTTL#bb9bb9a5: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePeerHistoryTTL) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePeerHistoryTTL#bb9bb9a5 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updatePeerHistoryTTL#bb9bb9a5: field flags: %w", err)
}
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updatePeerHistoryTTL#bb9bb9a5: field peer: %w", err)
}
u.Peer = value
}
if u.Flags.Has(0) {
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePeerHistoryTTL#bb9bb9a5: field ttl_period: %w", err)
}
u.TTLPeriod = value
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdatePeerHistoryTTL) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// SetTTLPeriod sets value of TTLPeriod conditional field.
func (u *UpdatePeerHistoryTTL) SetTTLPeriod(value int) {
u.Flags.Set(0)
u.TTLPeriod = value
}
// GetTTLPeriod returns value of TTLPeriod conditional field and
// boolean which is true if field was set.
func (u *UpdatePeerHistoryTTL) GetTTLPeriod() (value int, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.TTLPeriod, true
}
// UpdateChatParticipant represents TL type `updateChatParticipant#d087663a`.
// A user has joined or left a specific chat
//
// See https://core.telegram.org/constructor/updateChatParticipant for reference.
type UpdateChatParticipant struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Chat¹ ID
//
// Links:
// 1) https://core.telegram.org/api/channel
ChatID int64
// When did this event occur
Date int
// User that triggered the change (inviter, admin that kicked the user, or the even the
// user_id itself)
ActorID int64
// User that was affected by the change
UserID int64
// Previous participant info (empty if this participant just joined)
//
// Use SetPrevParticipant and GetPrevParticipant helpers.
PrevParticipant ChatParticipantClass
// New participant info (empty if this participant just left)
//
// Use SetNewParticipant and GetNewParticipant helpers.
NewParticipant ChatParticipantClass
// The invite that was used to join the group
//
// Use SetInvite and GetInvite helpers.
Invite ChatInviteExported
// New qts value, see updates »¹ for more info.
//
// Links:
// 1) https://core.telegram.org/api/updates
Qts int
}
// UpdateChatParticipantTypeID is TL type id of UpdateChatParticipant.
const UpdateChatParticipantTypeID = 0xd087663a
// construct implements constructor of UpdateClass.
func (u UpdateChatParticipant) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChatParticipant.
var (
_ bin.Encoder = &UpdateChatParticipant{}
_ bin.Decoder = &UpdateChatParticipant{}
_ bin.BareEncoder = &UpdateChatParticipant{}
_ bin.BareDecoder = &UpdateChatParticipant{}
_ UpdateClass = &UpdateChatParticipant{}
)
func (u *UpdateChatParticipant) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.ChatID == 0) {
return false
}
if !(u.Date == 0) {
return false
}
if !(u.ActorID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.PrevParticipant == nil) {
return false
}
if !(u.NewParticipant == nil) {
return false
}
if !(u.Invite.Zero()) {
return false
}
if !(u.Qts == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChatParticipant) String() string {
if u == nil {
return "UpdateChatParticipant(nil)"
}
type Alias UpdateChatParticipant
return fmt.Sprintf("UpdateChatParticipant%+v", Alias(*u))
}
// FillFrom fills UpdateChatParticipant from given interface.
func (u *UpdateChatParticipant) FillFrom(from interface {
GetChatID() (value int64)
GetDate() (value int)
GetActorID() (value int64)
GetUserID() (value int64)
GetPrevParticipant() (value ChatParticipantClass, ok bool)
GetNewParticipant() (value ChatParticipantClass, ok bool)
GetInvite() (value ChatInviteExported, ok bool)
GetQts() (value int)
}) {
u.ChatID = from.GetChatID()
u.Date = from.GetDate()
u.ActorID = from.GetActorID()
u.UserID = from.GetUserID()
if val, ok := from.GetPrevParticipant(); ok {
u.PrevParticipant = val
}
if val, ok := from.GetNewParticipant(); ok {
u.NewParticipant = val
}
if val, ok := from.GetInvite(); ok {
u.Invite = val
}
u.Qts = from.GetQts()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChatParticipant) TypeID() uint32 {
return UpdateChatParticipantTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChatParticipant) TypeName() string {
return "updateChatParticipant"
}
// TypeInfo returns info about TL type.
func (u *UpdateChatParticipant) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChatParticipant",
ID: UpdateChatParticipantTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChatID",
SchemaName: "chat_id",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "ActorID",
SchemaName: "actor_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "PrevParticipant",
SchemaName: "prev_participant",
Null: !u.Flags.Has(0),
},
{
Name: "NewParticipant",
SchemaName: "new_participant",
Null: !u.Flags.Has(1),
},
{
Name: "Invite",
SchemaName: "invite",
Null: !u.Flags.Has(2),
},
{
Name: "Qts",
SchemaName: "qts",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateChatParticipant) SetFlags() {
if !(u.PrevParticipant == nil) {
u.Flags.Set(0)
}
if !(u.NewParticipant == nil) {
u.Flags.Set(1)
}
if !(u.Invite.Zero()) {
u.Flags.Set(2)
}
}
// Encode implements bin.Encoder.
func (u *UpdateChatParticipant) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipant#d087663a as nil")
}
b.PutID(UpdateChatParticipantTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChatParticipant) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChatParticipant#d087663a as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatParticipant#d087663a: field flags: %w", err)
}
b.PutLong(u.ChatID)
b.PutInt(u.Date)
b.PutLong(u.ActorID)
b.PutLong(u.UserID)
if u.Flags.Has(0) {
if u.PrevParticipant == nil {
return fmt.Errorf("unable to encode updateChatParticipant#d087663a: field prev_participant is nil")
}
if err := u.PrevParticipant.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatParticipant#d087663a: field prev_participant: %w", err)
}
}
if u.Flags.Has(1) {
if u.NewParticipant == nil {
return fmt.Errorf("unable to encode updateChatParticipant#d087663a: field new_participant is nil")
}
if err := u.NewParticipant.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatParticipant#d087663a: field new_participant: %w", err)
}
}
if u.Flags.Has(2) {
if err := u.Invite.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChatParticipant#d087663a: field invite: %w", err)
}
}
b.PutInt(u.Qts)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChatParticipant) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipant#d087663a to nil")
}
if err := b.ConsumeID(UpdateChatParticipantTypeID); err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChatParticipant) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChatParticipant#d087663a to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: field chat_id: %w", err)
}
u.ChatID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: field date: %w", err)
}
u.Date = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: field actor_id: %w", err)
}
u.ActorID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: field user_id: %w", err)
}
u.UserID = value
}
if u.Flags.Has(0) {
value, err := DecodeChatParticipant(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: field prev_participant: %w", err)
}
u.PrevParticipant = value
}
if u.Flags.Has(1) {
value, err := DecodeChatParticipant(b)
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: field new_participant: %w", err)
}
u.NewParticipant = value
}
if u.Flags.Has(2) {
if err := u.Invite.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: field invite: %w", err)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChatParticipant#d087663a: field qts: %w", err)
}
u.Qts = value
}
return nil
}
// GetChatID returns value of ChatID field.
func (u *UpdateChatParticipant) GetChatID() (value int64) {
if u == nil {
return
}
return u.ChatID
}
// GetDate returns value of Date field.
func (u *UpdateChatParticipant) GetDate() (value int) {
if u == nil {
return
}
return u.Date
}
// GetActorID returns value of ActorID field.
func (u *UpdateChatParticipant) GetActorID() (value int64) {
if u == nil {
return
}
return u.ActorID
}
// GetUserID returns value of UserID field.
func (u *UpdateChatParticipant) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// SetPrevParticipant sets value of PrevParticipant conditional field.
func (u *UpdateChatParticipant) SetPrevParticipant(value ChatParticipantClass) {
u.Flags.Set(0)
u.PrevParticipant = value
}
// GetPrevParticipant returns value of PrevParticipant conditional field and
// boolean which is true if field was set.
func (u *UpdateChatParticipant) GetPrevParticipant() (value ChatParticipantClass, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.PrevParticipant, true
}
// SetNewParticipant sets value of NewParticipant conditional field.
func (u *UpdateChatParticipant) SetNewParticipant(value ChatParticipantClass) {
u.Flags.Set(1)
u.NewParticipant = value
}
// GetNewParticipant returns value of NewParticipant conditional field and
// boolean which is true if field was set.
func (u *UpdateChatParticipant) GetNewParticipant() (value ChatParticipantClass, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.NewParticipant, true
}
// SetInvite sets value of Invite conditional field.
func (u *UpdateChatParticipant) SetInvite(value ChatInviteExported) {
u.Flags.Set(2)
u.Invite = value
}
// GetInvite returns value of Invite conditional field and
// boolean which is true if field was set.
func (u *UpdateChatParticipant) GetInvite() (value ChatInviteExported, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(2) {
return value, false
}
return u.Invite, true
}
// GetQts returns value of Qts field.
func (u *UpdateChatParticipant) GetQts() (value int) {
if u == nil {
return
}
return u.Qts
}
// UpdateChannelParticipant represents TL type `updateChannelParticipant#985d3abb`.
// A participant has left, joined, was banned or admined in a channel or supergroup¹.
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// See https://core.telegram.org/constructor/updateChannelParticipant for reference.
type UpdateChannelParticipant struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Channel ID
ChannelID int64
// Date of the event
Date int
// User that triggered the change (inviter, admin that kicked the user, or the even the
// user_id itself)
ActorID int64
// User that was affected by the change
UserID int64
// Previous participant status
//
// Use SetPrevParticipant and GetPrevParticipant helpers.
PrevParticipant ChannelParticipantClass
// New participant status
//
// Use SetNewParticipant and GetNewParticipant helpers.
NewParticipant ChannelParticipantClass
// Chat invite used to join the channel/supergroup¹
//
// Links:
// 1) https://core.telegram.org/api/channel
//
// Use SetInvite and GetInvite helpers.
Invite ChatInviteExported
// New qts value, see updates »¹ for more info.
//
// Links:
// 1) https://core.telegram.org/api/updates
Qts int
}
// UpdateChannelParticipantTypeID is TL type id of UpdateChannelParticipant.
const UpdateChannelParticipantTypeID = 0x985d3abb
// construct implements constructor of UpdateClass.
func (u UpdateChannelParticipant) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateChannelParticipant.
var (
_ bin.Encoder = &UpdateChannelParticipant{}
_ bin.Decoder = &UpdateChannelParticipant{}
_ bin.BareEncoder = &UpdateChannelParticipant{}
_ bin.BareDecoder = &UpdateChannelParticipant{}
_ UpdateClass = &UpdateChannelParticipant{}
)
func (u *UpdateChannelParticipant) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.ChannelID == 0) {
return false
}
if !(u.Date == 0) {
return false
}
if !(u.ActorID == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.PrevParticipant == nil) {
return false
}
if !(u.NewParticipant == nil) {
return false
}
if !(u.Invite.Zero()) {
return false
}
if !(u.Qts == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateChannelParticipant) String() string {
if u == nil {
return "UpdateChannelParticipant(nil)"
}
type Alias UpdateChannelParticipant
return fmt.Sprintf("UpdateChannelParticipant%+v", Alias(*u))
}
// FillFrom fills UpdateChannelParticipant from given interface.
func (u *UpdateChannelParticipant) FillFrom(from interface {
GetChannelID() (value int64)
GetDate() (value int)
GetActorID() (value int64)
GetUserID() (value int64)
GetPrevParticipant() (value ChannelParticipantClass, ok bool)
GetNewParticipant() (value ChannelParticipantClass, ok bool)
GetInvite() (value ChatInviteExported, ok bool)
GetQts() (value int)
}) {
u.ChannelID = from.GetChannelID()
u.Date = from.GetDate()
u.ActorID = from.GetActorID()
u.UserID = from.GetUserID()
if val, ok := from.GetPrevParticipant(); ok {
u.PrevParticipant = val
}
if val, ok := from.GetNewParticipant(); ok {
u.NewParticipant = val
}
if val, ok := from.GetInvite(); ok {
u.Invite = val
}
u.Qts = from.GetQts()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateChannelParticipant) TypeID() uint32 {
return UpdateChannelParticipantTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateChannelParticipant) TypeName() string {
return "updateChannelParticipant"
}
// TypeInfo returns info about TL type.
func (u *UpdateChannelParticipant) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateChannelParticipant",
ID: UpdateChannelParticipantTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ChannelID",
SchemaName: "channel_id",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "ActorID",
SchemaName: "actor_id",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "PrevParticipant",
SchemaName: "prev_participant",
Null: !u.Flags.Has(0),
},
{
Name: "NewParticipant",
SchemaName: "new_participant",
Null: !u.Flags.Has(1),
},
{
Name: "Invite",
SchemaName: "invite",
Null: !u.Flags.Has(2),
},
{
Name: "Qts",
SchemaName: "qts",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateChannelParticipant) SetFlags() {
if !(u.PrevParticipant == nil) {
u.Flags.Set(0)
}
if !(u.NewParticipant == nil) {
u.Flags.Set(1)
}
if !(u.Invite.Zero()) {
u.Flags.Set(2)
}
}
// Encode implements bin.Encoder.
func (u *UpdateChannelParticipant) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelParticipant#985d3abb as nil")
}
b.PutID(UpdateChannelParticipantTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateChannelParticipant) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateChannelParticipant#985d3abb as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChannelParticipant#985d3abb: field flags: %w", err)
}
b.PutLong(u.ChannelID)
b.PutInt(u.Date)
b.PutLong(u.ActorID)
b.PutLong(u.UserID)
if u.Flags.Has(0) {
if u.PrevParticipant == nil {
return fmt.Errorf("unable to encode updateChannelParticipant#985d3abb: field prev_participant is nil")
}
if err := u.PrevParticipant.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChannelParticipant#985d3abb: field prev_participant: %w", err)
}
}
if u.Flags.Has(1) {
if u.NewParticipant == nil {
return fmt.Errorf("unable to encode updateChannelParticipant#985d3abb: field new_participant is nil")
}
if err := u.NewParticipant.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChannelParticipant#985d3abb: field new_participant: %w", err)
}
}
if u.Flags.Has(2) {
if err := u.Invite.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateChannelParticipant#985d3abb: field invite: %w", err)
}
}
b.PutInt(u.Qts)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateChannelParticipant) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelParticipant#985d3abb to nil")
}
if err := b.ConsumeID(UpdateChannelParticipantTypeID); err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateChannelParticipant) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateChannelParticipant#985d3abb to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: field channel_id: %w", err)
}
u.ChannelID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: field date: %w", err)
}
u.Date = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: field actor_id: %w", err)
}
u.ActorID = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: field user_id: %w", err)
}
u.UserID = value
}
if u.Flags.Has(0) {
value, err := DecodeChannelParticipant(b)
if err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: field prev_participant: %w", err)
}
u.PrevParticipant = value
}
if u.Flags.Has(1) {
value, err := DecodeChannelParticipant(b)
if err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: field new_participant: %w", err)
}
u.NewParticipant = value
}
if u.Flags.Has(2) {
if err := u.Invite.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: field invite: %w", err)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateChannelParticipant#985d3abb: field qts: %w", err)
}
u.Qts = value
}
return nil
}
// GetChannelID returns value of ChannelID field.
func (u *UpdateChannelParticipant) GetChannelID() (value int64) {
if u == nil {
return
}
return u.ChannelID
}
// GetDate returns value of Date field.
func (u *UpdateChannelParticipant) GetDate() (value int) {
if u == nil {
return
}
return u.Date
}
// GetActorID returns value of ActorID field.
func (u *UpdateChannelParticipant) GetActorID() (value int64) {
if u == nil {
return
}
return u.ActorID
}
// GetUserID returns value of UserID field.
func (u *UpdateChannelParticipant) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// SetPrevParticipant sets value of PrevParticipant conditional field.
func (u *UpdateChannelParticipant) SetPrevParticipant(value ChannelParticipantClass) {
u.Flags.Set(0)
u.PrevParticipant = value
}
// GetPrevParticipant returns value of PrevParticipant conditional field and
// boolean which is true if field was set.
func (u *UpdateChannelParticipant) GetPrevParticipant() (value ChannelParticipantClass, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(0) {
return value, false
}
return u.PrevParticipant, true
}
// SetNewParticipant sets value of NewParticipant conditional field.
func (u *UpdateChannelParticipant) SetNewParticipant(value ChannelParticipantClass) {
u.Flags.Set(1)
u.NewParticipant = value
}
// GetNewParticipant returns value of NewParticipant conditional field and
// boolean which is true if field was set.
func (u *UpdateChannelParticipant) GetNewParticipant() (value ChannelParticipantClass, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(1) {
return value, false
}
return u.NewParticipant, true
}
// SetInvite sets value of Invite conditional field.
func (u *UpdateChannelParticipant) SetInvite(value ChatInviteExported) {
u.Flags.Set(2)
u.Invite = value
}
// GetInvite returns value of Invite conditional field and
// boolean which is true if field was set.
func (u *UpdateChannelParticipant) GetInvite() (value ChatInviteExported, ok bool) {
if u == nil {
return
}
if !u.Flags.Has(2) {
return value, false
}
return u.Invite, true
}
// GetQts returns value of Qts field.
func (u *UpdateChannelParticipant) GetQts() (value int) {
if u == nil {
return
}
return u.Qts
}
// UpdateBotStopped represents TL type `updateBotStopped#c4870a49`.
// A bot was stopped or re-started.
//
// See https://core.telegram.org/constructor/updateBotStopped for reference.
type UpdateBotStopped struct {
// The bot ID
UserID int64
// When did this action occur
Date int
// Whether the bot was stopped or started
Stopped bool
// New qts value, see updates »¹ for more info.
//
// Links:
// 1) https://core.telegram.org/api/updates
Qts int
}
// UpdateBotStoppedTypeID is TL type id of UpdateBotStopped.
const UpdateBotStoppedTypeID = 0xc4870a49
// construct implements constructor of UpdateClass.
func (u UpdateBotStopped) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotStopped.
var (
_ bin.Encoder = &UpdateBotStopped{}
_ bin.Decoder = &UpdateBotStopped{}
_ bin.BareEncoder = &UpdateBotStopped{}
_ bin.BareDecoder = &UpdateBotStopped{}
_ UpdateClass = &UpdateBotStopped{}
)
func (u *UpdateBotStopped) Zero() bool {
if u == nil {
return true
}
if !(u.UserID == 0) {
return false
}
if !(u.Date == 0) {
return false
}
if !(u.Stopped == false) {
return false
}
if !(u.Qts == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotStopped) String() string {
if u == nil {
return "UpdateBotStopped(nil)"
}
type Alias UpdateBotStopped
return fmt.Sprintf("UpdateBotStopped%+v", Alias(*u))
}
// FillFrom fills UpdateBotStopped from given interface.
func (u *UpdateBotStopped) FillFrom(from interface {
GetUserID() (value int64)
GetDate() (value int)
GetStopped() (value bool)
GetQts() (value int)
}) {
u.UserID = from.GetUserID()
u.Date = from.GetDate()
u.Stopped = from.GetStopped()
u.Qts = from.GetQts()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotStopped) TypeID() uint32 {
return UpdateBotStoppedTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotStopped) TypeName() string {
return "updateBotStopped"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotStopped) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotStopped",
ID: UpdateBotStoppedTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "Stopped",
SchemaName: "stopped",
},
{
Name: "Qts",
SchemaName: "qts",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBotStopped) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotStopped#c4870a49 as nil")
}
b.PutID(UpdateBotStoppedTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotStopped) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotStopped#c4870a49 as nil")
}
b.PutLong(u.UserID)
b.PutInt(u.Date)
b.PutBool(u.Stopped)
b.PutInt(u.Qts)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotStopped) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotStopped#c4870a49 to nil")
}
if err := b.ConsumeID(UpdateBotStoppedTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotStopped#c4870a49: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotStopped) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotStopped#c4870a49 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotStopped#c4870a49: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateBotStopped#c4870a49: field date: %w", err)
}
u.Date = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode updateBotStopped#c4870a49: field stopped: %w", err)
}
u.Stopped = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateBotStopped#c4870a49: field qts: %w", err)
}
u.Qts = value
}
return nil
}
// GetUserID returns value of UserID field.
func (u *UpdateBotStopped) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetDate returns value of Date field.
func (u *UpdateBotStopped) GetDate() (value int) {
if u == nil {
return
}
return u.Date
}
// GetStopped returns value of Stopped field.
func (u *UpdateBotStopped) GetStopped() (value bool) {
if u == nil {
return
}
return u.Stopped
}
// GetQts returns value of Qts field.
func (u *UpdateBotStopped) GetQts() (value int) {
if u == nil {
return
}
return u.Qts
}
// UpdateGroupCallConnection represents TL type `updateGroupCallConnection#b783982`.
// New WebRTC parameters
//
// See https://core.telegram.org/constructor/updateGroupCallConnection for reference.
type UpdateGroupCallConnection struct {
// Flags, see TL conditional fields¹
//
// Links:
// 1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
Flags bin.Fields
// Are these parameters related to the screen capture session currently in progress?
Presentation bool
// WebRTC parameters
Params DataJSON
}
// UpdateGroupCallConnectionTypeID is TL type id of UpdateGroupCallConnection.
const UpdateGroupCallConnectionTypeID = 0xb783982
// construct implements constructor of UpdateClass.
func (u UpdateGroupCallConnection) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateGroupCallConnection.
var (
_ bin.Encoder = &UpdateGroupCallConnection{}
_ bin.Decoder = &UpdateGroupCallConnection{}
_ bin.BareEncoder = &UpdateGroupCallConnection{}
_ bin.BareDecoder = &UpdateGroupCallConnection{}
_ UpdateClass = &UpdateGroupCallConnection{}
)
func (u *UpdateGroupCallConnection) Zero() bool {
if u == nil {
return true
}
if !(u.Flags.Zero()) {
return false
}
if !(u.Presentation == false) {
return false
}
if !(u.Params.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateGroupCallConnection) String() string {
if u == nil {
return "UpdateGroupCallConnection(nil)"
}
type Alias UpdateGroupCallConnection
return fmt.Sprintf("UpdateGroupCallConnection%+v", Alias(*u))
}
// FillFrom fills UpdateGroupCallConnection from given interface.
func (u *UpdateGroupCallConnection) FillFrom(from interface {
GetPresentation() (value bool)
GetParams() (value DataJSON)
}) {
u.Presentation = from.GetPresentation()
u.Params = from.GetParams()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateGroupCallConnection) TypeID() uint32 {
return UpdateGroupCallConnectionTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateGroupCallConnection) TypeName() string {
return "updateGroupCallConnection"
}
// TypeInfo returns info about TL type.
func (u *UpdateGroupCallConnection) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateGroupCallConnection",
ID: UpdateGroupCallConnectionTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Presentation",
SchemaName: "presentation",
Null: !u.Flags.Has(0),
},
{
Name: "Params",
SchemaName: "params",
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (u *UpdateGroupCallConnection) SetFlags() {
if !(u.Presentation == false) {
u.Flags.Set(0)
}
}
// Encode implements bin.Encoder.
func (u *UpdateGroupCallConnection) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallConnection#b783982 as nil")
}
b.PutID(UpdateGroupCallConnectionTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateGroupCallConnection) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateGroupCallConnection#b783982 as nil")
}
u.SetFlags()
if err := u.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateGroupCallConnection#b783982: field flags: %w", err)
}
if err := u.Params.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateGroupCallConnection#b783982: field params: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateGroupCallConnection) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallConnection#b783982 to nil")
}
if err := b.ConsumeID(UpdateGroupCallConnectionTypeID); err != nil {
return fmt.Errorf("unable to decode updateGroupCallConnection#b783982: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateGroupCallConnection) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateGroupCallConnection#b783982 to nil")
}
{
if err := u.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateGroupCallConnection#b783982: field flags: %w", err)
}
}
u.Presentation = u.Flags.Has(0)
{
if err := u.Params.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateGroupCallConnection#b783982: field params: %w", err)
}
}
return nil
}
// SetPresentation sets value of Presentation conditional field.
func (u *UpdateGroupCallConnection) SetPresentation(value bool) {
if value {
u.Flags.Set(0)
u.Presentation = true
} else {
u.Flags.Unset(0)
u.Presentation = false
}
}
// GetPresentation returns value of Presentation conditional field.
func (u *UpdateGroupCallConnection) GetPresentation() (value bool) {
if u == nil {
return
}
return u.Flags.Has(0)
}
// GetParams returns value of Params field.
func (u *UpdateGroupCallConnection) GetParams() (value DataJSON) {
if u == nil {
return
}
return u.Params
}
// UpdateBotCommands represents TL type `updateBotCommands#4d712f2e`.
// The command set¹ of a certain bot in a certain chat has changed.
//
// Links:
// 1) https://core.telegram.org/bots/api#june-25-2021
//
// See https://core.telegram.org/constructor/updateBotCommands for reference.
type UpdateBotCommands struct {
// The affected chat
Peer PeerClass
// ID of the bot that changed its command set
BotID int64
// New bot commands
Commands []BotCommand
}
// UpdateBotCommandsTypeID is TL type id of UpdateBotCommands.
const UpdateBotCommandsTypeID = 0x4d712f2e
// construct implements constructor of UpdateClass.
func (u UpdateBotCommands) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotCommands.
var (
_ bin.Encoder = &UpdateBotCommands{}
_ bin.Decoder = &UpdateBotCommands{}
_ bin.BareEncoder = &UpdateBotCommands{}
_ bin.BareDecoder = &UpdateBotCommands{}
_ UpdateClass = &UpdateBotCommands{}
)
func (u *UpdateBotCommands) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.BotID == 0) {
return false
}
if !(u.Commands == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotCommands) String() string {
if u == nil {
return "UpdateBotCommands(nil)"
}
type Alias UpdateBotCommands
return fmt.Sprintf("UpdateBotCommands%+v", Alias(*u))
}
// FillFrom fills UpdateBotCommands from given interface.
func (u *UpdateBotCommands) FillFrom(from interface {
GetPeer() (value PeerClass)
GetBotID() (value int64)
GetCommands() (value []BotCommand)
}) {
u.Peer = from.GetPeer()
u.BotID = from.GetBotID()
u.Commands = from.GetCommands()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotCommands) TypeID() uint32 {
return UpdateBotCommandsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotCommands) TypeName() string {
return "updateBotCommands"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotCommands) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotCommands",
ID: UpdateBotCommandsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "BotID",
SchemaName: "bot_id",
},
{
Name: "Commands",
SchemaName: "commands",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBotCommands) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotCommands#4d712f2e as nil")
}
b.PutID(UpdateBotCommandsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotCommands) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotCommands#4d712f2e as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateBotCommands#4d712f2e: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotCommands#4d712f2e: field peer: %w", err)
}
b.PutLong(u.BotID)
b.PutVectorHeader(len(u.Commands))
for idx, v := range u.Commands {
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotCommands#4d712f2e: field commands element with index %d: %w", idx, err)
}
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotCommands) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotCommands#4d712f2e to nil")
}
if err := b.ConsumeID(UpdateBotCommandsTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotCommands#4d712f2e: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotCommands) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotCommands#4d712f2e to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateBotCommands#4d712f2e: field peer: %w", err)
}
u.Peer = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotCommands#4d712f2e: field bot_id: %w", err)
}
u.BotID = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updateBotCommands#4d712f2e: field commands: %w", err)
}
if headerLen > 0 {
u.Commands = make([]BotCommand, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value BotCommand
if err := value.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotCommands#4d712f2e: field commands: %w", err)
}
u.Commands = append(u.Commands, value)
}
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdateBotCommands) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetBotID returns value of BotID field.
func (u *UpdateBotCommands) GetBotID() (value int64) {
if u == nil {
return
}
return u.BotID
}
// GetCommands returns value of Commands field.
func (u *UpdateBotCommands) GetCommands() (value []BotCommand) {
if u == nil {
return
}
return u.Commands
}
// UpdatePendingJoinRequests represents TL type `updatePendingJoinRequests#7063c3db`.
//
// See https://core.telegram.org/constructor/updatePendingJoinRequests for reference.
type UpdatePendingJoinRequests struct {
// Peer field of UpdatePendingJoinRequests.
Peer PeerClass
// RequestsPending field of UpdatePendingJoinRequests.
RequestsPending int
// RecentRequesters field of UpdatePendingJoinRequests.
RecentRequesters []int64
}
// UpdatePendingJoinRequestsTypeID is TL type id of UpdatePendingJoinRequests.
const UpdatePendingJoinRequestsTypeID = 0x7063c3db
// construct implements constructor of UpdateClass.
func (u UpdatePendingJoinRequests) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdatePendingJoinRequests.
var (
_ bin.Encoder = &UpdatePendingJoinRequests{}
_ bin.Decoder = &UpdatePendingJoinRequests{}
_ bin.BareEncoder = &UpdatePendingJoinRequests{}
_ bin.BareDecoder = &UpdatePendingJoinRequests{}
_ UpdateClass = &UpdatePendingJoinRequests{}
)
func (u *UpdatePendingJoinRequests) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.RequestsPending == 0) {
return false
}
if !(u.RecentRequesters == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdatePendingJoinRequests) String() string {
if u == nil {
return "UpdatePendingJoinRequests(nil)"
}
type Alias UpdatePendingJoinRequests
return fmt.Sprintf("UpdatePendingJoinRequests%+v", Alias(*u))
}
// FillFrom fills UpdatePendingJoinRequests from given interface.
func (u *UpdatePendingJoinRequests) FillFrom(from interface {
GetPeer() (value PeerClass)
GetRequestsPending() (value int)
GetRecentRequesters() (value []int64)
}) {
u.Peer = from.GetPeer()
u.RequestsPending = from.GetRequestsPending()
u.RecentRequesters = from.GetRecentRequesters()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdatePendingJoinRequests) TypeID() uint32 {
return UpdatePendingJoinRequestsTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdatePendingJoinRequests) TypeName() string {
return "updatePendingJoinRequests"
}
// TypeInfo returns info about TL type.
func (u *UpdatePendingJoinRequests) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updatePendingJoinRequests",
ID: UpdatePendingJoinRequestsTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "RequestsPending",
SchemaName: "requests_pending",
},
{
Name: "RecentRequesters",
SchemaName: "recent_requesters",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdatePendingJoinRequests) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePendingJoinRequests#7063c3db as nil")
}
b.PutID(UpdatePendingJoinRequestsTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdatePendingJoinRequests) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updatePendingJoinRequests#7063c3db as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updatePendingJoinRequests#7063c3db: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updatePendingJoinRequests#7063c3db: field peer: %w", err)
}
b.PutInt(u.RequestsPending)
b.PutVectorHeader(len(u.RecentRequesters))
for _, v := range u.RecentRequesters {
b.PutLong(v)
}
return nil
}
// Decode implements bin.Decoder.
func (u *UpdatePendingJoinRequests) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePendingJoinRequests#7063c3db to nil")
}
if err := b.ConsumeID(UpdatePendingJoinRequestsTypeID); err != nil {
return fmt.Errorf("unable to decode updatePendingJoinRequests#7063c3db: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdatePendingJoinRequests) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updatePendingJoinRequests#7063c3db to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updatePendingJoinRequests#7063c3db: field peer: %w", err)
}
u.Peer = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updatePendingJoinRequests#7063c3db: field requests_pending: %w", err)
}
u.RequestsPending = value
}
{
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode updatePendingJoinRequests#7063c3db: field recent_requesters: %w", err)
}
if headerLen > 0 {
u.RecentRequesters = 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 updatePendingJoinRequests#7063c3db: field recent_requesters: %w", err)
}
u.RecentRequesters = append(u.RecentRequesters, value)
}
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdatePendingJoinRequests) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetRequestsPending returns value of RequestsPending field.
func (u *UpdatePendingJoinRequests) GetRequestsPending() (value int) {
if u == nil {
return
}
return u.RequestsPending
}
// GetRecentRequesters returns value of RecentRequesters field.
func (u *UpdatePendingJoinRequests) GetRecentRequesters() (value []int64) {
if u == nil {
return
}
return u.RecentRequesters
}
// UpdateBotChatInviteRequester represents TL type `updateBotChatInviteRequester#11dfa986`.
//
// See https://core.telegram.org/constructor/updateBotChatInviteRequester for reference.
type UpdateBotChatInviteRequester struct {
// Peer field of UpdateBotChatInviteRequester.
Peer PeerClass
// Date field of UpdateBotChatInviteRequester.
Date int
// UserID field of UpdateBotChatInviteRequester.
UserID int64
// About field of UpdateBotChatInviteRequester.
About string
// Invite field of UpdateBotChatInviteRequester.
Invite ChatInviteExported
// Qts field of UpdateBotChatInviteRequester.
Qts int
}
// UpdateBotChatInviteRequesterTypeID is TL type id of UpdateBotChatInviteRequester.
const UpdateBotChatInviteRequesterTypeID = 0x11dfa986
// construct implements constructor of UpdateClass.
func (u UpdateBotChatInviteRequester) construct() UpdateClass { return &u }
// Ensuring interfaces in compile-time for UpdateBotChatInviteRequester.
var (
_ bin.Encoder = &UpdateBotChatInviteRequester{}
_ bin.Decoder = &UpdateBotChatInviteRequester{}
_ bin.BareEncoder = &UpdateBotChatInviteRequester{}
_ bin.BareDecoder = &UpdateBotChatInviteRequester{}
_ UpdateClass = &UpdateBotChatInviteRequester{}
)
func (u *UpdateBotChatInviteRequester) Zero() bool {
if u == nil {
return true
}
if !(u.Peer == nil) {
return false
}
if !(u.Date == 0) {
return false
}
if !(u.UserID == 0) {
return false
}
if !(u.About == "") {
return false
}
if !(u.Invite.Zero()) {
return false
}
if !(u.Qts == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (u *UpdateBotChatInviteRequester) String() string {
if u == nil {
return "UpdateBotChatInviteRequester(nil)"
}
type Alias UpdateBotChatInviteRequester
return fmt.Sprintf("UpdateBotChatInviteRequester%+v", Alias(*u))
}
// FillFrom fills UpdateBotChatInviteRequester from given interface.
func (u *UpdateBotChatInviteRequester) FillFrom(from interface {
GetPeer() (value PeerClass)
GetDate() (value int)
GetUserID() (value int64)
GetAbout() (value string)
GetInvite() (value ChatInviteExported)
GetQts() (value int)
}) {
u.Peer = from.GetPeer()
u.Date = from.GetDate()
u.UserID = from.GetUserID()
u.About = from.GetAbout()
u.Invite = from.GetInvite()
u.Qts = from.GetQts()
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UpdateBotChatInviteRequester) TypeID() uint32 {
return UpdateBotChatInviteRequesterTypeID
}
// TypeName returns name of type in TL schema.
func (*UpdateBotChatInviteRequester) TypeName() string {
return "updateBotChatInviteRequester"
}
// TypeInfo returns info about TL type.
func (u *UpdateBotChatInviteRequester) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "updateBotChatInviteRequester",
ID: UpdateBotChatInviteRequesterTypeID,
}
if u == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Peer",
SchemaName: "peer",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "UserID",
SchemaName: "user_id",
},
{
Name: "About",
SchemaName: "about",
},
{
Name: "Invite",
SchemaName: "invite",
},
{
Name: "Qts",
SchemaName: "qts",
},
}
return typ
}
// Encode implements bin.Encoder.
func (u *UpdateBotChatInviteRequester) Encode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotChatInviteRequester#11dfa986 as nil")
}
b.PutID(UpdateBotChatInviteRequesterTypeID)
return u.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (u *UpdateBotChatInviteRequester) EncodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't encode updateBotChatInviteRequester#11dfa986 as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateBotChatInviteRequester#11dfa986: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotChatInviteRequester#11dfa986: field peer: %w", err)
}
b.PutInt(u.Date)
b.PutLong(u.UserID)
b.PutString(u.About)
if err := u.Invite.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateBotChatInviteRequester#11dfa986: field invite: %w", err)
}
b.PutInt(u.Qts)
return nil
}
// Decode implements bin.Decoder.
func (u *UpdateBotChatInviteRequester) Decode(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotChatInviteRequester#11dfa986 to nil")
}
if err := b.ConsumeID(UpdateBotChatInviteRequesterTypeID); err != nil {
return fmt.Errorf("unable to decode updateBotChatInviteRequester#11dfa986: %w", err)
}
return u.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (u *UpdateBotChatInviteRequester) DecodeBare(b *bin.Buffer) error {
if u == nil {
return fmt.Errorf("can't decode updateBotChatInviteRequester#11dfa986 to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateBotChatInviteRequester#11dfa986: field peer: %w", err)
}
u.Peer = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateBotChatInviteRequester#11dfa986: field date: %w", err)
}
u.Date = value
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode updateBotChatInviteRequester#11dfa986: field user_id: %w", err)
}
u.UserID = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode updateBotChatInviteRequester#11dfa986: field about: %w", err)
}
u.About = value
}
{
if err := u.Invite.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateBotChatInviteRequester#11dfa986: field invite: %w", err)
}
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateBotChatInviteRequester#11dfa986: field qts: %w", err)
}
u.Qts = value
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdateBotChatInviteRequester) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetDate returns value of Date field.
func (u *UpdateBotChatInviteRequester) GetDate() (value int) {
if u == nil {
return
}
return u.Date
}
// GetUserID returns value of UserID field.
func (u *UpdateBotChatInviteRequester) GetUserID() (value int64) {
if u == nil {
return
}
return u.UserID
}
// GetAbout returns value of About field.
func (u *UpdateBotChatInviteRequester) GetAbout() (value string) {
if u == nil {
return
}
return u.About
}
// GetInvite returns value of Invite field.
func (u *UpdateBotChatInviteRequester) GetInvite() (value ChatInviteExported) {
if u == nil {
return
}
return u.Invite
}
// GetQts returns value of Qts field.
func (u *UpdateBotChatInviteRequester) GetQts() (value int) {
if u == nil {
return
}
return u.Qts
}
// UpdateMessageReactions represents TL type `updateMessageReactions#154798c3`.
//
// See https://core.telegram.org/constructor/updateMessageReactions for reference.
type UpdateMessageReactions struct {
// Peer field of UpdateMessageReactions.
Peer PeerClass
// MsgID field of UpdateMessageReactions.
MsgID int
// Reactions field of UpdateMessageReactions.
Reactions MessageReactions
}
// UpdateMessageReactionsTypeID is TL type id of UpdateMessageReactions.
const UpdateMessageReactionsTypeID = 0x154798c3
// 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.Peer == nil) {
return false
}
if !(u.MsgID == 0) {
return false
}
if !(u.Reactions.Zero()) {
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))
}
// FillFrom fills UpdateMessageReactions from given interface.
func (u *UpdateMessageReactions) FillFrom(from interface {
GetPeer() (value PeerClass)
GetMsgID() (value int)
GetReactions() (value MessageReactions)
}) {
u.Peer = from.GetPeer()
u.MsgID = from.GetMsgID()
u.Reactions = from.GetReactions()
}
// 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: "Peer",
SchemaName: "peer",
},
{
Name: "MsgID",
SchemaName: "msg_id",
},
{
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#154798c3 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#154798c3 as nil")
}
if u.Peer == nil {
return fmt.Errorf("unable to encode updateMessageReactions#154798c3: field peer is nil")
}
if err := u.Peer.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageReactions#154798c3: field peer: %w", err)
}
b.PutInt(u.MsgID)
if err := u.Reactions.Encode(b); err != nil {
return fmt.Errorf("unable to encode updateMessageReactions#154798c3: field reactions: %w", 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#154798c3 to nil")
}
if err := b.ConsumeID(UpdateMessageReactionsTypeID); err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#154798c3: %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#154798c3 to nil")
}
{
value, err := DecodePeer(b)
if err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#154798c3: field peer: %w", err)
}
u.Peer = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#154798c3: field msg_id: %w", err)
}
u.MsgID = value
}
{
if err := u.Reactions.Decode(b); err != nil {
return fmt.Errorf("unable to decode updateMessageReactions#154798c3: field reactions: %w", err)
}
}
return nil
}
// GetPeer returns value of Peer field.
func (u *UpdateMessageReactions) GetPeer() (value PeerClass) {
if u == nil {
return
}
return u.Peer
}
// GetMsgID returns value of MsgID field.
func (u *UpdateMessageReactions) GetMsgID() (value int) {
if u == nil {
return
}
return u.MsgID
}
// GetReactions returns value of Reactions field.
func (u *UpdateMessageReactions) GetReactions() (value MessageReactions) {
if u == nil {
return
}
return u.Reactions
}
// UpdateClassName is schema name of UpdateClass.
const UpdateClassName = "Update"
// UpdateClass represents Update generic type.
//
// See https://core.telegram.org/type/Update for reference.
//
// Example:
// g, err := tg.DecodeUpdate(buf)
// if err != nil {
// panic(err)
// }
// switch v := g.(type) {
// case *tg.UpdateNewMessage: // updateNewMessage#1f2b0afd
// case *tg.UpdateMessageID: // updateMessageID#4e90bfd6
// case *tg.UpdateDeleteMessages: // updateDeleteMessages#a20db0e5
// case *tg.UpdateUserTyping: // updateUserTyping#c01e857f
// case *tg.UpdateChatUserTyping: // updateChatUserTyping#83487af0
// case *tg.UpdateChatParticipants: // updateChatParticipants#7761198
// case *tg.UpdateUserStatus: // updateUserStatus#e5bdf8de
// case *tg.UpdateUserName: // updateUserName#c3f202e0
// case *tg.UpdateUserPhoto: // updateUserPhoto#f227868c
// case *tg.UpdateNewEncryptedMessage: // updateNewEncryptedMessage#12bcbd9a
// case *tg.UpdateEncryptedChatTyping: // updateEncryptedChatTyping#1710f156
// case *tg.UpdateEncryption: // updateEncryption#b4a2e88d
// case *tg.UpdateEncryptedMessagesRead: // updateEncryptedMessagesRead#38fe25b7
// case *tg.UpdateChatParticipantAdd: // updateChatParticipantAdd#3dda5451
// case *tg.UpdateChatParticipantDelete: // updateChatParticipantDelete#e32f3d77
// case *tg.UpdateDCOptions: // updateDcOptions#8e5e9873
// case *tg.UpdateNotifySettings: // updateNotifySettings#bec268ef
// case *tg.UpdateServiceNotification: // updateServiceNotification#ebe46819
// case *tg.UpdatePrivacy: // updatePrivacy#ee3b272a
// case *tg.UpdateUserPhone: // updateUserPhone#5492a13
// case *tg.UpdateReadHistoryInbox: // updateReadHistoryInbox#9c974fdf
// case *tg.UpdateReadHistoryOutbox: // updateReadHistoryOutbox#2f2f21bf
// case *tg.UpdateWebPage: // updateWebPage#7f891213
// case *tg.UpdateReadMessagesContents: // updateReadMessagesContents#68c13933
// case *tg.UpdateChannelTooLong: // updateChannelTooLong#108d941f
// case *tg.UpdateChannel: // updateChannel#635b4c09
// case *tg.UpdateNewChannelMessage: // updateNewChannelMessage#62ba04d9
// case *tg.UpdateReadChannelInbox: // updateReadChannelInbox#922e6e10
// case *tg.UpdateDeleteChannelMessages: // updateDeleteChannelMessages#c32d5b12
// case *tg.UpdateChannelMessageViews: // updateChannelMessageViews#f226ac08
// case *tg.UpdateChatParticipantAdmin: // updateChatParticipantAdmin#d7ca61a2
// case *tg.UpdateNewStickerSet: // updateNewStickerSet#688a30aa
// case *tg.UpdateStickerSetsOrder: // updateStickerSetsOrder#bb2d201
// case *tg.UpdateStickerSets: // updateStickerSets#43ae3dec
// case *tg.UpdateSavedGifs: // updateSavedGifs#9375341e
// case *tg.UpdateBotInlineQuery: // updateBotInlineQuery#496f379c
// case *tg.UpdateBotInlineSend: // updateBotInlineSend#12f12a07
// case *tg.UpdateEditChannelMessage: // updateEditChannelMessage#1b3f4df7
// case *tg.UpdateBotCallbackQuery: // updateBotCallbackQuery#b9cfc48d
// case *tg.UpdateEditMessage: // updateEditMessage#e40370a3
// case *tg.UpdateInlineBotCallbackQuery: // updateInlineBotCallbackQuery#691e9052
// case *tg.UpdateReadChannelOutbox: // updateReadChannelOutbox#b75f99a9
// case *tg.UpdateDraftMessage: // updateDraftMessage#ee2bb969
// case *tg.UpdateReadFeaturedStickers: // updateReadFeaturedStickers#571d2742
// case *tg.UpdateRecentStickers: // updateRecentStickers#9a422c20
// case *tg.UpdateConfig: // updateConfig#a229dd06
// case *tg.UpdatePtsChanged: // updatePtsChanged#3354678f
// case *tg.UpdateChannelWebPage: // updateChannelWebPage#2f2ba99f
// case *tg.UpdateDialogPinned: // updateDialogPinned#6e6fe51c
// case *tg.UpdatePinnedDialogs: // updatePinnedDialogs#fa0f3ca2
// case *tg.UpdateBotWebhookJSON: // updateBotWebhookJSON#8317c0c3
// case *tg.UpdateBotWebhookJSONQuery: // updateBotWebhookJSONQuery#9b9240a6
// case *tg.UpdateBotShippingQuery: // updateBotShippingQuery#b5aefd7d
// case *tg.UpdateBotPrecheckoutQuery: // updateBotPrecheckoutQuery#8caa9a96
// case *tg.UpdatePhoneCall: // updatePhoneCall#ab0f6b1e
// case *tg.UpdateLangPackTooLong: // updateLangPackTooLong#46560264
// case *tg.UpdateLangPack: // updateLangPack#56022f4d
// case *tg.UpdateFavedStickers: // updateFavedStickers#e511996d
// case *tg.UpdateChannelReadMessagesContents: // updateChannelReadMessagesContents#44bdd535
// case *tg.UpdateContactsReset: // updateContactsReset#7084a7be
// case *tg.UpdateChannelAvailableMessages: // updateChannelAvailableMessages#b23fc698
// case *tg.UpdateDialogUnreadMark: // updateDialogUnreadMark#e16459c3
// case *tg.UpdateMessagePoll: // updateMessagePoll#aca1657b
// case *tg.UpdateChatDefaultBannedRights: // updateChatDefaultBannedRights#54c01850
// case *tg.UpdateFolderPeers: // updateFolderPeers#19360dc0
// case *tg.UpdatePeerSettings: // updatePeerSettings#6a7e7366
// case *tg.UpdatePeerLocated: // updatePeerLocated#b4afcfb0
// case *tg.UpdateNewScheduledMessage: // updateNewScheduledMessage#39a51dfb
// case *tg.UpdateDeleteScheduledMessages: // updateDeleteScheduledMessages#90866cee
// case *tg.UpdateTheme: // updateTheme#8216fba3
// case *tg.UpdateGeoLiveViewed: // updateGeoLiveViewed#871fb939
// case *tg.UpdateLoginToken: // updateLoginToken#564fe691
// case *tg.UpdateMessagePollVote: // updateMessagePollVote#106395c9
// case *tg.UpdateDialogFilter: // updateDialogFilter#26ffde7d
// case *tg.UpdateDialogFilterOrder: // updateDialogFilterOrder#a5d72105
// case *tg.UpdateDialogFilters: // updateDialogFilters#3504914f
// case *tg.UpdatePhoneCallSignalingData: // updatePhoneCallSignalingData#2661bf09
// case *tg.UpdateChannelMessageForwards: // updateChannelMessageForwards#d29a27f4
// case *tg.UpdateReadChannelDiscussionInbox: // updateReadChannelDiscussionInbox#d6b19546
// case *tg.UpdateReadChannelDiscussionOutbox: // updateReadChannelDiscussionOutbox#695c9e7c
// case *tg.UpdatePeerBlocked: // updatePeerBlocked#246a4b22
// case *tg.UpdateChannelUserTyping: // updateChannelUserTyping#8c88c923
// case *tg.UpdatePinnedMessages: // updatePinnedMessages#ed85eab5
// case *tg.UpdatePinnedChannelMessages: // updatePinnedChannelMessages#5bb98608
// case *tg.UpdateChat: // updateChat#f89a6a4e
// case *tg.UpdateGroupCallParticipants: // updateGroupCallParticipants#f2ebdb4e
// case *tg.UpdateGroupCall: // updateGroupCall#14b24500
// case *tg.UpdatePeerHistoryTTL: // updatePeerHistoryTTL#bb9bb9a5
// case *tg.UpdateChatParticipant: // updateChatParticipant#d087663a
// case *tg.UpdateChannelParticipant: // updateChannelParticipant#985d3abb
// case *tg.UpdateBotStopped: // updateBotStopped#c4870a49
// case *tg.UpdateGroupCallConnection: // updateGroupCallConnection#b783982
// case *tg.UpdateBotCommands: // updateBotCommands#4d712f2e
// case *tg.UpdatePendingJoinRequests: // updatePendingJoinRequests#7063c3db
// case *tg.UpdateBotChatInviteRequester: // updateBotChatInviteRequester#11dfa986
// case *tg.UpdateMessageReactions: // updateMessageReactions#154798c3
// 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
}
// 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 UpdateNewMessageTypeID:
// Decoding updateNewMessage#1f2b0afd.
v := UpdateNewMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageIDTypeID:
// Decoding updateMessageID#4e90bfd6.
v := UpdateMessageID{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDeleteMessagesTypeID:
// Decoding updateDeleteMessages#a20db0e5.
v := UpdateDeleteMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUserTypingTypeID:
// Decoding updateUserTyping#c01e857f.
v := UpdateUserTyping{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatUserTypingTypeID:
// Decoding updateChatUserTyping#83487af0.
v := UpdateChatUserTyping{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatParticipantsTypeID:
// Decoding updateChatParticipants#7761198.
v := UpdateChatParticipants{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUserStatusTypeID:
// Decoding updateUserStatus#e5bdf8de.
v := UpdateUserStatus{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUserNameTypeID:
// Decoding updateUserName#c3f202e0.
v := UpdateUserName{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUserPhotoTypeID:
// Decoding updateUserPhoto#f227868c.
v := UpdateUserPhoto{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewEncryptedMessageTypeID:
// Decoding updateNewEncryptedMessage#12bcbd9a.
v := UpdateNewEncryptedMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateEncryptedChatTypingTypeID:
// Decoding updateEncryptedChatTyping#1710f156.
v := UpdateEncryptedChatTyping{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateEncryptionTypeID:
// Decoding updateEncryption#b4a2e88d.
v := UpdateEncryption{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateEncryptedMessagesReadTypeID:
// Decoding updateEncryptedMessagesRead#38fe25b7.
v := UpdateEncryptedMessagesRead{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatParticipantAddTypeID:
// Decoding updateChatParticipantAdd#3dda5451.
v := UpdateChatParticipantAdd{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatParticipantDeleteTypeID:
// Decoding updateChatParticipantDelete#e32f3d77.
v := UpdateChatParticipantDelete{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDCOptionsTypeID:
// Decoding updateDcOptions#8e5e9873.
v := UpdateDCOptions{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNotifySettingsTypeID:
// Decoding updateNotifySettings#bec268ef.
v := UpdateNotifySettings{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateServiceNotificationTypeID:
// Decoding updateServiceNotification#ebe46819.
v := UpdateServiceNotification{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePrivacyTypeID:
// Decoding updatePrivacy#ee3b272a.
v := UpdatePrivacy{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateUserPhoneTypeID:
// Decoding updateUserPhone#5492a13.
v := UpdateUserPhone{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateReadHistoryInboxTypeID:
// Decoding updateReadHistoryInbox#9c974fdf.
v := UpdateReadHistoryInbox{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateReadHistoryOutboxTypeID:
// Decoding updateReadHistoryOutbox#2f2f21bf.
v := UpdateReadHistoryOutbox{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateWebPageTypeID:
// Decoding updateWebPage#7f891213.
v := UpdateWebPage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateReadMessagesContentsTypeID:
// Decoding updateReadMessagesContents#68c13933.
v := UpdateReadMessagesContents{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChannelTooLongTypeID:
// Decoding updateChannelTooLong#108d941f.
v := UpdateChannelTooLong{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChannelTypeID:
// Decoding updateChannel#635b4c09.
v := UpdateChannel{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewChannelMessageTypeID:
// Decoding updateNewChannelMessage#62ba04d9.
v := UpdateNewChannelMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateReadChannelInboxTypeID:
// Decoding updateReadChannelInbox#922e6e10.
v := UpdateReadChannelInbox{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDeleteChannelMessagesTypeID:
// Decoding updateDeleteChannelMessages#c32d5b12.
v := UpdateDeleteChannelMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChannelMessageViewsTypeID:
// Decoding updateChannelMessageViews#f226ac08.
v := UpdateChannelMessageViews{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatParticipantAdminTypeID:
// Decoding updateChatParticipantAdmin#d7ca61a2.
v := UpdateChatParticipantAdmin{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewStickerSetTypeID:
// Decoding updateNewStickerSet#688a30aa.
v := UpdateNewStickerSet{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStickerSetsOrderTypeID:
// Decoding updateStickerSetsOrder#bb2d201.
v := UpdateStickerSetsOrder{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateStickerSetsTypeID:
// Decoding updateStickerSets#43ae3dec.
v := UpdateStickerSets{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateSavedGifsTypeID:
// Decoding updateSavedGifs#9375341e.
v := UpdateSavedGifs{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotInlineQueryTypeID:
// Decoding updateBotInlineQuery#496f379c.
v := UpdateBotInlineQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotInlineSendTypeID:
// Decoding updateBotInlineSend#12f12a07.
v := UpdateBotInlineSend{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateEditChannelMessageTypeID:
// Decoding updateEditChannelMessage#1b3f4df7.
v := UpdateEditChannelMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotCallbackQueryTypeID:
// Decoding updateBotCallbackQuery#b9cfc48d.
v := UpdateBotCallbackQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateEditMessageTypeID:
// Decoding updateEditMessage#e40370a3.
v := UpdateEditMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateInlineBotCallbackQueryTypeID:
// Decoding updateInlineBotCallbackQuery#691e9052.
v := UpdateInlineBotCallbackQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateReadChannelOutboxTypeID:
// Decoding updateReadChannelOutbox#b75f99a9.
v := UpdateReadChannelOutbox{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDraftMessageTypeID:
// Decoding updateDraftMessage#ee2bb969.
v := UpdateDraftMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateReadFeaturedStickersTypeID:
// Decoding updateReadFeaturedStickers#571d2742.
v := UpdateReadFeaturedStickers{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateRecentStickersTypeID:
// Decoding updateRecentStickers#9a422c20.
v := UpdateRecentStickers{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateConfigTypeID:
// Decoding updateConfig#a229dd06.
v := UpdateConfig{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePtsChangedTypeID:
// Decoding updatePtsChanged#3354678f.
v := UpdatePtsChanged{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChannelWebPageTypeID:
// Decoding updateChannelWebPage#2f2ba99f.
v := UpdateChannelWebPage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDialogPinnedTypeID:
// Decoding updateDialogPinned#6e6fe51c.
v := UpdateDialogPinned{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePinnedDialogsTypeID:
// Decoding updatePinnedDialogs#fa0f3ca2.
v := UpdatePinnedDialogs{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotWebhookJSONTypeID:
// Decoding updateBotWebhookJSON#8317c0c3.
v := UpdateBotWebhookJSON{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotWebhookJSONQueryTypeID:
// Decoding updateBotWebhookJSONQuery#9b9240a6.
v := UpdateBotWebhookJSONQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotShippingQueryTypeID:
// Decoding updateBotShippingQuery#b5aefd7d.
v := UpdateBotShippingQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotPrecheckoutQueryTypeID:
// Decoding updateBotPrecheckoutQuery#8caa9a96.
v := UpdateBotPrecheckoutQuery{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePhoneCallTypeID:
// Decoding updatePhoneCall#ab0f6b1e.
v := UpdatePhoneCall{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateLangPackTooLongTypeID:
// Decoding updateLangPackTooLong#46560264.
v := UpdateLangPackTooLong{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateLangPackTypeID:
// Decoding updateLangPack#56022f4d.
v := UpdateLangPack{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFavedStickersTypeID:
// Decoding updateFavedStickers#e511996d.
v := UpdateFavedStickers{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChannelReadMessagesContentsTypeID:
// Decoding updateChannelReadMessagesContents#44bdd535.
v := UpdateChannelReadMessagesContents{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateContactsResetTypeID:
// Decoding updateContactsReset#7084a7be.
v := UpdateContactsReset{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChannelAvailableMessagesTypeID:
// Decoding updateChannelAvailableMessages#b23fc698.
v := UpdateChannelAvailableMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDialogUnreadMarkTypeID:
// Decoding updateDialogUnreadMark#e16459c3.
v := UpdateDialogUnreadMark{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessagePollTypeID:
// Decoding updateMessagePoll#aca1657b.
v := UpdateMessagePoll{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatDefaultBannedRightsTypeID:
// Decoding updateChatDefaultBannedRights#54c01850.
v := UpdateChatDefaultBannedRights{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateFolderPeersTypeID:
// Decoding updateFolderPeers#19360dc0.
v := UpdateFolderPeers{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePeerSettingsTypeID:
// Decoding updatePeerSettings#6a7e7366.
v := UpdatePeerSettings{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePeerLocatedTypeID:
// Decoding updatePeerLocated#b4afcfb0.
v := UpdatePeerLocated{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateNewScheduledMessageTypeID:
// Decoding updateNewScheduledMessage#39a51dfb.
v := UpdateNewScheduledMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDeleteScheduledMessagesTypeID:
// Decoding updateDeleteScheduledMessages#90866cee.
v := UpdateDeleteScheduledMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateThemeTypeID:
// Decoding updateTheme#8216fba3.
v := UpdateTheme{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateGeoLiveViewedTypeID:
// Decoding updateGeoLiveViewed#871fb939.
v := UpdateGeoLiveViewed{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateLoginTokenTypeID:
// Decoding updateLoginToken#564fe691.
v := UpdateLoginToken{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessagePollVoteTypeID:
// Decoding updateMessagePollVote#106395c9.
v := UpdateMessagePollVote{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDialogFilterTypeID:
// Decoding updateDialogFilter#26ffde7d.
v := UpdateDialogFilter{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDialogFilterOrderTypeID:
// Decoding updateDialogFilterOrder#a5d72105.
v := UpdateDialogFilterOrder{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateDialogFiltersTypeID:
// Decoding updateDialogFilters#3504914f.
v := UpdateDialogFilters{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePhoneCallSignalingDataTypeID:
// Decoding updatePhoneCallSignalingData#2661bf09.
v := UpdatePhoneCallSignalingData{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChannelMessageForwardsTypeID:
// Decoding updateChannelMessageForwards#d29a27f4.
v := UpdateChannelMessageForwards{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateReadChannelDiscussionInboxTypeID:
// Decoding updateReadChannelDiscussionInbox#d6b19546.
v := UpdateReadChannelDiscussionInbox{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateReadChannelDiscussionOutboxTypeID:
// Decoding updateReadChannelDiscussionOutbox#695c9e7c.
v := UpdateReadChannelDiscussionOutbox{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePeerBlockedTypeID:
// Decoding updatePeerBlocked#246a4b22.
v := UpdatePeerBlocked{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChannelUserTypingTypeID:
// Decoding updateChannelUserTyping#8c88c923.
v := UpdateChannelUserTyping{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePinnedMessagesTypeID:
// Decoding updatePinnedMessages#ed85eab5.
v := UpdatePinnedMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePinnedChannelMessagesTypeID:
// Decoding updatePinnedChannelMessages#5bb98608.
v := UpdatePinnedChannelMessages{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatTypeID:
// Decoding updateChat#f89a6a4e.
v := UpdateChat{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateGroupCallParticipantsTypeID:
// Decoding updateGroupCallParticipants#f2ebdb4e.
v := UpdateGroupCallParticipants{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateGroupCallTypeID:
// Decoding updateGroupCall#14b24500.
v := UpdateGroupCall{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePeerHistoryTTLTypeID:
// Decoding updatePeerHistoryTTL#bb9bb9a5.
v := UpdatePeerHistoryTTL{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChatParticipantTypeID:
// Decoding updateChatParticipant#d087663a.
v := UpdateChatParticipant{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateChannelParticipantTypeID:
// Decoding updateChannelParticipant#985d3abb.
v := UpdateChannelParticipant{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotStoppedTypeID:
// Decoding updateBotStopped#c4870a49.
v := UpdateBotStopped{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateGroupCallConnectionTypeID:
// Decoding updateGroupCallConnection#b783982.
v := UpdateGroupCallConnection{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotCommandsTypeID:
// Decoding updateBotCommands#4d712f2e.
v := UpdateBotCommands{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdatePendingJoinRequestsTypeID:
// Decoding updatePendingJoinRequests#7063c3db.
v := UpdatePendingJoinRequests{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateBotChatInviteRequesterTypeID:
// Decoding updateBotChatInviteRequester#11dfa986.
v := UpdateBotChatInviteRequester{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode UpdateClass: %w", err)
}
return &v, nil
case UpdateMessageReactionsTypeID:
// Decoding updateMessageReactions#154798c3.
v := UpdateMessageReactions{}
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))
}
}
// 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)
}