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

1049 lines
26 KiB
Go

// 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{}
)
// Story represents TL type `story#cd0d1d04`.
type Story struct {
// Unique story identifier among stories posted by the given chat
ID int32
// Identifier of the chat that posted the story
PosterChatID int64
// Identifier of the user or chat that posted the story; may be null if the story is
// posted on behalf of the poster_chat_id
PosterID MessageSenderClass
// Point in time (Unix timestamp) when the story was published
Date int32
// True, if the story is being posted by the current user
IsBeingPosted bool
// True, if the story is being edited by the current user
IsBeingEdited bool
// True, if the story was edited
IsEdited bool
// True, if the story is saved in the profile of the chat that posted it and will be
// available there after expiration
IsPostedToChatPage bool
// True, if the story is visible only for the current user
IsVisibleOnlyForSelf bool
// True, if the story can be deleted
CanBeDeleted bool
// True, if the story can be edited
CanBeEdited bool
// True, if the story can be forwarded as a message. Otherwise, screenshots and saving of
// the story content must be also forbidden
CanBeForwarded bool
// True, if the story can be replied in the chat with the user that posted the story
CanBeReplied bool
// True, if the story's is_posted_to_chat_page value can be changed
CanToggleIsPostedToChatPage bool
// True, if the story statistics are available through getStoryStatistics
CanGetStatistics bool
// True, if interactions with the story can be received through getStoryInteractions
CanGetInteractions bool
// True, if users viewed the story can't be received, because the story has expired more
// than getOption("story_viewers_expiration_delay") seconds ago
HasExpiredViewers bool
// Information about the original story; may be null if the story wasn't reposted
RepostInfo StoryRepostInfo
// Information about interactions with the story; may be null if the story isn't owned or
// there were no interactions
InteractionInfo StoryInteractionInfo
// Type of the chosen reaction; may be null if none
ChosenReactionType ReactionTypeClass
// Privacy rules affecting story visibility; may be approximate for non-owned stories
PrivacySettings StoryPrivacySettingsClass
// Content of the story
Content StoryContentClass
// Clickable areas to be shown on the story content
Areas []StoryArea
// Caption of the story
Caption FormattedText
}
// StoryTypeID is TL type id of Story.
const StoryTypeID = 0xcd0d1d04
// Ensuring interfaces in compile-time for Story.
var (
_ bin.Encoder = &Story{}
_ bin.Decoder = &Story{}
_ bin.BareEncoder = &Story{}
_ bin.BareDecoder = &Story{}
)
func (s *Story) Zero() bool {
if s == nil {
return true
}
if !(s.ID == 0) {
return false
}
if !(s.PosterChatID == 0) {
return false
}
if !(s.PosterID == nil) {
return false
}
if !(s.Date == 0) {
return false
}
if !(s.IsBeingPosted == false) {
return false
}
if !(s.IsBeingEdited == false) {
return false
}
if !(s.IsEdited == false) {
return false
}
if !(s.IsPostedToChatPage == false) {
return false
}
if !(s.IsVisibleOnlyForSelf == false) {
return false
}
if !(s.CanBeDeleted == false) {
return false
}
if !(s.CanBeEdited == false) {
return false
}
if !(s.CanBeForwarded == false) {
return false
}
if !(s.CanBeReplied == false) {
return false
}
if !(s.CanToggleIsPostedToChatPage == false) {
return false
}
if !(s.CanGetStatistics == false) {
return false
}
if !(s.CanGetInteractions == false) {
return false
}
if !(s.HasExpiredViewers == false) {
return false
}
if !(s.RepostInfo.Zero()) {
return false
}
if !(s.InteractionInfo.Zero()) {
return false
}
if !(s.ChosenReactionType == nil) {
return false
}
if !(s.PrivacySettings == nil) {
return false
}
if !(s.Content == nil) {
return false
}
if !(s.Areas == nil) {
return false
}
if !(s.Caption.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (s *Story) String() string {
if s == nil {
return "Story(nil)"
}
type Alias Story
return fmt.Sprintf("Story%+v", Alias(*s))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*Story) TypeID() uint32 {
return StoryTypeID
}
// TypeName returns name of type in TL schema.
func (*Story) TypeName() string {
return "story"
}
// TypeInfo returns info about TL type.
func (s *Story) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "story",
ID: StoryTypeID,
}
if s == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "ID",
SchemaName: "id",
},
{
Name: "PosterChatID",
SchemaName: "poster_chat_id",
},
{
Name: "PosterID",
SchemaName: "poster_id",
},
{
Name: "Date",
SchemaName: "date",
},
{
Name: "IsBeingPosted",
SchemaName: "is_being_posted",
},
{
Name: "IsBeingEdited",
SchemaName: "is_being_edited",
},
{
Name: "IsEdited",
SchemaName: "is_edited",
},
{
Name: "IsPostedToChatPage",
SchemaName: "is_posted_to_chat_page",
},
{
Name: "IsVisibleOnlyForSelf",
SchemaName: "is_visible_only_for_self",
},
{
Name: "CanBeDeleted",
SchemaName: "can_be_deleted",
},
{
Name: "CanBeEdited",
SchemaName: "can_be_edited",
},
{
Name: "CanBeForwarded",
SchemaName: "can_be_forwarded",
},
{
Name: "CanBeReplied",
SchemaName: "can_be_replied",
},
{
Name: "CanToggleIsPostedToChatPage",
SchemaName: "can_toggle_is_posted_to_chat_page",
},
{
Name: "CanGetStatistics",
SchemaName: "can_get_statistics",
},
{
Name: "CanGetInteractions",
SchemaName: "can_get_interactions",
},
{
Name: "HasExpiredViewers",
SchemaName: "has_expired_viewers",
},
{
Name: "RepostInfo",
SchemaName: "repost_info",
},
{
Name: "InteractionInfo",
SchemaName: "interaction_info",
},
{
Name: "ChosenReactionType",
SchemaName: "chosen_reaction_type",
},
{
Name: "PrivacySettings",
SchemaName: "privacy_settings",
},
{
Name: "Content",
SchemaName: "content",
},
{
Name: "Areas",
SchemaName: "areas",
},
{
Name: "Caption",
SchemaName: "caption",
},
}
return typ
}
// Encode implements bin.Encoder.
func (s *Story) Encode(b *bin.Buffer) error {
if s == nil {
return fmt.Errorf("can't encode story#cd0d1d04 as nil")
}
b.PutID(StoryTypeID)
return s.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (s *Story) EncodeBare(b *bin.Buffer) error {
if s == nil {
return fmt.Errorf("can't encode story#cd0d1d04 as nil")
}
b.PutInt32(s.ID)
b.PutInt53(s.PosterChatID)
if s.PosterID == nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field poster_id is nil")
}
if err := s.PosterID.Encode(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field poster_id: %w", err)
}
b.PutInt32(s.Date)
b.PutBool(s.IsBeingPosted)
b.PutBool(s.IsBeingEdited)
b.PutBool(s.IsEdited)
b.PutBool(s.IsPostedToChatPage)
b.PutBool(s.IsVisibleOnlyForSelf)
b.PutBool(s.CanBeDeleted)
b.PutBool(s.CanBeEdited)
b.PutBool(s.CanBeForwarded)
b.PutBool(s.CanBeReplied)
b.PutBool(s.CanToggleIsPostedToChatPage)
b.PutBool(s.CanGetStatistics)
b.PutBool(s.CanGetInteractions)
b.PutBool(s.HasExpiredViewers)
if err := s.RepostInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field repost_info: %w", err)
}
if err := s.InteractionInfo.Encode(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field interaction_info: %w", err)
}
if s.ChosenReactionType == nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field chosen_reaction_type is nil")
}
if err := s.ChosenReactionType.Encode(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field chosen_reaction_type: %w", err)
}
if s.PrivacySettings == nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field privacy_settings is nil")
}
if err := s.PrivacySettings.Encode(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field privacy_settings: %w", err)
}
if s.Content == nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field content is nil")
}
if err := s.Content.Encode(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field content: %w", err)
}
b.PutInt(len(s.Areas))
for idx, v := range s.Areas {
if err := v.EncodeBare(b); err != nil {
return fmt.Errorf("unable to encode bare story#cd0d1d04: field areas element with index %d: %w", idx, err)
}
}
if err := s.Caption.Encode(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field caption: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (s *Story) Decode(b *bin.Buffer) error {
if s == nil {
return fmt.Errorf("can't decode story#cd0d1d04 to nil")
}
if err := b.ConsumeID(StoryTypeID); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: %w", err)
}
return s.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (s *Story) DecodeBare(b *bin.Buffer) error {
if s == nil {
return fmt.Errorf("can't decode story#cd0d1d04 to nil")
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field id: %w", err)
}
s.ID = value
}
{
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field poster_chat_id: %w", err)
}
s.PosterChatID = value
}
{
value, err := DecodeMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field poster_id: %w", err)
}
s.PosterID = value
}
{
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field date: %w", err)
}
s.Date = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_being_posted: %w", err)
}
s.IsBeingPosted = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_being_edited: %w", err)
}
s.IsBeingEdited = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_edited: %w", err)
}
s.IsEdited = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_posted_to_chat_page: %w", err)
}
s.IsPostedToChatPage = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_visible_only_for_self: %w", err)
}
s.IsVisibleOnlyForSelf = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_be_deleted: %w", err)
}
s.CanBeDeleted = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_be_edited: %w", err)
}
s.CanBeEdited = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_be_forwarded: %w", err)
}
s.CanBeForwarded = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_be_replied: %w", err)
}
s.CanBeReplied = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_toggle_is_posted_to_chat_page: %w", err)
}
s.CanToggleIsPostedToChatPage = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_get_statistics: %w", err)
}
s.CanGetStatistics = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_get_interactions: %w", err)
}
s.CanGetInteractions = value
}
{
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field has_expired_viewers: %w", err)
}
s.HasExpiredViewers = value
}
{
if err := s.RepostInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field repost_info: %w", err)
}
}
{
if err := s.InteractionInfo.Decode(b); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field interaction_info: %w", err)
}
}
{
value, err := DecodeReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field chosen_reaction_type: %w", err)
}
s.ChosenReactionType = value
}
{
value, err := DecodeStoryPrivacySettings(b)
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field privacy_settings: %w", err)
}
s.PrivacySettings = value
}
{
value, err := DecodeStoryContent(b)
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field content: %w", err)
}
s.Content = value
}
{
headerLen, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field areas: %w", err)
}
if headerLen > 0 {
s.Areas = make([]StoryArea, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
var value StoryArea
if err := value.DecodeBare(b); err != nil {
return fmt.Errorf("unable to decode bare story#cd0d1d04: field areas: %w", err)
}
s.Areas = append(s.Areas, value)
}
}
{
if err := s.Caption.Decode(b); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field caption: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (s *Story) EncodeTDLibJSON(b tdjson.Encoder) error {
if s == nil {
return fmt.Errorf("can't encode story#cd0d1d04 as nil")
}
b.ObjStart()
b.PutID("story")
b.Comma()
b.FieldStart("id")
b.PutInt32(s.ID)
b.Comma()
b.FieldStart("poster_chat_id")
b.PutInt53(s.PosterChatID)
b.Comma()
b.FieldStart("poster_id")
if s.PosterID == nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field poster_id is nil")
}
if err := s.PosterID.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field poster_id: %w", err)
}
b.Comma()
b.FieldStart("date")
b.PutInt32(s.Date)
b.Comma()
b.FieldStart("is_being_posted")
b.PutBool(s.IsBeingPosted)
b.Comma()
b.FieldStart("is_being_edited")
b.PutBool(s.IsBeingEdited)
b.Comma()
b.FieldStart("is_edited")
b.PutBool(s.IsEdited)
b.Comma()
b.FieldStart("is_posted_to_chat_page")
b.PutBool(s.IsPostedToChatPage)
b.Comma()
b.FieldStart("is_visible_only_for_self")
b.PutBool(s.IsVisibleOnlyForSelf)
b.Comma()
b.FieldStart("can_be_deleted")
b.PutBool(s.CanBeDeleted)
b.Comma()
b.FieldStart("can_be_edited")
b.PutBool(s.CanBeEdited)
b.Comma()
b.FieldStart("can_be_forwarded")
b.PutBool(s.CanBeForwarded)
b.Comma()
b.FieldStart("can_be_replied")
b.PutBool(s.CanBeReplied)
b.Comma()
b.FieldStart("can_toggle_is_posted_to_chat_page")
b.PutBool(s.CanToggleIsPostedToChatPage)
b.Comma()
b.FieldStart("can_get_statistics")
b.PutBool(s.CanGetStatistics)
b.Comma()
b.FieldStart("can_get_interactions")
b.PutBool(s.CanGetInteractions)
b.Comma()
b.FieldStart("has_expired_viewers")
b.PutBool(s.HasExpiredViewers)
b.Comma()
b.FieldStart("repost_info")
if err := s.RepostInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field repost_info: %w", err)
}
b.Comma()
b.FieldStart("interaction_info")
if err := s.InteractionInfo.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field interaction_info: %w", err)
}
b.Comma()
b.FieldStart("chosen_reaction_type")
if s.ChosenReactionType == nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field chosen_reaction_type is nil")
}
if err := s.ChosenReactionType.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field chosen_reaction_type: %w", err)
}
b.Comma()
b.FieldStart("privacy_settings")
if s.PrivacySettings == nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field privacy_settings is nil")
}
if err := s.PrivacySettings.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field privacy_settings: %w", err)
}
b.Comma()
b.FieldStart("content")
if s.Content == nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field content is nil")
}
if err := s.Content.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field content: %w", err)
}
b.Comma()
b.FieldStart("areas")
b.ArrStart()
for idx, v := range s.Areas {
if err := v.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field areas element with index %d: %w", idx, err)
}
b.Comma()
}
b.StripComma()
b.ArrEnd()
b.Comma()
b.FieldStart("caption")
if err := s.Caption.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode story#cd0d1d04: field caption: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (s *Story) DecodeTDLibJSON(b tdjson.Decoder) error {
if s == nil {
return fmt.Errorf("can't decode story#cd0d1d04 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("story"); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: %w", err)
}
case "id":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field id: %w", err)
}
s.ID = value
case "poster_chat_id":
value, err := b.Int53()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field poster_chat_id: %w", err)
}
s.PosterChatID = value
case "poster_id":
value, err := DecodeTDLibJSONMessageSender(b)
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field poster_id: %w", err)
}
s.PosterID = value
case "date":
value, err := b.Int32()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field date: %w", err)
}
s.Date = value
case "is_being_posted":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_being_posted: %w", err)
}
s.IsBeingPosted = value
case "is_being_edited":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_being_edited: %w", err)
}
s.IsBeingEdited = value
case "is_edited":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_edited: %w", err)
}
s.IsEdited = value
case "is_posted_to_chat_page":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_posted_to_chat_page: %w", err)
}
s.IsPostedToChatPage = value
case "is_visible_only_for_self":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field is_visible_only_for_self: %w", err)
}
s.IsVisibleOnlyForSelf = value
case "can_be_deleted":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_be_deleted: %w", err)
}
s.CanBeDeleted = value
case "can_be_edited":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_be_edited: %w", err)
}
s.CanBeEdited = value
case "can_be_forwarded":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_be_forwarded: %w", err)
}
s.CanBeForwarded = value
case "can_be_replied":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_be_replied: %w", err)
}
s.CanBeReplied = value
case "can_toggle_is_posted_to_chat_page":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_toggle_is_posted_to_chat_page: %w", err)
}
s.CanToggleIsPostedToChatPage = value
case "can_get_statistics":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_get_statistics: %w", err)
}
s.CanGetStatistics = value
case "can_get_interactions":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field can_get_interactions: %w", err)
}
s.CanGetInteractions = value
case "has_expired_viewers":
value, err := b.Bool()
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field has_expired_viewers: %w", err)
}
s.HasExpiredViewers = value
case "repost_info":
if err := s.RepostInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field repost_info: %w", err)
}
case "interaction_info":
if err := s.InteractionInfo.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field interaction_info: %w", err)
}
case "chosen_reaction_type":
value, err := DecodeTDLibJSONReactionType(b)
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field chosen_reaction_type: %w", err)
}
s.ChosenReactionType = value
case "privacy_settings":
value, err := DecodeTDLibJSONStoryPrivacySettings(b)
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field privacy_settings: %w", err)
}
s.PrivacySettings = value
case "content":
value, err := DecodeTDLibJSONStoryContent(b)
if err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field content: %w", err)
}
s.Content = value
case "areas":
if err := b.Arr(func(b tdjson.Decoder) error {
var value StoryArea
if err := value.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field areas: %w", err)
}
s.Areas = append(s.Areas, value)
return nil
}); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field areas: %w", err)
}
case "caption":
if err := s.Caption.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode story#cd0d1d04: field caption: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetID returns value of ID field.
func (s *Story) GetID() (value int32) {
if s == nil {
return
}
return s.ID
}
// GetPosterChatID returns value of PosterChatID field.
func (s *Story) GetPosterChatID() (value int64) {
if s == nil {
return
}
return s.PosterChatID
}
// GetPosterID returns value of PosterID field.
func (s *Story) GetPosterID() (value MessageSenderClass) {
if s == nil {
return
}
return s.PosterID
}
// GetDate returns value of Date field.
func (s *Story) GetDate() (value int32) {
if s == nil {
return
}
return s.Date
}
// GetIsBeingPosted returns value of IsBeingPosted field.
func (s *Story) GetIsBeingPosted() (value bool) {
if s == nil {
return
}
return s.IsBeingPosted
}
// GetIsBeingEdited returns value of IsBeingEdited field.
func (s *Story) GetIsBeingEdited() (value bool) {
if s == nil {
return
}
return s.IsBeingEdited
}
// GetIsEdited returns value of IsEdited field.
func (s *Story) GetIsEdited() (value bool) {
if s == nil {
return
}
return s.IsEdited
}
// GetIsPostedToChatPage returns value of IsPostedToChatPage field.
func (s *Story) GetIsPostedToChatPage() (value bool) {
if s == nil {
return
}
return s.IsPostedToChatPage
}
// GetIsVisibleOnlyForSelf returns value of IsVisibleOnlyForSelf field.
func (s *Story) GetIsVisibleOnlyForSelf() (value bool) {
if s == nil {
return
}
return s.IsVisibleOnlyForSelf
}
// GetCanBeDeleted returns value of CanBeDeleted field.
func (s *Story) GetCanBeDeleted() (value bool) {
if s == nil {
return
}
return s.CanBeDeleted
}
// GetCanBeEdited returns value of CanBeEdited field.
func (s *Story) GetCanBeEdited() (value bool) {
if s == nil {
return
}
return s.CanBeEdited
}
// GetCanBeForwarded returns value of CanBeForwarded field.
func (s *Story) GetCanBeForwarded() (value bool) {
if s == nil {
return
}
return s.CanBeForwarded
}
// GetCanBeReplied returns value of CanBeReplied field.
func (s *Story) GetCanBeReplied() (value bool) {
if s == nil {
return
}
return s.CanBeReplied
}
// GetCanToggleIsPostedToChatPage returns value of CanToggleIsPostedToChatPage field.
func (s *Story) GetCanToggleIsPostedToChatPage() (value bool) {
if s == nil {
return
}
return s.CanToggleIsPostedToChatPage
}
// GetCanGetStatistics returns value of CanGetStatistics field.
func (s *Story) GetCanGetStatistics() (value bool) {
if s == nil {
return
}
return s.CanGetStatistics
}
// GetCanGetInteractions returns value of CanGetInteractions field.
func (s *Story) GetCanGetInteractions() (value bool) {
if s == nil {
return
}
return s.CanGetInteractions
}
// GetHasExpiredViewers returns value of HasExpiredViewers field.
func (s *Story) GetHasExpiredViewers() (value bool) {
if s == nil {
return
}
return s.HasExpiredViewers
}
// GetRepostInfo returns value of RepostInfo field.
func (s *Story) GetRepostInfo() (value StoryRepostInfo) {
if s == nil {
return
}
return s.RepostInfo
}
// GetInteractionInfo returns value of InteractionInfo field.
func (s *Story) GetInteractionInfo() (value StoryInteractionInfo) {
if s == nil {
return
}
return s.InteractionInfo
}
// GetChosenReactionType returns value of ChosenReactionType field.
func (s *Story) GetChosenReactionType() (value ReactionTypeClass) {
if s == nil {
return
}
return s.ChosenReactionType
}
// GetPrivacySettings returns value of PrivacySettings field.
func (s *Story) GetPrivacySettings() (value StoryPrivacySettingsClass) {
if s == nil {
return
}
return s.PrivacySettings
}
// GetContent returns value of Content field.
func (s *Story) GetContent() (value StoryContentClass) {
if s == nil {
return
}
return s.Content
}
// GetAreas returns value of Areas field.
func (s *Story) GetAreas() (value []StoryArea) {
if s == nil {
return
}
return s.Areas
}
// GetCaption returns value of Caption field.
func (s *Story) GetCaption() (value FormattedText) {
if s == nil {
return
}
return s.Caption
}