// Code generated by gotdgen, DO NOT EDIT. package tdapi import ( "context" "errors" "fmt" "sort" "strings" "go.uber.org/multierr" "go.mau.fi/mautrix-telegram/pkg/gotd/bin" "go.mau.fi/mautrix-telegram/pkg/gotd/tdjson" "go.mau.fi/mautrix-telegram/pkg/gotd/tdp" "go.mau.fi/mautrix-telegram/pkg/gotd/tgerr" ) // No-op definition for keeping imports. var ( _ = bin.Buffer{} _ = context.Background() _ = fmt.Stringer(nil) _ = strings.Builder{} _ = errors.Is _ = multierr.AppendInto _ = sort.Ints _ = tdp.Format _ = tgerr.Error{} _ = tdjson.Encoder{} ) // ChatEventMessageEdited represents TL type `chatEventMessageEdited#e64ff5f8`. type ChatEventMessageEdited struct { // The original message before the edit OldMessage Message // The message after it was edited NewMessage Message } // ChatEventMessageEditedTypeID is TL type id of ChatEventMessageEdited. const ChatEventMessageEditedTypeID = 0xe64ff5f8 // construct implements constructor of ChatEventActionClass. func (c ChatEventMessageEdited) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMessageEdited. var ( _ bin.Encoder = &ChatEventMessageEdited{} _ bin.Decoder = &ChatEventMessageEdited{} _ bin.BareEncoder = &ChatEventMessageEdited{} _ bin.BareDecoder = &ChatEventMessageEdited{} _ ChatEventActionClass = &ChatEventMessageEdited{} ) func (c *ChatEventMessageEdited) Zero() bool { if c == nil { return true } if !(c.OldMessage.Zero()) { return false } if !(c.NewMessage.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMessageEdited) String() string { if c == nil { return "ChatEventMessageEdited(nil)" } type Alias ChatEventMessageEdited return fmt.Sprintf("ChatEventMessageEdited%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMessageEdited) TypeID() uint32 { return ChatEventMessageEditedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMessageEdited) TypeName() string { return "chatEventMessageEdited" } // TypeInfo returns info about TL type. func (c *ChatEventMessageEdited) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMessageEdited", ID: ChatEventMessageEditedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldMessage", SchemaName: "old_message", }, { Name: "NewMessage", SchemaName: "new_message", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMessageEdited) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageEdited#e64ff5f8 as nil") } b.PutID(ChatEventMessageEditedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMessageEdited) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageEdited#e64ff5f8 as nil") } if err := c.OldMessage.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMessageEdited#e64ff5f8: field old_message: %w", err) } if err := c.NewMessage.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMessageEdited#e64ff5f8: field new_message: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventMessageEdited) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageEdited#e64ff5f8 to nil") } if err := b.ConsumeID(ChatEventMessageEditedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMessageEdited#e64ff5f8: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMessageEdited) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageEdited#e64ff5f8 to nil") } { if err := c.OldMessage.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventMessageEdited#e64ff5f8: field old_message: %w", err) } } { if err := c.NewMessage.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventMessageEdited#e64ff5f8: field new_message: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMessageEdited) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageEdited#e64ff5f8 as nil") } b.ObjStart() b.PutID("chatEventMessageEdited") b.Comma() b.FieldStart("old_message") if err := c.OldMessage.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMessageEdited#e64ff5f8: field old_message: %w", err) } b.Comma() b.FieldStart("new_message") if err := c.NewMessage.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMessageEdited#e64ff5f8: field new_message: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMessageEdited) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageEdited#e64ff5f8 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMessageEdited"); err != nil { return fmt.Errorf("unable to decode chatEventMessageEdited#e64ff5f8: %w", err) } case "old_message": if err := c.OldMessage.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventMessageEdited#e64ff5f8: field old_message: %w", err) } case "new_message": if err := c.NewMessage.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventMessageEdited#e64ff5f8: field new_message: %w", err) } default: return b.Skip() } return nil }) } // GetOldMessage returns value of OldMessage field. func (c *ChatEventMessageEdited) GetOldMessage() (value Message) { if c == nil { return } return c.OldMessage } // GetNewMessage returns value of NewMessage field. func (c *ChatEventMessageEdited) GetNewMessage() (value Message) { if c == nil { return } return c.NewMessage } // ChatEventMessageDeleted represents TL type `chatEventMessageDeleted#37bfcd73`. type ChatEventMessageDeleted struct { // Deleted message Message Message // True, if the message deletion can be reported via // reportSupergroupAntiSpamFalsePositive CanReportAntiSpamFalsePositive bool } // ChatEventMessageDeletedTypeID is TL type id of ChatEventMessageDeleted. const ChatEventMessageDeletedTypeID = 0x37bfcd73 // construct implements constructor of ChatEventActionClass. func (c ChatEventMessageDeleted) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMessageDeleted. var ( _ bin.Encoder = &ChatEventMessageDeleted{} _ bin.Decoder = &ChatEventMessageDeleted{} _ bin.BareEncoder = &ChatEventMessageDeleted{} _ bin.BareDecoder = &ChatEventMessageDeleted{} _ ChatEventActionClass = &ChatEventMessageDeleted{} ) func (c *ChatEventMessageDeleted) Zero() bool { if c == nil { return true } if !(c.Message.Zero()) { return false } if !(c.CanReportAntiSpamFalsePositive == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMessageDeleted) String() string { if c == nil { return "ChatEventMessageDeleted(nil)" } type Alias ChatEventMessageDeleted return fmt.Sprintf("ChatEventMessageDeleted%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMessageDeleted) TypeID() uint32 { return ChatEventMessageDeletedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMessageDeleted) TypeName() string { return "chatEventMessageDeleted" } // TypeInfo returns info about TL type. func (c *ChatEventMessageDeleted) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMessageDeleted", ID: ChatEventMessageDeletedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Message", SchemaName: "message", }, { Name: "CanReportAntiSpamFalsePositive", SchemaName: "can_report_anti_spam_false_positive", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMessageDeleted) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageDeleted#37bfcd73 as nil") } b.PutID(ChatEventMessageDeletedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMessageDeleted) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageDeleted#37bfcd73 as nil") } if err := c.Message.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMessageDeleted#37bfcd73: field message: %w", err) } b.PutBool(c.CanReportAntiSpamFalsePositive) return nil } // Decode implements bin.Decoder. func (c *ChatEventMessageDeleted) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageDeleted#37bfcd73 to nil") } if err := b.ConsumeID(ChatEventMessageDeletedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMessageDeleted#37bfcd73: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMessageDeleted) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageDeleted#37bfcd73 to nil") } { if err := c.Message.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventMessageDeleted#37bfcd73: field message: %w", err) } } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventMessageDeleted#37bfcd73: field can_report_anti_spam_false_positive: %w", err) } c.CanReportAntiSpamFalsePositive = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMessageDeleted) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageDeleted#37bfcd73 as nil") } b.ObjStart() b.PutID("chatEventMessageDeleted") b.Comma() b.FieldStart("message") if err := c.Message.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMessageDeleted#37bfcd73: field message: %w", err) } b.Comma() b.FieldStart("can_report_anti_spam_false_positive") b.PutBool(c.CanReportAntiSpamFalsePositive) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMessageDeleted) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageDeleted#37bfcd73 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMessageDeleted"); err != nil { return fmt.Errorf("unable to decode chatEventMessageDeleted#37bfcd73: %w", err) } case "message": if err := c.Message.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventMessageDeleted#37bfcd73: field message: %w", err) } case "can_report_anti_spam_false_positive": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventMessageDeleted#37bfcd73: field can_report_anti_spam_false_positive: %w", err) } c.CanReportAntiSpamFalsePositive = value default: return b.Skip() } return nil }) } // GetMessage returns value of Message field. func (c *ChatEventMessageDeleted) GetMessage() (value Message) { if c == nil { return } return c.Message } // GetCanReportAntiSpamFalsePositive returns value of CanReportAntiSpamFalsePositive field. func (c *ChatEventMessageDeleted) GetCanReportAntiSpamFalsePositive() (value bool) { if c == nil { return } return c.CanReportAntiSpamFalsePositive } // ChatEventMessagePinned represents TL type `chatEventMessagePinned#1a26ad1a`. type ChatEventMessagePinned struct { // Pinned message Message Message } // ChatEventMessagePinnedTypeID is TL type id of ChatEventMessagePinned. const ChatEventMessagePinnedTypeID = 0x1a26ad1a // construct implements constructor of ChatEventActionClass. func (c ChatEventMessagePinned) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMessagePinned. var ( _ bin.Encoder = &ChatEventMessagePinned{} _ bin.Decoder = &ChatEventMessagePinned{} _ bin.BareEncoder = &ChatEventMessagePinned{} _ bin.BareDecoder = &ChatEventMessagePinned{} _ ChatEventActionClass = &ChatEventMessagePinned{} ) func (c *ChatEventMessagePinned) Zero() bool { if c == nil { return true } if !(c.Message.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMessagePinned) String() string { if c == nil { return "ChatEventMessagePinned(nil)" } type Alias ChatEventMessagePinned return fmt.Sprintf("ChatEventMessagePinned%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMessagePinned) TypeID() uint32 { return ChatEventMessagePinnedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMessagePinned) TypeName() string { return "chatEventMessagePinned" } // TypeInfo returns info about TL type. func (c *ChatEventMessagePinned) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMessagePinned", ID: ChatEventMessagePinnedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Message", SchemaName: "message", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMessagePinned) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessagePinned#1a26ad1a as nil") } b.PutID(ChatEventMessagePinnedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMessagePinned) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessagePinned#1a26ad1a as nil") } if err := c.Message.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMessagePinned#1a26ad1a: field message: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventMessagePinned) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessagePinned#1a26ad1a to nil") } if err := b.ConsumeID(ChatEventMessagePinnedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMessagePinned#1a26ad1a: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMessagePinned) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessagePinned#1a26ad1a to nil") } { if err := c.Message.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventMessagePinned#1a26ad1a: field message: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMessagePinned) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMessagePinned#1a26ad1a as nil") } b.ObjStart() b.PutID("chatEventMessagePinned") b.Comma() b.FieldStart("message") if err := c.Message.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMessagePinned#1a26ad1a: field message: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMessagePinned) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMessagePinned#1a26ad1a to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMessagePinned"); err != nil { return fmt.Errorf("unable to decode chatEventMessagePinned#1a26ad1a: %w", err) } case "message": if err := c.Message.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventMessagePinned#1a26ad1a: field message: %w", err) } default: return b.Skip() } return nil }) } // GetMessage returns value of Message field. func (c *ChatEventMessagePinned) GetMessage() (value Message) { if c == nil { return } return c.Message } // ChatEventMessageUnpinned represents TL type `chatEventMessageUnpinned#e9943b17`. type ChatEventMessageUnpinned struct { // Unpinned message Message Message } // ChatEventMessageUnpinnedTypeID is TL type id of ChatEventMessageUnpinned. const ChatEventMessageUnpinnedTypeID = 0xe9943b17 // construct implements constructor of ChatEventActionClass. func (c ChatEventMessageUnpinned) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMessageUnpinned. var ( _ bin.Encoder = &ChatEventMessageUnpinned{} _ bin.Decoder = &ChatEventMessageUnpinned{} _ bin.BareEncoder = &ChatEventMessageUnpinned{} _ bin.BareDecoder = &ChatEventMessageUnpinned{} _ ChatEventActionClass = &ChatEventMessageUnpinned{} ) func (c *ChatEventMessageUnpinned) Zero() bool { if c == nil { return true } if !(c.Message.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMessageUnpinned) String() string { if c == nil { return "ChatEventMessageUnpinned(nil)" } type Alias ChatEventMessageUnpinned return fmt.Sprintf("ChatEventMessageUnpinned%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMessageUnpinned) TypeID() uint32 { return ChatEventMessageUnpinnedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMessageUnpinned) TypeName() string { return "chatEventMessageUnpinned" } // TypeInfo returns info about TL type. func (c *ChatEventMessageUnpinned) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMessageUnpinned", ID: ChatEventMessageUnpinnedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Message", SchemaName: "message", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMessageUnpinned) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageUnpinned#e9943b17 as nil") } b.PutID(ChatEventMessageUnpinnedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMessageUnpinned) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageUnpinned#e9943b17 as nil") } if err := c.Message.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMessageUnpinned#e9943b17: field message: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventMessageUnpinned) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageUnpinned#e9943b17 to nil") } if err := b.ConsumeID(ChatEventMessageUnpinnedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMessageUnpinned#e9943b17: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMessageUnpinned) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageUnpinned#e9943b17 to nil") } { if err := c.Message.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventMessageUnpinned#e9943b17: field message: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMessageUnpinned) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageUnpinned#e9943b17 as nil") } b.ObjStart() b.PutID("chatEventMessageUnpinned") b.Comma() b.FieldStart("message") if err := c.Message.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMessageUnpinned#e9943b17: field message: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMessageUnpinned) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageUnpinned#e9943b17 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMessageUnpinned"); err != nil { return fmt.Errorf("unable to decode chatEventMessageUnpinned#e9943b17: %w", err) } case "message": if err := c.Message.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventMessageUnpinned#e9943b17: field message: %w", err) } default: return b.Skip() } return nil }) } // GetMessage returns value of Message field. func (c *ChatEventMessageUnpinned) GetMessage() (value Message) { if c == nil { return } return c.Message } // ChatEventPollStopped represents TL type `chatEventPollStopped#77cc8be5`. type ChatEventPollStopped struct { // The message with the poll Message Message } // ChatEventPollStoppedTypeID is TL type id of ChatEventPollStopped. const ChatEventPollStoppedTypeID = 0x77cc8be5 // construct implements constructor of ChatEventActionClass. func (c ChatEventPollStopped) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventPollStopped. var ( _ bin.Encoder = &ChatEventPollStopped{} _ bin.Decoder = &ChatEventPollStopped{} _ bin.BareEncoder = &ChatEventPollStopped{} _ bin.BareDecoder = &ChatEventPollStopped{} _ ChatEventActionClass = &ChatEventPollStopped{} ) func (c *ChatEventPollStopped) Zero() bool { if c == nil { return true } if !(c.Message.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventPollStopped) String() string { if c == nil { return "ChatEventPollStopped(nil)" } type Alias ChatEventPollStopped return fmt.Sprintf("ChatEventPollStopped%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventPollStopped) TypeID() uint32 { return ChatEventPollStoppedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventPollStopped) TypeName() string { return "chatEventPollStopped" } // TypeInfo returns info about TL type. func (c *ChatEventPollStopped) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventPollStopped", ID: ChatEventPollStoppedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Message", SchemaName: "message", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventPollStopped) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventPollStopped#77cc8be5 as nil") } b.PutID(ChatEventPollStoppedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventPollStopped) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventPollStopped#77cc8be5 as nil") } if err := c.Message.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventPollStopped#77cc8be5: field message: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventPollStopped) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventPollStopped#77cc8be5 to nil") } if err := b.ConsumeID(ChatEventPollStoppedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventPollStopped#77cc8be5: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventPollStopped) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventPollStopped#77cc8be5 to nil") } { if err := c.Message.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventPollStopped#77cc8be5: field message: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventPollStopped) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventPollStopped#77cc8be5 as nil") } b.ObjStart() b.PutID("chatEventPollStopped") b.Comma() b.FieldStart("message") if err := c.Message.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventPollStopped#77cc8be5: field message: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventPollStopped) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventPollStopped#77cc8be5 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventPollStopped"); err != nil { return fmt.Errorf("unable to decode chatEventPollStopped#77cc8be5: %w", err) } case "message": if err := c.Message.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventPollStopped#77cc8be5: field message: %w", err) } default: return b.Skip() } return nil }) } // GetMessage returns value of Message field. func (c *ChatEventPollStopped) GetMessage() (value Message) { if c == nil { return } return c.Message } // ChatEventMemberJoined represents TL type `chatEventMemberJoined#f1f70924`. type ChatEventMemberJoined struct { } // ChatEventMemberJoinedTypeID is TL type id of ChatEventMemberJoined. const ChatEventMemberJoinedTypeID = 0xf1f70924 // construct implements constructor of ChatEventActionClass. func (c ChatEventMemberJoined) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMemberJoined. var ( _ bin.Encoder = &ChatEventMemberJoined{} _ bin.Decoder = &ChatEventMemberJoined{} _ bin.BareEncoder = &ChatEventMemberJoined{} _ bin.BareDecoder = &ChatEventMemberJoined{} _ ChatEventActionClass = &ChatEventMemberJoined{} ) func (c *ChatEventMemberJoined) Zero() bool { if c == nil { return true } return true } // String implements fmt.Stringer. func (c *ChatEventMemberJoined) String() string { if c == nil { return "ChatEventMemberJoined(nil)" } type Alias ChatEventMemberJoined return fmt.Sprintf("ChatEventMemberJoined%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMemberJoined) TypeID() uint32 { return ChatEventMemberJoinedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMemberJoined) TypeName() string { return "chatEventMemberJoined" } // TypeInfo returns info about TL type. func (c *ChatEventMemberJoined) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMemberJoined", ID: ChatEventMemberJoinedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{} return typ } // Encode implements bin.Encoder. func (c *ChatEventMemberJoined) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberJoined#f1f70924 as nil") } b.PutID(ChatEventMemberJoinedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMemberJoined) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberJoined#f1f70924 as nil") } return nil } // Decode implements bin.Decoder. func (c *ChatEventMemberJoined) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberJoined#f1f70924 to nil") } if err := b.ConsumeID(ChatEventMemberJoinedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoined#f1f70924: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMemberJoined) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberJoined#f1f70924 to nil") } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMemberJoined) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberJoined#f1f70924 as nil") } b.ObjStart() b.PutID("chatEventMemberJoined") b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMemberJoined) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberJoined#f1f70924 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMemberJoined"); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoined#f1f70924: %w", err) } default: return b.Skip() } return nil }) } // ChatEventMemberJoinedByInviteLink represents TL type `chatEventMemberJoinedByInviteLink#a9d6dd7a`. type ChatEventMemberJoinedByInviteLink struct { // Invite link used to join the chat InviteLink ChatInviteLink // True, if the user has joined the chat using an invite link for a chat folder ViaChatFolderInviteLink bool } // ChatEventMemberJoinedByInviteLinkTypeID is TL type id of ChatEventMemberJoinedByInviteLink. const ChatEventMemberJoinedByInviteLinkTypeID = 0xa9d6dd7a // construct implements constructor of ChatEventActionClass. func (c ChatEventMemberJoinedByInviteLink) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMemberJoinedByInviteLink. var ( _ bin.Encoder = &ChatEventMemberJoinedByInviteLink{} _ bin.Decoder = &ChatEventMemberJoinedByInviteLink{} _ bin.BareEncoder = &ChatEventMemberJoinedByInviteLink{} _ bin.BareDecoder = &ChatEventMemberJoinedByInviteLink{} _ ChatEventActionClass = &ChatEventMemberJoinedByInviteLink{} ) func (c *ChatEventMemberJoinedByInviteLink) Zero() bool { if c == nil { return true } if !(c.InviteLink.Zero()) { return false } if !(c.ViaChatFolderInviteLink == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMemberJoinedByInviteLink) String() string { if c == nil { return "ChatEventMemberJoinedByInviteLink(nil)" } type Alias ChatEventMemberJoinedByInviteLink return fmt.Sprintf("ChatEventMemberJoinedByInviteLink%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMemberJoinedByInviteLink) TypeID() uint32 { return ChatEventMemberJoinedByInviteLinkTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMemberJoinedByInviteLink) TypeName() string { return "chatEventMemberJoinedByInviteLink" } // TypeInfo returns info about TL type. func (c *ChatEventMemberJoinedByInviteLink) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMemberJoinedByInviteLink", ID: ChatEventMemberJoinedByInviteLinkTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "InviteLink", SchemaName: "invite_link", }, { Name: "ViaChatFolderInviteLink", SchemaName: "via_chat_folder_invite_link", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMemberJoinedByInviteLink) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberJoinedByInviteLink#a9d6dd7a as nil") } b.PutID(ChatEventMemberJoinedByInviteLinkTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMemberJoinedByInviteLink) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberJoinedByInviteLink#a9d6dd7a as nil") } if err := c.InviteLink.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberJoinedByInviteLink#a9d6dd7a: field invite_link: %w", err) } b.PutBool(c.ViaChatFolderInviteLink) return nil } // Decode implements bin.Decoder. func (c *ChatEventMemberJoinedByInviteLink) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberJoinedByInviteLink#a9d6dd7a to nil") } if err := b.ConsumeID(ChatEventMemberJoinedByInviteLinkTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByInviteLink#a9d6dd7a: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMemberJoinedByInviteLink) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberJoinedByInviteLink#a9d6dd7a to nil") } { if err := c.InviteLink.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByInviteLink#a9d6dd7a: field invite_link: %w", err) } } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByInviteLink#a9d6dd7a: field via_chat_folder_invite_link: %w", err) } c.ViaChatFolderInviteLink = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMemberJoinedByInviteLink) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberJoinedByInviteLink#a9d6dd7a as nil") } b.ObjStart() b.PutID("chatEventMemberJoinedByInviteLink") b.Comma() b.FieldStart("invite_link") if err := c.InviteLink.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberJoinedByInviteLink#a9d6dd7a: field invite_link: %w", err) } b.Comma() b.FieldStart("via_chat_folder_invite_link") b.PutBool(c.ViaChatFolderInviteLink) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMemberJoinedByInviteLink) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberJoinedByInviteLink#a9d6dd7a to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMemberJoinedByInviteLink"); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByInviteLink#a9d6dd7a: %w", err) } case "invite_link": if err := c.InviteLink.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByInviteLink#a9d6dd7a: field invite_link: %w", err) } case "via_chat_folder_invite_link": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByInviteLink#a9d6dd7a: field via_chat_folder_invite_link: %w", err) } c.ViaChatFolderInviteLink = value default: return b.Skip() } return nil }) } // GetInviteLink returns value of InviteLink field. func (c *ChatEventMemberJoinedByInviteLink) GetInviteLink() (value ChatInviteLink) { if c == nil { return } return c.InviteLink } // GetViaChatFolderInviteLink returns value of ViaChatFolderInviteLink field. func (c *ChatEventMemberJoinedByInviteLink) GetViaChatFolderInviteLink() (value bool) { if c == nil { return } return c.ViaChatFolderInviteLink } // ChatEventMemberJoinedByRequest represents TL type `chatEventMemberJoinedByRequest#9dc87e3f`. type ChatEventMemberJoinedByRequest struct { // User identifier of the chat administrator, approved user join request ApproverUserID int64 // Invite link used to join the chat; may be null InviteLink ChatInviteLink } // ChatEventMemberJoinedByRequestTypeID is TL type id of ChatEventMemberJoinedByRequest. const ChatEventMemberJoinedByRequestTypeID = 0x9dc87e3f // construct implements constructor of ChatEventActionClass. func (c ChatEventMemberJoinedByRequest) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMemberJoinedByRequest. var ( _ bin.Encoder = &ChatEventMemberJoinedByRequest{} _ bin.Decoder = &ChatEventMemberJoinedByRequest{} _ bin.BareEncoder = &ChatEventMemberJoinedByRequest{} _ bin.BareDecoder = &ChatEventMemberJoinedByRequest{} _ ChatEventActionClass = &ChatEventMemberJoinedByRequest{} ) func (c *ChatEventMemberJoinedByRequest) Zero() bool { if c == nil { return true } if !(c.ApproverUserID == 0) { return false } if !(c.InviteLink.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMemberJoinedByRequest) String() string { if c == nil { return "ChatEventMemberJoinedByRequest(nil)" } type Alias ChatEventMemberJoinedByRequest return fmt.Sprintf("ChatEventMemberJoinedByRequest%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMemberJoinedByRequest) TypeID() uint32 { return ChatEventMemberJoinedByRequestTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMemberJoinedByRequest) TypeName() string { return "chatEventMemberJoinedByRequest" } // TypeInfo returns info about TL type. func (c *ChatEventMemberJoinedByRequest) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMemberJoinedByRequest", ID: ChatEventMemberJoinedByRequestTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ApproverUserID", SchemaName: "approver_user_id", }, { Name: "InviteLink", SchemaName: "invite_link", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMemberJoinedByRequest) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberJoinedByRequest#9dc87e3f as nil") } b.PutID(ChatEventMemberJoinedByRequestTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMemberJoinedByRequest) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberJoinedByRequest#9dc87e3f as nil") } b.PutInt53(c.ApproverUserID) if err := c.InviteLink.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberJoinedByRequest#9dc87e3f: field invite_link: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventMemberJoinedByRequest) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberJoinedByRequest#9dc87e3f to nil") } if err := b.ConsumeID(ChatEventMemberJoinedByRequestTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByRequest#9dc87e3f: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMemberJoinedByRequest) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberJoinedByRequest#9dc87e3f to nil") } { value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByRequest#9dc87e3f: field approver_user_id: %w", err) } c.ApproverUserID = value } { if err := c.InviteLink.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByRequest#9dc87e3f: field invite_link: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMemberJoinedByRequest) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberJoinedByRequest#9dc87e3f as nil") } b.ObjStart() b.PutID("chatEventMemberJoinedByRequest") b.Comma() b.FieldStart("approver_user_id") b.PutInt53(c.ApproverUserID) b.Comma() b.FieldStart("invite_link") if err := c.InviteLink.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberJoinedByRequest#9dc87e3f: field invite_link: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMemberJoinedByRequest) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberJoinedByRequest#9dc87e3f to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMemberJoinedByRequest"); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByRequest#9dc87e3f: %w", err) } case "approver_user_id": value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByRequest#9dc87e3f: field approver_user_id: %w", err) } c.ApproverUserID = value case "invite_link": if err := c.InviteLink.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventMemberJoinedByRequest#9dc87e3f: field invite_link: %w", err) } default: return b.Skip() } return nil }) } // GetApproverUserID returns value of ApproverUserID field. func (c *ChatEventMemberJoinedByRequest) GetApproverUserID() (value int64) { if c == nil { return } return c.ApproverUserID } // GetInviteLink returns value of InviteLink field. func (c *ChatEventMemberJoinedByRequest) GetInviteLink() (value ChatInviteLink) { if c == nil { return } return c.InviteLink } // ChatEventMemberInvited represents TL type `chatEventMemberInvited#38d7bfc9`. type ChatEventMemberInvited struct { // New member user identifier UserID int64 // New member status Status ChatMemberStatusClass } // ChatEventMemberInvitedTypeID is TL type id of ChatEventMemberInvited. const ChatEventMemberInvitedTypeID = 0x38d7bfc9 // construct implements constructor of ChatEventActionClass. func (c ChatEventMemberInvited) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMemberInvited. var ( _ bin.Encoder = &ChatEventMemberInvited{} _ bin.Decoder = &ChatEventMemberInvited{} _ bin.BareEncoder = &ChatEventMemberInvited{} _ bin.BareDecoder = &ChatEventMemberInvited{} _ ChatEventActionClass = &ChatEventMemberInvited{} ) func (c *ChatEventMemberInvited) Zero() bool { if c == nil { return true } if !(c.UserID == 0) { return false } if !(c.Status == nil) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMemberInvited) String() string { if c == nil { return "ChatEventMemberInvited(nil)" } type Alias ChatEventMemberInvited return fmt.Sprintf("ChatEventMemberInvited%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMemberInvited) TypeID() uint32 { return ChatEventMemberInvitedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMemberInvited) TypeName() string { return "chatEventMemberInvited" } // TypeInfo returns info about TL type. func (c *ChatEventMemberInvited) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMemberInvited", ID: ChatEventMemberInvitedTypeID, } if c == 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 (c *ChatEventMemberInvited) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberInvited#38d7bfc9 as nil") } b.PutID(ChatEventMemberInvitedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMemberInvited) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberInvited#38d7bfc9 as nil") } b.PutInt53(c.UserID) if c.Status == nil { return fmt.Errorf("unable to encode chatEventMemberInvited#38d7bfc9: field status is nil") } if err := c.Status.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberInvited#38d7bfc9: field status: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventMemberInvited) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberInvited#38d7bfc9 to nil") } if err := b.ConsumeID(ChatEventMemberInvitedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMemberInvited#38d7bfc9: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMemberInvited) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberInvited#38d7bfc9 to nil") } { value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventMemberInvited#38d7bfc9: field user_id: %w", err) } c.UserID = value } { value, err := DecodeChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberInvited#38d7bfc9: field status: %w", err) } c.Status = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMemberInvited) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberInvited#38d7bfc9 as nil") } b.ObjStart() b.PutID("chatEventMemberInvited") b.Comma() b.FieldStart("user_id") b.PutInt53(c.UserID) b.Comma() b.FieldStart("status") if c.Status == nil { return fmt.Errorf("unable to encode chatEventMemberInvited#38d7bfc9: field status is nil") } if err := c.Status.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberInvited#38d7bfc9: field status: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMemberInvited) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberInvited#38d7bfc9 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMemberInvited"); err != nil { return fmt.Errorf("unable to decode chatEventMemberInvited#38d7bfc9: %w", err) } case "user_id": value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventMemberInvited#38d7bfc9: field user_id: %w", err) } c.UserID = value case "status": value, err := DecodeTDLibJSONChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberInvited#38d7bfc9: field status: %w", err) } c.Status = value default: return b.Skip() } return nil }) } // GetUserID returns value of UserID field. func (c *ChatEventMemberInvited) GetUserID() (value int64) { if c == nil { return } return c.UserID } // GetStatus returns value of Status field. func (c *ChatEventMemberInvited) GetStatus() (value ChatMemberStatusClass) { if c == nil { return } return c.Status } // ChatEventMemberLeft represents TL type `chatEventMemberLeft#c778400f`. type ChatEventMemberLeft struct { } // ChatEventMemberLeftTypeID is TL type id of ChatEventMemberLeft. const ChatEventMemberLeftTypeID = 0xc778400f // construct implements constructor of ChatEventActionClass. func (c ChatEventMemberLeft) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMemberLeft. var ( _ bin.Encoder = &ChatEventMemberLeft{} _ bin.Decoder = &ChatEventMemberLeft{} _ bin.BareEncoder = &ChatEventMemberLeft{} _ bin.BareDecoder = &ChatEventMemberLeft{} _ ChatEventActionClass = &ChatEventMemberLeft{} ) func (c *ChatEventMemberLeft) Zero() bool { if c == nil { return true } return true } // String implements fmt.Stringer. func (c *ChatEventMemberLeft) String() string { if c == nil { return "ChatEventMemberLeft(nil)" } type Alias ChatEventMemberLeft return fmt.Sprintf("ChatEventMemberLeft%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMemberLeft) TypeID() uint32 { return ChatEventMemberLeftTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMemberLeft) TypeName() string { return "chatEventMemberLeft" } // TypeInfo returns info about TL type. func (c *ChatEventMemberLeft) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMemberLeft", ID: ChatEventMemberLeftTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{} return typ } // Encode implements bin.Encoder. func (c *ChatEventMemberLeft) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberLeft#c778400f as nil") } b.PutID(ChatEventMemberLeftTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMemberLeft) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberLeft#c778400f as nil") } return nil } // Decode implements bin.Decoder. func (c *ChatEventMemberLeft) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberLeft#c778400f to nil") } if err := b.ConsumeID(ChatEventMemberLeftTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMemberLeft#c778400f: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMemberLeft) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberLeft#c778400f to nil") } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMemberLeft) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberLeft#c778400f as nil") } b.ObjStart() b.PutID("chatEventMemberLeft") b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMemberLeft) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberLeft#c778400f to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMemberLeft"); err != nil { return fmt.Errorf("unable to decode chatEventMemberLeft#c778400f: %w", err) } default: return b.Skip() } return nil }) } // ChatEventMemberPromoted represents TL type `chatEventMemberPromoted#1f4f6861`. type ChatEventMemberPromoted struct { // Affected chat member user identifier UserID int64 // Previous status of the chat member OldStatus ChatMemberStatusClass // New status of the chat member NewStatus ChatMemberStatusClass } // ChatEventMemberPromotedTypeID is TL type id of ChatEventMemberPromoted. const ChatEventMemberPromotedTypeID = 0x1f4f6861 // construct implements constructor of ChatEventActionClass. func (c ChatEventMemberPromoted) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMemberPromoted. var ( _ bin.Encoder = &ChatEventMemberPromoted{} _ bin.Decoder = &ChatEventMemberPromoted{} _ bin.BareEncoder = &ChatEventMemberPromoted{} _ bin.BareDecoder = &ChatEventMemberPromoted{} _ ChatEventActionClass = &ChatEventMemberPromoted{} ) func (c *ChatEventMemberPromoted) Zero() bool { if c == nil { return true } if !(c.UserID == 0) { return false } if !(c.OldStatus == nil) { return false } if !(c.NewStatus == nil) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMemberPromoted) String() string { if c == nil { return "ChatEventMemberPromoted(nil)" } type Alias ChatEventMemberPromoted return fmt.Sprintf("ChatEventMemberPromoted%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMemberPromoted) TypeID() uint32 { return ChatEventMemberPromotedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMemberPromoted) TypeName() string { return "chatEventMemberPromoted" } // TypeInfo returns info about TL type. func (c *ChatEventMemberPromoted) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMemberPromoted", ID: ChatEventMemberPromotedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "UserID", SchemaName: "user_id", }, { Name: "OldStatus", SchemaName: "old_status", }, { Name: "NewStatus", SchemaName: "new_status", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMemberPromoted) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberPromoted#1f4f6861 as nil") } b.PutID(ChatEventMemberPromotedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMemberPromoted) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberPromoted#1f4f6861 as nil") } b.PutInt53(c.UserID) if c.OldStatus == nil { return fmt.Errorf("unable to encode chatEventMemberPromoted#1f4f6861: field old_status is nil") } if err := c.OldStatus.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberPromoted#1f4f6861: field old_status: %w", err) } if c.NewStatus == nil { return fmt.Errorf("unable to encode chatEventMemberPromoted#1f4f6861: field new_status is nil") } if err := c.NewStatus.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberPromoted#1f4f6861: field new_status: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventMemberPromoted) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberPromoted#1f4f6861 to nil") } if err := b.ConsumeID(ChatEventMemberPromotedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMemberPromoted#1f4f6861: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMemberPromoted) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberPromoted#1f4f6861 to nil") } { value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventMemberPromoted#1f4f6861: field user_id: %w", err) } c.UserID = value } { value, err := DecodeChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberPromoted#1f4f6861: field old_status: %w", err) } c.OldStatus = value } { value, err := DecodeChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberPromoted#1f4f6861: field new_status: %w", err) } c.NewStatus = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMemberPromoted) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberPromoted#1f4f6861 as nil") } b.ObjStart() b.PutID("chatEventMemberPromoted") b.Comma() b.FieldStart("user_id") b.PutInt53(c.UserID) b.Comma() b.FieldStart("old_status") if c.OldStatus == nil { return fmt.Errorf("unable to encode chatEventMemberPromoted#1f4f6861: field old_status is nil") } if err := c.OldStatus.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberPromoted#1f4f6861: field old_status: %w", err) } b.Comma() b.FieldStart("new_status") if c.NewStatus == nil { return fmt.Errorf("unable to encode chatEventMemberPromoted#1f4f6861: field new_status is nil") } if err := c.NewStatus.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberPromoted#1f4f6861: field new_status: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMemberPromoted) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberPromoted#1f4f6861 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMemberPromoted"); err != nil { return fmt.Errorf("unable to decode chatEventMemberPromoted#1f4f6861: %w", err) } case "user_id": value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventMemberPromoted#1f4f6861: field user_id: %w", err) } c.UserID = value case "old_status": value, err := DecodeTDLibJSONChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberPromoted#1f4f6861: field old_status: %w", err) } c.OldStatus = value case "new_status": value, err := DecodeTDLibJSONChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberPromoted#1f4f6861: field new_status: %w", err) } c.NewStatus = value default: return b.Skip() } return nil }) } // GetUserID returns value of UserID field. func (c *ChatEventMemberPromoted) GetUserID() (value int64) { if c == nil { return } return c.UserID } // GetOldStatus returns value of OldStatus field. func (c *ChatEventMemberPromoted) GetOldStatus() (value ChatMemberStatusClass) { if c == nil { return } return c.OldStatus } // GetNewStatus returns value of NewStatus field. func (c *ChatEventMemberPromoted) GetNewStatus() (value ChatMemberStatusClass) { if c == nil { return } return c.NewStatus } // ChatEventMemberRestricted represents TL type `chatEventMemberRestricted#5f951e05`. type ChatEventMemberRestricted struct { // Affected chat member identifier MemberID MessageSenderClass // Previous status of the chat member OldStatus ChatMemberStatusClass // New status of the chat member NewStatus ChatMemberStatusClass } // ChatEventMemberRestrictedTypeID is TL type id of ChatEventMemberRestricted. const ChatEventMemberRestrictedTypeID = 0x5f951e05 // construct implements constructor of ChatEventActionClass. func (c ChatEventMemberRestricted) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMemberRestricted. var ( _ bin.Encoder = &ChatEventMemberRestricted{} _ bin.Decoder = &ChatEventMemberRestricted{} _ bin.BareEncoder = &ChatEventMemberRestricted{} _ bin.BareDecoder = &ChatEventMemberRestricted{} _ ChatEventActionClass = &ChatEventMemberRestricted{} ) func (c *ChatEventMemberRestricted) Zero() bool { if c == nil { return true } if !(c.MemberID == nil) { return false } if !(c.OldStatus == nil) { return false } if !(c.NewStatus == nil) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMemberRestricted) String() string { if c == nil { return "ChatEventMemberRestricted(nil)" } type Alias ChatEventMemberRestricted return fmt.Sprintf("ChatEventMemberRestricted%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMemberRestricted) TypeID() uint32 { return ChatEventMemberRestrictedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMemberRestricted) TypeName() string { return "chatEventMemberRestricted" } // TypeInfo returns info about TL type. func (c *ChatEventMemberRestricted) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMemberRestricted", ID: ChatEventMemberRestrictedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "MemberID", SchemaName: "member_id", }, { Name: "OldStatus", SchemaName: "old_status", }, { Name: "NewStatus", SchemaName: "new_status", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMemberRestricted) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberRestricted#5f951e05 as nil") } b.PutID(ChatEventMemberRestrictedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMemberRestricted) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberRestricted#5f951e05 as nil") } if c.MemberID == nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field member_id is nil") } if err := c.MemberID.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field member_id: %w", err) } if c.OldStatus == nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field old_status is nil") } if err := c.OldStatus.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field old_status: %w", err) } if c.NewStatus == nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field new_status is nil") } if err := c.NewStatus.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field new_status: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventMemberRestricted) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberRestricted#5f951e05 to nil") } if err := b.ConsumeID(ChatEventMemberRestrictedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMemberRestricted#5f951e05: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMemberRestricted) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberRestricted#5f951e05 to nil") } { value, err := DecodeMessageSender(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberRestricted#5f951e05: field member_id: %w", err) } c.MemberID = value } { value, err := DecodeChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberRestricted#5f951e05: field old_status: %w", err) } c.OldStatus = value } { value, err := DecodeChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberRestricted#5f951e05: field new_status: %w", err) } c.NewStatus = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMemberRestricted) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberRestricted#5f951e05 as nil") } b.ObjStart() b.PutID("chatEventMemberRestricted") b.Comma() b.FieldStart("member_id") if c.MemberID == nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field member_id is nil") } if err := c.MemberID.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field member_id: %w", err) } b.Comma() b.FieldStart("old_status") if c.OldStatus == nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field old_status is nil") } if err := c.OldStatus.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field old_status: %w", err) } b.Comma() b.FieldStart("new_status") if c.NewStatus == nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field new_status is nil") } if err := c.NewStatus.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberRestricted#5f951e05: field new_status: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMemberRestricted) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberRestricted#5f951e05 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMemberRestricted"); err != nil { return fmt.Errorf("unable to decode chatEventMemberRestricted#5f951e05: %w", err) } case "member_id": value, err := DecodeTDLibJSONMessageSender(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberRestricted#5f951e05: field member_id: %w", err) } c.MemberID = value case "old_status": value, err := DecodeTDLibJSONChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberRestricted#5f951e05: field old_status: %w", err) } c.OldStatus = value case "new_status": value, err := DecodeTDLibJSONChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberRestricted#5f951e05: field new_status: %w", err) } c.NewStatus = value default: return b.Skip() } return nil }) } // GetMemberID returns value of MemberID field. func (c *ChatEventMemberRestricted) GetMemberID() (value MessageSenderClass) { if c == nil { return } return c.MemberID } // GetOldStatus returns value of OldStatus field. func (c *ChatEventMemberRestricted) GetOldStatus() (value ChatMemberStatusClass) { if c == nil { return } return c.OldStatus } // GetNewStatus returns value of NewStatus field. func (c *ChatEventMemberRestricted) GetNewStatus() (value ChatMemberStatusClass) { if c == nil { return } return c.NewStatus } // ChatEventMemberSubscriptionExtended represents TL type `chatEventMemberSubscriptionExtended#bbfab002`. type ChatEventMemberSubscriptionExtended struct { // Affected chat member user identifier UserID int64 // Previous status of the chat member OldStatus ChatMemberStatusClass // New status of the chat member NewStatus ChatMemberStatusClass } // ChatEventMemberSubscriptionExtendedTypeID is TL type id of ChatEventMemberSubscriptionExtended. const ChatEventMemberSubscriptionExtendedTypeID = 0xbbfab002 // construct implements constructor of ChatEventActionClass. func (c ChatEventMemberSubscriptionExtended) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMemberSubscriptionExtended. var ( _ bin.Encoder = &ChatEventMemberSubscriptionExtended{} _ bin.Decoder = &ChatEventMemberSubscriptionExtended{} _ bin.BareEncoder = &ChatEventMemberSubscriptionExtended{} _ bin.BareDecoder = &ChatEventMemberSubscriptionExtended{} _ ChatEventActionClass = &ChatEventMemberSubscriptionExtended{} ) func (c *ChatEventMemberSubscriptionExtended) Zero() bool { if c == nil { return true } if !(c.UserID == 0) { return false } if !(c.OldStatus == nil) { return false } if !(c.NewStatus == nil) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMemberSubscriptionExtended) String() string { if c == nil { return "ChatEventMemberSubscriptionExtended(nil)" } type Alias ChatEventMemberSubscriptionExtended return fmt.Sprintf("ChatEventMemberSubscriptionExtended%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMemberSubscriptionExtended) TypeID() uint32 { return ChatEventMemberSubscriptionExtendedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMemberSubscriptionExtended) TypeName() string { return "chatEventMemberSubscriptionExtended" } // TypeInfo returns info about TL type. func (c *ChatEventMemberSubscriptionExtended) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMemberSubscriptionExtended", ID: ChatEventMemberSubscriptionExtendedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "UserID", SchemaName: "user_id", }, { Name: "OldStatus", SchemaName: "old_status", }, { Name: "NewStatus", SchemaName: "new_status", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMemberSubscriptionExtended) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberSubscriptionExtended#bbfab002 as nil") } b.PutID(ChatEventMemberSubscriptionExtendedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMemberSubscriptionExtended) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberSubscriptionExtended#bbfab002 as nil") } b.PutInt53(c.UserID) if c.OldStatus == nil { return fmt.Errorf("unable to encode chatEventMemberSubscriptionExtended#bbfab002: field old_status is nil") } if err := c.OldStatus.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberSubscriptionExtended#bbfab002: field old_status: %w", err) } if c.NewStatus == nil { return fmt.Errorf("unable to encode chatEventMemberSubscriptionExtended#bbfab002: field new_status is nil") } if err := c.NewStatus.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberSubscriptionExtended#bbfab002: field new_status: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventMemberSubscriptionExtended) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberSubscriptionExtended#bbfab002 to nil") } if err := b.ConsumeID(ChatEventMemberSubscriptionExtendedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMemberSubscriptionExtended#bbfab002: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMemberSubscriptionExtended) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberSubscriptionExtended#bbfab002 to nil") } { value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventMemberSubscriptionExtended#bbfab002: field user_id: %w", err) } c.UserID = value } { value, err := DecodeChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberSubscriptionExtended#bbfab002: field old_status: %w", err) } c.OldStatus = value } { value, err := DecodeChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberSubscriptionExtended#bbfab002: field new_status: %w", err) } c.NewStatus = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMemberSubscriptionExtended) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMemberSubscriptionExtended#bbfab002 as nil") } b.ObjStart() b.PutID("chatEventMemberSubscriptionExtended") b.Comma() b.FieldStart("user_id") b.PutInt53(c.UserID) b.Comma() b.FieldStart("old_status") if c.OldStatus == nil { return fmt.Errorf("unable to encode chatEventMemberSubscriptionExtended#bbfab002: field old_status is nil") } if err := c.OldStatus.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberSubscriptionExtended#bbfab002: field old_status: %w", err) } b.Comma() b.FieldStart("new_status") if c.NewStatus == nil { return fmt.Errorf("unable to encode chatEventMemberSubscriptionExtended#bbfab002: field new_status is nil") } if err := c.NewStatus.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventMemberSubscriptionExtended#bbfab002: field new_status: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMemberSubscriptionExtended) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMemberSubscriptionExtended#bbfab002 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMemberSubscriptionExtended"); err != nil { return fmt.Errorf("unable to decode chatEventMemberSubscriptionExtended#bbfab002: %w", err) } case "user_id": value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventMemberSubscriptionExtended#bbfab002: field user_id: %w", err) } c.UserID = value case "old_status": value, err := DecodeTDLibJSONChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberSubscriptionExtended#bbfab002: field old_status: %w", err) } c.OldStatus = value case "new_status": value, err := DecodeTDLibJSONChatMemberStatus(b) if err != nil { return fmt.Errorf("unable to decode chatEventMemberSubscriptionExtended#bbfab002: field new_status: %w", err) } c.NewStatus = value default: return b.Skip() } return nil }) } // GetUserID returns value of UserID field. func (c *ChatEventMemberSubscriptionExtended) GetUserID() (value int64) { if c == nil { return } return c.UserID } // GetOldStatus returns value of OldStatus field. func (c *ChatEventMemberSubscriptionExtended) GetOldStatus() (value ChatMemberStatusClass) { if c == nil { return } return c.OldStatus } // GetNewStatus returns value of NewStatus field. func (c *ChatEventMemberSubscriptionExtended) GetNewStatus() (value ChatMemberStatusClass) { if c == nil { return } return c.NewStatus } // ChatEventAvailableReactionsChanged represents TL type `chatEventAvailableReactionsChanged#97b8e0bf`. type ChatEventAvailableReactionsChanged struct { // Previous chat available reactions OldAvailableReactions ChatAvailableReactionsClass // New chat available reactions NewAvailableReactions ChatAvailableReactionsClass } // ChatEventAvailableReactionsChangedTypeID is TL type id of ChatEventAvailableReactionsChanged. const ChatEventAvailableReactionsChangedTypeID = 0x97b8e0bf // construct implements constructor of ChatEventActionClass. func (c ChatEventAvailableReactionsChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventAvailableReactionsChanged. var ( _ bin.Encoder = &ChatEventAvailableReactionsChanged{} _ bin.Decoder = &ChatEventAvailableReactionsChanged{} _ bin.BareEncoder = &ChatEventAvailableReactionsChanged{} _ bin.BareDecoder = &ChatEventAvailableReactionsChanged{} _ ChatEventActionClass = &ChatEventAvailableReactionsChanged{} ) func (c *ChatEventAvailableReactionsChanged) Zero() bool { if c == nil { return true } if !(c.OldAvailableReactions == nil) { return false } if !(c.NewAvailableReactions == nil) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventAvailableReactionsChanged) String() string { if c == nil { return "ChatEventAvailableReactionsChanged(nil)" } type Alias ChatEventAvailableReactionsChanged return fmt.Sprintf("ChatEventAvailableReactionsChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventAvailableReactionsChanged) TypeID() uint32 { return ChatEventAvailableReactionsChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventAvailableReactionsChanged) TypeName() string { return "chatEventAvailableReactionsChanged" } // TypeInfo returns info about TL type. func (c *ChatEventAvailableReactionsChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventAvailableReactionsChanged", ID: ChatEventAvailableReactionsChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldAvailableReactions", SchemaName: "old_available_reactions", }, { Name: "NewAvailableReactions", SchemaName: "new_available_reactions", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventAvailableReactionsChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventAvailableReactionsChanged#97b8e0bf as nil") } b.PutID(ChatEventAvailableReactionsChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventAvailableReactionsChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventAvailableReactionsChanged#97b8e0bf as nil") } if c.OldAvailableReactions == nil { return fmt.Errorf("unable to encode chatEventAvailableReactionsChanged#97b8e0bf: field old_available_reactions is nil") } if err := c.OldAvailableReactions.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventAvailableReactionsChanged#97b8e0bf: field old_available_reactions: %w", err) } if c.NewAvailableReactions == nil { return fmt.Errorf("unable to encode chatEventAvailableReactionsChanged#97b8e0bf: field new_available_reactions is nil") } if err := c.NewAvailableReactions.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventAvailableReactionsChanged#97b8e0bf: field new_available_reactions: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventAvailableReactionsChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventAvailableReactionsChanged#97b8e0bf to nil") } if err := b.ConsumeID(ChatEventAvailableReactionsChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventAvailableReactionsChanged#97b8e0bf: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventAvailableReactionsChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventAvailableReactionsChanged#97b8e0bf to nil") } { value, err := DecodeChatAvailableReactions(b) if err != nil { return fmt.Errorf("unable to decode chatEventAvailableReactionsChanged#97b8e0bf: field old_available_reactions: %w", err) } c.OldAvailableReactions = value } { value, err := DecodeChatAvailableReactions(b) if err != nil { return fmt.Errorf("unable to decode chatEventAvailableReactionsChanged#97b8e0bf: field new_available_reactions: %w", err) } c.NewAvailableReactions = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventAvailableReactionsChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventAvailableReactionsChanged#97b8e0bf as nil") } b.ObjStart() b.PutID("chatEventAvailableReactionsChanged") b.Comma() b.FieldStart("old_available_reactions") if c.OldAvailableReactions == nil { return fmt.Errorf("unable to encode chatEventAvailableReactionsChanged#97b8e0bf: field old_available_reactions is nil") } if err := c.OldAvailableReactions.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventAvailableReactionsChanged#97b8e0bf: field old_available_reactions: %w", err) } b.Comma() b.FieldStart("new_available_reactions") if c.NewAvailableReactions == nil { return fmt.Errorf("unable to encode chatEventAvailableReactionsChanged#97b8e0bf: field new_available_reactions is nil") } if err := c.NewAvailableReactions.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventAvailableReactionsChanged#97b8e0bf: field new_available_reactions: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventAvailableReactionsChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventAvailableReactionsChanged#97b8e0bf to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventAvailableReactionsChanged"); err != nil { return fmt.Errorf("unable to decode chatEventAvailableReactionsChanged#97b8e0bf: %w", err) } case "old_available_reactions": value, err := DecodeTDLibJSONChatAvailableReactions(b) if err != nil { return fmt.Errorf("unable to decode chatEventAvailableReactionsChanged#97b8e0bf: field old_available_reactions: %w", err) } c.OldAvailableReactions = value case "new_available_reactions": value, err := DecodeTDLibJSONChatAvailableReactions(b) if err != nil { return fmt.Errorf("unable to decode chatEventAvailableReactionsChanged#97b8e0bf: field new_available_reactions: %w", err) } c.NewAvailableReactions = value default: return b.Skip() } return nil }) } // GetOldAvailableReactions returns value of OldAvailableReactions field. func (c *ChatEventAvailableReactionsChanged) GetOldAvailableReactions() (value ChatAvailableReactionsClass) { if c == nil { return } return c.OldAvailableReactions } // GetNewAvailableReactions returns value of NewAvailableReactions field. func (c *ChatEventAvailableReactionsChanged) GetNewAvailableReactions() (value ChatAvailableReactionsClass) { if c == nil { return } return c.NewAvailableReactions } // ChatEventBackgroundChanged represents TL type `chatEventBackgroundChanged#b6ed6d38`. type ChatEventBackgroundChanged struct { // Previous background; may be null if none OldBackground ChatBackground // New background; may be null if none NewBackground ChatBackground } // ChatEventBackgroundChangedTypeID is TL type id of ChatEventBackgroundChanged. const ChatEventBackgroundChangedTypeID = 0xb6ed6d38 // construct implements constructor of ChatEventActionClass. func (c ChatEventBackgroundChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventBackgroundChanged. var ( _ bin.Encoder = &ChatEventBackgroundChanged{} _ bin.Decoder = &ChatEventBackgroundChanged{} _ bin.BareEncoder = &ChatEventBackgroundChanged{} _ bin.BareDecoder = &ChatEventBackgroundChanged{} _ ChatEventActionClass = &ChatEventBackgroundChanged{} ) func (c *ChatEventBackgroundChanged) Zero() bool { if c == nil { return true } if !(c.OldBackground.Zero()) { return false } if !(c.NewBackground.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventBackgroundChanged) String() string { if c == nil { return "ChatEventBackgroundChanged(nil)" } type Alias ChatEventBackgroundChanged return fmt.Sprintf("ChatEventBackgroundChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventBackgroundChanged) TypeID() uint32 { return ChatEventBackgroundChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventBackgroundChanged) TypeName() string { return "chatEventBackgroundChanged" } // TypeInfo returns info about TL type. func (c *ChatEventBackgroundChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventBackgroundChanged", ID: ChatEventBackgroundChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldBackground", SchemaName: "old_background", }, { Name: "NewBackground", SchemaName: "new_background", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventBackgroundChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventBackgroundChanged#b6ed6d38 as nil") } b.PutID(ChatEventBackgroundChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventBackgroundChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventBackgroundChanged#b6ed6d38 as nil") } if err := c.OldBackground.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventBackgroundChanged#b6ed6d38: field old_background: %w", err) } if err := c.NewBackground.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventBackgroundChanged#b6ed6d38: field new_background: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventBackgroundChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventBackgroundChanged#b6ed6d38 to nil") } if err := b.ConsumeID(ChatEventBackgroundChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventBackgroundChanged#b6ed6d38: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventBackgroundChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventBackgroundChanged#b6ed6d38 to nil") } { if err := c.OldBackground.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventBackgroundChanged#b6ed6d38: field old_background: %w", err) } } { if err := c.NewBackground.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventBackgroundChanged#b6ed6d38: field new_background: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventBackgroundChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventBackgroundChanged#b6ed6d38 as nil") } b.ObjStart() b.PutID("chatEventBackgroundChanged") b.Comma() b.FieldStart("old_background") if err := c.OldBackground.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventBackgroundChanged#b6ed6d38: field old_background: %w", err) } b.Comma() b.FieldStart("new_background") if err := c.NewBackground.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventBackgroundChanged#b6ed6d38: field new_background: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventBackgroundChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventBackgroundChanged#b6ed6d38 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventBackgroundChanged"); err != nil { return fmt.Errorf("unable to decode chatEventBackgroundChanged#b6ed6d38: %w", err) } case "old_background": if err := c.OldBackground.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventBackgroundChanged#b6ed6d38: field old_background: %w", err) } case "new_background": if err := c.NewBackground.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventBackgroundChanged#b6ed6d38: field new_background: %w", err) } default: return b.Skip() } return nil }) } // GetOldBackground returns value of OldBackground field. func (c *ChatEventBackgroundChanged) GetOldBackground() (value ChatBackground) { if c == nil { return } return c.OldBackground } // GetNewBackground returns value of NewBackground field. func (c *ChatEventBackgroundChanged) GetNewBackground() (value ChatBackground) { if c == nil { return } return c.NewBackground } // ChatEventDescriptionChanged represents TL type `chatEventDescriptionChanged#254cf1e`. type ChatEventDescriptionChanged struct { // Previous chat description OldDescription string // New chat description NewDescription string } // ChatEventDescriptionChangedTypeID is TL type id of ChatEventDescriptionChanged. const ChatEventDescriptionChangedTypeID = 0x254cf1e // construct implements constructor of ChatEventActionClass. func (c ChatEventDescriptionChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventDescriptionChanged. var ( _ bin.Encoder = &ChatEventDescriptionChanged{} _ bin.Decoder = &ChatEventDescriptionChanged{} _ bin.BareEncoder = &ChatEventDescriptionChanged{} _ bin.BareDecoder = &ChatEventDescriptionChanged{} _ ChatEventActionClass = &ChatEventDescriptionChanged{} ) func (c *ChatEventDescriptionChanged) Zero() bool { if c == nil { return true } if !(c.OldDescription == "") { return false } if !(c.NewDescription == "") { return false } return true } // String implements fmt.Stringer. func (c *ChatEventDescriptionChanged) String() string { if c == nil { return "ChatEventDescriptionChanged(nil)" } type Alias ChatEventDescriptionChanged return fmt.Sprintf("ChatEventDescriptionChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventDescriptionChanged) TypeID() uint32 { return ChatEventDescriptionChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventDescriptionChanged) TypeName() string { return "chatEventDescriptionChanged" } // TypeInfo returns info about TL type. func (c *ChatEventDescriptionChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventDescriptionChanged", ID: ChatEventDescriptionChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldDescription", SchemaName: "old_description", }, { Name: "NewDescription", SchemaName: "new_description", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventDescriptionChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventDescriptionChanged#254cf1e as nil") } b.PutID(ChatEventDescriptionChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventDescriptionChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventDescriptionChanged#254cf1e as nil") } b.PutString(c.OldDescription) b.PutString(c.NewDescription) return nil } // Decode implements bin.Decoder. func (c *ChatEventDescriptionChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventDescriptionChanged#254cf1e to nil") } if err := b.ConsumeID(ChatEventDescriptionChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventDescriptionChanged#254cf1e: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventDescriptionChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventDescriptionChanged#254cf1e to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventDescriptionChanged#254cf1e: field old_description: %w", err) } c.OldDescription = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventDescriptionChanged#254cf1e: field new_description: %w", err) } c.NewDescription = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventDescriptionChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventDescriptionChanged#254cf1e as nil") } b.ObjStart() b.PutID("chatEventDescriptionChanged") b.Comma() b.FieldStart("old_description") b.PutString(c.OldDescription) b.Comma() b.FieldStart("new_description") b.PutString(c.NewDescription) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventDescriptionChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventDescriptionChanged#254cf1e to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventDescriptionChanged"); err != nil { return fmt.Errorf("unable to decode chatEventDescriptionChanged#254cf1e: %w", err) } case "old_description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventDescriptionChanged#254cf1e: field old_description: %w", err) } c.OldDescription = value case "new_description": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventDescriptionChanged#254cf1e: field new_description: %w", err) } c.NewDescription = value default: return b.Skip() } return nil }) } // GetOldDescription returns value of OldDescription field. func (c *ChatEventDescriptionChanged) GetOldDescription() (value string) { if c == nil { return } return c.OldDescription } // GetNewDescription returns value of NewDescription field. func (c *ChatEventDescriptionChanged) GetNewDescription() (value string) { if c == nil { return } return c.NewDescription } // ChatEventEmojiStatusChanged represents TL type `chatEventEmojiStatusChanged#83e97b1e`. type ChatEventEmojiStatusChanged struct { // Previous emoji status; may be null if none OldEmojiStatus EmojiStatus // New emoji status; may be null if none NewEmojiStatus EmojiStatus } // ChatEventEmojiStatusChangedTypeID is TL type id of ChatEventEmojiStatusChanged. const ChatEventEmojiStatusChangedTypeID = 0x83e97b1e // construct implements constructor of ChatEventActionClass. func (c ChatEventEmojiStatusChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventEmojiStatusChanged. var ( _ bin.Encoder = &ChatEventEmojiStatusChanged{} _ bin.Decoder = &ChatEventEmojiStatusChanged{} _ bin.BareEncoder = &ChatEventEmojiStatusChanged{} _ bin.BareDecoder = &ChatEventEmojiStatusChanged{} _ ChatEventActionClass = &ChatEventEmojiStatusChanged{} ) func (c *ChatEventEmojiStatusChanged) Zero() bool { if c == nil { return true } if !(c.OldEmojiStatus.Zero()) { return false } if !(c.NewEmojiStatus.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventEmojiStatusChanged) String() string { if c == nil { return "ChatEventEmojiStatusChanged(nil)" } type Alias ChatEventEmojiStatusChanged return fmt.Sprintf("ChatEventEmojiStatusChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventEmojiStatusChanged) TypeID() uint32 { return ChatEventEmojiStatusChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventEmojiStatusChanged) TypeName() string { return "chatEventEmojiStatusChanged" } // TypeInfo returns info about TL type. func (c *ChatEventEmojiStatusChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventEmojiStatusChanged", ID: ChatEventEmojiStatusChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldEmojiStatus", SchemaName: "old_emoji_status", }, { Name: "NewEmojiStatus", SchemaName: "new_emoji_status", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventEmojiStatusChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventEmojiStatusChanged#83e97b1e as nil") } b.PutID(ChatEventEmojiStatusChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventEmojiStatusChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventEmojiStatusChanged#83e97b1e as nil") } if err := c.OldEmojiStatus.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventEmojiStatusChanged#83e97b1e: field old_emoji_status: %w", err) } if err := c.NewEmojiStatus.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventEmojiStatusChanged#83e97b1e: field new_emoji_status: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventEmojiStatusChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventEmojiStatusChanged#83e97b1e to nil") } if err := b.ConsumeID(ChatEventEmojiStatusChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventEmojiStatusChanged#83e97b1e: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventEmojiStatusChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventEmojiStatusChanged#83e97b1e to nil") } { if err := c.OldEmojiStatus.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventEmojiStatusChanged#83e97b1e: field old_emoji_status: %w", err) } } { if err := c.NewEmojiStatus.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventEmojiStatusChanged#83e97b1e: field new_emoji_status: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventEmojiStatusChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventEmojiStatusChanged#83e97b1e as nil") } b.ObjStart() b.PutID("chatEventEmojiStatusChanged") b.Comma() b.FieldStart("old_emoji_status") if err := c.OldEmojiStatus.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventEmojiStatusChanged#83e97b1e: field old_emoji_status: %w", err) } b.Comma() b.FieldStart("new_emoji_status") if err := c.NewEmojiStatus.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventEmojiStatusChanged#83e97b1e: field new_emoji_status: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventEmojiStatusChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventEmojiStatusChanged#83e97b1e to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventEmojiStatusChanged"); err != nil { return fmt.Errorf("unable to decode chatEventEmojiStatusChanged#83e97b1e: %w", err) } case "old_emoji_status": if err := c.OldEmojiStatus.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventEmojiStatusChanged#83e97b1e: field old_emoji_status: %w", err) } case "new_emoji_status": if err := c.NewEmojiStatus.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventEmojiStatusChanged#83e97b1e: field new_emoji_status: %w", err) } default: return b.Skip() } return nil }) } // GetOldEmojiStatus returns value of OldEmojiStatus field. func (c *ChatEventEmojiStatusChanged) GetOldEmojiStatus() (value EmojiStatus) { if c == nil { return } return c.OldEmojiStatus } // GetNewEmojiStatus returns value of NewEmojiStatus field. func (c *ChatEventEmojiStatusChanged) GetNewEmojiStatus() (value EmojiStatus) { if c == nil { return } return c.NewEmojiStatus } // ChatEventLinkedChatChanged represents TL type `chatEventLinkedChatChanged#6b2271af`. type ChatEventLinkedChatChanged struct { // Previous supergroup linked chat identifier OldLinkedChatID int64 // New supergroup linked chat identifier NewLinkedChatID int64 } // ChatEventLinkedChatChangedTypeID is TL type id of ChatEventLinkedChatChanged. const ChatEventLinkedChatChangedTypeID = 0x6b2271af // construct implements constructor of ChatEventActionClass. func (c ChatEventLinkedChatChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventLinkedChatChanged. var ( _ bin.Encoder = &ChatEventLinkedChatChanged{} _ bin.Decoder = &ChatEventLinkedChatChanged{} _ bin.BareEncoder = &ChatEventLinkedChatChanged{} _ bin.BareDecoder = &ChatEventLinkedChatChanged{} _ ChatEventActionClass = &ChatEventLinkedChatChanged{} ) func (c *ChatEventLinkedChatChanged) Zero() bool { if c == nil { return true } if !(c.OldLinkedChatID == 0) { return false } if !(c.NewLinkedChatID == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventLinkedChatChanged) String() string { if c == nil { return "ChatEventLinkedChatChanged(nil)" } type Alias ChatEventLinkedChatChanged return fmt.Sprintf("ChatEventLinkedChatChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventLinkedChatChanged) TypeID() uint32 { return ChatEventLinkedChatChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventLinkedChatChanged) TypeName() string { return "chatEventLinkedChatChanged" } // TypeInfo returns info about TL type. func (c *ChatEventLinkedChatChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventLinkedChatChanged", ID: ChatEventLinkedChatChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldLinkedChatID", SchemaName: "old_linked_chat_id", }, { Name: "NewLinkedChatID", SchemaName: "new_linked_chat_id", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventLinkedChatChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventLinkedChatChanged#6b2271af as nil") } b.PutID(ChatEventLinkedChatChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventLinkedChatChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventLinkedChatChanged#6b2271af as nil") } b.PutInt53(c.OldLinkedChatID) b.PutInt53(c.NewLinkedChatID) return nil } // Decode implements bin.Decoder. func (c *ChatEventLinkedChatChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventLinkedChatChanged#6b2271af to nil") } if err := b.ConsumeID(ChatEventLinkedChatChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventLinkedChatChanged#6b2271af: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventLinkedChatChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventLinkedChatChanged#6b2271af to nil") } { value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventLinkedChatChanged#6b2271af: field old_linked_chat_id: %w", err) } c.OldLinkedChatID = value } { value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventLinkedChatChanged#6b2271af: field new_linked_chat_id: %w", err) } c.NewLinkedChatID = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventLinkedChatChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventLinkedChatChanged#6b2271af as nil") } b.ObjStart() b.PutID("chatEventLinkedChatChanged") b.Comma() b.FieldStart("old_linked_chat_id") b.PutInt53(c.OldLinkedChatID) b.Comma() b.FieldStart("new_linked_chat_id") b.PutInt53(c.NewLinkedChatID) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventLinkedChatChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventLinkedChatChanged#6b2271af to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventLinkedChatChanged"); err != nil { return fmt.Errorf("unable to decode chatEventLinkedChatChanged#6b2271af: %w", err) } case "old_linked_chat_id": value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventLinkedChatChanged#6b2271af: field old_linked_chat_id: %w", err) } c.OldLinkedChatID = value case "new_linked_chat_id": value, err := b.Int53() if err != nil { return fmt.Errorf("unable to decode chatEventLinkedChatChanged#6b2271af: field new_linked_chat_id: %w", err) } c.NewLinkedChatID = value default: return b.Skip() } return nil }) } // GetOldLinkedChatID returns value of OldLinkedChatID field. func (c *ChatEventLinkedChatChanged) GetOldLinkedChatID() (value int64) { if c == nil { return } return c.OldLinkedChatID } // GetNewLinkedChatID returns value of NewLinkedChatID field. func (c *ChatEventLinkedChatChanged) GetNewLinkedChatID() (value int64) { if c == nil { return } return c.NewLinkedChatID } // ChatEventLocationChanged represents TL type `chatEventLocationChanged#e7cdfd4e`. type ChatEventLocationChanged struct { // Previous location; may be null OldLocation ChatLocation // New location; may be null NewLocation ChatLocation } // ChatEventLocationChangedTypeID is TL type id of ChatEventLocationChanged. const ChatEventLocationChangedTypeID = 0xe7cdfd4e // construct implements constructor of ChatEventActionClass. func (c ChatEventLocationChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventLocationChanged. var ( _ bin.Encoder = &ChatEventLocationChanged{} _ bin.Decoder = &ChatEventLocationChanged{} _ bin.BareEncoder = &ChatEventLocationChanged{} _ bin.BareDecoder = &ChatEventLocationChanged{} _ ChatEventActionClass = &ChatEventLocationChanged{} ) func (c *ChatEventLocationChanged) Zero() bool { if c == nil { return true } if !(c.OldLocation.Zero()) { return false } if !(c.NewLocation.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventLocationChanged) String() string { if c == nil { return "ChatEventLocationChanged(nil)" } type Alias ChatEventLocationChanged return fmt.Sprintf("ChatEventLocationChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventLocationChanged) TypeID() uint32 { return ChatEventLocationChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventLocationChanged) TypeName() string { return "chatEventLocationChanged" } // TypeInfo returns info about TL type. func (c *ChatEventLocationChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventLocationChanged", ID: ChatEventLocationChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldLocation", SchemaName: "old_location", }, { Name: "NewLocation", SchemaName: "new_location", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventLocationChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventLocationChanged#e7cdfd4e as nil") } b.PutID(ChatEventLocationChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventLocationChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventLocationChanged#e7cdfd4e as nil") } if err := c.OldLocation.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventLocationChanged#e7cdfd4e: field old_location: %w", err) } if err := c.NewLocation.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventLocationChanged#e7cdfd4e: field new_location: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventLocationChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventLocationChanged#e7cdfd4e to nil") } if err := b.ConsumeID(ChatEventLocationChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventLocationChanged#e7cdfd4e: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventLocationChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventLocationChanged#e7cdfd4e to nil") } { if err := c.OldLocation.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventLocationChanged#e7cdfd4e: field old_location: %w", err) } } { if err := c.NewLocation.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventLocationChanged#e7cdfd4e: field new_location: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventLocationChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventLocationChanged#e7cdfd4e as nil") } b.ObjStart() b.PutID("chatEventLocationChanged") b.Comma() b.FieldStart("old_location") if err := c.OldLocation.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventLocationChanged#e7cdfd4e: field old_location: %w", err) } b.Comma() b.FieldStart("new_location") if err := c.NewLocation.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventLocationChanged#e7cdfd4e: field new_location: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventLocationChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventLocationChanged#e7cdfd4e to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventLocationChanged"); err != nil { return fmt.Errorf("unable to decode chatEventLocationChanged#e7cdfd4e: %w", err) } case "old_location": if err := c.OldLocation.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventLocationChanged#e7cdfd4e: field old_location: %w", err) } case "new_location": if err := c.NewLocation.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventLocationChanged#e7cdfd4e: field new_location: %w", err) } default: return b.Skip() } return nil }) } // GetOldLocation returns value of OldLocation field. func (c *ChatEventLocationChanged) GetOldLocation() (value ChatLocation) { if c == nil { return } return c.OldLocation } // GetNewLocation returns value of NewLocation field. func (c *ChatEventLocationChanged) GetNewLocation() (value ChatLocation) { if c == nil { return } return c.NewLocation } // ChatEventMessageAutoDeleteTimeChanged represents TL type `chatEventMessageAutoDeleteTimeChanged#1083f24`. type ChatEventMessageAutoDeleteTimeChanged struct { // Previous value of message_auto_delete_time OldMessageAutoDeleteTime int32 // New value of message_auto_delete_time NewMessageAutoDeleteTime int32 } // ChatEventMessageAutoDeleteTimeChangedTypeID is TL type id of ChatEventMessageAutoDeleteTimeChanged. const ChatEventMessageAutoDeleteTimeChangedTypeID = 0x1083f24 // construct implements constructor of ChatEventActionClass. func (c ChatEventMessageAutoDeleteTimeChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventMessageAutoDeleteTimeChanged. var ( _ bin.Encoder = &ChatEventMessageAutoDeleteTimeChanged{} _ bin.Decoder = &ChatEventMessageAutoDeleteTimeChanged{} _ bin.BareEncoder = &ChatEventMessageAutoDeleteTimeChanged{} _ bin.BareDecoder = &ChatEventMessageAutoDeleteTimeChanged{} _ ChatEventActionClass = &ChatEventMessageAutoDeleteTimeChanged{} ) func (c *ChatEventMessageAutoDeleteTimeChanged) Zero() bool { if c == nil { return true } if !(c.OldMessageAutoDeleteTime == 0) { return false } if !(c.NewMessageAutoDeleteTime == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventMessageAutoDeleteTimeChanged) String() string { if c == nil { return "ChatEventMessageAutoDeleteTimeChanged(nil)" } type Alias ChatEventMessageAutoDeleteTimeChanged return fmt.Sprintf("ChatEventMessageAutoDeleteTimeChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventMessageAutoDeleteTimeChanged) TypeID() uint32 { return ChatEventMessageAutoDeleteTimeChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventMessageAutoDeleteTimeChanged) TypeName() string { return "chatEventMessageAutoDeleteTimeChanged" } // TypeInfo returns info about TL type. func (c *ChatEventMessageAutoDeleteTimeChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventMessageAutoDeleteTimeChanged", ID: ChatEventMessageAutoDeleteTimeChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldMessageAutoDeleteTime", SchemaName: "old_message_auto_delete_time", }, { Name: "NewMessageAutoDeleteTime", SchemaName: "new_message_auto_delete_time", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventMessageAutoDeleteTimeChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageAutoDeleteTimeChanged#1083f24 as nil") } b.PutID(ChatEventMessageAutoDeleteTimeChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventMessageAutoDeleteTimeChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageAutoDeleteTimeChanged#1083f24 as nil") } b.PutInt32(c.OldMessageAutoDeleteTime) b.PutInt32(c.NewMessageAutoDeleteTime) return nil } // Decode implements bin.Decoder. func (c *ChatEventMessageAutoDeleteTimeChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageAutoDeleteTimeChanged#1083f24 to nil") } if err := b.ConsumeID(ChatEventMessageAutoDeleteTimeChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventMessageAutoDeleteTimeChanged#1083f24: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventMessageAutoDeleteTimeChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageAutoDeleteTimeChanged#1083f24 to nil") } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventMessageAutoDeleteTimeChanged#1083f24: field old_message_auto_delete_time: %w", err) } c.OldMessageAutoDeleteTime = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventMessageAutoDeleteTimeChanged#1083f24: field new_message_auto_delete_time: %w", err) } c.NewMessageAutoDeleteTime = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventMessageAutoDeleteTimeChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventMessageAutoDeleteTimeChanged#1083f24 as nil") } b.ObjStart() b.PutID("chatEventMessageAutoDeleteTimeChanged") b.Comma() b.FieldStart("old_message_auto_delete_time") b.PutInt32(c.OldMessageAutoDeleteTime) b.Comma() b.FieldStart("new_message_auto_delete_time") b.PutInt32(c.NewMessageAutoDeleteTime) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventMessageAutoDeleteTimeChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventMessageAutoDeleteTimeChanged#1083f24 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventMessageAutoDeleteTimeChanged"); err != nil { return fmt.Errorf("unable to decode chatEventMessageAutoDeleteTimeChanged#1083f24: %w", err) } case "old_message_auto_delete_time": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventMessageAutoDeleteTimeChanged#1083f24: field old_message_auto_delete_time: %w", err) } c.OldMessageAutoDeleteTime = value case "new_message_auto_delete_time": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventMessageAutoDeleteTimeChanged#1083f24: field new_message_auto_delete_time: %w", err) } c.NewMessageAutoDeleteTime = value default: return b.Skip() } return nil }) } // GetOldMessageAutoDeleteTime returns value of OldMessageAutoDeleteTime field. func (c *ChatEventMessageAutoDeleteTimeChanged) GetOldMessageAutoDeleteTime() (value int32) { if c == nil { return } return c.OldMessageAutoDeleteTime } // GetNewMessageAutoDeleteTime returns value of NewMessageAutoDeleteTime field. func (c *ChatEventMessageAutoDeleteTimeChanged) GetNewMessageAutoDeleteTime() (value int32) { if c == nil { return } return c.NewMessageAutoDeleteTime } // ChatEventPermissionsChanged represents TL type `chatEventPermissionsChanged#b1d337a8`. type ChatEventPermissionsChanged struct { // Previous chat permissions OldPermissions ChatPermissions // New chat permissions NewPermissions ChatPermissions } // ChatEventPermissionsChangedTypeID is TL type id of ChatEventPermissionsChanged. const ChatEventPermissionsChangedTypeID = 0xb1d337a8 // construct implements constructor of ChatEventActionClass. func (c ChatEventPermissionsChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventPermissionsChanged. var ( _ bin.Encoder = &ChatEventPermissionsChanged{} _ bin.Decoder = &ChatEventPermissionsChanged{} _ bin.BareEncoder = &ChatEventPermissionsChanged{} _ bin.BareDecoder = &ChatEventPermissionsChanged{} _ ChatEventActionClass = &ChatEventPermissionsChanged{} ) func (c *ChatEventPermissionsChanged) Zero() bool { if c == nil { return true } if !(c.OldPermissions.Zero()) { return false } if !(c.NewPermissions.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventPermissionsChanged) String() string { if c == nil { return "ChatEventPermissionsChanged(nil)" } type Alias ChatEventPermissionsChanged return fmt.Sprintf("ChatEventPermissionsChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventPermissionsChanged) TypeID() uint32 { return ChatEventPermissionsChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventPermissionsChanged) TypeName() string { return "chatEventPermissionsChanged" } // TypeInfo returns info about TL type. func (c *ChatEventPermissionsChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventPermissionsChanged", ID: ChatEventPermissionsChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldPermissions", SchemaName: "old_permissions", }, { Name: "NewPermissions", SchemaName: "new_permissions", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventPermissionsChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventPermissionsChanged#b1d337a8 as nil") } b.PutID(ChatEventPermissionsChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventPermissionsChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventPermissionsChanged#b1d337a8 as nil") } if err := c.OldPermissions.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventPermissionsChanged#b1d337a8: field old_permissions: %w", err) } if err := c.NewPermissions.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventPermissionsChanged#b1d337a8: field new_permissions: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventPermissionsChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventPermissionsChanged#b1d337a8 to nil") } if err := b.ConsumeID(ChatEventPermissionsChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventPermissionsChanged#b1d337a8: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventPermissionsChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventPermissionsChanged#b1d337a8 to nil") } { if err := c.OldPermissions.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventPermissionsChanged#b1d337a8: field old_permissions: %w", err) } } { if err := c.NewPermissions.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventPermissionsChanged#b1d337a8: field new_permissions: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventPermissionsChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventPermissionsChanged#b1d337a8 as nil") } b.ObjStart() b.PutID("chatEventPermissionsChanged") b.Comma() b.FieldStart("old_permissions") if err := c.OldPermissions.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventPermissionsChanged#b1d337a8: field old_permissions: %w", err) } b.Comma() b.FieldStart("new_permissions") if err := c.NewPermissions.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventPermissionsChanged#b1d337a8: field new_permissions: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventPermissionsChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventPermissionsChanged#b1d337a8 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventPermissionsChanged"); err != nil { return fmt.Errorf("unable to decode chatEventPermissionsChanged#b1d337a8: %w", err) } case "old_permissions": if err := c.OldPermissions.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventPermissionsChanged#b1d337a8: field old_permissions: %w", err) } case "new_permissions": if err := c.NewPermissions.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventPermissionsChanged#b1d337a8: field new_permissions: %w", err) } default: return b.Skip() } return nil }) } // GetOldPermissions returns value of OldPermissions field. func (c *ChatEventPermissionsChanged) GetOldPermissions() (value ChatPermissions) { if c == nil { return } return c.OldPermissions } // GetNewPermissions returns value of NewPermissions field. func (c *ChatEventPermissionsChanged) GetNewPermissions() (value ChatPermissions) { if c == nil { return } return c.NewPermissions } // ChatEventPhotoChanged represents TL type `chatEventPhotoChanged#cfa062c3`. type ChatEventPhotoChanged struct { // Previous chat photo value; may be null OldPhoto ChatPhoto // New chat photo value; may be null NewPhoto ChatPhoto } // ChatEventPhotoChangedTypeID is TL type id of ChatEventPhotoChanged. const ChatEventPhotoChangedTypeID = 0xcfa062c3 // construct implements constructor of ChatEventActionClass. func (c ChatEventPhotoChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventPhotoChanged. var ( _ bin.Encoder = &ChatEventPhotoChanged{} _ bin.Decoder = &ChatEventPhotoChanged{} _ bin.BareEncoder = &ChatEventPhotoChanged{} _ bin.BareDecoder = &ChatEventPhotoChanged{} _ ChatEventActionClass = &ChatEventPhotoChanged{} ) func (c *ChatEventPhotoChanged) Zero() bool { if c == nil { return true } if !(c.OldPhoto.Zero()) { return false } if !(c.NewPhoto.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventPhotoChanged) String() string { if c == nil { return "ChatEventPhotoChanged(nil)" } type Alias ChatEventPhotoChanged return fmt.Sprintf("ChatEventPhotoChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventPhotoChanged) TypeID() uint32 { return ChatEventPhotoChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventPhotoChanged) TypeName() string { return "chatEventPhotoChanged" } // TypeInfo returns info about TL type. func (c *ChatEventPhotoChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventPhotoChanged", ID: ChatEventPhotoChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldPhoto", SchemaName: "old_photo", }, { Name: "NewPhoto", SchemaName: "new_photo", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventPhotoChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventPhotoChanged#cfa062c3 as nil") } b.PutID(ChatEventPhotoChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventPhotoChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventPhotoChanged#cfa062c3 as nil") } if err := c.OldPhoto.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventPhotoChanged#cfa062c3: field old_photo: %w", err) } if err := c.NewPhoto.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventPhotoChanged#cfa062c3: field new_photo: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventPhotoChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventPhotoChanged#cfa062c3 to nil") } if err := b.ConsumeID(ChatEventPhotoChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventPhotoChanged#cfa062c3: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventPhotoChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventPhotoChanged#cfa062c3 to nil") } { if err := c.OldPhoto.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventPhotoChanged#cfa062c3: field old_photo: %w", err) } } { if err := c.NewPhoto.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventPhotoChanged#cfa062c3: field new_photo: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventPhotoChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventPhotoChanged#cfa062c3 as nil") } b.ObjStart() b.PutID("chatEventPhotoChanged") b.Comma() b.FieldStart("old_photo") if err := c.OldPhoto.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventPhotoChanged#cfa062c3: field old_photo: %w", err) } b.Comma() b.FieldStart("new_photo") if err := c.NewPhoto.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventPhotoChanged#cfa062c3: field new_photo: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventPhotoChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventPhotoChanged#cfa062c3 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventPhotoChanged"); err != nil { return fmt.Errorf("unable to decode chatEventPhotoChanged#cfa062c3: %w", err) } case "old_photo": if err := c.OldPhoto.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventPhotoChanged#cfa062c3: field old_photo: %w", err) } case "new_photo": if err := c.NewPhoto.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventPhotoChanged#cfa062c3: field new_photo: %w", err) } default: return b.Skip() } return nil }) } // GetOldPhoto returns value of OldPhoto field. func (c *ChatEventPhotoChanged) GetOldPhoto() (value ChatPhoto) { if c == nil { return } return c.OldPhoto } // GetNewPhoto returns value of NewPhoto field. func (c *ChatEventPhotoChanged) GetNewPhoto() (value ChatPhoto) { if c == nil { return } return c.NewPhoto } // ChatEventSlowModeDelayChanged represents TL type `chatEventSlowModeDelayChanged#9d763c0b`. type ChatEventSlowModeDelayChanged struct { // Previous value of slow_mode_delay, in seconds OldSlowModeDelay int32 // New value of slow_mode_delay, in seconds NewSlowModeDelay int32 } // ChatEventSlowModeDelayChangedTypeID is TL type id of ChatEventSlowModeDelayChanged. const ChatEventSlowModeDelayChangedTypeID = 0x9d763c0b // construct implements constructor of ChatEventActionClass. func (c ChatEventSlowModeDelayChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventSlowModeDelayChanged. var ( _ bin.Encoder = &ChatEventSlowModeDelayChanged{} _ bin.Decoder = &ChatEventSlowModeDelayChanged{} _ bin.BareEncoder = &ChatEventSlowModeDelayChanged{} _ bin.BareDecoder = &ChatEventSlowModeDelayChanged{} _ ChatEventActionClass = &ChatEventSlowModeDelayChanged{} ) func (c *ChatEventSlowModeDelayChanged) Zero() bool { if c == nil { return true } if !(c.OldSlowModeDelay == 0) { return false } if !(c.NewSlowModeDelay == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventSlowModeDelayChanged) String() string { if c == nil { return "ChatEventSlowModeDelayChanged(nil)" } type Alias ChatEventSlowModeDelayChanged return fmt.Sprintf("ChatEventSlowModeDelayChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventSlowModeDelayChanged) TypeID() uint32 { return ChatEventSlowModeDelayChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventSlowModeDelayChanged) TypeName() string { return "chatEventSlowModeDelayChanged" } // TypeInfo returns info about TL type. func (c *ChatEventSlowModeDelayChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventSlowModeDelayChanged", ID: ChatEventSlowModeDelayChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldSlowModeDelay", SchemaName: "old_slow_mode_delay", }, { Name: "NewSlowModeDelay", SchemaName: "new_slow_mode_delay", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventSlowModeDelayChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventSlowModeDelayChanged#9d763c0b as nil") } b.PutID(ChatEventSlowModeDelayChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventSlowModeDelayChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventSlowModeDelayChanged#9d763c0b as nil") } b.PutInt32(c.OldSlowModeDelay) b.PutInt32(c.NewSlowModeDelay) return nil } // Decode implements bin.Decoder. func (c *ChatEventSlowModeDelayChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventSlowModeDelayChanged#9d763c0b to nil") } if err := b.ConsumeID(ChatEventSlowModeDelayChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventSlowModeDelayChanged#9d763c0b: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventSlowModeDelayChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventSlowModeDelayChanged#9d763c0b to nil") } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventSlowModeDelayChanged#9d763c0b: field old_slow_mode_delay: %w", err) } c.OldSlowModeDelay = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventSlowModeDelayChanged#9d763c0b: field new_slow_mode_delay: %w", err) } c.NewSlowModeDelay = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventSlowModeDelayChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventSlowModeDelayChanged#9d763c0b as nil") } b.ObjStart() b.PutID("chatEventSlowModeDelayChanged") b.Comma() b.FieldStart("old_slow_mode_delay") b.PutInt32(c.OldSlowModeDelay) b.Comma() b.FieldStart("new_slow_mode_delay") b.PutInt32(c.NewSlowModeDelay) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventSlowModeDelayChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventSlowModeDelayChanged#9d763c0b to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventSlowModeDelayChanged"); err != nil { return fmt.Errorf("unable to decode chatEventSlowModeDelayChanged#9d763c0b: %w", err) } case "old_slow_mode_delay": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventSlowModeDelayChanged#9d763c0b: field old_slow_mode_delay: %w", err) } c.OldSlowModeDelay = value case "new_slow_mode_delay": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventSlowModeDelayChanged#9d763c0b: field new_slow_mode_delay: %w", err) } c.NewSlowModeDelay = value default: return b.Skip() } return nil }) } // GetOldSlowModeDelay returns value of OldSlowModeDelay field. func (c *ChatEventSlowModeDelayChanged) GetOldSlowModeDelay() (value int32) { if c == nil { return } return c.OldSlowModeDelay } // GetNewSlowModeDelay returns value of NewSlowModeDelay field. func (c *ChatEventSlowModeDelayChanged) GetNewSlowModeDelay() (value int32) { if c == nil { return } return c.NewSlowModeDelay } // ChatEventStickerSetChanged represents TL type `chatEventStickerSetChanged#b5e7558f`. type ChatEventStickerSetChanged struct { // Previous identifier of the chat sticker set; 0 if none OldStickerSetID int64 // New identifier of the chat sticker set; 0 if none NewStickerSetID int64 } // ChatEventStickerSetChangedTypeID is TL type id of ChatEventStickerSetChanged. const ChatEventStickerSetChangedTypeID = 0xb5e7558f // construct implements constructor of ChatEventActionClass. func (c ChatEventStickerSetChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventStickerSetChanged. var ( _ bin.Encoder = &ChatEventStickerSetChanged{} _ bin.Decoder = &ChatEventStickerSetChanged{} _ bin.BareEncoder = &ChatEventStickerSetChanged{} _ bin.BareDecoder = &ChatEventStickerSetChanged{} _ ChatEventActionClass = &ChatEventStickerSetChanged{} ) func (c *ChatEventStickerSetChanged) Zero() bool { if c == nil { return true } if !(c.OldStickerSetID == 0) { return false } if !(c.NewStickerSetID == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventStickerSetChanged) String() string { if c == nil { return "ChatEventStickerSetChanged(nil)" } type Alias ChatEventStickerSetChanged return fmt.Sprintf("ChatEventStickerSetChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventStickerSetChanged) TypeID() uint32 { return ChatEventStickerSetChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventStickerSetChanged) TypeName() string { return "chatEventStickerSetChanged" } // TypeInfo returns info about TL type. func (c *ChatEventStickerSetChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventStickerSetChanged", ID: ChatEventStickerSetChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldStickerSetID", SchemaName: "old_sticker_set_id", }, { Name: "NewStickerSetID", SchemaName: "new_sticker_set_id", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventStickerSetChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventStickerSetChanged#b5e7558f as nil") } b.PutID(ChatEventStickerSetChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventStickerSetChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventStickerSetChanged#b5e7558f as nil") } b.PutLong(c.OldStickerSetID) b.PutLong(c.NewStickerSetID) return nil } // Decode implements bin.Decoder. func (c *ChatEventStickerSetChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventStickerSetChanged#b5e7558f to nil") } if err := b.ConsumeID(ChatEventStickerSetChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventStickerSetChanged#b5e7558f: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventStickerSetChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventStickerSetChanged#b5e7558f to nil") } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventStickerSetChanged#b5e7558f: field old_sticker_set_id: %w", err) } c.OldStickerSetID = value } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventStickerSetChanged#b5e7558f: field new_sticker_set_id: %w", err) } c.NewStickerSetID = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventStickerSetChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventStickerSetChanged#b5e7558f as nil") } b.ObjStart() b.PutID("chatEventStickerSetChanged") b.Comma() b.FieldStart("old_sticker_set_id") b.PutLong(c.OldStickerSetID) b.Comma() b.FieldStart("new_sticker_set_id") b.PutLong(c.NewStickerSetID) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventStickerSetChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventStickerSetChanged#b5e7558f to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventStickerSetChanged"); err != nil { return fmt.Errorf("unable to decode chatEventStickerSetChanged#b5e7558f: %w", err) } case "old_sticker_set_id": value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventStickerSetChanged#b5e7558f: field old_sticker_set_id: %w", err) } c.OldStickerSetID = value case "new_sticker_set_id": value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventStickerSetChanged#b5e7558f: field new_sticker_set_id: %w", err) } c.NewStickerSetID = value default: return b.Skip() } return nil }) } // GetOldStickerSetID returns value of OldStickerSetID field. func (c *ChatEventStickerSetChanged) GetOldStickerSetID() (value int64) { if c == nil { return } return c.OldStickerSetID } // GetNewStickerSetID returns value of NewStickerSetID field. func (c *ChatEventStickerSetChanged) GetNewStickerSetID() (value int64) { if c == nil { return } return c.NewStickerSetID } // ChatEventCustomEmojiStickerSetChanged represents TL type `chatEventCustomEmojiStickerSetChanged#70c431b`. type ChatEventCustomEmojiStickerSetChanged struct { // Previous identifier of the chat sticker set; 0 if none OldStickerSetID int64 // New identifier of the chat sticker set; 0 if none NewStickerSetID int64 } // ChatEventCustomEmojiStickerSetChangedTypeID is TL type id of ChatEventCustomEmojiStickerSetChanged. const ChatEventCustomEmojiStickerSetChangedTypeID = 0x70c431b // construct implements constructor of ChatEventActionClass. func (c ChatEventCustomEmojiStickerSetChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventCustomEmojiStickerSetChanged. var ( _ bin.Encoder = &ChatEventCustomEmojiStickerSetChanged{} _ bin.Decoder = &ChatEventCustomEmojiStickerSetChanged{} _ bin.BareEncoder = &ChatEventCustomEmojiStickerSetChanged{} _ bin.BareDecoder = &ChatEventCustomEmojiStickerSetChanged{} _ ChatEventActionClass = &ChatEventCustomEmojiStickerSetChanged{} ) func (c *ChatEventCustomEmojiStickerSetChanged) Zero() bool { if c == nil { return true } if !(c.OldStickerSetID == 0) { return false } if !(c.NewStickerSetID == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventCustomEmojiStickerSetChanged) String() string { if c == nil { return "ChatEventCustomEmojiStickerSetChanged(nil)" } type Alias ChatEventCustomEmojiStickerSetChanged return fmt.Sprintf("ChatEventCustomEmojiStickerSetChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventCustomEmojiStickerSetChanged) TypeID() uint32 { return ChatEventCustomEmojiStickerSetChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventCustomEmojiStickerSetChanged) TypeName() string { return "chatEventCustomEmojiStickerSetChanged" } // TypeInfo returns info about TL type. func (c *ChatEventCustomEmojiStickerSetChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventCustomEmojiStickerSetChanged", ID: ChatEventCustomEmojiStickerSetChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldStickerSetID", SchemaName: "old_sticker_set_id", }, { Name: "NewStickerSetID", SchemaName: "new_sticker_set_id", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventCustomEmojiStickerSetChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventCustomEmojiStickerSetChanged#70c431b as nil") } b.PutID(ChatEventCustomEmojiStickerSetChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventCustomEmojiStickerSetChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventCustomEmojiStickerSetChanged#70c431b as nil") } b.PutLong(c.OldStickerSetID) b.PutLong(c.NewStickerSetID) return nil } // Decode implements bin.Decoder. func (c *ChatEventCustomEmojiStickerSetChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventCustomEmojiStickerSetChanged#70c431b to nil") } if err := b.ConsumeID(ChatEventCustomEmojiStickerSetChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventCustomEmojiStickerSetChanged#70c431b: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventCustomEmojiStickerSetChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventCustomEmojiStickerSetChanged#70c431b to nil") } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventCustomEmojiStickerSetChanged#70c431b: field old_sticker_set_id: %w", err) } c.OldStickerSetID = value } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventCustomEmojiStickerSetChanged#70c431b: field new_sticker_set_id: %w", err) } c.NewStickerSetID = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventCustomEmojiStickerSetChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventCustomEmojiStickerSetChanged#70c431b as nil") } b.ObjStart() b.PutID("chatEventCustomEmojiStickerSetChanged") b.Comma() b.FieldStart("old_sticker_set_id") b.PutLong(c.OldStickerSetID) b.Comma() b.FieldStart("new_sticker_set_id") b.PutLong(c.NewStickerSetID) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventCustomEmojiStickerSetChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventCustomEmojiStickerSetChanged#70c431b to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventCustomEmojiStickerSetChanged"); err != nil { return fmt.Errorf("unable to decode chatEventCustomEmojiStickerSetChanged#70c431b: %w", err) } case "old_sticker_set_id": value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventCustomEmojiStickerSetChanged#70c431b: field old_sticker_set_id: %w", err) } c.OldStickerSetID = value case "new_sticker_set_id": value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventCustomEmojiStickerSetChanged#70c431b: field new_sticker_set_id: %w", err) } c.NewStickerSetID = value default: return b.Skip() } return nil }) } // GetOldStickerSetID returns value of OldStickerSetID field. func (c *ChatEventCustomEmojiStickerSetChanged) GetOldStickerSetID() (value int64) { if c == nil { return } return c.OldStickerSetID } // GetNewStickerSetID returns value of NewStickerSetID field. func (c *ChatEventCustomEmojiStickerSetChanged) GetNewStickerSetID() (value int64) { if c == nil { return } return c.NewStickerSetID } // ChatEventTitleChanged represents TL type `chatEventTitleChanged#43990ad2`. type ChatEventTitleChanged struct { // Previous chat title OldTitle string // New chat title NewTitle string } // ChatEventTitleChangedTypeID is TL type id of ChatEventTitleChanged. const ChatEventTitleChangedTypeID = 0x43990ad2 // construct implements constructor of ChatEventActionClass. func (c ChatEventTitleChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventTitleChanged. var ( _ bin.Encoder = &ChatEventTitleChanged{} _ bin.Decoder = &ChatEventTitleChanged{} _ bin.BareEncoder = &ChatEventTitleChanged{} _ bin.BareDecoder = &ChatEventTitleChanged{} _ ChatEventActionClass = &ChatEventTitleChanged{} ) func (c *ChatEventTitleChanged) Zero() bool { if c == nil { return true } if !(c.OldTitle == "") { return false } if !(c.NewTitle == "") { return false } return true } // String implements fmt.Stringer. func (c *ChatEventTitleChanged) String() string { if c == nil { return "ChatEventTitleChanged(nil)" } type Alias ChatEventTitleChanged return fmt.Sprintf("ChatEventTitleChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventTitleChanged) TypeID() uint32 { return ChatEventTitleChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventTitleChanged) TypeName() string { return "chatEventTitleChanged" } // TypeInfo returns info about TL type. func (c *ChatEventTitleChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventTitleChanged", ID: ChatEventTitleChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldTitle", SchemaName: "old_title", }, { Name: "NewTitle", SchemaName: "new_title", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventTitleChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventTitleChanged#43990ad2 as nil") } b.PutID(ChatEventTitleChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventTitleChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventTitleChanged#43990ad2 as nil") } b.PutString(c.OldTitle) b.PutString(c.NewTitle) return nil } // Decode implements bin.Decoder. func (c *ChatEventTitleChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventTitleChanged#43990ad2 to nil") } if err := b.ConsumeID(ChatEventTitleChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventTitleChanged#43990ad2: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventTitleChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventTitleChanged#43990ad2 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventTitleChanged#43990ad2: field old_title: %w", err) } c.OldTitle = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventTitleChanged#43990ad2: field new_title: %w", err) } c.NewTitle = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventTitleChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventTitleChanged#43990ad2 as nil") } b.ObjStart() b.PutID("chatEventTitleChanged") b.Comma() b.FieldStart("old_title") b.PutString(c.OldTitle) b.Comma() b.FieldStart("new_title") b.PutString(c.NewTitle) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventTitleChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventTitleChanged#43990ad2 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventTitleChanged"); err != nil { return fmt.Errorf("unable to decode chatEventTitleChanged#43990ad2: %w", err) } case "old_title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventTitleChanged#43990ad2: field old_title: %w", err) } c.OldTitle = value case "new_title": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventTitleChanged#43990ad2: field new_title: %w", err) } c.NewTitle = value default: return b.Skip() } return nil }) } // GetOldTitle returns value of OldTitle field. func (c *ChatEventTitleChanged) GetOldTitle() (value string) { if c == nil { return } return c.OldTitle } // GetNewTitle returns value of NewTitle field. func (c *ChatEventTitleChanged) GetNewTitle() (value string) { if c == nil { return } return c.NewTitle } // ChatEventUsernameChanged represents TL type `chatEventUsernameChanged#6707b56b`. type ChatEventUsernameChanged struct { // Previous chat username OldUsername string // New chat username NewUsername string } // ChatEventUsernameChangedTypeID is TL type id of ChatEventUsernameChanged. const ChatEventUsernameChangedTypeID = 0x6707b56b // construct implements constructor of ChatEventActionClass. func (c ChatEventUsernameChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventUsernameChanged. var ( _ bin.Encoder = &ChatEventUsernameChanged{} _ bin.Decoder = &ChatEventUsernameChanged{} _ bin.BareEncoder = &ChatEventUsernameChanged{} _ bin.BareDecoder = &ChatEventUsernameChanged{} _ ChatEventActionClass = &ChatEventUsernameChanged{} ) func (c *ChatEventUsernameChanged) Zero() bool { if c == nil { return true } if !(c.OldUsername == "") { return false } if !(c.NewUsername == "") { return false } return true } // String implements fmt.Stringer. func (c *ChatEventUsernameChanged) String() string { if c == nil { return "ChatEventUsernameChanged(nil)" } type Alias ChatEventUsernameChanged return fmt.Sprintf("ChatEventUsernameChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventUsernameChanged) TypeID() uint32 { return ChatEventUsernameChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventUsernameChanged) TypeName() string { return "chatEventUsernameChanged" } // TypeInfo returns info about TL type. func (c *ChatEventUsernameChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventUsernameChanged", ID: ChatEventUsernameChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldUsername", SchemaName: "old_username", }, { Name: "NewUsername", SchemaName: "new_username", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventUsernameChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventUsernameChanged#6707b56b as nil") } b.PutID(ChatEventUsernameChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventUsernameChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventUsernameChanged#6707b56b as nil") } b.PutString(c.OldUsername) b.PutString(c.NewUsername) return nil } // Decode implements bin.Decoder. func (c *ChatEventUsernameChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventUsernameChanged#6707b56b to nil") } if err := b.ConsumeID(ChatEventUsernameChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventUsernameChanged#6707b56b: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventUsernameChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventUsernameChanged#6707b56b to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventUsernameChanged#6707b56b: field old_username: %w", err) } c.OldUsername = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventUsernameChanged#6707b56b: field new_username: %w", err) } c.NewUsername = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventUsernameChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventUsernameChanged#6707b56b as nil") } b.ObjStart() b.PutID("chatEventUsernameChanged") b.Comma() b.FieldStart("old_username") b.PutString(c.OldUsername) b.Comma() b.FieldStart("new_username") b.PutString(c.NewUsername) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventUsernameChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventUsernameChanged#6707b56b to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventUsernameChanged"); err != nil { return fmt.Errorf("unable to decode chatEventUsernameChanged#6707b56b: %w", err) } case "old_username": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventUsernameChanged#6707b56b: field old_username: %w", err) } c.OldUsername = value case "new_username": value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventUsernameChanged#6707b56b: field new_username: %w", err) } c.NewUsername = value default: return b.Skip() } return nil }) } // GetOldUsername returns value of OldUsername field. func (c *ChatEventUsernameChanged) GetOldUsername() (value string) { if c == nil { return } return c.OldUsername } // GetNewUsername returns value of NewUsername field. func (c *ChatEventUsernameChanged) GetNewUsername() (value string) { if c == nil { return } return c.NewUsername } // ChatEventActiveUsernamesChanged represents TL type `chatEventActiveUsernamesChanged#95e54656`. type ChatEventActiveUsernamesChanged struct { // Previous list of active usernames OldUsernames []string // New list of active usernames NewUsernames []string } // ChatEventActiveUsernamesChangedTypeID is TL type id of ChatEventActiveUsernamesChanged. const ChatEventActiveUsernamesChangedTypeID = 0x95e54656 // construct implements constructor of ChatEventActionClass. func (c ChatEventActiveUsernamesChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventActiveUsernamesChanged. var ( _ bin.Encoder = &ChatEventActiveUsernamesChanged{} _ bin.Decoder = &ChatEventActiveUsernamesChanged{} _ bin.BareEncoder = &ChatEventActiveUsernamesChanged{} _ bin.BareDecoder = &ChatEventActiveUsernamesChanged{} _ ChatEventActionClass = &ChatEventActiveUsernamesChanged{} ) func (c *ChatEventActiveUsernamesChanged) Zero() bool { if c == nil { return true } if !(c.OldUsernames == nil) { return false } if !(c.NewUsernames == nil) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventActiveUsernamesChanged) String() string { if c == nil { return "ChatEventActiveUsernamesChanged(nil)" } type Alias ChatEventActiveUsernamesChanged return fmt.Sprintf("ChatEventActiveUsernamesChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventActiveUsernamesChanged) TypeID() uint32 { return ChatEventActiveUsernamesChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventActiveUsernamesChanged) TypeName() string { return "chatEventActiveUsernamesChanged" } // TypeInfo returns info about TL type. func (c *ChatEventActiveUsernamesChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventActiveUsernamesChanged", ID: ChatEventActiveUsernamesChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldUsernames", SchemaName: "old_usernames", }, { Name: "NewUsernames", SchemaName: "new_usernames", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventActiveUsernamesChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventActiveUsernamesChanged#95e54656 as nil") } b.PutID(ChatEventActiveUsernamesChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventActiveUsernamesChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventActiveUsernamesChanged#95e54656 as nil") } b.PutInt(len(c.OldUsernames)) for _, v := range c.OldUsernames { b.PutString(v) } b.PutInt(len(c.NewUsernames)) for _, v := range c.NewUsernames { b.PutString(v) } return nil } // Decode implements bin.Decoder. func (c *ChatEventActiveUsernamesChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventActiveUsernamesChanged#95e54656 to nil") } if err := b.ConsumeID(ChatEventActiveUsernamesChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventActiveUsernamesChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventActiveUsernamesChanged#95e54656 to nil") } { headerLen, err := b.Int() if err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: field old_usernames: %w", err) } if headerLen > 0 { c.OldUsernames = make([]string, 0, headerLen%bin.PreallocateLimit) } for idx := 0; idx < headerLen; idx++ { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: field old_usernames: %w", err) } c.OldUsernames = append(c.OldUsernames, value) } } { headerLen, err := b.Int() if err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: field new_usernames: %w", err) } if headerLen > 0 { c.NewUsernames = make([]string, 0, headerLen%bin.PreallocateLimit) } for idx := 0; idx < headerLen; idx++ { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: field new_usernames: %w", err) } c.NewUsernames = append(c.NewUsernames, value) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventActiveUsernamesChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventActiveUsernamesChanged#95e54656 as nil") } b.ObjStart() b.PutID("chatEventActiveUsernamesChanged") b.Comma() b.FieldStart("old_usernames") b.ArrStart() for _, v := range c.OldUsernames { b.PutString(v) b.Comma() } b.StripComma() b.ArrEnd() b.Comma() b.FieldStart("new_usernames") b.ArrStart() for _, v := range c.NewUsernames { b.PutString(v) b.Comma() } b.StripComma() b.ArrEnd() b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventActiveUsernamesChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventActiveUsernamesChanged#95e54656 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventActiveUsernamesChanged"); err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: %w", err) } case "old_usernames": if err := b.Arr(func(b tdjson.Decoder) error { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: field old_usernames: %w", err) } c.OldUsernames = append(c.OldUsernames, value) return nil }); err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: field old_usernames: %w", err) } case "new_usernames": if err := b.Arr(func(b tdjson.Decoder) error { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: field new_usernames: %w", err) } c.NewUsernames = append(c.NewUsernames, value) return nil }); err != nil { return fmt.Errorf("unable to decode chatEventActiveUsernamesChanged#95e54656: field new_usernames: %w", err) } default: return b.Skip() } return nil }) } // GetOldUsernames returns value of OldUsernames field. func (c *ChatEventActiveUsernamesChanged) GetOldUsernames() (value []string) { if c == nil { return } return c.OldUsernames } // GetNewUsernames returns value of NewUsernames field. func (c *ChatEventActiveUsernamesChanged) GetNewUsernames() (value []string) { if c == nil { return } return c.NewUsernames } // ChatEventAccentColorChanged represents TL type `chatEventAccentColorChanged#e6837733`. type ChatEventAccentColorChanged struct { // Previous identifier of chat accent color OldAccentColorID int32 // Previous identifier of the custom emoji; 0 if none OldBackgroundCustomEmojiID int64 // New identifier of chat accent color NewAccentColorID int32 // New identifier of the custom emoji; 0 if none NewBackgroundCustomEmojiID int64 } // ChatEventAccentColorChangedTypeID is TL type id of ChatEventAccentColorChanged. const ChatEventAccentColorChangedTypeID = 0xe6837733 // construct implements constructor of ChatEventActionClass. func (c ChatEventAccentColorChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventAccentColorChanged. var ( _ bin.Encoder = &ChatEventAccentColorChanged{} _ bin.Decoder = &ChatEventAccentColorChanged{} _ bin.BareEncoder = &ChatEventAccentColorChanged{} _ bin.BareDecoder = &ChatEventAccentColorChanged{} _ ChatEventActionClass = &ChatEventAccentColorChanged{} ) func (c *ChatEventAccentColorChanged) Zero() bool { if c == nil { return true } if !(c.OldAccentColorID == 0) { return false } if !(c.OldBackgroundCustomEmojiID == 0) { return false } if !(c.NewAccentColorID == 0) { return false } if !(c.NewBackgroundCustomEmojiID == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventAccentColorChanged) String() string { if c == nil { return "ChatEventAccentColorChanged(nil)" } type Alias ChatEventAccentColorChanged return fmt.Sprintf("ChatEventAccentColorChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventAccentColorChanged) TypeID() uint32 { return ChatEventAccentColorChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventAccentColorChanged) TypeName() string { return "chatEventAccentColorChanged" } // TypeInfo returns info about TL type. func (c *ChatEventAccentColorChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventAccentColorChanged", ID: ChatEventAccentColorChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldAccentColorID", SchemaName: "old_accent_color_id", }, { Name: "OldBackgroundCustomEmojiID", SchemaName: "old_background_custom_emoji_id", }, { Name: "NewAccentColorID", SchemaName: "new_accent_color_id", }, { Name: "NewBackgroundCustomEmojiID", SchemaName: "new_background_custom_emoji_id", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventAccentColorChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventAccentColorChanged#e6837733 as nil") } b.PutID(ChatEventAccentColorChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventAccentColorChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventAccentColorChanged#e6837733 as nil") } b.PutInt32(c.OldAccentColorID) b.PutLong(c.OldBackgroundCustomEmojiID) b.PutInt32(c.NewAccentColorID) b.PutLong(c.NewBackgroundCustomEmojiID) return nil } // Decode implements bin.Decoder. func (c *ChatEventAccentColorChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventAccentColorChanged#e6837733 to nil") } if err := b.ConsumeID(ChatEventAccentColorChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventAccentColorChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventAccentColorChanged#e6837733 to nil") } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: field old_accent_color_id: %w", err) } c.OldAccentColorID = value } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: field old_background_custom_emoji_id: %w", err) } c.OldBackgroundCustomEmojiID = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: field new_accent_color_id: %w", err) } c.NewAccentColorID = value } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: field new_background_custom_emoji_id: %w", err) } c.NewBackgroundCustomEmojiID = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventAccentColorChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventAccentColorChanged#e6837733 as nil") } b.ObjStart() b.PutID("chatEventAccentColorChanged") b.Comma() b.FieldStart("old_accent_color_id") b.PutInt32(c.OldAccentColorID) b.Comma() b.FieldStart("old_background_custom_emoji_id") b.PutLong(c.OldBackgroundCustomEmojiID) b.Comma() b.FieldStart("new_accent_color_id") b.PutInt32(c.NewAccentColorID) b.Comma() b.FieldStart("new_background_custom_emoji_id") b.PutLong(c.NewBackgroundCustomEmojiID) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventAccentColorChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventAccentColorChanged#e6837733 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventAccentColorChanged"); err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: %w", err) } case "old_accent_color_id": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: field old_accent_color_id: %w", err) } c.OldAccentColorID = value case "old_background_custom_emoji_id": value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: field old_background_custom_emoji_id: %w", err) } c.OldBackgroundCustomEmojiID = value case "new_accent_color_id": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: field new_accent_color_id: %w", err) } c.NewAccentColorID = value case "new_background_custom_emoji_id": value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventAccentColorChanged#e6837733: field new_background_custom_emoji_id: %w", err) } c.NewBackgroundCustomEmojiID = value default: return b.Skip() } return nil }) } // GetOldAccentColorID returns value of OldAccentColorID field. func (c *ChatEventAccentColorChanged) GetOldAccentColorID() (value int32) { if c == nil { return } return c.OldAccentColorID } // GetOldBackgroundCustomEmojiID returns value of OldBackgroundCustomEmojiID field. func (c *ChatEventAccentColorChanged) GetOldBackgroundCustomEmojiID() (value int64) { if c == nil { return } return c.OldBackgroundCustomEmojiID } // GetNewAccentColorID returns value of NewAccentColorID field. func (c *ChatEventAccentColorChanged) GetNewAccentColorID() (value int32) { if c == nil { return } return c.NewAccentColorID } // GetNewBackgroundCustomEmojiID returns value of NewBackgroundCustomEmojiID field. func (c *ChatEventAccentColorChanged) GetNewBackgroundCustomEmojiID() (value int64) { if c == nil { return } return c.NewBackgroundCustomEmojiID } // ChatEventProfileAccentColorChanged represents TL type `chatEventProfileAccentColorChanged#a5b8da64`. type ChatEventProfileAccentColorChanged struct { // Previous identifier of chat's profile accent color; -1 if none OldProfileAccentColorID int32 // Previous identifier of the custom emoji; 0 if none OldProfileBackgroundCustomEmojiID int64 // New identifier of chat's profile accent color; -1 if none NewProfileAccentColorID int32 // New identifier of the custom emoji; 0 if none NewProfileBackgroundCustomEmojiID int64 } // ChatEventProfileAccentColorChangedTypeID is TL type id of ChatEventProfileAccentColorChanged. const ChatEventProfileAccentColorChangedTypeID = 0xa5b8da64 // construct implements constructor of ChatEventActionClass. func (c ChatEventProfileAccentColorChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventProfileAccentColorChanged. var ( _ bin.Encoder = &ChatEventProfileAccentColorChanged{} _ bin.Decoder = &ChatEventProfileAccentColorChanged{} _ bin.BareEncoder = &ChatEventProfileAccentColorChanged{} _ bin.BareDecoder = &ChatEventProfileAccentColorChanged{} _ ChatEventActionClass = &ChatEventProfileAccentColorChanged{} ) func (c *ChatEventProfileAccentColorChanged) Zero() bool { if c == nil { return true } if !(c.OldProfileAccentColorID == 0) { return false } if !(c.OldProfileBackgroundCustomEmojiID == 0) { return false } if !(c.NewProfileAccentColorID == 0) { return false } if !(c.NewProfileBackgroundCustomEmojiID == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventProfileAccentColorChanged) String() string { if c == nil { return "ChatEventProfileAccentColorChanged(nil)" } type Alias ChatEventProfileAccentColorChanged return fmt.Sprintf("ChatEventProfileAccentColorChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventProfileAccentColorChanged) TypeID() uint32 { return ChatEventProfileAccentColorChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventProfileAccentColorChanged) TypeName() string { return "chatEventProfileAccentColorChanged" } // TypeInfo returns info about TL type. func (c *ChatEventProfileAccentColorChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventProfileAccentColorChanged", ID: ChatEventProfileAccentColorChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldProfileAccentColorID", SchemaName: "old_profile_accent_color_id", }, { Name: "OldProfileBackgroundCustomEmojiID", SchemaName: "old_profile_background_custom_emoji_id", }, { Name: "NewProfileAccentColorID", SchemaName: "new_profile_accent_color_id", }, { Name: "NewProfileBackgroundCustomEmojiID", SchemaName: "new_profile_background_custom_emoji_id", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventProfileAccentColorChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventProfileAccentColorChanged#a5b8da64 as nil") } b.PutID(ChatEventProfileAccentColorChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventProfileAccentColorChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventProfileAccentColorChanged#a5b8da64 as nil") } b.PutInt32(c.OldProfileAccentColorID) b.PutLong(c.OldProfileBackgroundCustomEmojiID) b.PutInt32(c.NewProfileAccentColorID) b.PutLong(c.NewProfileBackgroundCustomEmojiID) return nil } // Decode implements bin.Decoder. func (c *ChatEventProfileAccentColorChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventProfileAccentColorChanged#a5b8da64 to nil") } if err := b.ConsumeID(ChatEventProfileAccentColorChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventProfileAccentColorChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventProfileAccentColorChanged#a5b8da64 to nil") } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: field old_profile_accent_color_id: %w", err) } c.OldProfileAccentColorID = value } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: field old_profile_background_custom_emoji_id: %w", err) } c.OldProfileBackgroundCustomEmojiID = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: field new_profile_accent_color_id: %w", err) } c.NewProfileAccentColorID = value } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: field new_profile_background_custom_emoji_id: %w", err) } c.NewProfileBackgroundCustomEmojiID = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventProfileAccentColorChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventProfileAccentColorChanged#a5b8da64 as nil") } b.ObjStart() b.PutID("chatEventProfileAccentColorChanged") b.Comma() b.FieldStart("old_profile_accent_color_id") b.PutInt32(c.OldProfileAccentColorID) b.Comma() b.FieldStart("old_profile_background_custom_emoji_id") b.PutLong(c.OldProfileBackgroundCustomEmojiID) b.Comma() b.FieldStart("new_profile_accent_color_id") b.PutInt32(c.NewProfileAccentColorID) b.Comma() b.FieldStart("new_profile_background_custom_emoji_id") b.PutLong(c.NewProfileBackgroundCustomEmojiID) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventProfileAccentColorChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventProfileAccentColorChanged#a5b8da64 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventProfileAccentColorChanged"); err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: %w", err) } case "old_profile_accent_color_id": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: field old_profile_accent_color_id: %w", err) } c.OldProfileAccentColorID = value case "old_profile_background_custom_emoji_id": value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: field old_profile_background_custom_emoji_id: %w", err) } c.OldProfileBackgroundCustomEmojiID = value case "new_profile_accent_color_id": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: field new_profile_accent_color_id: %w", err) } c.NewProfileAccentColorID = value case "new_profile_background_custom_emoji_id": value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode chatEventProfileAccentColorChanged#a5b8da64: field new_profile_background_custom_emoji_id: %w", err) } c.NewProfileBackgroundCustomEmojiID = value default: return b.Skip() } return nil }) } // GetOldProfileAccentColorID returns value of OldProfileAccentColorID field. func (c *ChatEventProfileAccentColorChanged) GetOldProfileAccentColorID() (value int32) { if c == nil { return } return c.OldProfileAccentColorID } // GetOldProfileBackgroundCustomEmojiID returns value of OldProfileBackgroundCustomEmojiID field. func (c *ChatEventProfileAccentColorChanged) GetOldProfileBackgroundCustomEmojiID() (value int64) { if c == nil { return } return c.OldProfileBackgroundCustomEmojiID } // GetNewProfileAccentColorID returns value of NewProfileAccentColorID field. func (c *ChatEventProfileAccentColorChanged) GetNewProfileAccentColorID() (value int32) { if c == nil { return } return c.NewProfileAccentColorID } // GetNewProfileBackgroundCustomEmojiID returns value of NewProfileBackgroundCustomEmojiID field. func (c *ChatEventProfileAccentColorChanged) GetNewProfileBackgroundCustomEmojiID() (value int64) { if c == nil { return } return c.NewProfileBackgroundCustomEmojiID } // ChatEventHasProtectedContentToggled represents TL type `chatEventHasProtectedContentToggled#f5044201`. type ChatEventHasProtectedContentToggled struct { // New value of has_protected_content HasProtectedContent bool } // ChatEventHasProtectedContentToggledTypeID is TL type id of ChatEventHasProtectedContentToggled. const ChatEventHasProtectedContentToggledTypeID = 0xf5044201 // construct implements constructor of ChatEventActionClass. func (c ChatEventHasProtectedContentToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventHasProtectedContentToggled. var ( _ bin.Encoder = &ChatEventHasProtectedContentToggled{} _ bin.Decoder = &ChatEventHasProtectedContentToggled{} _ bin.BareEncoder = &ChatEventHasProtectedContentToggled{} _ bin.BareDecoder = &ChatEventHasProtectedContentToggled{} _ ChatEventActionClass = &ChatEventHasProtectedContentToggled{} ) func (c *ChatEventHasProtectedContentToggled) Zero() bool { if c == nil { return true } if !(c.HasProtectedContent == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventHasProtectedContentToggled) String() string { if c == nil { return "ChatEventHasProtectedContentToggled(nil)" } type Alias ChatEventHasProtectedContentToggled return fmt.Sprintf("ChatEventHasProtectedContentToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventHasProtectedContentToggled) TypeID() uint32 { return ChatEventHasProtectedContentToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventHasProtectedContentToggled) TypeName() string { return "chatEventHasProtectedContentToggled" } // TypeInfo returns info about TL type. func (c *ChatEventHasProtectedContentToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventHasProtectedContentToggled", ID: ChatEventHasProtectedContentToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "HasProtectedContent", SchemaName: "has_protected_content", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventHasProtectedContentToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventHasProtectedContentToggled#f5044201 as nil") } b.PutID(ChatEventHasProtectedContentToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventHasProtectedContentToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventHasProtectedContentToggled#f5044201 as nil") } b.PutBool(c.HasProtectedContent) return nil } // Decode implements bin.Decoder. func (c *ChatEventHasProtectedContentToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventHasProtectedContentToggled#f5044201 to nil") } if err := b.ConsumeID(ChatEventHasProtectedContentToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventHasProtectedContentToggled#f5044201: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventHasProtectedContentToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventHasProtectedContentToggled#f5044201 to nil") } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventHasProtectedContentToggled#f5044201: field has_protected_content: %w", err) } c.HasProtectedContent = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventHasProtectedContentToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventHasProtectedContentToggled#f5044201 as nil") } b.ObjStart() b.PutID("chatEventHasProtectedContentToggled") b.Comma() b.FieldStart("has_protected_content") b.PutBool(c.HasProtectedContent) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventHasProtectedContentToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventHasProtectedContentToggled#f5044201 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventHasProtectedContentToggled"); err != nil { return fmt.Errorf("unable to decode chatEventHasProtectedContentToggled#f5044201: %w", err) } case "has_protected_content": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventHasProtectedContentToggled#f5044201: field has_protected_content: %w", err) } c.HasProtectedContent = value default: return b.Skip() } return nil }) } // GetHasProtectedContent returns value of HasProtectedContent field. func (c *ChatEventHasProtectedContentToggled) GetHasProtectedContent() (value bool) { if c == nil { return } return c.HasProtectedContent } // ChatEventInvitesToggled represents TL type `chatEventInvitesToggled#fc45966b`. type ChatEventInvitesToggled struct { // New value of can_invite_users permission CanInviteUsers bool } // ChatEventInvitesToggledTypeID is TL type id of ChatEventInvitesToggled. const ChatEventInvitesToggledTypeID = 0xfc45966b // construct implements constructor of ChatEventActionClass. func (c ChatEventInvitesToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventInvitesToggled. var ( _ bin.Encoder = &ChatEventInvitesToggled{} _ bin.Decoder = &ChatEventInvitesToggled{} _ bin.BareEncoder = &ChatEventInvitesToggled{} _ bin.BareDecoder = &ChatEventInvitesToggled{} _ ChatEventActionClass = &ChatEventInvitesToggled{} ) func (c *ChatEventInvitesToggled) Zero() bool { if c == nil { return true } if !(c.CanInviteUsers == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventInvitesToggled) String() string { if c == nil { return "ChatEventInvitesToggled(nil)" } type Alias ChatEventInvitesToggled return fmt.Sprintf("ChatEventInvitesToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventInvitesToggled) TypeID() uint32 { return ChatEventInvitesToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventInvitesToggled) TypeName() string { return "chatEventInvitesToggled" } // TypeInfo returns info about TL type. func (c *ChatEventInvitesToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventInvitesToggled", ID: ChatEventInvitesToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "CanInviteUsers", SchemaName: "can_invite_users", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventInvitesToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventInvitesToggled#fc45966b as nil") } b.PutID(ChatEventInvitesToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventInvitesToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventInvitesToggled#fc45966b as nil") } b.PutBool(c.CanInviteUsers) return nil } // Decode implements bin.Decoder. func (c *ChatEventInvitesToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventInvitesToggled#fc45966b to nil") } if err := b.ConsumeID(ChatEventInvitesToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventInvitesToggled#fc45966b: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventInvitesToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventInvitesToggled#fc45966b to nil") } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventInvitesToggled#fc45966b: field can_invite_users: %w", err) } c.CanInviteUsers = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventInvitesToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventInvitesToggled#fc45966b as nil") } b.ObjStart() b.PutID("chatEventInvitesToggled") b.Comma() b.FieldStart("can_invite_users") b.PutBool(c.CanInviteUsers) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventInvitesToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventInvitesToggled#fc45966b to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventInvitesToggled"); err != nil { return fmt.Errorf("unable to decode chatEventInvitesToggled#fc45966b: %w", err) } case "can_invite_users": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventInvitesToggled#fc45966b: field can_invite_users: %w", err) } c.CanInviteUsers = value default: return b.Skip() } return nil }) } // GetCanInviteUsers returns value of CanInviteUsers field. func (c *ChatEventInvitesToggled) GetCanInviteUsers() (value bool) { if c == nil { return } return c.CanInviteUsers } // ChatEventIsAllHistoryAvailableToggled represents TL type `chatEventIsAllHistoryAvailableToggled#a0b03c15`. type ChatEventIsAllHistoryAvailableToggled struct { // New value of is_all_history_available IsAllHistoryAvailable bool } // ChatEventIsAllHistoryAvailableToggledTypeID is TL type id of ChatEventIsAllHistoryAvailableToggled. const ChatEventIsAllHistoryAvailableToggledTypeID = 0xa0b03c15 // construct implements constructor of ChatEventActionClass. func (c ChatEventIsAllHistoryAvailableToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventIsAllHistoryAvailableToggled. var ( _ bin.Encoder = &ChatEventIsAllHistoryAvailableToggled{} _ bin.Decoder = &ChatEventIsAllHistoryAvailableToggled{} _ bin.BareEncoder = &ChatEventIsAllHistoryAvailableToggled{} _ bin.BareDecoder = &ChatEventIsAllHistoryAvailableToggled{} _ ChatEventActionClass = &ChatEventIsAllHistoryAvailableToggled{} ) func (c *ChatEventIsAllHistoryAvailableToggled) Zero() bool { if c == nil { return true } if !(c.IsAllHistoryAvailable == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventIsAllHistoryAvailableToggled) String() string { if c == nil { return "ChatEventIsAllHistoryAvailableToggled(nil)" } type Alias ChatEventIsAllHistoryAvailableToggled return fmt.Sprintf("ChatEventIsAllHistoryAvailableToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventIsAllHistoryAvailableToggled) TypeID() uint32 { return ChatEventIsAllHistoryAvailableToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventIsAllHistoryAvailableToggled) TypeName() string { return "chatEventIsAllHistoryAvailableToggled" } // TypeInfo returns info about TL type. func (c *ChatEventIsAllHistoryAvailableToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventIsAllHistoryAvailableToggled", ID: ChatEventIsAllHistoryAvailableToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "IsAllHistoryAvailable", SchemaName: "is_all_history_available", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventIsAllHistoryAvailableToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventIsAllHistoryAvailableToggled#a0b03c15 as nil") } b.PutID(ChatEventIsAllHistoryAvailableToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventIsAllHistoryAvailableToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventIsAllHistoryAvailableToggled#a0b03c15 as nil") } b.PutBool(c.IsAllHistoryAvailable) return nil } // Decode implements bin.Decoder. func (c *ChatEventIsAllHistoryAvailableToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventIsAllHistoryAvailableToggled#a0b03c15 to nil") } if err := b.ConsumeID(ChatEventIsAllHistoryAvailableToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventIsAllHistoryAvailableToggled#a0b03c15: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventIsAllHistoryAvailableToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventIsAllHistoryAvailableToggled#a0b03c15 to nil") } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventIsAllHistoryAvailableToggled#a0b03c15: field is_all_history_available: %w", err) } c.IsAllHistoryAvailable = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventIsAllHistoryAvailableToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventIsAllHistoryAvailableToggled#a0b03c15 as nil") } b.ObjStart() b.PutID("chatEventIsAllHistoryAvailableToggled") b.Comma() b.FieldStart("is_all_history_available") b.PutBool(c.IsAllHistoryAvailable) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventIsAllHistoryAvailableToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventIsAllHistoryAvailableToggled#a0b03c15 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventIsAllHistoryAvailableToggled"); err != nil { return fmt.Errorf("unable to decode chatEventIsAllHistoryAvailableToggled#a0b03c15: %w", err) } case "is_all_history_available": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventIsAllHistoryAvailableToggled#a0b03c15: field is_all_history_available: %w", err) } c.IsAllHistoryAvailable = value default: return b.Skip() } return nil }) } // GetIsAllHistoryAvailable returns value of IsAllHistoryAvailable field. func (c *ChatEventIsAllHistoryAvailableToggled) GetIsAllHistoryAvailable() (value bool) { if c == nil { return } return c.IsAllHistoryAvailable } // ChatEventHasAggressiveAntiSpamEnabledToggled represents TL type `chatEventHasAggressiveAntiSpamEnabledToggled#f8875702`. type ChatEventHasAggressiveAntiSpamEnabledToggled struct { // New value of has_aggressive_anti_spam_enabled HasAggressiveAntiSpamEnabled bool } // ChatEventHasAggressiveAntiSpamEnabledToggledTypeID is TL type id of ChatEventHasAggressiveAntiSpamEnabledToggled. const ChatEventHasAggressiveAntiSpamEnabledToggledTypeID = 0xf8875702 // construct implements constructor of ChatEventActionClass. func (c ChatEventHasAggressiveAntiSpamEnabledToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventHasAggressiveAntiSpamEnabledToggled. var ( _ bin.Encoder = &ChatEventHasAggressiveAntiSpamEnabledToggled{} _ bin.Decoder = &ChatEventHasAggressiveAntiSpamEnabledToggled{} _ bin.BareEncoder = &ChatEventHasAggressiveAntiSpamEnabledToggled{} _ bin.BareDecoder = &ChatEventHasAggressiveAntiSpamEnabledToggled{} _ ChatEventActionClass = &ChatEventHasAggressiveAntiSpamEnabledToggled{} ) func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) Zero() bool { if c == nil { return true } if !(c.HasAggressiveAntiSpamEnabled == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) String() string { if c == nil { return "ChatEventHasAggressiveAntiSpamEnabledToggled(nil)" } type Alias ChatEventHasAggressiveAntiSpamEnabledToggled return fmt.Sprintf("ChatEventHasAggressiveAntiSpamEnabledToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventHasAggressiveAntiSpamEnabledToggled) TypeID() uint32 { return ChatEventHasAggressiveAntiSpamEnabledToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventHasAggressiveAntiSpamEnabledToggled) TypeName() string { return "chatEventHasAggressiveAntiSpamEnabledToggled" } // TypeInfo returns info about TL type. func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventHasAggressiveAntiSpamEnabledToggled", ID: ChatEventHasAggressiveAntiSpamEnabledToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "HasAggressiveAntiSpamEnabled", SchemaName: "has_aggressive_anti_spam_enabled", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702 as nil") } b.PutID(ChatEventHasAggressiveAntiSpamEnabledToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702 as nil") } b.PutBool(c.HasAggressiveAntiSpamEnabled) return nil } // Decode implements bin.Decoder. func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702 to nil") } if err := b.ConsumeID(ChatEventHasAggressiveAntiSpamEnabledToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702 to nil") } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702: field has_aggressive_anti_spam_enabled: %w", err) } c.HasAggressiveAntiSpamEnabled = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702 as nil") } b.ObjStart() b.PutID("chatEventHasAggressiveAntiSpamEnabledToggled") b.Comma() b.FieldStart("has_aggressive_anti_spam_enabled") b.PutBool(c.HasAggressiveAntiSpamEnabled) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventHasAggressiveAntiSpamEnabledToggled"); err != nil { return fmt.Errorf("unable to decode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702: %w", err) } case "has_aggressive_anti_spam_enabled": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventHasAggressiveAntiSpamEnabledToggled#f8875702: field has_aggressive_anti_spam_enabled: %w", err) } c.HasAggressiveAntiSpamEnabled = value default: return b.Skip() } return nil }) } // GetHasAggressiveAntiSpamEnabled returns value of HasAggressiveAntiSpamEnabled field. func (c *ChatEventHasAggressiveAntiSpamEnabledToggled) GetHasAggressiveAntiSpamEnabled() (value bool) { if c == nil { return } return c.HasAggressiveAntiSpamEnabled } // ChatEventSignMessagesToggled represents TL type `chatEventSignMessagesToggled#b1b9281e`. type ChatEventSignMessagesToggled struct { // New value of sign_messages SignMessages bool } // ChatEventSignMessagesToggledTypeID is TL type id of ChatEventSignMessagesToggled. const ChatEventSignMessagesToggledTypeID = 0xb1b9281e // construct implements constructor of ChatEventActionClass. func (c ChatEventSignMessagesToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventSignMessagesToggled. var ( _ bin.Encoder = &ChatEventSignMessagesToggled{} _ bin.Decoder = &ChatEventSignMessagesToggled{} _ bin.BareEncoder = &ChatEventSignMessagesToggled{} _ bin.BareDecoder = &ChatEventSignMessagesToggled{} _ ChatEventActionClass = &ChatEventSignMessagesToggled{} ) func (c *ChatEventSignMessagesToggled) Zero() bool { if c == nil { return true } if !(c.SignMessages == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventSignMessagesToggled) String() string { if c == nil { return "ChatEventSignMessagesToggled(nil)" } type Alias ChatEventSignMessagesToggled return fmt.Sprintf("ChatEventSignMessagesToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventSignMessagesToggled) TypeID() uint32 { return ChatEventSignMessagesToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventSignMessagesToggled) TypeName() string { return "chatEventSignMessagesToggled" } // TypeInfo returns info about TL type. func (c *ChatEventSignMessagesToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventSignMessagesToggled", ID: ChatEventSignMessagesToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "SignMessages", SchemaName: "sign_messages", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventSignMessagesToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventSignMessagesToggled#b1b9281e as nil") } b.PutID(ChatEventSignMessagesToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventSignMessagesToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventSignMessagesToggled#b1b9281e as nil") } b.PutBool(c.SignMessages) return nil } // Decode implements bin.Decoder. func (c *ChatEventSignMessagesToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventSignMessagesToggled#b1b9281e to nil") } if err := b.ConsumeID(ChatEventSignMessagesToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventSignMessagesToggled#b1b9281e: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventSignMessagesToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventSignMessagesToggled#b1b9281e to nil") } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventSignMessagesToggled#b1b9281e: field sign_messages: %w", err) } c.SignMessages = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventSignMessagesToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventSignMessagesToggled#b1b9281e as nil") } b.ObjStart() b.PutID("chatEventSignMessagesToggled") b.Comma() b.FieldStart("sign_messages") b.PutBool(c.SignMessages) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventSignMessagesToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventSignMessagesToggled#b1b9281e to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventSignMessagesToggled"); err != nil { return fmt.Errorf("unable to decode chatEventSignMessagesToggled#b1b9281e: %w", err) } case "sign_messages": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventSignMessagesToggled#b1b9281e: field sign_messages: %w", err) } c.SignMessages = value default: return b.Skip() } return nil }) } // GetSignMessages returns value of SignMessages field. func (c *ChatEventSignMessagesToggled) GetSignMessages() (value bool) { if c == nil { return } return c.SignMessages } // ChatEventShowMessageSenderToggled represents TL type `chatEventShowMessageSenderToggled#d0a747e3`. type ChatEventShowMessageSenderToggled struct { // New value of show_message_sender ShowMessageSender bool } // ChatEventShowMessageSenderToggledTypeID is TL type id of ChatEventShowMessageSenderToggled. const ChatEventShowMessageSenderToggledTypeID = 0xd0a747e3 // construct implements constructor of ChatEventActionClass. func (c ChatEventShowMessageSenderToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventShowMessageSenderToggled. var ( _ bin.Encoder = &ChatEventShowMessageSenderToggled{} _ bin.Decoder = &ChatEventShowMessageSenderToggled{} _ bin.BareEncoder = &ChatEventShowMessageSenderToggled{} _ bin.BareDecoder = &ChatEventShowMessageSenderToggled{} _ ChatEventActionClass = &ChatEventShowMessageSenderToggled{} ) func (c *ChatEventShowMessageSenderToggled) Zero() bool { if c == nil { return true } if !(c.ShowMessageSender == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventShowMessageSenderToggled) String() string { if c == nil { return "ChatEventShowMessageSenderToggled(nil)" } type Alias ChatEventShowMessageSenderToggled return fmt.Sprintf("ChatEventShowMessageSenderToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventShowMessageSenderToggled) TypeID() uint32 { return ChatEventShowMessageSenderToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventShowMessageSenderToggled) TypeName() string { return "chatEventShowMessageSenderToggled" } // TypeInfo returns info about TL type. func (c *ChatEventShowMessageSenderToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventShowMessageSenderToggled", ID: ChatEventShowMessageSenderToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ShowMessageSender", SchemaName: "show_message_sender", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventShowMessageSenderToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventShowMessageSenderToggled#d0a747e3 as nil") } b.PutID(ChatEventShowMessageSenderToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventShowMessageSenderToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventShowMessageSenderToggled#d0a747e3 as nil") } b.PutBool(c.ShowMessageSender) return nil } // Decode implements bin.Decoder. func (c *ChatEventShowMessageSenderToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventShowMessageSenderToggled#d0a747e3 to nil") } if err := b.ConsumeID(ChatEventShowMessageSenderToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventShowMessageSenderToggled#d0a747e3: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventShowMessageSenderToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventShowMessageSenderToggled#d0a747e3 to nil") } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventShowMessageSenderToggled#d0a747e3: field show_message_sender: %w", err) } c.ShowMessageSender = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventShowMessageSenderToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventShowMessageSenderToggled#d0a747e3 as nil") } b.ObjStart() b.PutID("chatEventShowMessageSenderToggled") b.Comma() b.FieldStart("show_message_sender") b.PutBool(c.ShowMessageSender) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventShowMessageSenderToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventShowMessageSenderToggled#d0a747e3 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventShowMessageSenderToggled"); err != nil { return fmt.Errorf("unable to decode chatEventShowMessageSenderToggled#d0a747e3: %w", err) } case "show_message_sender": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventShowMessageSenderToggled#d0a747e3: field show_message_sender: %w", err) } c.ShowMessageSender = value default: return b.Skip() } return nil }) } // GetShowMessageSender returns value of ShowMessageSender field. func (c *ChatEventShowMessageSenderToggled) GetShowMessageSender() (value bool) { if c == nil { return } return c.ShowMessageSender } // ChatEventAutomaticTranslationToggled represents TL type `chatEventAutomaticTranslationToggled#b927656`. type ChatEventAutomaticTranslationToggled struct { // New value of has_automatic_translation HasAutomaticTranslation bool } // ChatEventAutomaticTranslationToggledTypeID is TL type id of ChatEventAutomaticTranslationToggled. const ChatEventAutomaticTranslationToggledTypeID = 0xb927656 // construct implements constructor of ChatEventActionClass. func (c ChatEventAutomaticTranslationToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventAutomaticTranslationToggled. var ( _ bin.Encoder = &ChatEventAutomaticTranslationToggled{} _ bin.Decoder = &ChatEventAutomaticTranslationToggled{} _ bin.BareEncoder = &ChatEventAutomaticTranslationToggled{} _ bin.BareDecoder = &ChatEventAutomaticTranslationToggled{} _ ChatEventActionClass = &ChatEventAutomaticTranslationToggled{} ) func (c *ChatEventAutomaticTranslationToggled) Zero() bool { if c == nil { return true } if !(c.HasAutomaticTranslation == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventAutomaticTranslationToggled) String() string { if c == nil { return "ChatEventAutomaticTranslationToggled(nil)" } type Alias ChatEventAutomaticTranslationToggled return fmt.Sprintf("ChatEventAutomaticTranslationToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventAutomaticTranslationToggled) TypeID() uint32 { return ChatEventAutomaticTranslationToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventAutomaticTranslationToggled) TypeName() string { return "chatEventAutomaticTranslationToggled" } // TypeInfo returns info about TL type. func (c *ChatEventAutomaticTranslationToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventAutomaticTranslationToggled", ID: ChatEventAutomaticTranslationToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "HasAutomaticTranslation", SchemaName: "has_automatic_translation", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventAutomaticTranslationToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventAutomaticTranslationToggled#b927656 as nil") } b.PutID(ChatEventAutomaticTranslationToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventAutomaticTranslationToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventAutomaticTranslationToggled#b927656 as nil") } b.PutBool(c.HasAutomaticTranslation) return nil } // Decode implements bin.Decoder. func (c *ChatEventAutomaticTranslationToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventAutomaticTranslationToggled#b927656 to nil") } if err := b.ConsumeID(ChatEventAutomaticTranslationToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventAutomaticTranslationToggled#b927656: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventAutomaticTranslationToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventAutomaticTranslationToggled#b927656 to nil") } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventAutomaticTranslationToggled#b927656: field has_automatic_translation: %w", err) } c.HasAutomaticTranslation = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventAutomaticTranslationToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventAutomaticTranslationToggled#b927656 as nil") } b.ObjStart() b.PutID("chatEventAutomaticTranslationToggled") b.Comma() b.FieldStart("has_automatic_translation") b.PutBool(c.HasAutomaticTranslation) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventAutomaticTranslationToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventAutomaticTranslationToggled#b927656 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventAutomaticTranslationToggled"); err != nil { return fmt.Errorf("unable to decode chatEventAutomaticTranslationToggled#b927656: %w", err) } case "has_automatic_translation": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventAutomaticTranslationToggled#b927656: field has_automatic_translation: %w", err) } c.HasAutomaticTranslation = value default: return b.Skip() } return nil }) } // GetHasAutomaticTranslation returns value of HasAutomaticTranslation field. func (c *ChatEventAutomaticTranslationToggled) GetHasAutomaticTranslation() (value bool) { if c == nil { return } return c.HasAutomaticTranslation } // ChatEventInviteLinkEdited represents TL type `chatEventInviteLinkEdited#e4920d62`. type ChatEventInviteLinkEdited struct { // Previous information about the invite link OldInviteLink ChatInviteLink // New information about the invite link NewInviteLink ChatInviteLink } // ChatEventInviteLinkEditedTypeID is TL type id of ChatEventInviteLinkEdited. const ChatEventInviteLinkEditedTypeID = 0xe4920d62 // construct implements constructor of ChatEventActionClass. func (c ChatEventInviteLinkEdited) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventInviteLinkEdited. var ( _ bin.Encoder = &ChatEventInviteLinkEdited{} _ bin.Decoder = &ChatEventInviteLinkEdited{} _ bin.BareEncoder = &ChatEventInviteLinkEdited{} _ bin.BareDecoder = &ChatEventInviteLinkEdited{} _ ChatEventActionClass = &ChatEventInviteLinkEdited{} ) func (c *ChatEventInviteLinkEdited) Zero() bool { if c == nil { return true } if !(c.OldInviteLink.Zero()) { return false } if !(c.NewInviteLink.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventInviteLinkEdited) String() string { if c == nil { return "ChatEventInviteLinkEdited(nil)" } type Alias ChatEventInviteLinkEdited return fmt.Sprintf("ChatEventInviteLinkEdited%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventInviteLinkEdited) TypeID() uint32 { return ChatEventInviteLinkEditedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventInviteLinkEdited) TypeName() string { return "chatEventInviteLinkEdited" } // TypeInfo returns info about TL type. func (c *ChatEventInviteLinkEdited) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventInviteLinkEdited", ID: ChatEventInviteLinkEditedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldInviteLink", SchemaName: "old_invite_link", }, { Name: "NewInviteLink", SchemaName: "new_invite_link", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventInviteLinkEdited) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventInviteLinkEdited#e4920d62 as nil") } b.PutID(ChatEventInviteLinkEditedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventInviteLinkEdited) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventInviteLinkEdited#e4920d62 as nil") } if err := c.OldInviteLink.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventInviteLinkEdited#e4920d62: field old_invite_link: %w", err) } if err := c.NewInviteLink.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventInviteLinkEdited#e4920d62: field new_invite_link: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventInviteLinkEdited) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventInviteLinkEdited#e4920d62 to nil") } if err := b.ConsumeID(ChatEventInviteLinkEditedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkEdited#e4920d62: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventInviteLinkEdited) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventInviteLinkEdited#e4920d62 to nil") } { if err := c.OldInviteLink.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkEdited#e4920d62: field old_invite_link: %w", err) } } { if err := c.NewInviteLink.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkEdited#e4920d62: field new_invite_link: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventInviteLinkEdited) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventInviteLinkEdited#e4920d62 as nil") } b.ObjStart() b.PutID("chatEventInviteLinkEdited") b.Comma() b.FieldStart("old_invite_link") if err := c.OldInviteLink.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventInviteLinkEdited#e4920d62: field old_invite_link: %w", err) } b.Comma() b.FieldStart("new_invite_link") if err := c.NewInviteLink.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventInviteLinkEdited#e4920d62: field new_invite_link: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventInviteLinkEdited) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventInviteLinkEdited#e4920d62 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventInviteLinkEdited"); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkEdited#e4920d62: %w", err) } case "old_invite_link": if err := c.OldInviteLink.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkEdited#e4920d62: field old_invite_link: %w", err) } case "new_invite_link": if err := c.NewInviteLink.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkEdited#e4920d62: field new_invite_link: %w", err) } default: return b.Skip() } return nil }) } // GetOldInviteLink returns value of OldInviteLink field. func (c *ChatEventInviteLinkEdited) GetOldInviteLink() (value ChatInviteLink) { if c == nil { return } return c.OldInviteLink } // GetNewInviteLink returns value of NewInviteLink field. func (c *ChatEventInviteLinkEdited) GetNewInviteLink() (value ChatInviteLink) { if c == nil { return } return c.NewInviteLink } // ChatEventInviteLinkRevoked represents TL type `chatEventInviteLinkRevoked#a1dbffe3`. type ChatEventInviteLinkRevoked struct { // The invite link InviteLink ChatInviteLink } // ChatEventInviteLinkRevokedTypeID is TL type id of ChatEventInviteLinkRevoked. const ChatEventInviteLinkRevokedTypeID = 0xa1dbffe3 // construct implements constructor of ChatEventActionClass. func (c ChatEventInviteLinkRevoked) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventInviteLinkRevoked. var ( _ bin.Encoder = &ChatEventInviteLinkRevoked{} _ bin.Decoder = &ChatEventInviteLinkRevoked{} _ bin.BareEncoder = &ChatEventInviteLinkRevoked{} _ bin.BareDecoder = &ChatEventInviteLinkRevoked{} _ ChatEventActionClass = &ChatEventInviteLinkRevoked{} ) func (c *ChatEventInviteLinkRevoked) Zero() bool { if c == nil { return true } if !(c.InviteLink.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventInviteLinkRevoked) String() string { if c == nil { return "ChatEventInviteLinkRevoked(nil)" } type Alias ChatEventInviteLinkRevoked return fmt.Sprintf("ChatEventInviteLinkRevoked%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventInviteLinkRevoked) TypeID() uint32 { return ChatEventInviteLinkRevokedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventInviteLinkRevoked) TypeName() string { return "chatEventInviteLinkRevoked" } // TypeInfo returns info about TL type. func (c *ChatEventInviteLinkRevoked) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventInviteLinkRevoked", ID: ChatEventInviteLinkRevokedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "InviteLink", SchemaName: "invite_link", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventInviteLinkRevoked) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventInviteLinkRevoked#a1dbffe3 as nil") } b.PutID(ChatEventInviteLinkRevokedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventInviteLinkRevoked) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventInviteLinkRevoked#a1dbffe3 as nil") } if err := c.InviteLink.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventInviteLinkRevoked#a1dbffe3: field invite_link: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventInviteLinkRevoked) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventInviteLinkRevoked#a1dbffe3 to nil") } if err := b.ConsumeID(ChatEventInviteLinkRevokedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkRevoked#a1dbffe3: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventInviteLinkRevoked) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventInviteLinkRevoked#a1dbffe3 to nil") } { if err := c.InviteLink.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkRevoked#a1dbffe3: field invite_link: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventInviteLinkRevoked) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventInviteLinkRevoked#a1dbffe3 as nil") } b.ObjStart() b.PutID("chatEventInviteLinkRevoked") b.Comma() b.FieldStart("invite_link") if err := c.InviteLink.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventInviteLinkRevoked#a1dbffe3: field invite_link: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventInviteLinkRevoked) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventInviteLinkRevoked#a1dbffe3 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventInviteLinkRevoked"); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkRevoked#a1dbffe3: %w", err) } case "invite_link": if err := c.InviteLink.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkRevoked#a1dbffe3: field invite_link: %w", err) } default: return b.Skip() } return nil }) } // GetInviteLink returns value of InviteLink field. func (c *ChatEventInviteLinkRevoked) GetInviteLink() (value ChatInviteLink) { if c == nil { return } return c.InviteLink } // ChatEventInviteLinkDeleted represents TL type `chatEventInviteLinkDeleted#acda6167`. type ChatEventInviteLinkDeleted struct { // The invite link InviteLink ChatInviteLink } // ChatEventInviteLinkDeletedTypeID is TL type id of ChatEventInviteLinkDeleted. const ChatEventInviteLinkDeletedTypeID = 0xacda6167 // construct implements constructor of ChatEventActionClass. func (c ChatEventInviteLinkDeleted) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventInviteLinkDeleted. var ( _ bin.Encoder = &ChatEventInviteLinkDeleted{} _ bin.Decoder = &ChatEventInviteLinkDeleted{} _ bin.BareEncoder = &ChatEventInviteLinkDeleted{} _ bin.BareDecoder = &ChatEventInviteLinkDeleted{} _ ChatEventActionClass = &ChatEventInviteLinkDeleted{} ) func (c *ChatEventInviteLinkDeleted) Zero() bool { if c == nil { return true } if !(c.InviteLink.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventInviteLinkDeleted) String() string { if c == nil { return "ChatEventInviteLinkDeleted(nil)" } type Alias ChatEventInviteLinkDeleted return fmt.Sprintf("ChatEventInviteLinkDeleted%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventInviteLinkDeleted) TypeID() uint32 { return ChatEventInviteLinkDeletedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventInviteLinkDeleted) TypeName() string { return "chatEventInviteLinkDeleted" } // TypeInfo returns info about TL type. func (c *ChatEventInviteLinkDeleted) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventInviteLinkDeleted", ID: ChatEventInviteLinkDeletedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "InviteLink", SchemaName: "invite_link", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventInviteLinkDeleted) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventInviteLinkDeleted#acda6167 as nil") } b.PutID(ChatEventInviteLinkDeletedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventInviteLinkDeleted) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventInviteLinkDeleted#acda6167 as nil") } if err := c.InviteLink.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventInviteLinkDeleted#acda6167: field invite_link: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventInviteLinkDeleted) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventInviteLinkDeleted#acda6167 to nil") } if err := b.ConsumeID(ChatEventInviteLinkDeletedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkDeleted#acda6167: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventInviteLinkDeleted) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventInviteLinkDeleted#acda6167 to nil") } { if err := c.InviteLink.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkDeleted#acda6167: field invite_link: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventInviteLinkDeleted) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventInviteLinkDeleted#acda6167 as nil") } b.ObjStart() b.PutID("chatEventInviteLinkDeleted") b.Comma() b.FieldStart("invite_link") if err := c.InviteLink.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventInviteLinkDeleted#acda6167: field invite_link: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventInviteLinkDeleted) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventInviteLinkDeleted#acda6167 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventInviteLinkDeleted"); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkDeleted#acda6167: %w", err) } case "invite_link": if err := c.InviteLink.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventInviteLinkDeleted#acda6167: field invite_link: %w", err) } default: return b.Skip() } return nil }) } // GetInviteLink returns value of InviteLink field. func (c *ChatEventInviteLinkDeleted) GetInviteLink() (value ChatInviteLink) { if c == nil { return } return c.InviteLink } // ChatEventVideoChatCreated represents TL type `chatEventVideoChatCreated#6ca68a7b`. type ChatEventVideoChatCreated struct { // Identifier of the video chat. The video chat can be received through the method // getGroupCall GroupCallID int32 } // ChatEventVideoChatCreatedTypeID is TL type id of ChatEventVideoChatCreated. const ChatEventVideoChatCreatedTypeID = 0x6ca68a7b // construct implements constructor of ChatEventActionClass. func (c ChatEventVideoChatCreated) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventVideoChatCreated. var ( _ bin.Encoder = &ChatEventVideoChatCreated{} _ bin.Decoder = &ChatEventVideoChatCreated{} _ bin.BareEncoder = &ChatEventVideoChatCreated{} _ bin.BareDecoder = &ChatEventVideoChatCreated{} _ ChatEventActionClass = &ChatEventVideoChatCreated{} ) func (c *ChatEventVideoChatCreated) Zero() bool { if c == nil { return true } if !(c.GroupCallID == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventVideoChatCreated) String() string { if c == nil { return "ChatEventVideoChatCreated(nil)" } type Alias ChatEventVideoChatCreated return fmt.Sprintf("ChatEventVideoChatCreated%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventVideoChatCreated) TypeID() uint32 { return ChatEventVideoChatCreatedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventVideoChatCreated) TypeName() string { return "chatEventVideoChatCreated" } // TypeInfo returns info about TL type. func (c *ChatEventVideoChatCreated) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventVideoChatCreated", ID: ChatEventVideoChatCreatedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "GroupCallID", SchemaName: "group_call_id", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventVideoChatCreated) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatCreated#6ca68a7b as nil") } b.PutID(ChatEventVideoChatCreatedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventVideoChatCreated) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatCreated#6ca68a7b as nil") } b.PutInt32(c.GroupCallID) return nil } // Decode implements bin.Decoder. func (c *ChatEventVideoChatCreated) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatCreated#6ca68a7b to nil") } if err := b.ConsumeID(ChatEventVideoChatCreatedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatCreated#6ca68a7b: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventVideoChatCreated) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatCreated#6ca68a7b to nil") } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatCreated#6ca68a7b: field group_call_id: %w", err) } c.GroupCallID = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventVideoChatCreated) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatCreated#6ca68a7b as nil") } b.ObjStart() b.PutID("chatEventVideoChatCreated") b.Comma() b.FieldStart("group_call_id") b.PutInt32(c.GroupCallID) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventVideoChatCreated) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatCreated#6ca68a7b to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventVideoChatCreated"); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatCreated#6ca68a7b: %w", err) } case "group_call_id": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatCreated#6ca68a7b: field group_call_id: %w", err) } c.GroupCallID = value default: return b.Skip() } return nil }) } // GetGroupCallID returns value of GroupCallID field. func (c *ChatEventVideoChatCreated) GetGroupCallID() (value int32) { if c == nil { return } return c.GroupCallID } // ChatEventVideoChatEnded represents TL type `chatEventVideoChatEnded#61286c48`. type ChatEventVideoChatEnded struct { // Identifier of the video chat. The video chat can be received through the method // getGroupCall GroupCallID int32 } // ChatEventVideoChatEndedTypeID is TL type id of ChatEventVideoChatEnded. const ChatEventVideoChatEndedTypeID = 0x61286c48 // construct implements constructor of ChatEventActionClass. func (c ChatEventVideoChatEnded) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventVideoChatEnded. var ( _ bin.Encoder = &ChatEventVideoChatEnded{} _ bin.Decoder = &ChatEventVideoChatEnded{} _ bin.BareEncoder = &ChatEventVideoChatEnded{} _ bin.BareDecoder = &ChatEventVideoChatEnded{} _ ChatEventActionClass = &ChatEventVideoChatEnded{} ) func (c *ChatEventVideoChatEnded) Zero() bool { if c == nil { return true } if !(c.GroupCallID == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventVideoChatEnded) String() string { if c == nil { return "ChatEventVideoChatEnded(nil)" } type Alias ChatEventVideoChatEnded return fmt.Sprintf("ChatEventVideoChatEnded%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventVideoChatEnded) TypeID() uint32 { return ChatEventVideoChatEndedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventVideoChatEnded) TypeName() string { return "chatEventVideoChatEnded" } // TypeInfo returns info about TL type. func (c *ChatEventVideoChatEnded) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventVideoChatEnded", ID: ChatEventVideoChatEndedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "GroupCallID", SchemaName: "group_call_id", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventVideoChatEnded) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatEnded#61286c48 as nil") } b.PutID(ChatEventVideoChatEndedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventVideoChatEnded) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatEnded#61286c48 as nil") } b.PutInt32(c.GroupCallID) return nil } // Decode implements bin.Decoder. func (c *ChatEventVideoChatEnded) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatEnded#61286c48 to nil") } if err := b.ConsumeID(ChatEventVideoChatEndedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatEnded#61286c48: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventVideoChatEnded) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatEnded#61286c48 to nil") } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatEnded#61286c48: field group_call_id: %w", err) } c.GroupCallID = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventVideoChatEnded) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatEnded#61286c48 as nil") } b.ObjStart() b.PutID("chatEventVideoChatEnded") b.Comma() b.FieldStart("group_call_id") b.PutInt32(c.GroupCallID) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventVideoChatEnded) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatEnded#61286c48 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventVideoChatEnded"); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatEnded#61286c48: %w", err) } case "group_call_id": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatEnded#61286c48: field group_call_id: %w", err) } c.GroupCallID = value default: return b.Skip() } return nil }) } // GetGroupCallID returns value of GroupCallID field. func (c *ChatEventVideoChatEnded) GetGroupCallID() (value int32) { if c == nil { return } return c.GroupCallID } // ChatEventVideoChatMuteNewParticipantsToggled represents TL type `chatEventVideoChatMuteNewParticipantsToggled#f87507fe`. type ChatEventVideoChatMuteNewParticipantsToggled struct { // New value of the mute_new_participants setting MuteNewParticipants bool } // ChatEventVideoChatMuteNewParticipantsToggledTypeID is TL type id of ChatEventVideoChatMuteNewParticipantsToggled. const ChatEventVideoChatMuteNewParticipantsToggledTypeID = 0xf87507fe // construct implements constructor of ChatEventActionClass. func (c ChatEventVideoChatMuteNewParticipantsToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventVideoChatMuteNewParticipantsToggled. var ( _ bin.Encoder = &ChatEventVideoChatMuteNewParticipantsToggled{} _ bin.Decoder = &ChatEventVideoChatMuteNewParticipantsToggled{} _ bin.BareEncoder = &ChatEventVideoChatMuteNewParticipantsToggled{} _ bin.BareDecoder = &ChatEventVideoChatMuteNewParticipantsToggled{} _ ChatEventActionClass = &ChatEventVideoChatMuteNewParticipantsToggled{} ) func (c *ChatEventVideoChatMuteNewParticipantsToggled) Zero() bool { if c == nil { return true } if !(c.MuteNewParticipants == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventVideoChatMuteNewParticipantsToggled) String() string { if c == nil { return "ChatEventVideoChatMuteNewParticipantsToggled(nil)" } type Alias ChatEventVideoChatMuteNewParticipantsToggled return fmt.Sprintf("ChatEventVideoChatMuteNewParticipantsToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventVideoChatMuteNewParticipantsToggled) TypeID() uint32 { return ChatEventVideoChatMuteNewParticipantsToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventVideoChatMuteNewParticipantsToggled) TypeName() string { return "chatEventVideoChatMuteNewParticipantsToggled" } // TypeInfo returns info about TL type. func (c *ChatEventVideoChatMuteNewParticipantsToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventVideoChatMuteNewParticipantsToggled", ID: ChatEventVideoChatMuteNewParticipantsToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "MuteNewParticipants", SchemaName: "mute_new_participants", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventVideoChatMuteNewParticipantsToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatMuteNewParticipantsToggled#f87507fe as nil") } b.PutID(ChatEventVideoChatMuteNewParticipantsToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventVideoChatMuteNewParticipantsToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatMuteNewParticipantsToggled#f87507fe as nil") } b.PutBool(c.MuteNewParticipants) return nil } // Decode implements bin.Decoder. func (c *ChatEventVideoChatMuteNewParticipantsToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatMuteNewParticipantsToggled#f87507fe to nil") } if err := b.ConsumeID(ChatEventVideoChatMuteNewParticipantsToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatMuteNewParticipantsToggled#f87507fe: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventVideoChatMuteNewParticipantsToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatMuteNewParticipantsToggled#f87507fe to nil") } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatMuteNewParticipantsToggled#f87507fe: field mute_new_participants: %w", err) } c.MuteNewParticipants = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventVideoChatMuteNewParticipantsToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatMuteNewParticipantsToggled#f87507fe as nil") } b.ObjStart() b.PutID("chatEventVideoChatMuteNewParticipantsToggled") b.Comma() b.FieldStart("mute_new_participants") b.PutBool(c.MuteNewParticipants) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventVideoChatMuteNewParticipantsToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatMuteNewParticipantsToggled#f87507fe to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventVideoChatMuteNewParticipantsToggled"); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatMuteNewParticipantsToggled#f87507fe: %w", err) } case "mute_new_participants": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatMuteNewParticipantsToggled#f87507fe: field mute_new_participants: %w", err) } c.MuteNewParticipants = value default: return b.Skip() } return nil }) } // GetMuteNewParticipants returns value of MuteNewParticipants field. func (c *ChatEventVideoChatMuteNewParticipantsToggled) GetMuteNewParticipants() (value bool) { if c == nil { return } return c.MuteNewParticipants } // ChatEventVideoChatParticipantIsMutedToggled represents TL type `chatEventVideoChatParticipantIsMutedToggled#1f1058f7`. type ChatEventVideoChatParticipantIsMutedToggled struct { // Identifier of the affected group call participant ParticipantID MessageSenderClass // New value of is_muted IsMuted bool } // ChatEventVideoChatParticipantIsMutedToggledTypeID is TL type id of ChatEventVideoChatParticipantIsMutedToggled. const ChatEventVideoChatParticipantIsMutedToggledTypeID = 0x1f1058f7 // construct implements constructor of ChatEventActionClass. func (c ChatEventVideoChatParticipantIsMutedToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventVideoChatParticipantIsMutedToggled. var ( _ bin.Encoder = &ChatEventVideoChatParticipantIsMutedToggled{} _ bin.Decoder = &ChatEventVideoChatParticipantIsMutedToggled{} _ bin.BareEncoder = &ChatEventVideoChatParticipantIsMutedToggled{} _ bin.BareDecoder = &ChatEventVideoChatParticipantIsMutedToggled{} _ ChatEventActionClass = &ChatEventVideoChatParticipantIsMutedToggled{} ) func (c *ChatEventVideoChatParticipantIsMutedToggled) Zero() bool { if c == nil { return true } if !(c.ParticipantID == nil) { return false } if !(c.IsMuted == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventVideoChatParticipantIsMutedToggled) String() string { if c == nil { return "ChatEventVideoChatParticipantIsMutedToggled(nil)" } type Alias ChatEventVideoChatParticipantIsMutedToggled return fmt.Sprintf("ChatEventVideoChatParticipantIsMutedToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventVideoChatParticipantIsMutedToggled) TypeID() uint32 { return ChatEventVideoChatParticipantIsMutedToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventVideoChatParticipantIsMutedToggled) TypeName() string { return "chatEventVideoChatParticipantIsMutedToggled" } // TypeInfo returns info about TL type. func (c *ChatEventVideoChatParticipantIsMutedToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventVideoChatParticipantIsMutedToggled", ID: ChatEventVideoChatParticipantIsMutedToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ParticipantID", SchemaName: "participant_id", }, { Name: "IsMuted", SchemaName: "is_muted", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventVideoChatParticipantIsMutedToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatParticipantIsMutedToggled#1f1058f7 as nil") } b.PutID(ChatEventVideoChatParticipantIsMutedToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventVideoChatParticipantIsMutedToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatParticipantIsMutedToggled#1f1058f7 as nil") } if c.ParticipantID == nil { return fmt.Errorf("unable to encode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: field participant_id is nil") } if err := c.ParticipantID.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: field participant_id: %w", err) } b.PutBool(c.IsMuted) return nil } // Decode implements bin.Decoder. func (c *ChatEventVideoChatParticipantIsMutedToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatParticipantIsMutedToggled#1f1058f7 to nil") } if err := b.ConsumeID(ChatEventVideoChatParticipantIsMutedToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventVideoChatParticipantIsMutedToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatParticipantIsMutedToggled#1f1058f7 to nil") } { value, err := DecodeMessageSender(b) if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: field participant_id: %w", err) } c.ParticipantID = value } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: field is_muted: %w", err) } c.IsMuted = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventVideoChatParticipantIsMutedToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatParticipantIsMutedToggled#1f1058f7 as nil") } b.ObjStart() b.PutID("chatEventVideoChatParticipantIsMutedToggled") b.Comma() b.FieldStart("participant_id") if c.ParticipantID == nil { return fmt.Errorf("unable to encode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: field participant_id is nil") } if err := c.ParticipantID.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: field participant_id: %w", err) } b.Comma() b.FieldStart("is_muted") b.PutBool(c.IsMuted) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventVideoChatParticipantIsMutedToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatParticipantIsMutedToggled#1f1058f7 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventVideoChatParticipantIsMutedToggled"); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: %w", err) } case "participant_id": value, err := DecodeTDLibJSONMessageSender(b) if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: field participant_id: %w", err) } c.ParticipantID = value case "is_muted": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantIsMutedToggled#1f1058f7: field is_muted: %w", err) } c.IsMuted = value default: return b.Skip() } return nil }) } // GetParticipantID returns value of ParticipantID field. func (c *ChatEventVideoChatParticipantIsMutedToggled) GetParticipantID() (value MessageSenderClass) { if c == nil { return } return c.ParticipantID } // GetIsMuted returns value of IsMuted field. func (c *ChatEventVideoChatParticipantIsMutedToggled) GetIsMuted() (value bool) { if c == nil { return } return c.IsMuted } // ChatEventVideoChatParticipantVolumeLevelChanged represents TL type `chatEventVideoChatParticipantVolumeLevelChanged#436f92be`. type ChatEventVideoChatParticipantVolumeLevelChanged struct { // Identifier of the affected group call participant ParticipantID MessageSenderClass // New value of volume_level; 1-20000 in hundreds of percents VolumeLevel int32 } // ChatEventVideoChatParticipantVolumeLevelChangedTypeID is TL type id of ChatEventVideoChatParticipantVolumeLevelChanged. const ChatEventVideoChatParticipantVolumeLevelChangedTypeID = 0x436f92be // construct implements constructor of ChatEventActionClass. func (c ChatEventVideoChatParticipantVolumeLevelChanged) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventVideoChatParticipantVolumeLevelChanged. var ( _ bin.Encoder = &ChatEventVideoChatParticipantVolumeLevelChanged{} _ bin.Decoder = &ChatEventVideoChatParticipantVolumeLevelChanged{} _ bin.BareEncoder = &ChatEventVideoChatParticipantVolumeLevelChanged{} _ bin.BareDecoder = &ChatEventVideoChatParticipantVolumeLevelChanged{} _ ChatEventActionClass = &ChatEventVideoChatParticipantVolumeLevelChanged{} ) func (c *ChatEventVideoChatParticipantVolumeLevelChanged) Zero() bool { if c == nil { return true } if !(c.ParticipantID == nil) { return false } if !(c.VolumeLevel == 0) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) String() string { if c == nil { return "ChatEventVideoChatParticipantVolumeLevelChanged(nil)" } type Alias ChatEventVideoChatParticipantVolumeLevelChanged return fmt.Sprintf("ChatEventVideoChatParticipantVolumeLevelChanged%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventVideoChatParticipantVolumeLevelChanged) TypeID() uint32 { return ChatEventVideoChatParticipantVolumeLevelChangedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventVideoChatParticipantVolumeLevelChanged) TypeName() string { return "chatEventVideoChatParticipantVolumeLevelChanged" } // TypeInfo returns info about TL type. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventVideoChatParticipantVolumeLevelChanged", ID: ChatEventVideoChatParticipantVolumeLevelChangedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ParticipantID", SchemaName: "participant_id", }, { Name: "VolumeLevel", SchemaName: "volume_level", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatParticipantVolumeLevelChanged#436f92be as nil") } b.PutID(ChatEventVideoChatParticipantVolumeLevelChangedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatParticipantVolumeLevelChanged#436f92be as nil") } if c.ParticipantID == nil { return fmt.Errorf("unable to encode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: field participant_id is nil") } if err := c.ParticipantID.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: field participant_id: %w", err) } b.PutInt32(c.VolumeLevel) return nil } // Decode implements bin.Decoder. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatParticipantVolumeLevelChanged#436f92be to nil") } if err := b.ConsumeID(ChatEventVideoChatParticipantVolumeLevelChangedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatParticipantVolumeLevelChanged#436f92be to nil") } { value, err := DecodeMessageSender(b) if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: field participant_id: %w", err) } c.ParticipantID = value } { value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: field volume_level: %w", err) } c.VolumeLevel = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventVideoChatParticipantVolumeLevelChanged#436f92be as nil") } b.ObjStart() b.PutID("chatEventVideoChatParticipantVolumeLevelChanged") b.Comma() b.FieldStart("participant_id") if c.ParticipantID == nil { return fmt.Errorf("unable to encode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: field participant_id is nil") } if err := c.ParticipantID.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: field participant_id: %w", err) } b.Comma() b.FieldStart("volume_level") b.PutInt32(c.VolumeLevel) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventVideoChatParticipantVolumeLevelChanged#436f92be to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventVideoChatParticipantVolumeLevelChanged"); err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: %w", err) } case "participant_id": value, err := DecodeTDLibJSONMessageSender(b) if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: field participant_id: %w", err) } c.ParticipantID = value case "volume_level": value, err := b.Int32() if err != nil { return fmt.Errorf("unable to decode chatEventVideoChatParticipantVolumeLevelChanged#436f92be: field volume_level: %w", err) } c.VolumeLevel = value default: return b.Skip() } return nil }) } // GetParticipantID returns value of ParticipantID field. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) GetParticipantID() (value MessageSenderClass) { if c == nil { return } return c.ParticipantID } // GetVolumeLevel returns value of VolumeLevel field. func (c *ChatEventVideoChatParticipantVolumeLevelChanged) GetVolumeLevel() (value int32) { if c == nil { return } return c.VolumeLevel } // ChatEventIsForumToggled represents TL type `chatEventIsForumToggled#5a63d119`. type ChatEventIsForumToggled struct { // New value of is_forum IsForum bool } // ChatEventIsForumToggledTypeID is TL type id of ChatEventIsForumToggled. const ChatEventIsForumToggledTypeID = 0x5a63d119 // construct implements constructor of ChatEventActionClass. func (c ChatEventIsForumToggled) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventIsForumToggled. var ( _ bin.Encoder = &ChatEventIsForumToggled{} _ bin.Decoder = &ChatEventIsForumToggled{} _ bin.BareEncoder = &ChatEventIsForumToggled{} _ bin.BareDecoder = &ChatEventIsForumToggled{} _ ChatEventActionClass = &ChatEventIsForumToggled{} ) func (c *ChatEventIsForumToggled) Zero() bool { if c == nil { return true } if !(c.IsForum == false) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventIsForumToggled) String() string { if c == nil { return "ChatEventIsForumToggled(nil)" } type Alias ChatEventIsForumToggled return fmt.Sprintf("ChatEventIsForumToggled%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventIsForumToggled) TypeID() uint32 { return ChatEventIsForumToggledTypeID } // TypeName returns name of type in TL schema. func (*ChatEventIsForumToggled) TypeName() string { return "chatEventIsForumToggled" } // TypeInfo returns info about TL type. func (c *ChatEventIsForumToggled) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventIsForumToggled", ID: ChatEventIsForumToggledTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "IsForum", SchemaName: "is_forum", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventIsForumToggled) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventIsForumToggled#5a63d119 as nil") } b.PutID(ChatEventIsForumToggledTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventIsForumToggled) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventIsForumToggled#5a63d119 as nil") } b.PutBool(c.IsForum) return nil } // Decode implements bin.Decoder. func (c *ChatEventIsForumToggled) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventIsForumToggled#5a63d119 to nil") } if err := b.ConsumeID(ChatEventIsForumToggledTypeID); err != nil { return fmt.Errorf("unable to decode chatEventIsForumToggled#5a63d119: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventIsForumToggled) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventIsForumToggled#5a63d119 to nil") } { value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventIsForumToggled#5a63d119: field is_forum: %w", err) } c.IsForum = value } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventIsForumToggled) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventIsForumToggled#5a63d119 as nil") } b.ObjStart() b.PutID("chatEventIsForumToggled") b.Comma() b.FieldStart("is_forum") b.PutBool(c.IsForum) b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventIsForumToggled) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventIsForumToggled#5a63d119 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventIsForumToggled"); err != nil { return fmt.Errorf("unable to decode chatEventIsForumToggled#5a63d119: %w", err) } case "is_forum": value, err := b.Bool() if err != nil { return fmt.Errorf("unable to decode chatEventIsForumToggled#5a63d119: field is_forum: %w", err) } c.IsForum = value default: return b.Skip() } return nil }) } // GetIsForum returns value of IsForum field. func (c *ChatEventIsForumToggled) GetIsForum() (value bool) { if c == nil { return } return c.IsForum } // ChatEventForumTopicCreated represents TL type `chatEventForumTopicCreated#7785fb42`. type ChatEventForumTopicCreated struct { // Information about the topic TopicInfo ForumTopicInfo } // ChatEventForumTopicCreatedTypeID is TL type id of ChatEventForumTopicCreated. const ChatEventForumTopicCreatedTypeID = 0x7785fb42 // construct implements constructor of ChatEventActionClass. func (c ChatEventForumTopicCreated) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventForumTopicCreated. var ( _ bin.Encoder = &ChatEventForumTopicCreated{} _ bin.Decoder = &ChatEventForumTopicCreated{} _ bin.BareEncoder = &ChatEventForumTopicCreated{} _ bin.BareDecoder = &ChatEventForumTopicCreated{} _ ChatEventActionClass = &ChatEventForumTopicCreated{} ) func (c *ChatEventForumTopicCreated) Zero() bool { if c == nil { return true } if !(c.TopicInfo.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventForumTopicCreated) String() string { if c == nil { return "ChatEventForumTopicCreated(nil)" } type Alias ChatEventForumTopicCreated return fmt.Sprintf("ChatEventForumTopicCreated%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventForumTopicCreated) TypeID() uint32 { return ChatEventForumTopicCreatedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventForumTopicCreated) TypeName() string { return "chatEventForumTopicCreated" } // TypeInfo returns info about TL type. func (c *ChatEventForumTopicCreated) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventForumTopicCreated", ID: ChatEventForumTopicCreatedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "TopicInfo", SchemaName: "topic_info", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventForumTopicCreated) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicCreated#7785fb42 as nil") } b.PutID(ChatEventForumTopicCreatedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventForumTopicCreated) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicCreated#7785fb42 as nil") } if err := c.TopicInfo.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicCreated#7785fb42: field topic_info: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventForumTopicCreated) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicCreated#7785fb42 to nil") } if err := b.ConsumeID(ChatEventForumTopicCreatedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicCreated#7785fb42: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventForumTopicCreated) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicCreated#7785fb42 to nil") } { if err := c.TopicInfo.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicCreated#7785fb42: field topic_info: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventForumTopicCreated) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicCreated#7785fb42 as nil") } b.ObjStart() b.PutID("chatEventForumTopicCreated") b.Comma() b.FieldStart("topic_info") if err := c.TopicInfo.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicCreated#7785fb42: field topic_info: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventForumTopicCreated) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicCreated#7785fb42 to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventForumTopicCreated"); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicCreated#7785fb42: %w", err) } case "topic_info": if err := c.TopicInfo.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicCreated#7785fb42: field topic_info: %w", err) } default: return b.Skip() } return nil }) } // GetTopicInfo returns value of TopicInfo field. func (c *ChatEventForumTopicCreated) GetTopicInfo() (value ForumTopicInfo) { if c == nil { return } return c.TopicInfo } // ChatEventForumTopicEdited represents TL type `chatEventForumTopicEdited#60da2c0c`. type ChatEventForumTopicEdited struct { // Old information about the topic OldTopicInfo ForumTopicInfo // New information about the topic NewTopicInfo ForumTopicInfo } // ChatEventForumTopicEditedTypeID is TL type id of ChatEventForumTopicEdited. const ChatEventForumTopicEditedTypeID = 0x60da2c0c // construct implements constructor of ChatEventActionClass. func (c ChatEventForumTopicEdited) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventForumTopicEdited. var ( _ bin.Encoder = &ChatEventForumTopicEdited{} _ bin.Decoder = &ChatEventForumTopicEdited{} _ bin.BareEncoder = &ChatEventForumTopicEdited{} _ bin.BareDecoder = &ChatEventForumTopicEdited{} _ ChatEventActionClass = &ChatEventForumTopicEdited{} ) func (c *ChatEventForumTopicEdited) Zero() bool { if c == nil { return true } if !(c.OldTopicInfo.Zero()) { return false } if !(c.NewTopicInfo.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventForumTopicEdited) String() string { if c == nil { return "ChatEventForumTopicEdited(nil)" } type Alias ChatEventForumTopicEdited return fmt.Sprintf("ChatEventForumTopicEdited%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventForumTopicEdited) TypeID() uint32 { return ChatEventForumTopicEditedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventForumTopicEdited) TypeName() string { return "chatEventForumTopicEdited" } // TypeInfo returns info about TL type. func (c *ChatEventForumTopicEdited) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventForumTopicEdited", ID: ChatEventForumTopicEditedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldTopicInfo", SchemaName: "old_topic_info", }, { Name: "NewTopicInfo", SchemaName: "new_topic_info", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventForumTopicEdited) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicEdited#60da2c0c as nil") } b.PutID(ChatEventForumTopicEditedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventForumTopicEdited) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicEdited#60da2c0c as nil") } if err := c.OldTopicInfo.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicEdited#60da2c0c: field old_topic_info: %w", err) } if err := c.NewTopicInfo.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicEdited#60da2c0c: field new_topic_info: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventForumTopicEdited) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicEdited#60da2c0c to nil") } if err := b.ConsumeID(ChatEventForumTopicEditedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicEdited#60da2c0c: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventForumTopicEdited) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicEdited#60da2c0c to nil") } { if err := c.OldTopicInfo.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicEdited#60da2c0c: field old_topic_info: %w", err) } } { if err := c.NewTopicInfo.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicEdited#60da2c0c: field new_topic_info: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventForumTopicEdited) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicEdited#60da2c0c as nil") } b.ObjStart() b.PutID("chatEventForumTopicEdited") b.Comma() b.FieldStart("old_topic_info") if err := c.OldTopicInfo.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicEdited#60da2c0c: field old_topic_info: %w", err) } b.Comma() b.FieldStart("new_topic_info") if err := c.NewTopicInfo.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicEdited#60da2c0c: field new_topic_info: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventForumTopicEdited) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicEdited#60da2c0c to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventForumTopicEdited"); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicEdited#60da2c0c: %w", err) } case "old_topic_info": if err := c.OldTopicInfo.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicEdited#60da2c0c: field old_topic_info: %w", err) } case "new_topic_info": if err := c.NewTopicInfo.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicEdited#60da2c0c: field new_topic_info: %w", err) } default: return b.Skip() } return nil }) } // GetOldTopicInfo returns value of OldTopicInfo field. func (c *ChatEventForumTopicEdited) GetOldTopicInfo() (value ForumTopicInfo) { if c == nil { return } return c.OldTopicInfo } // GetNewTopicInfo returns value of NewTopicInfo field. func (c *ChatEventForumTopicEdited) GetNewTopicInfo() (value ForumTopicInfo) { if c == nil { return } return c.NewTopicInfo } // ChatEventForumTopicToggleIsClosed represents TL type `chatEventForumTopicToggleIsClosed#c69e4d3a`. type ChatEventForumTopicToggleIsClosed struct { // New information about the topic TopicInfo ForumTopicInfo } // ChatEventForumTopicToggleIsClosedTypeID is TL type id of ChatEventForumTopicToggleIsClosed. const ChatEventForumTopicToggleIsClosedTypeID = 0xc69e4d3a // construct implements constructor of ChatEventActionClass. func (c ChatEventForumTopicToggleIsClosed) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventForumTopicToggleIsClosed. var ( _ bin.Encoder = &ChatEventForumTopicToggleIsClosed{} _ bin.Decoder = &ChatEventForumTopicToggleIsClosed{} _ bin.BareEncoder = &ChatEventForumTopicToggleIsClosed{} _ bin.BareDecoder = &ChatEventForumTopicToggleIsClosed{} _ ChatEventActionClass = &ChatEventForumTopicToggleIsClosed{} ) func (c *ChatEventForumTopicToggleIsClosed) Zero() bool { if c == nil { return true } if !(c.TopicInfo.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventForumTopicToggleIsClosed) String() string { if c == nil { return "ChatEventForumTopicToggleIsClosed(nil)" } type Alias ChatEventForumTopicToggleIsClosed return fmt.Sprintf("ChatEventForumTopicToggleIsClosed%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventForumTopicToggleIsClosed) TypeID() uint32 { return ChatEventForumTopicToggleIsClosedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventForumTopicToggleIsClosed) TypeName() string { return "chatEventForumTopicToggleIsClosed" } // TypeInfo returns info about TL type. func (c *ChatEventForumTopicToggleIsClosed) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventForumTopicToggleIsClosed", ID: ChatEventForumTopicToggleIsClosedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "TopicInfo", SchemaName: "topic_info", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventForumTopicToggleIsClosed) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicToggleIsClosed#c69e4d3a as nil") } b.PutID(ChatEventForumTopicToggleIsClosedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventForumTopicToggleIsClosed) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicToggleIsClosed#c69e4d3a as nil") } if err := c.TopicInfo.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicToggleIsClosed#c69e4d3a: field topic_info: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventForumTopicToggleIsClosed) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicToggleIsClosed#c69e4d3a to nil") } if err := b.ConsumeID(ChatEventForumTopicToggleIsClosedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicToggleIsClosed#c69e4d3a: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventForumTopicToggleIsClosed) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicToggleIsClosed#c69e4d3a to nil") } { if err := c.TopicInfo.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicToggleIsClosed#c69e4d3a: field topic_info: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventForumTopicToggleIsClosed) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicToggleIsClosed#c69e4d3a as nil") } b.ObjStart() b.PutID("chatEventForumTopicToggleIsClosed") b.Comma() b.FieldStart("topic_info") if err := c.TopicInfo.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicToggleIsClosed#c69e4d3a: field topic_info: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventForumTopicToggleIsClosed) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicToggleIsClosed#c69e4d3a to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventForumTopicToggleIsClosed"); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicToggleIsClosed#c69e4d3a: %w", err) } case "topic_info": if err := c.TopicInfo.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicToggleIsClosed#c69e4d3a: field topic_info: %w", err) } default: return b.Skip() } return nil }) } // GetTopicInfo returns value of TopicInfo field. func (c *ChatEventForumTopicToggleIsClosed) GetTopicInfo() (value ForumTopicInfo) { if c == nil { return } return c.TopicInfo } // ChatEventForumTopicToggleIsHidden represents TL type `chatEventForumTopicToggleIsHidden#a015ef2e`. type ChatEventForumTopicToggleIsHidden struct { // New information about the topic TopicInfo ForumTopicInfo } // ChatEventForumTopicToggleIsHiddenTypeID is TL type id of ChatEventForumTopicToggleIsHidden. const ChatEventForumTopicToggleIsHiddenTypeID = 0xa015ef2e // construct implements constructor of ChatEventActionClass. func (c ChatEventForumTopicToggleIsHidden) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventForumTopicToggleIsHidden. var ( _ bin.Encoder = &ChatEventForumTopicToggleIsHidden{} _ bin.Decoder = &ChatEventForumTopicToggleIsHidden{} _ bin.BareEncoder = &ChatEventForumTopicToggleIsHidden{} _ bin.BareDecoder = &ChatEventForumTopicToggleIsHidden{} _ ChatEventActionClass = &ChatEventForumTopicToggleIsHidden{} ) func (c *ChatEventForumTopicToggleIsHidden) Zero() bool { if c == nil { return true } if !(c.TopicInfo.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventForumTopicToggleIsHidden) String() string { if c == nil { return "ChatEventForumTopicToggleIsHidden(nil)" } type Alias ChatEventForumTopicToggleIsHidden return fmt.Sprintf("ChatEventForumTopicToggleIsHidden%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventForumTopicToggleIsHidden) TypeID() uint32 { return ChatEventForumTopicToggleIsHiddenTypeID } // TypeName returns name of type in TL schema. func (*ChatEventForumTopicToggleIsHidden) TypeName() string { return "chatEventForumTopicToggleIsHidden" } // TypeInfo returns info about TL type. func (c *ChatEventForumTopicToggleIsHidden) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventForumTopicToggleIsHidden", ID: ChatEventForumTopicToggleIsHiddenTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "TopicInfo", SchemaName: "topic_info", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventForumTopicToggleIsHidden) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicToggleIsHidden#a015ef2e as nil") } b.PutID(ChatEventForumTopicToggleIsHiddenTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventForumTopicToggleIsHidden) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicToggleIsHidden#a015ef2e as nil") } if err := c.TopicInfo.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicToggleIsHidden#a015ef2e: field topic_info: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventForumTopicToggleIsHidden) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicToggleIsHidden#a015ef2e to nil") } if err := b.ConsumeID(ChatEventForumTopicToggleIsHiddenTypeID); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicToggleIsHidden#a015ef2e: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventForumTopicToggleIsHidden) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicToggleIsHidden#a015ef2e to nil") } { if err := c.TopicInfo.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicToggleIsHidden#a015ef2e: field topic_info: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventForumTopicToggleIsHidden) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicToggleIsHidden#a015ef2e as nil") } b.ObjStart() b.PutID("chatEventForumTopicToggleIsHidden") b.Comma() b.FieldStart("topic_info") if err := c.TopicInfo.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicToggleIsHidden#a015ef2e: field topic_info: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventForumTopicToggleIsHidden) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicToggleIsHidden#a015ef2e to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventForumTopicToggleIsHidden"); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicToggleIsHidden#a015ef2e: %w", err) } case "topic_info": if err := c.TopicInfo.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicToggleIsHidden#a015ef2e: field topic_info: %w", err) } default: return b.Skip() } return nil }) } // GetTopicInfo returns value of TopicInfo field. func (c *ChatEventForumTopicToggleIsHidden) GetTopicInfo() (value ForumTopicInfo) { if c == nil { return } return c.TopicInfo } // ChatEventForumTopicDeleted represents TL type `chatEventForumTopicDeleted#b08f290d`. type ChatEventForumTopicDeleted struct { // Information about the topic TopicInfo ForumTopicInfo } // ChatEventForumTopicDeletedTypeID is TL type id of ChatEventForumTopicDeleted. const ChatEventForumTopicDeletedTypeID = 0xb08f290d // construct implements constructor of ChatEventActionClass. func (c ChatEventForumTopicDeleted) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventForumTopicDeleted. var ( _ bin.Encoder = &ChatEventForumTopicDeleted{} _ bin.Decoder = &ChatEventForumTopicDeleted{} _ bin.BareEncoder = &ChatEventForumTopicDeleted{} _ bin.BareDecoder = &ChatEventForumTopicDeleted{} _ ChatEventActionClass = &ChatEventForumTopicDeleted{} ) func (c *ChatEventForumTopicDeleted) Zero() bool { if c == nil { return true } if !(c.TopicInfo.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventForumTopicDeleted) String() string { if c == nil { return "ChatEventForumTopicDeleted(nil)" } type Alias ChatEventForumTopicDeleted return fmt.Sprintf("ChatEventForumTopicDeleted%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventForumTopicDeleted) TypeID() uint32 { return ChatEventForumTopicDeletedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventForumTopicDeleted) TypeName() string { return "chatEventForumTopicDeleted" } // TypeInfo returns info about TL type. func (c *ChatEventForumTopicDeleted) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventForumTopicDeleted", ID: ChatEventForumTopicDeletedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "TopicInfo", SchemaName: "topic_info", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventForumTopicDeleted) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicDeleted#b08f290d as nil") } b.PutID(ChatEventForumTopicDeletedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventForumTopicDeleted) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicDeleted#b08f290d as nil") } if err := c.TopicInfo.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicDeleted#b08f290d: field topic_info: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventForumTopicDeleted) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicDeleted#b08f290d to nil") } if err := b.ConsumeID(ChatEventForumTopicDeletedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicDeleted#b08f290d: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventForumTopicDeleted) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicDeleted#b08f290d to nil") } { if err := c.TopicInfo.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicDeleted#b08f290d: field topic_info: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventForumTopicDeleted) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicDeleted#b08f290d as nil") } b.ObjStart() b.PutID("chatEventForumTopicDeleted") b.Comma() b.FieldStart("topic_info") if err := c.TopicInfo.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicDeleted#b08f290d: field topic_info: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventForumTopicDeleted) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicDeleted#b08f290d to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventForumTopicDeleted"); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicDeleted#b08f290d: %w", err) } case "topic_info": if err := c.TopicInfo.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicDeleted#b08f290d: field topic_info: %w", err) } default: return b.Skip() } return nil }) } // GetTopicInfo returns value of TopicInfo field. func (c *ChatEventForumTopicDeleted) GetTopicInfo() (value ForumTopicInfo) { if c == nil { return } return c.TopicInfo } // ChatEventForumTopicPinned represents TL type `chatEventForumTopicPinned#7fc523ee`. type ChatEventForumTopicPinned struct { // Information about the old pinned topic; may be null OldTopicInfo ForumTopicInfo // Information about the new pinned topic; may be null NewTopicInfo ForumTopicInfo } // ChatEventForumTopicPinnedTypeID is TL type id of ChatEventForumTopicPinned. const ChatEventForumTopicPinnedTypeID = 0x7fc523ee // construct implements constructor of ChatEventActionClass. func (c ChatEventForumTopicPinned) construct() ChatEventActionClass { return &c } // Ensuring interfaces in compile-time for ChatEventForumTopicPinned. var ( _ bin.Encoder = &ChatEventForumTopicPinned{} _ bin.Decoder = &ChatEventForumTopicPinned{} _ bin.BareEncoder = &ChatEventForumTopicPinned{} _ bin.BareDecoder = &ChatEventForumTopicPinned{} _ ChatEventActionClass = &ChatEventForumTopicPinned{} ) func (c *ChatEventForumTopicPinned) Zero() bool { if c == nil { return true } if !(c.OldTopicInfo.Zero()) { return false } if !(c.NewTopicInfo.Zero()) { return false } return true } // String implements fmt.Stringer. func (c *ChatEventForumTopicPinned) String() string { if c == nil { return "ChatEventForumTopicPinned(nil)" } type Alias ChatEventForumTopicPinned return fmt.Sprintf("ChatEventForumTopicPinned%+v", Alias(*c)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*ChatEventForumTopicPinned) TypeID() uint32 { return ChatEventForumTopicPinnedTypeID } // TypeName returns name of type in TL schema. func (*ChatEventForumTopicPinned) TypeName() string { return "chatEventForumTopicPinned" } // TypeInfo returns info about TL type. func (c *ChatEventForumTopicPinned) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "chatEventForumTopicPinned", ID: ChatEventForumTopicPinnedTypeID, } if c == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "OldTopicInfo", SchemaName: "old_topic_info", }, { Name: "NewTopicInfo", SchemaName: "new_topic_info", }, } return typ } // Encode implements bin.Encoder. func (c *ChatEventForumTopicPinned) Encode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicPinned#7fc523ee as nil") } b.PutID(ChatEventForumTopicPinnedTypeID) return c.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (c *ChatEventForumTopicPinned) EncodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicPinned#7fc523ee as nil") } if err := c.OldTopicInfo.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicPinned#7fc523ee: field old_topic_info: %w", err) } if err := c.NewTopicInfo.Encode(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicPinned#7fc523ee: field new_topic_info: %w", err) } return nil } // Decode implements bin.Decoder. func (c *ChatEventForumTopicPinned) Decode(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicPinned#7fc523ee to nil") } if err := b.ConsumeID(ChatEventForumTopicPinnedTypeID); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicPinned#7fc523ee: %w", err) } return c.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (c *ChatEventForumTopicPinned) DecodeBare(b *bin.Buffer) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicPinned#7fc523ee to nil") } { if err := c.OldTopicInfo.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicPinned#7fc523ee: field old_topic_info: %w", err) } } { if err := c.NewTopicInfo.Decode(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicPinned#7fc523ee: field new_topic_info: %w", err) } } return nil } // EncodeTDLibJSON implements tdjson.TDLibEncoder. func (c *ChatEventForumTopicPinned) EncodeTDLibJSON(b tdjson.Encoder) error { if c == nil { return fmt.Errorf("can't encode chatEventForumTopicPinned#7fc523ee as nil") } b.ObjStart() b.PutID("chatEventForumTopicPinned") b.Comma() b.FieldStart("old_topic_info") if err := c.OldTopicInfo.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicPinned#7fc523ee: field old_topic_info: %w", err) } b.Comma() b.FieldStart("new_topic_info") if err := c.NewTopicInfo.EncodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to encode chatEventForumTopicPinned#7fc523ee: field new_topic_info: %w", err) } b.Comma() b.StripComma() b.ObjEnd() return nil } // DecodeTDLibJSON implements tdjson.TDLibDecoder. func (c *ChatEventForumTopicPinned) DecodeTDLibJSON(b tdjson.Decoder) error { if c == nil { return fmt.Errorf("can't decode chatEventForumTopicPinned#7fc523ee to nil") } return b.Obj(func(b tdjson.Decoder, key []byte) error { switch string(key) { case tdjson.TypeField: if err := b.ConsumeID("chatEventForumTopicPinned"); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicPinned#7fc523ee: %w", err) } case "old_topic_info": if err := c.OldTopicInfo.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicPinned#7fc523ee: field old_topic_info: %w", err) } case "new_topic_info": if err := c.NewTopicInfo.DecodeTDLibJSON(b); err != nil { return fmt.Errorf("unable to decode chatEventForumTopicPinned#7fc523ee: field new_topic_info: %w", err) } default: return b.Skip() } return nil }) } // GetOldTopicInfo returns value of OldTopicInfo field. func (c *ChatEventForumTopicPinned) GetOldTopicInfo() (value ForumTopicInfo) { if c == nil { return } return c.OldTopicInfo } // GetNewTopicInfo returns value of NewTopicInfo field. func (c *ChatEventForumTopicPinned) GetNewTopicInfo() (value ForumTopicInfo) { if c == nil { return } return c.NewTopicInfo } // ChatEventActionClassName is schema name of ChatEventActionClass. const ChatEventActionClassName = "ChatEventAction" // ChatEventActionClass represents ChatEventAction generic type. // // Example: // // g, err := tdapi.DecodeChatEventAction(buf) // if err != nil { // panic(err) // } // switch v := g.(type) { // case *tdapi.ChatEventMessageEdited: // chatEventMessageEdited#e64ff5f8 // case *tdapi.ChatEventMessageDeleted: // chatEventMessageDeleted#37bfcd73 // case *tdapi.ChatEventMessagePinned: // chatEventMessagePinned#1a26ad1a // case *tdapi.ChatEventMessageUnpinned: // chatEventMessageUnpinned#e9943b17 // case *tdapi.ChatEventPollStopped: // chatEventPollStopped#77cc8be5 // case *tdapi.ChatEventMemberJoined: // chatEventMemberJoined#f1f70924 // case *tdapi.ChatEventMemberJoinedByInviteLink: // chatEventMemberJoinedByInviteLink#a9d6dd7a // case *tdapi.ChatEventMemberJoinedByRequest: // chatEventMemberJoinedByRequest#9dc87e3f // case *tdapi.ChatEventMemberInvited: // chatEventMemberInvited#38d7bfc9 // case *tdapi.ChatEventMemberLeft: // chatEventMemberLeft#c778400f // case *tdapi.ChatEventMemberPromoted: // chatEventMemberPromoted#1f4f6861 // case *tdapi.ChatEventMemberRestricted: // chatEventMemberRestricted#5f951e05 // case *tdapi.ChatEventMemberSubscriptionExtended: // chatEventMemberSubscriptionExtended#bbfab002 // case *tdapi.ChatEventAvailableReactionsChanged: // chatEventAvailableReactionsChanged#97b8e0bf // case *tdapi.ChatEventBackgroundChanged: // chatEventBackgroundChanged#b6ed6d38 // case *tdapi.ChatEventDescriptionChanged: // chatEventDescriptionChanged#254cf1e // case *tdapi.ChatEventEmojiStatusChanged: // chatEventEmojiStatusChanged#83e97b1e // case *tdapi.ChatEventLinkedChatChanged: // chatEventLinkedChatChanged#6b2271af // case *tdapi.ChatEventLocationChanged: // chatEventLocationChanged#e7cdfd4e // case *tdapi.ChatEventMessageAutoDeleteTimeChanged: // chatEventMessageAutoDeleteTimeChanged#1083f24 // case *tdapi.ChatEventPermissionsChanged: // chatEventPermissionsChanged#b1d337a8 // case *tdapi.ChatEventPhotoChanged: // chatEventPhotoChanged#cfa062c3 // case *tdapi.ChatEventSlowModeDelayChanged: // chatEventSlowModeDelayChanged#9d763c0b // case *tdapi.ChatEventStickerSetChanged: // chatEventStickerSetChanged#b5e7558f // case *tdapi.ChatEventCustomEmojiStickerSetChanged: // chatEventCustomEmojiStickerSetChanged#70c431b // case *tdapi.ChatEventTitleChanged: // chatEventTitleChanged#43990ad2 // case *tdapi.ChatEventUsernameChanged: // chatEventUsernameChanged#6707b56b // case *tdapi.ChatEventActiveUsernamesChanged: // chatEventActiveUsernamesChanged#95e54656 // case *tdapi.ChatEventAccentColorChanged: // chatEventAccentColorChanged#e6837733 // case *tdapi.ChatEventProfileAccentColorChanged: // chatEventProfileAccentColorChanged#a5b8da64 // case *tdapi.ChatEventHasProtectedContentToggled: // chatEventHasProtectedContentToggled#f5044201 // case *tdapi.ChatEventInvitesToggled: // chatEventInvitesToggled#fc45966b // case *tdapi.ChatEventIsAllHistoryAvailableToggled: // chatEventIsAllHistoryAvailableToggled#a0b03c15 // case *tdapi.ChatEventHasAggressiveAntiSpamEnabledToggled: // chatEventHasAggressiveAntiSpamEnabledToggled#f8875702 // case *tdapi.ChatEventSignMessagesToggled: // chatEventSignMessagesToggled#b1b9281e // case *tdapi.ChatEventShowMessageSenderToggled: // chatEventShowMessageSenderToggled#d0a747e3 // case *tdapi.ChatEventAutomaticTranslationToggled: // chatEventAutomaticTranslationToggled#b927656 // case *tdapi.ChatEventInviteLinkEdited: // chatEventInviteLinkEdited#e4920d62 // case *tdapi.ChatEventInviteLinkRevoked: // chatEventInviteLinkRevoked#a1dbffe3 // case *tdapi.ChatEventInviteLinkDeleted: // chatEventInviteLinkDeleted#acda6167 // case *tdapi.ChatEventVideoChatCreated: // chatEventVideoChatCreated#6ca68a7b // case *tdapi.ChatEventVideoChatEnded: // chatEventVideoChatEnded#61286c48 // case *tdapi.ChatEventVideoChatMuteNewParticipantsToggled: // chatEventVideoChatMuteNewParticipantsToggled#f87507fe // case *tdapi.ChatEventVideoChatParticipantIsMutedToggled: // chatEventVideoChatParticipantIsMutedToggled#1f1058f7 // case *tdapi.ChatEventVideoChatParticipantVolumeLevelChanged: // chatEventVideoChatParticipantVolumeLevelChanged#436f92be // case *tdapi.ChatEventIsForumToggled: // chatEventIsForumToggled#5a63d119 // case *tdapi.ChatEventForumTopicCreated: // chatEventForumTopicCreated#7785fb42 // case *tdapi.ChatEventForumTopicEdited: // chatEventForumTopicEdited#60da2c0c // case *tdapi.ChatEventForumTopicToggleIsClosed: // chatEventForumTopicToggleIsClosed#c69e4d3a // case *tdapi.ChatEventForumTopicToggleIsHidden: // chatEventForumTopicToggleIsHidden#a015ef2e // case *tdapi.ChatEventForumTopicDeleted: // chatEventForumTopicDeleted#b08f290d // case *tdapi.ChatEventForumTopicPinned: // chatEventForumTopicPinned#7fc523ee // default: panic(v) // } type ChatEventActionClass interface { bin.Encoder bin.Decoder bin.BareEncoder bin.BareDecoder construct() ChatEventActionClass // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. TypeID() uint32 // TypeName returns name of type in TL schema. TypeName() string // String implements fmt.Stringer. String() string // Zero returns true if current object has a zero value. Zero() bool EncodeTDLibJSON(b tdjson.Encoder) error DecodeTDLibJSON(b tdjson.Decoder) error } // DecodeChatEventAction implements binary de-serialization for ChatEventActionClass. func DecodeChatEventAction(buf *bin.Buffer) (ChatEventActionClass, error) { id, err := buf.PeekID() if err != nil { return nil, err } switch id { case ChatEventMessageEditedTypeID: // Decoding chatEventMessageEdited#e64ff5f8. v := ChatEventMessageEdited{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMessageDeletedTypeID: // Decoding chatEventMessageDeleted#37bfcd73. v := ChatEventMessageDeleted{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMessagePinnedTypeID: // Decoding chatEventMessagePinned#1a26ad1a. v := ChatEventMessagePinned{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMessageUnpinnedTypeID: // Decoding chatEventMessageUnpinned#e9943b17. v := ChatEventMessageUnpinned{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventPollStoppedTypeID: // Decoding chatEventPollStopped#77cc8be5. v := ChatEventPollStopped{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMemberJoinedTypeID: // Decoding chatEventMemberJoined#f1f70924. v := ChatEventMemberJoined{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMemberJoinedByInviteLinkTypeID: // Decoding chatEventMemberJoinedByInviteLink#a9d6dd7a. v := ChatEventMemberJoinedByInviteLink{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMemberJoinedByRequestTypeID: // Decoding chatEventMemberJoinedByRequest#9dc87e3f. v := ChatEventMemberJoinedByRequest{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMemberInvitedTypeID: // Decoding chatEventMemberInvited#38d7bfc9. v := ChatEventMemberInvited{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMemberLeftTypeID: // Decoding chatEventMemberLeft#c778400f. v := ChatEventMemberLeft{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMemberPromotedTypeID: // Decoding chatEventMemberPromoted#1f4f6861. v := ChatEventMemberPromoted{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMemberRestrictedTypeID: // Decoding chatEventMemberRestricted#5f951e05. v := ChatEventMemberRestricted{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMemberSubscriptionExtendedTypeID: // Decoding chatEventMemberSubscriptionExtended#bbfab002. v := ChatEventMemberSubscriptionExtended{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventAvailableReactionsChangedTypeID: // Decoding chatEventAvailableReactionsChanged#97b8e0bf. v := ChatEventAvailableReactionsChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventBackgroundChangedTypeID: // Decoding chatEventBackgroundChanged#b6ed6d38. v := ChatEventBackgroundChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventDescriptionChangedTypeID: // Decoding chatEventDescriptionChanged#254cf1e. v := ChatEventDescriptionChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventEmojiStatusChangedTypeID: // Decoding chatEventEmojiStatusChanged#83e97b1e. v := ChatEventEmojiStatusChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventLinkedChatChangedTypeID: // Decoding chatEventLinkedChatChanged#6b2271af. v := ChatEventLinkedChatChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventLocationChangedTypeID: // Decoding chatEventLocationChanged#e7cdfd4e. v := ChatEventLocationChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventMessageAutoDeleteTimeChangedTypeID: // Decoding chatEventMessageAutoDeleteTimeChanged#1083f24. v := ChatEventMessageAutoDeleteTimeChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventPermissionsChangedTypeID: // Decoding chatEventPermissionsChanged#b1d337a8. v := ChatEventPermissionsChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventPhotoChangedTypeID: // Decoding chatEventPhotoChanged#cfa062c3. v := ChatEventPhotoChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventSlowModeDelayChangedTypeID: // Decoding chatEventSlowModeDelayChanged#9d763c0b. v := ChatEventSlowModeDelayChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventStickerSetChangedTypeID: // Decoding chatEventStickerSetChanged#b5e7558f. v := ChatEventStickerSetChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventCustomEmojiStickerSetChangedTypeID: // Decoding chatEventCustomEmojiStickerSetChanged#70c431b. v := ChatEventCustomEmojiStickerSetChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventTitleChangedTypeID: // Decoding chatEventTitleChanged#43990ad2. v := ChatEventTitleChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventUsernameChangedTypeID: // Decoding chatEventUsernameChanged#6707b56b. v := ChatEventUsernameChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventActiveUsernamesChangedTypeID: // Decoding chatEventActiveUsernamesChanged#95e54656. v := ChatEventActiveUsernamesChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventAccentColorChangedTypeID: // Decoding chatEventAccentColorChanged#e6837733. v := ChatEventAccentColorChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventProfileAccentColorChangedTypeID: // Decoding chatEventProfileAccentColorChanged#a5b8da64. v := ChatEventProfileAccentColorChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventHasProtectedContentToggledTypeID: // Decoding chatEventHasProtectedContentToggled#f5044201. v := ChatEventHasProtectedContentToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventInvitesToggledTypeID: // Decoding chatEventInvitesToggled#fc45966b. v := ChatEventInvitesToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventIsAllHistoryAvailableToggledTypeID: // Decoding chatEventIsAllHistoryAvailableToggled#a0b03c15. v := ChatEventIsAllHistoryAvailableToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventHasAggressiveAntiSpamEnabledToggledTypeID: // Decoding chatEventHasAggressiveAntiSpamEnabledToggled#f8875702. v := ChatEventHasAggressiveAntiSpamEnabledToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventSignMessagesToggledTypeID: // Decoding chatEventSignMessagesToggled#b1b9281e. v := ChatEventSignMessagesToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventShowMessageSenderToggledTypeID: // Decoding chatEventShowMessageSenderToggled#d0a747e3. v := ChatEventShowMessageSenderToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventAutomaticTranslationToggledTypeID: // Decoding chatEventAutomaticTranslationToggled#b927656. v := ChatEventAutomaticTranslationToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventInviteLinkEditedTypeID: // Decoding chatEventInviteLinkEdited#e4920d62. v := ChatEventInviteLinkEdited{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventInviteLinkRevokedTypeID: // Decoding chatEventInviteLinkRevoked#a1dbffe3. v := ChatEventInviteLinkRevoked{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventInviteLinkDeletedTypeID: // Decoding chatEventInviteLinkDeleted#acda6167. v := ChatEventInviteLinkDeleted{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventVideoChatCreatedTypeID: // Decoding chatEventVideoChatCreated#6ca68a7b. v := ChatEventVideoChatCreated{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventVideoChatEndedTypeID: // Decoding chatEventVideoChatEnded#61286c48. v := ChatEventVideoChatEnded{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventVideoChatMuteNewParticipantsToggledTypeID: // Decoding chatEventVideoChatMuteNewParticipantsToggled#f87507fe. v := ChatEventVideoChatMuteNewParticipantsToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventVideoChatParticipantIsMutedToggledTypeID: // Decoding chatEventVideoChatParticipantIsMutedToggled#1f1058f7. v := ChatEventVideoChatParticipantIsMutedToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventVideoChatParticipantVolumeLevelChangedTypeID: // Decoding chatEventVideoChatParticipantVolumeLevelChanged#436f92be. v := ChatEventVideoChatParticipantVolumeLevelChanged{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventIsForumToggledTypeID: // Decoding chatEventIsForumToggled#5a63d119. v := ChatEventIsForumToggled{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventForumTopicCreatedTypeID: // Decoding chatEventForumTopicCreated#7785fb42. v := ChatEventForumTopicCreated{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventForumTopicEditedTypeID: // Decoding chatEventForumTopicEdited#60da2c0c. v := ChatEventForumTopicEdited{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventForumTopicToggleIsClosedTypeID: // Decoding chatEventForumTopicToggleIsClosed#c69e4d3a. v := ChatEventForumTopicToggleIsClosed{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventForumTopicToggleIsHiddenTypeID: // Decoding chatEventForumTopicToggleIsHidden#a015ef2e. v := ChatEventForumTopicToggleIsHidden{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventForumTopicDeletedTypeID: // Decoding chatEventForumTopicDeleted#b08f290d. v := ChatEventForumTopicDeleted{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case ChatEventForumTopicPinnedTypeID: // Decoding chatEventForumTopicPinned#7fc523ee. v := ChatEventForumTopicPinned{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil default: return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", bin.NewUnexpectedID(id)) } } // DecodeTDLibJSONChatEventAction implements binary de-serialization for ChatEventActionClass. func DecodeTDLibJSONChatEventAction(buf tdjson.Decoder) (ChatEventActionClass, error) { id, err := buf.FindTypeID() if err != nil { return nil, err } switch id { case "chatEventMessageEdited": // Decoding chatEventMessageEdited#e64ff5f8. v := ChatEventMessageEdited{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMessageDeleted": // Decoding chatEventMessageDeleted#37bfcd73. v := ChatEventMessageDeleted{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMessagePinned": // Decoding chatEventMessagePinned#1a26ad1a. v := ChatEventMessagePinned{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMessageUnpinned": // Decoding chatEventMessageUnpinned#e9943b17. v := ChatEventMessageUnpinned{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventPollStopped": // Decoding chatEventPollStopped#77cc8be5. v := ChatEventPollStopped{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMemberJoined": // Decoding chatEventMemberJoined#f1f70924. v := ChatEventMemberJoined{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMemberJoinedByInviteLink": // Decoding chatEventMemberJoinedByInviteLink#a9d6dd7a. v := ChatEventMemberJoinedByInviteLink{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMemberJoinedByRequest": // Decoding chatEventMemberJoinedByRequest#9dc87e3f. v := ChatEventMemberJoinedByRequest{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMemberInvited": // Decoding chatEventMemberInvited#38d7bfc9. v := ChatEventMemberInvited{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMemberLeft": // Decoding chatEventMemberLeft#c778400f. v := ChatEventMemberLeft{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMemberPromoted": // Decoding chatEventMemberPromoted#1f4f6861. v := ChatEventMemberPromoted{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMemberRestricted": // Decoding chatEventMemberRestricted#5f951e05. v := ChatEventMemberRestricted{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMemberSubscriptionExtended": // Decoding chatEventMemberSubscriptionExtended#bbfab002. v := ChatEventMemberSubscriptionExtended{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventAvailableReactionsChanged": // Decoding chatEventAvailableReactionsChanged#97b8e0bf. v := ChatEventAvailableReactionsChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventBackgroundChanged": // Decoding chatEventBackgroundChanged#b6ed6d38. v := ChatEventBackgroundChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventDescriptionChanged": // Decoding chatEventDescriptionChanged#254cf1e. v := ChatEventDescriptionChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventEmojiStatusChanged": // Decoding chatEventEmojiStatusChanged#83e97b1e. v := ChatEventEmojiStatusChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventLinkedChatChanged": // Decoding chatEventLinkedChatChanged#6b2271af. v := ChatEventLinkedChatChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventLocationChanged": // Decoding chatEventLocationChanged#e7cdfd4e. v := ChatEventLocationChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventMessageAutoDeleteTimeChanged": // Decoding chatEventMessageAutoDeleteTimeChanged#1083f24. v := ChatEventMessageAutoDeleteTimeChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventPermissionsChanged": // Decoding chatEventPermissionsChanged#b1d337a8. v := ChatEventPermissionsChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventPhotoChanged": // Decoding chatEventPhotoChanged#cfa062c3. v := ChatEventPhotoChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventSlowModeDelayChanged": // Decoding chatEventSlowModeDelayChanged#9d763c0b. v := ChatEventSlowModeDelayChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventStickerSetChanged": // Decoding chatEventStickerSetChanged#b5e7558f. v := ChatEventStickerSetChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventCustomEmojiStickerSetChanged": // Decoding chatEventCustomEmojiStickerSetChanged#70c431b. v := ChatEventCustomEmojiStickerSetChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventTitleChanged": // Decoding chatEventTitleChanged#43990ad2. v := ChatEventTitleChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventUsernameChanged": // Decoding chatEventUsernameChanged#6707b56b. v := ChatEventUsernameChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventActiveUsernamesChanged": // Decoding chatEventActiveUsernamesChanged#95e54656. v := ChatEventActiveUsernamesChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventAccentColorChanged": // Decoding chatEventAccentColorChanged#e6837733. v := ChatEventAccentColorChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventProfileAccentColorChanged": // Decoding chatEventProfileAccentColorChanged#a5b8da64. v := ChatEventProfileAccentColorChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventHasProtectedContentToggled": // Decoding chatEventHasProtectedContentToggled#f5044201. v := ChatEventHasProtectedContentToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventInvitesToggled": // Decoding chatEventInvitesToggled#fc45966b. v := ChatEventInvitesToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventIsAllHistoryAvailableToggled": // Decoding chatEventIsAllHistoryAvailableToggled#a0b03c15. v := ChatEventIsAllHistoryAvailableToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventHasAggressiveAntiSpamEnabledToggled": // Decoding chatEventHasAggressiveAntiSpamEnabledToggled#f8875702. v := ChatEventHasAggressiveAntiSpamEnabledToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventSignMessagesToggled": // Decoding chatEventSignMessagesToggled#b1b9281e. v := ChatEventSignMessagesToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventShowMessageSenderToggled": // Decoding chatEventShowMessageSenderToggled#d0a747e3. v := ChatEventShowMessageSenderToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventAutomaticTranslationToggled": // Decoding chatEventAutomaticTranslationToggled#b927656. v := ChatEventAutomaticTranslationToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventInviteLinkEdited": // Decoding chatEventInviteLinkEdited#e4920d62. v := ChatEventInviteLinkEdited{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventInviteLinkRevoked": // Decoding chatEventInviteLinkRevoked#a1dbffe3. v := ChatEventInviteLinkRevoked{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventInviteLinkDeleted": // Decoding chatEventInviteLinkDeleted#acda6167. v := ChatEventInviteLinkDeleted{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventVideoChatCreated": // Decoding chatEventVideoChatCreated#6ca68a7b. v := ChatEventVideoChatCreated{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventVideoChatEnded": // Decoding chatEventVideoChatEnded#61286c48. v := ChatEventVideoChatEnded{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventVideoChatMuteNewParticipantsToggled": // Decoding chatEventVideoChatMuteNewParticipantsToggled#f87507fe. v := ChatEventVideoChatMuteNewParticipantsToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventVideoChatParticipantIsMutedToggled": // Decoding chatEventVideoChatParticipantIsMutedToggled#1f1058f7. v := ChatEventVideoChatParticipantIsMutedToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventVideoChatParticipantVolumeLevelChanged": // Decoding chatEventVideoChatParticipantVolumeLevelChanged#436f92be. v := ChatEventVideoChatParticipantVolumeLevelChanged{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventIsForumToggled": // Decoding chatEventIsForumToggled#5a63d119. v := ChatEventIsForumToggled{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventForumTopicCreated": // Decoding chatEventForumTopicCreated#7785fb42. v := ChatEventForumTopicCreated{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventForumTopicEdited": // Decoding chatEventForumTopicEdited#60da2c0c. v := ChatEventForumTopicEdited{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventForumTopicToggleIsClosed": // Decoding chatEventForumTopicToggleIsClosed#c69e4d3a. v := ChatEventForumTopicToggleIsClosed{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventForumTopicToggleIsHidden": // Decoding chatEventForumTopicToggleIsHidden#a015ef2e. v := ChatEventForumTopicToggleIsHidden{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventForumTopicDeleted": // Decoding chatEventForumTopicDeleted#b08f290d. v := ChatEventForumTopicDeleted{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil case "chatEventForumTopicPinned": // Decoding chatEventForumTopicPinned#7fc523ee. v := ChatEventForumTopicPinned{} if err := v.DecodeTDLibJSON(buf); err != nil { return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", err) } return &v, nil default: return nil, fmt.Errorf("unable to decode ChatEventActionClass: %w", tdjson.NewUnexpectedID(id)) } } // ChatEventAction boxes the ChatEventActionClass providing a helper. type ChatEventActionBox struct { ChatEventAction ChatEventActionClass } // Decode implements bin.Decoder for ChatEventActionBox. func (b *ChatEventActionBox) Decode(buf *bin.Buffer) error { if b == nil { return fmt.Errorf("unable to decode ChatEventActionBox to nil") } v, err := DecodeChatEventAction(buf) if err != nil { return fmt.Errorf("unable to decode boxed value: %w", err) } b.ChatEventAction = v return nil } // Encode implements bin.Encode for ChatEventActionBox. func (b *ChatEventActionBox) Encode(buf *bin.Buffer) error { if b == nil || b.ChatEventAction == nil { return fmt.Errorf("unable to encode ChatEventActionClass as nil") } return b.ChatEventAction.Encode(buf) } // DecodeTDLibJSON implements bin.Decoder for ChatEventActionBox. func (b *ChatEventActionBox) DecodeTDLibJSON(buf tdjson.Decoder) error { if b == nil { return fmt.Errorf("unable to decode ChatEventActionBox to nil") } v, err := DecodeTDLibJSONChatEventAction(buf) if err != nil { return fmt.Errorf("unable to decode boxed value: %w", err) } b.ChatEventAction = v return nil } // EncodeTDLibJSON implements bin.Encode for ChatEventActionBox. func (b *ChatEventActionBox) EncodeTDLibJSON(buf tdjson.Encoder) error { if b == nil || b.ChatEventAction == nil { return fmt.Errorf("unable to encode ChatEventActionClass as nil") } return b.ChatEventAction.EncodeTDLibJSON(buf) }