Update to TDLib 1.8.16
This commit is contained in:
parent
7a1c7f37a2
commit
0b8a2f54dd
|
@ -3218,7 +3218,7 @@ type SendInlineQueryResultMessageRequest struct {
|
|||
Options *MessageSendOptions `json:"options"`
|
||||
// Identifier of the inline query
|
||||
QueryId JsonInt64 `json:"query_id"`
|
||||
// Identifier of the inline result
|
||||
// Identifier of the inline query result
|
||||
ResultId string `json:"result_id"`
|
||||
// Pass true to hide the bot, via which the message is sent. Can be used only for bots getOption("animation_search_bot_username"), getOption("photo_search_bot_username"), and getOption("venue_search_bot_username")
|
||||
HideViaBot bool `json:"hide_via_bot"`
|
||||
|
@ -5110,7 +5110,7 @@ type GetInlineQueryResultsRequest struct {
|
|||
UserLocation *Location `json:"user_location"`
|
||||
// Text of the query
|
||||
Query string `json:"query"`
|
||||
// Offset of the first entry to return
|
||||
// Offset of the first entry to return; use empty string to get the first chunk of results
|
||||
Offset string `json:"offset"`
|
||||
}
|
||||
|
||||
|
@ -8416,14 +8416,53 @@ func (client *Client) GetStory(req *GetStoryRequest) (*Story, error) {
|
|||
return UnmarshalStory(result.Data)
|
||||
}
|
||||
|
||||
// Checks whether the current user can send a story
|
||||
func (client *Client) CanSendStory() (CanSendStoryResult, error) {
|
||||
result, err := client.Send(Request{
|
||||
meta: meta{
|
||||
Type: "canSendStory",
|
||||
},
|
||||
Data: map[string]interface{}{},
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if result.Type == "error" {
|
||||
return nil, buildResponseError(result.Data)
|
||||
}
|
||||
|
||||
switch result.Type {
|
||||
case TypeCanSendStoryResultOk:
|
||||
return UnmarshalCanSendStoryResultOk(result.Data)
|
||||
|
||||
case TypeCanSendStoryResultPremiumNeeded:
|
||||
return UnmarshalCanSendStoryResultPremiumNeeded(result.Data)
|
||||
|
||||
case TypeCanSendStoryResultActiveStoryLimitExceeded:
|
||||
return UnmarshalCanSendStoryResultActiveStoryLimitExceeded(result.Data)
|
||||
|
||||
case TypeCanSendStoryResultWeeklyLimitExceeded:
|
||||
return UnmarshalCanSendStoryResultWeeklyLimitExceeded(result.Data)
|
||||
|
||||
case TypeCanSendStoryResultMonthlyLimitExceeded:
|
||||
return UnmarshalCanSendStoryResultMonthlyLimitExceeded(result.Data)
|
||||
|
||||
default:
|
||||
return nil, errors.New("invalid type")
|
||||
}
|
||||
}
|
||||
|
||||
type SendStoryRequest struct {
|
||||
// Content of the story
|
||||
Content InputStoryContent `json:"content"`
|
||||
// Clickable rectangle areas to be shown on the story media; pass null if none
|
||||
Areas *InputStoryAreas `json:"areas"`
|
||||
// Story caption; pass null to use an empty caption; 0-getOption("story_caption_length_max") characters
|
||||
Caption *FormattedText `json:"caption"`
|
||||
// The privacy settings for the story
|
||||
PrivacySettings StoryPrivacySettings `json:"privacy_settings"`
|
||||
// Period after which the story is moved to archive, in seconds; must be one of 6 * 3600, 12 * 3600, 86400, 2 * 86400, 3 * 86400, or 7 * 86400 for Telegram Premium users, and 86400 otherwise
|
||||
// Period after which the story is moved to archive, in seconds; must be one of 6 * 3600, 12 * 3600, 86400, or 2 * 86400 for Telegram Premium users, and 86400 otherwise
|
||||
ActivePeriod int32 `json:"active_period"`
|
||||
// Pass true to keep the story accessible after expiration
|
||||
IsPinned bool `json:"is_pinned"`
|
||||
|
@ -8431,7 +8470,7 @@ type SendStoryRequest struct {
|
|||
ProtectContent bool `json:"protect_content"`
|
||||
}
|
||||
|
||||
// Sends a new story. Returns a temporary story with identifier 0
|
||||
// Sends a new story. Returns a temporary story
|
||||
func (client *Client) SendStory(req *SendStoryRequest) (*Story, error) {
|
||||
result, err := client.Send(Request{
|
||||
meta: meta{
|
||||
|
@ -8439,6 +8478,7 @@ func (client *Client) SendStory(req *SendStoryRequest) (*Story, error) {
|
|||
},
|
||||
Data: map[string]interface{}{
|
||||
"content": req.Content,
|
||||
"areas": req.Areas,
|
||||
"caption": req.Caption,
|
||||
"privacy_settings": req.PrivacySettings,
|
||||
"active_period": req.ActivePeriod,
|
||||
|
@ -8462,6 +8502,8 @@ type EditStoryRequest struct {
|
|||
StoryId int32 `json:"story_id"`
|
||||
// New content of the story; pass null to keep the current content
|
||||
Content InputStoryContent `json:"content"`
|
||||
// New clickable rectangle areas to be shown on the story media; pass null to keep the current areas. Areas can't be edited if story content isn't changed
|
||||
Areas *InputStoryAreas `json:"areas"`
|
||||
// New story caption; pass null to keep the current caption
|
||||
Caption *FormattedText `json:"caption"`
|
||||
}
|
||||
|
@ -8475,6 +8517,7 @@ func (client *Client) EditStory(req *EditStoryRequest) (*Ok, error) {
|
|||
Data: map[string]interface{}{
|
||||
"story_id": req.StoryId,
|
||||
"content": req.Content,
|
||||
"areas": req.Areas,
|
||||
"caption": req.Caption,
|
||||
},
|
||||
})
|
||||
|
@ -8792,24 +8835,94 @@ func (client *Client) CloseStory(req *CloseStoryRequest) (*Ok, error) {
|
|||
return UnmarshalOk(result.Data)
|
||||
}
|
||||
|
||||
type GetStoryAvailableReactionsRequest struct {
|
||||
// Number of reaction per row, 5-25
|
||||
RowSize int32 `json:"row_size"`
|
||||
}
|
||||
|
||||
// Returns reactions, which can be chosen for a story
|
||||
func (client *Client) GetStoryAvailableReactions(req *GetStoryAvailableReactionsRequest) (*AvailableReactions, error) {
|
||||
result, err := client.Send(Request{
|
||||
meta: meta{
|
||||
Type: "getStoryAvailableReactions",
|
||||
},
|
||||
Data: map[string]interface{}{
|
||||
"row_size": req.RowSize,
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if result.Type == "error" {
|
||||
return nil, buildResponseError(result.Data)
|
||||
}
|
||||
|
||||
return UnmarshalAvailableReactions(result.Data)
|
||||
}
|
||||
|
||||
type SetStoryReactionRequest struct {
|
||||
// The identifier of the sender of the story
|
||||
StorySenderChatId int64 `json:"story_sender_chat_id"`
|
||||
// The identifier of the story
|
||||
StoryId int32 `json:"story_id"`
|
||||
// Type of the reaction to set; pass null to remove the reaction. `reactionTypeCustomEmoji` reactions can be used only by Telegram Premium users
|
||||
ReactionType ReactionType `json:"reaction_type"`
|
||||
// Pass true if the reaction needs to be added to recent reactions
|
||||
UpdateRecentReactions bool `json:"update_recent_reactions"`
|
||||
}
|
||||
|
||||
// Changes chosen reaction on a story
|
||||
func (client *Client) SetStoryReaction(req *SetStoryReactionRequest) (*Ok, error) {
|
||||
result, err := client.Send(Request{
|
||||
meta: meta{
|
||||
Type: "setStoryReaction",
|
||||
},
|
||||
Data: map[string]interface{}{
|
||||
"story_sender_chat_id": req.StorySenderChatId,
|
||||
"story_id": req.StoryId,
|
||||
"reaction_type": req.ReactionType,
|
||||
"update_recent_reactions": req.UpdateRecentReactions,
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if result.Type == "error" {
|
||||
return nil, buildResponseError(result.Data)
|
||||
}
|
||||
|
||||
return UnmarshalOk(result.Data)
|
||||
}
|
||||
|
||||
type GetStoryViewersRequest struct {
|
||||
// Story identifier
|
||||
StoryId int32 `json:"story_id"`
|
||||
// A viewer from which to return next viewers; pass null to get results from the beginning
|
||||
OffsetViewer *MessageViewer `json:"offset_viewer"`
|
||||
// The maximum number of story viewers to return For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
|
||||
// Query to search for in names and usernames of the viewers; may be empty to get all relevant viewers
|
||||
Query string `json:"query"`
|
||||
// Pass true to get only contacts; pass false to get all relevant viewers
|
||||
OnlyContacts bool `json:"only_contacts"`
|
||||
// Pass true to get viewers with reaction first; pass false to get viewers sorted just by view_date
|
||||
PreferWithReaction bool `json:"prefer_with_reaction"`
|
||||
// Offset of the first entry to return as received from the previous request; use empty string to get the first chunk of results
|
||||
Offset string `json:"offset"`
|
||||
// The maximum number of story viewers to return
|
||||
Limit int32 `json:"limit"`
|
||||
}
|
||||
|
||||
// Returns viewers of a recent outgoing story. The method can be called if story.can_get_viewers == true. The views are returned in a reverse chronological order (i.e., in order of decreasing view_date) For optimal performance, the number of returned stories is chosen by TDLib
|
||||
func (client *Client) GetStoryViewers(req *GetStoryViewersRequest) (*MessageViewers, error) {
|
||||
// Returns viewers of a story. The method can be called if story.can_get_viewers == true
|
||||
func (client *Client) GetStoryViewers(req *GetStoryViewersRequest) (*StoryViewers, error) {
|
||||
result, err := client.Send(Request{
|
||||
meta: meta{
|
||||
Type: "getStoryViewers",
|
||||
},
|
||||
Data: map[string]interface{}{
|
||||
"story_id": req.StoryId,
|
||||
"offset_viewer": req.OffsetViewer,
|
||||
"query": req.Query,
|
||||
"only_contacts": req.OnlyContacts,
|
||||
"prefer_with_reaction": req.PreferWithReaction,
|
||||
"offset": req.Offset,
|
||||
"limit": req.Limit,
|
||||
},
|
||||
})
|
||||
|
@ -8821,7 +8934,7 @@ func (client *Client) GetStoryViewers(req *GetStoryViewersRequest) (*MessageView
|
|||
return nil, buildResponseError(result.Data)
|
||||
}
|
||||
|
||||
return UnmarshalMessageViewers(result.Data)
|
||||
return UnmarshalStoryViewers(result.Data)
|
||||
}
|
||||
|
||||
type ReportStoryRequest struct {
|
||||
|
@ -8859,6 +8972,25 @@ func (client *Client) ReportStory(req *ReportStoryRequest) (*Ok, error) {
|
|||
return UnmarshalOk(result.Data)
|
||||
}
|
||||
|
||||
// Activates stealth mode for stories, which hides all views of stories from the current user in the last "story_stealth_mode_past_period" seconds and for the next "story_stealth_mode_future_period" seconds; for Telegram Premium users only
|
||||
func (client *Client) ActivateStoryStealthMode() (*Ok, error) {
|
||||
result, err := client.Send(Request{
|
||||
meta: meta{
|
||||
Type: "activateStoryStealthMode",
|
||||
},
|
||||
Data: map[string]interface{}{},
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if result.Type == "error" {
|
||||
return nil, buildResponseError(result.Data)
|
||||
}
|
||||
|
||||
return UnmarshalOk(result.Data)
|
||||
}
|
||||
|
||||
type GetAttachmentMenuBotRequest struct {
|
||||
// Bot's user identifier
|
||||
BotUserId int64 `json:"bot_user_id"`
|
||||
|
@ -11198,22 +11330,22 @@ func (client *Client) GetGroupCallStreamSegment(req *GetGroupCallStreamSegmentRe
|
|||
return UnmarshalFilePart(result.Data)
|
||||
}
|
||||
|
||||
type ToggleMessageSenderIsBlockedRequest struct {
|
||||
type SetMessageSenderBlockListRequest struct {
|
||||
// Identifier of a message sender to block/unblock
|
||||
SenderId MessageSender `json:"sender_id"`
|
||||
// New value of is_blocked
|
||||
IsBlocked bool `json:"is_blocked"`
|
||||
// New block list for the message sender; pass null to unblock the message sender
|
||||
BlockList BlockList `json:"block_list"`
|
||||
}
|
||||
|
||||
// Changes the block state of a message sender. Currently, only users and supergroup chats can be blocked
|
||||
func (client *Client) ToggleMessageSenderIsBlocked(req *ToggleMessageSenderIsBlockedRequest) (*Ok, error) {
|
||||
// Changes the block list of a message sender. Currently, only users and supergroup chats can be blocked
|
||||
func (client *Client) SetMessageSenderBlockList(req *SetMessageSenderBlockListRequest) (*Ok, error) {
|
||||
result, err := client.Send(Request{
|
||||
meta: meta{
|
||||
Type: "toggleMessageSenderIsBlocked",
|
||||
Type: "setMessageSenderBlockList",
|
||||
},
|
||||
Data: map[string]interface{}{
|
||||
"sender_id": req.SenderId,
|
||||
"is_blocked": req.IsBlocked,
|
||||
"block_list": req.BlockList,
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
|
@ -11263,6 +11395,8 @@ func (client *Client) BlockMessageSenderFromReplies(req *BlockMessageSenderFromR
|
|||
}
|
||||
|
||||
type GetBlockedMessageSendersRequest struct {
|
||||
// Block list from which to return users
|
||||
BlockList BlockList `json:"block_list"`
|
||||
// Number of users and chats to skip in the result; must be non-negative
|
||||
Offset int32 `json:"offset"`
|
||||
// The maximum number of users and chats to return; up to 100
|
||||
|
@ -11276,6 +11410,7 @@ func (client *Client) GetBlockedMessageSenders(req *GetBlockedMessageSendersRequ
|
|||
Type: "getBlockedMessageSenders",
|
||||
},
|
||||
Data: map[string]interface{}{
|
||||
"block_list": req.BlockList,
|
||||
"offset": req.Offset,
|
||||
"limit": req.Limit,
|
||||
},
|
||||
|
@ -13166,7 +13301,7 @@ func (client *Client) GetMenuButton(req *GetMenuButtonRequest) (*BotMenuButton,
|
|||
}
|
||||
|
||||
type SetDefaultGroupAdministratorRightsRequest struct {
|
||||
// Default administrator rights for adding the bot to basic group and supergroup chats; may be null
|
||||
// Default administrator rights for adding the bot to basic group and supergroup chats; pass null to remove default rights
|
||||
DefaultGroupAdministratorRights *ChatAdministratorRights `json:"default_group_administrator_rights"`
|
||||
}
|
||||
|
||||
|
@ -13192,7 +13327,7 @@ func (client *Client) SetDefaultGroupAdministratorRights(req *SetDefaultGroupAdm
|
|||
}
|
||||
|
||||
type SetDefaultChannelAdministratorRightsRequest struct {
|
||||
// Default administrator rights for adding the bot to channels; may be null
|
||||
// Default administrator rights for adding the bot to channels; pass null to remove default rights
|
||||
DefaultChannelAdministratorRights *ChatAdministratorRights `json:"default_channel_administrator_rights"`
|
||||
}
|
||||
|
||||
|
@ -18410,8 +18545,8 @@ func (client *Client) TestUseUpdate() (Update, error) {
|
|||
case TypeUpdateChatIsMarkedAsUnread:
|
||||
return UnmarshalUpdateChatIsMarkedAsUnread(result.Data)
|
||||
|
||||
case TypeUpdateChatIsBlocked:
|
||||
return UnmarshalUpdateChatIsBlocked(result.Data)
|
||||
case TypeUpdateChatBlockList:
|
||||
return UnmarshalUpdateChatBlockList(result.Data)
|
||||
|
||||
case TypeUpdateChatHasScheduledMessages:
|
||||
return UnmarshalUpdateChatHasScheduledMessages(result.Data)
|
||||
|
@ -18521,12 +18656,21 @@ func (client *Client) TestUseUpdate() (Update, error) {
|
|||
case TypeUpdateStoryDeleted:
|
||||
return UnmarshalUpdateStoryDeleted(result.Data)
|
||||
|
||||
case TypeUpdateStorySendSucceeded:
|
||||
return UnmarshalUpdateStorySendSucceeded(result.Data)
|
||||
|
||||
case TypeUpdateStorySendFailed:
|
||||
return UnmarshalUpdateStorySendFailed(result.Data)
|
||||
|
||||
case TypeUpdateChatActiveStories:
|
||||
return UnmarshalUpdateChatActiveStories(result.Data)
|
||||
|
||||
case TypeUpdateStoryListChatCount:
|
||||
return UnmarshalUpdateStoryListChatCount(result.Data)
|
||||
|
||||
case TypeUpdateStoryStealthMode:
|
||||
return UnmarshalUpdateStoryStealthMode(result.Data)
|
||||
|
||||
case TypeUpdateOption:
|
||||
return UnmarshalUpdateOption(result.Data)
|
||||
|
||||
|
|
1172
client/type.go
1172
client/type.go
File diff suppressed because it is too large
Load diff
|
@ -3633,6 +3633,15 @@ func UnmarshalPremiumLimitType(data json.RawMessage) (PremiumLimitType, error) {
|
|||
case TypePremiumLimitTypeActiveStoryCount:
|
||||
return UnmarshalPremiumLimitTypeActiveStoryCount(data)
|
||||
|
||||
case TypePremiumLimitTypeWeeklySentStoryCount:
|
||||
return UnmarshalPremiumLimitTypeWeeklySentStoryCount(data)
|
||||
|
||||
case TypePremiumLimitTypeMonthlySentStoryCount:
|
||||
return UnmarshalPremiumLimitTypeMonthlySentStoryCount(data)
|
||||
|
||||
case TypePremiumLimitTypeStoryCaptionLength:
|
||||
return UnmarshalPremiumLimitTypeStoryCaptionLength(data)
|
||||
|
||||
default:
|
||||
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
|
||||
}
|
||||
|
@ -3706,6 +3715,9 @@ func UnmarshalPremiumFeature(data json.RawMessage) (PremiumFeature, error) {
|
|||
case TypePremiumFeatureRealTimeChatTranslation:
|
||||
return UnmarshalPremiumFeatureRealTimeChatTranslation(data)
|
||||
|
||||
case TypePremiumFeatureUpgradedStories:
|
||||
return UnmarshalPremiumFeatureUpgradedStories(data)
|
||||
|
||||
default:
|
||||
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
|
||||
}
|
||||
|
@ -3725,6 +3737,52 @@ func UnmarshalListOfPremiumFeature(dataList []json.RawMessage) ([]PremiumFeature
|
|||
return list, nil
|
||||
}
|
||||
|
||||
func UnmarshalPremiumStoryFeature(data json.RawMessage) (PremiumStoryFeature, error) {
|
||||
var meta meta
|
||||
|
||||
err := json.Unmarshal(data, &meta)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
switch meta.Type {
|
||||
case TypePremiumStoryFeaturePriorityOrder:
|
||||
return UnmarshalPremiumStoryFeaturePriorityOrder(data)
|
||||
|
||||
case TypePremiumStoryFeatureStealthMode:
|
||||
return UnmarshalPremiumStoryFeatureStealthMode(data)
|
||||
|
||||
case TypePremiumStoryFeaturePermanentViewsHistory:
|
||||
return UnmarshalPremiumStoryFeaturePermanentViewsHistory(data)
|
||||
|
||||
case TypePremiumStoryFeatureCustomExpirationDuration:
|
||||
return UnmarshalPremiumStoryFeatureCustomExpirationDuration(data)
|
||||
|
||||
case TypePremiumStoryFeatureSaveStories:
|
||||
return UnmarshalPremiumStoryFeatureSaveStories(data)
|
||||
|
||||
case TypePremiumStoryFeatureLinksAndFormatting:
|
||||
return UnmarshalPremiumStoryFeatureLinksAndFormatting(data)
|
||||
|
||||
default:
|
||||
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
|
||||
}
|
||||
}
|
||||
|
||||
func UnmarshalListOfPremiumStoryFeature(dataList []json.RawMessage) ([]PremiumStoryFeature, error) {
|
||||
list := []PremiumStoryFeature{}
|
||||
|
||||
for _, data := range dataList {
|
||||
entity, err := UnmarshalPremiumStoryFeature(data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
list = append(list, entity)
|
||||
}
|
||||
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func UnmarshalPremiumSource(data json.RawMessage) (PremiumSource, error) {
|
||||
var meta meta
|
||||
|
||||
|
@ -3740,6 +3798,9 @@ func UnmarshalPremiumSource(data json.RawMessage) (PremiumSource, error) {
|
|||
case TypePremiumSourceFeature:
|
||||
return UnmarshalPremiumSourceFeature(data)
|
||||
|
||||
case TypePremiumSourceStoryFeature:
|
||||
return UnmarshalPremiumSourceStoryFeature(data)
|
||||
|
||||
case TypePremiumSourceLink:
|
||||
return UnmarshalPremiumSourceLink(data)
|
||||
|
||||
|
@ -3974,6 +4035,49 @@ func UnmarshalListOfInputBackground(dataList []json.RawMessage) ([]InputBackgrou
|
|||
return list, nil
|
||||
}
|
||||
|
||||
func UnmarshalCanSendStoryResult(data json.RawMessage) (CanSendStoryResult, error) {
|
||||
var meta meta
|
||||
|
||||
err := json.Unmarshal(data, &meta)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
switch meta.Type {
|
||||
case TypeCanSendStoryResultOk:
|
||||
return UnmarshalCanSendStoryResultOk(data)
|
||||
|
||||
case TypeCanSendStoryResultPremiumNeeded:
|
||||
return UnmarshalCanSendStoryResultPremiumNeeded(data)
|
||||
|
||||
case TypeCanSendStoryResultActiveStoryLimitExceeded:
|
||||
return UnmarshalCanSendStoryResultActiveStoryLimitExceeded(data)
|
||||
|
||||
case TypeCanSendStoryResultWeeklyLimitExceeded:
|
||||
return UnmarshalCanSendStoryResultWeeklyLimitExceeded(data)
|
||||
|
||||
case TypeCanSendStoryResultMonthlyLimitExceeded:
|
||||
return UnmarshalCanSendStoryResultMonthlyLimitExceeded(data)
|
||||
|
||||
default:
|
||||
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
|
||||
}
|
||||
}
|
||||
|
||||
func UnmarshalListOfCanSendStoryResult(dataList []json.RawMessage) ([]CanSendStoryResult, error) {
|
||||
list := []CanSendStoryResult{}
|
||||
|
||||
for _, data := range dataList {
|
||||
entity, err := UnmarshalCanSendStoryResult(data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
list = append(list, entity)
|
||||
}
|
||||
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func UnmarshalCanTransferOwnershipResult(data json.RawMessage) (CanTransferOwnershipResult, error) {
|
||||
var meta meta
|
||||
|
||||
|
@ -4930,6 +5034,77 @@ func UnmarshalListOfInternalLinkType(dataList []json.RawMessage) ([]InternalLink
|
|||
return list, nil
|
||||
}
|
||||
|
||||
func UnmarshalStoryAreaType(data json.RawMessage) (StoryAreaType, error) {
|
||||
var meta meta
|
||||
|
||||
err := json.Unmarshal(data, &meta)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
switch meta.Type {
|
||||
case TypeStoryAreaTypeLocation:
|
||||
return UnmarshalStoryAreaTypeLocation(data)
|
||||
|
||||
case TypeStoryAreaTypeVenue:
|
||||
return UnmarshalStoryAreaTypeVenue(data)
|
||||
|
||||
default:
|
||||
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
|
||||
}
|
||||
}
|
||||
|
||||
func UnmarshalListOfStoryAreaType(dataList []json.RawMessage) ([]StoryAreaType, error) {
|
||||
list := []StoryAreaType{}
|
||||
|
||||
for _, data := range dataList {
|
||||
entity, err := UnmarshalStoryAreaType(data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
list = append(list, entity)
|
||||
}
|
||||
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func UnmarshalInputStoryAreaType(data json.RawMessage) (InputStoryAreaType, error) {
|
||||
var meta meta
|
||||
|
||||
err := json.Unmarshal(data, &meta)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
switch meta.Type {
|
||||
case TypeInputStoryAreaTypeLocation:
|
||||
return UnmarshalInputStoryAreaTypeLocation(data)
|
||||
|
||||
case TypeInputStoryAreaTypeFoundVenue:
|
||||
return UnmarshalInputStoryAreaTypeFoundVenue(data)
|
||||
|
||||
case TypeInputStoryAreaTypePreviousVenue:
|
||||
return UnmarshalInputStoryAreaTypePreviousVenue(data)
|
||||
|
||||
default:
|
||||
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
|
||||
}
|
||||
}
|
||||
|
||||
func UnmarshalListOfInputStoryAreaType(dataList []json.RawMessage) ([]InputStoryAreaType, error) {
|
||||
list := []InputStoryAreaType{}
|
||||
|
||||
for _, data := range dataList {
|
||||
entity, err := UnmarshalInputStoryAreaType(data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
list = append(list, entity)
|
||||
}
|
||||
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func UnmarshalStoryContent(data json.RawMessage) (StoryContent, error) {
|
||||
var meta meta
|
||||
|
||||
|
@ -5035,6 +5210,40 @@ func UnmarshalListOfStoryList(dataList []json.RawMessage) ([]StoryList, error) {
|
|||
return list, nil
|
||||
}
|
||||
|
||||
func UnmarshalBlockList(data json.RawMessage) (BlockList, error) {
|
||||
var meta meta
|
||||
|
||||
err := json.Unmarshal(data, &meta)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
switch meta.Type {
|
||||
case TypeBlockListMain:
|
||||
return UnmarshalBlockListMain(data)
|
||||
|
||||
case TypeBlockListStories:
|
||||
return UnmarshalBlockListStories(data)
|
||||
|
||||
default:
|
||||
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
|
||||
}
|
||||
}
|
||||
|
||||
func UnmarshalListOfBlockList(dataList []json.RawMessage) ([]BlockList, error) {
|
||||
list := []BlockList{}
|
||||
|
||||
for _, data := range dataList {
|
||||
entity, err := UnmarshalBlockList(data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
list = append(list, entity)
|
||||
}
|
||||
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func UnmarshalFileType(data json.RawMessage) (FileType, error) {
|
||||
var meta meta
|
||||
|
||||
|
@ -5772,8 +5981,8 @@ func UnmarshalUpdate(data json.RawMessage) (Update, error) {
|
|||
case TypeUpdateChatIsMarkedAsUnread:
|
||||
return UnmarshalUpdateChatIsMarkedAsUnread(data)
|
||||
|
||||
case TypeUpdateChatIsBlocked:
|
||||
return UnmarshalUpdateChatIsBlocked(data)
|
||||
case TypeUpdateChatBlockList:
|
||||
return UnmarshalUpdateChatBlockList(data)
|
||||
|
||||
case TypeUpdateChatHasScheduledMessages:
|
||||
return UnmarshalUpdateChatHasScheduledMessages(data)
|
||||
|
@ -5883,12 +6092,21 @@ func UnmarshalUpdate(data json.RawMessage) (Update, error) {
|
|||
case TypeUpdateStoryDeleted:
|
||||
return UnmarshalUpdateStoryDeleted(data)
|
||||
|
||||
case TypeUpdateStorySendSucceeded:
|
||||
return UnmarshalUpdateStorySendSucceeded(data)
|
||||
|
||||
case TypeUpdateStorySendFailed:
|
||||
return UnmarshalUpdateStorySendFailed(data)
|
||||
|
||||
case TypeUpdateChatActiveStories:
|
||||
return UnmarshalUpdateChatActiveStories(data)
|
||||
|
||||
case TypeUpdateStoryListChatCount:
|
||||
return UnmarshalUpdateStoryListChatCount(data)
|
||||
|
||||
case TypeUpdateStoryStealthMode:
|
||||
return UnmarshalUpdateStoryStealthMode(data)
|
||||
|
||||
case TypeUpdateOption:
|
||||
return UnmarshalUpdateOption(data)
|
||||
|
||||
|
@ -12149,6 +12367,30 @@ func UnmarshalPremiumLimitTypeActiveStoryCount(data json.RawMessage) (*PremiumLi
|
|||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumLimitTypeWeeklySentStoryCount(data json.RawMessage) (*PremiumLimitTypeWeeklySentStoryCount, error) {
|
||||
var resp PremiumLimitTypeWeeklySentStoryCount
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumLimitTypeMonthlySentStoryCount(data json.RawMessage) (*PremiumLimitTypeMonthlySentStoryCount, error) {
|
||||
var resp PremiumLimitTypeMonthlySentStoryCount
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumLimitTypeStoryCaptionLength(data json.RawMessage) (*PremiumLimitTypeStoryCaptionLength, error) {
|
||||
var resp PremiumLimitTypeStoryCaptionLength
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumFeatureIncreasedLimits(data json.RawMessage) (*PremiumFeatureIncreasedLimits, error) {
|
||||
var resp PremiumFeatureIncreasedLimits
|
||||
|
||||
|
@ -12269,6 +12511,62 @@ func UnmarshalPremiumFeatureRealTimeChatTranslation(data json.RawMessage) (*Prem
|
|||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumFeatureUpgradedStories(data json.RawMessage) (*PremiumFeatureUpgradedStories, error) {
|
||||
var resp PremiumFeatureUpgradedStories
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumStoryFeaturePriorityOrder(data json.RawMessage) (*PremiumStoryFeaturePriorityOrder, error) {
|
||||
var resp PremiumStoryFeaturePriorityOrder
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumStoryFeatureStealthMode(data json.RawMessage) (*PremiumStoryFeatureStealthMode, error) {
|
||||
var resp PremiumStoryFeatureStealthMode
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumStoryFeaturePermanentViewsHistory(data json.RawMessage) (*PremiumStoryFeaturePermanentViewsHistory, error) {
|
||||
var resp PremiumStoryFeaturePermanentViewsHistory
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumStoryFeatureCustomExpirationDuration(data json.RawMessage) (*PremiumStoryFeatureCustomExpirationDuration, error) {
|
||||
var resp PremiumStoryFeatureCustomExpirationDuration
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumStoryFeatureSaveStories(data json.RawMessage) (*PremiumStoryFeatureSaveStories, error) {
|
||||
var resp PremiumStoryFeatureSaveStories
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumStoryFeatureLinksAndFormatting(data json.RawMessage) (*PremiumStoryFeatureLinksAndFormatting, error) {
|
||||
var resp PremiumStoryFeatureLinksAndFormatting
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumLimit(data json.RawMessage) (*PremiumLimit, error) {
|
||||
var resp PremiumLimit
|
||||
|
||||
|
@ -12301,6 +12599,14 @@ func UnmarshalPremiumSourceFeature(data json.RawMessage) (*PremiumSourceFeature,
|
|||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumSourceStoryFeature(data json.RawMessage) (*PremiumSourceStoryFeature, error) {
|
||||
var resp PremiumSourceStoryFeature
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalPremiumSourceLink(data json.RawMessage) (*PremiumSourceLink, error) {
|
||||
var resp PremiumSourceLink
|
||||
|
||||
|
@ -12549,6 +12855,46 @@ func UnmarshalHashtags(data json.RawMessage) (*Hashtags, error) {
|
|||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalCanSendStoryResultOk(data json.RawMessage) (*CanSendStoryResultOk, error) {
|
||||
var resp CanSendStoryResultOk
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalCanSendStoryResultPremiumNeeded(data json.RawMessage) (*CanSendStoryResultPremiumNeeded, error) {
|
||||
var resp CanSendStoryResultPremiumNeeded
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalCanSendStoryResultActiveStoryLimitExceeded(data json.RawMessage) (*CanSendStoryResultActiveStoryLimitExceeded, error) {
|
||||
var resp CanSendStoryResultActiveStoryLimitExceeded
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalCanSendStoryResultWeeklyLimitExceeded(data json.RawMessage) (*CanSendStoryResultWeeklyLimitExceeded, error) {
|
||||
var resp CanSendStoryResultWeeklyLimitExceeded
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalCanSendStoryResultMonthlyLimitExceeded(data json.RawMessage) (*CanSendStoryResultMonthlyLimitExceeded, error) {
|
||||
var resp CanSendStoryResultMonthlyLimitExceeded
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalCanTransferOwnershipResultOk(data json.RawMessage) (*CanTransferOwnershipResultOk, error) {
|
||||
var resp CanTransferOwnershipResultOk
|
||||
|
||||
|
@ -13941,6 +14287,94 @@ func UnmarshalMessageLinkInfo(data json.RawMessage) (*MessageLinkInfo, error) {
|
|||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalStoryViewer(data json.RawMessage) (*StoryViewer, error) {
|
||||
var resp StoryViewer
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalStoryViewers(data json.RawMessage) (*StoryViewers, error) {
|
||||
var resp StoryViewers
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalStoryAreaPosition(data json.RawMessage) (*StoryAreaPosition, error) {
|
||||
var resp StoryAreaPosition
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalStoryAreaTypeLocation(data json.RawMessage) (*StoryAreaTypeLocation, error) {
|
||||
var resp StoryAreaTypeLocation
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalStoryAreaTypeVenue(data json.RawMessage) (*StoryAreaTypeVenue, error) {
|
||||
var resp StoryAreaTypeVenue
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalStoryArea(data json.RawMessage) (*StoryArea, error) {
|
||||
var resp StoryArea
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalInputStoryAreaTypeLocation(data json.RawMessage) (*InputStoryAreaTypeLocation, error) {
|
||||
var resp InputStoryAreaTypeLocation
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalInputStoryAreaTypeFoundVenue(data json.RawMessage) (*InputStoryAreaTypeFoundVenue, error) {
|
||||
var resp InputStoryAreaTypeFoundVenue
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalInputStoryAreaTypePreviousVenue(data json.RawMessage) (*InputStoryAreaTypePreviousVenue, error) {
|
||||
var resp InputStoryAreaTypePreviousVenue
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalInputStoryArea(data json.RawMessage) (*InputStoryArea, error) {
|
||||
var resp InputStoryArea
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalInputStoryAreas(data json.RawMessage) (*InputStoryAreas, error) {
|
||||
var resp InputStoryAreas
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalStoryVideo(data json.RawMessage) (*StoryVideo, error) {
|
||||
var resp StoryVideo
|
||||
|
||||
|
@ -14045,6 +14479,22 @@ func UnmarshalChatActiveStories(data json.RawMessage) (*ChatActiveStories, error
|
|||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalBlockListMain(data json.RawMessage) (*BlockListMain, error) {
|
||||
var resp BlockListMain
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalBlockListStories(data json.RawMessage) (*BlockListStories, error) {
|
||||
var resp BlockListStories
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalFilePart(data json.RawMessage) (*FilePart, error) {
|
||||
var resp FilePart
|
||||
|
||||
|
@ -15181,8 +15631,8 @@ func UnmarshalUpdateChatIsMarkedAsUnread(data json.RawMessage) (*UpdateChatIsMar
|
|||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalUpdateChatIsBlocked(data json.RawMessage) (*UpdateChatIsBlocked, error) {
|
||||
var resp UpdateChatIsBlocked
|
||||
func UnmarshalUpdateChatBlockList(data json.RawMessage) (*UpdateChatBlockList, error) {
|
||||
var resp UpdateChatBlockList
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
|
@ -15477,6 +15927,22 @@ func UnmarshalUpdateStoryDeleted(data json.RawMessage) (*UpdateStoryDeleted, err
|
|||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalUpdateStorySendSucceeded(data json.RawMessage) (*UpdateStorySendSucceeded, error) {
|
||||
var resp UpdateStorySendSucceeded
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalUpdateStorySendFailed(data json.RawMessage) (*UpdateStorySendFailed, error) {
|
||||
var resp UpdateStorySendFailed
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalUpdateChatActiveStories(data json.RawMessage) (*UpdateChatActiveStories, error) {
|
||||
var resp UpdateChatActiveStories
|
||||
|
||||
|
@ -15493,6 +15959,14 @@ func UnmarshalUpdateStoryListChatCount(data json.RawMessage) (*UpdateStoryListCh
|
|||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalUpdateStoryStealthMode(data json.RawMessage) (*UpdateStoryStealthMode, error) {
|
||||
var resp UpdateStoryStealthMode
|
||||
|
||||
err := json.Unmarshal(data, &resp)
|
||||
|
||||
return &resp, err
|
||||
}
|
||||
|
||||
func UnmarshalUpdateOption(data json.RawMessage) (*UpdateOption, error) {
|
||||
var resp UpdateOption
|
||||
|
||||
|
@ -18188,6 +18662,15 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
|
|||
case TypePremiumLimitTypeActiveStoryCount:
|
||||
return UnmarshalPremiumLimitTypeActiveStoryCount(data)
|
||||
|
||||
case TypePremiumLimitTypeWeeklySentStoryCount:
|
||||
return UnmarshalPremiumLimitTypeWeeklySentStoryCount(data)
|
||||
|
||||
case TypePremiumLimitTypeMonthlySentStoryCount:
|
||||
return UnmarshalPremiumLimitTypeMonthlySentStoryCount(data)
|
||||
|
||||
case TypePremiumLimitTypeStoryCaptionLength:
|
||||
return UnmarshalPremiumLimitTypeStoryCaptionLength(data)
|
||||
|
||||
case TypePremiumFeatureIncreasedLimits:
|
||||
return UnmarshalPremiumFeatureIncreasedLimits(data)
|
||||
|
||||
|
@ -18233,6 +18716,27 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
|
|||
case TypePremiumFeatureRealTimeChatTranslation:
|
||||
return UnmarshalPremiumFeatureRealTimeChatTranslation(data)
|
||||
|
||||
case TypePremiumFeatureUpgradedStories:
|
||||
return UnmarshalPremiumFeatureUpgradedStories(data)
|
||||
|
||||
case TypePremiumStoryFeaturePriorityOrder:
|
||||
return UnmarshalPremiumStoryFeaturePriorityOrder(data)
|
||||
|
||||
case TypePremiumStoryFeatureStealthMode:
|
||||
return UnmarshalPremiumStoryFeatureStealthMode(data)
|
||||
|
||||
case TypePremiumStoryFeaturePermanentViewsHistory:
|
||||
return UnmarshalPremiumStoryFeaturePermanentViewsHistory(data)
|
||||
|
||||
case TypePremiumStoryFeatureCustomExpirationDuration:
|
||||
return UnmarshalPremiumStoryFeatureCustomExpirationDuration(data)
|
||||
|
||||
case TypePremiumStoryFeatureSaveStories:
|
||||
return UnmarshalPremiumStoryFeatureSaveStories(data)
|
||||
|
||||
case TypePremiumStoryFeatureLinksAndFormatting:
|
||||
return UnmarshalPremiumStoryFeatureLinksAndFormatting(data)
|
||||
|
||||
case TypePremiumLimit:
|
||||
return UnmarshalPremiumLimit(data)
|
||||
|
||||
|
@ -18245,6 +18749,9 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
|
|||
case TypePremiumSourceFeature:
|
||||
return UnmarshalPremiumSourceFeature(data)
|
||||
|
||||
case TypePremiumSourceStoryFeature:
|
||||
return UnmarshalPremiumSourceStoryFeature(data)
|
||||
|
||||
case TypePremiumSourceLink:
|
||||
return UnmarshalPremiumSourceLink(data)
|
||||
|
||||
|
@ -18338,6 +18845,21 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
|
|||
case TypeHashtags:
|
||||
return UnmarshalHashtags(data)
|
||||
|
||||
case TypeCanSendStoryResultOk:
|
||||
return UnmarshalCanSendStoryResultOk(data)
|
||||
|
||||
case TypeCanSendStoryResultPremiumNeeded:
|
||||
return UnmarshalCanSendStoryResultPremiumNeeded(data)
|
||||
|
||||
case TypeCanSendStoryResultActiveStoryLimitExceeded:
|
||||
return UnmarshalCanSendStoryResultActiveStoryLimitExceeded(data)
|
||||
|
||||
case TypeCanSendStoryResultWeeklyLimitExceeded:
|
||||
return UnmarshalCanSendStoryResultWeeklyLimitExceeded(data)
|
||||
|
||||
case TypeCanSendStoryResultMonthlyLimitExceeded:
|
||||
return UnmarshalCanSendStoryResultMonthlyLimitExceeded(data)
|
||||
|
||||
case TypeCanTransferOwnershipResultOk:
|
||||
return UnmarshalCanTransferOwnershipResultOk(data)
|
||||
|
||||
|
@ -18860,6 +19382,39 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
|
|||
case TypeMessageLinkInfo:
|
||||
return UnmarshalMessageLinkInfo(data)
|
||||
|
||||
case TypeStoryViewer:
|
||||
return UnmarshalStoryViewer(data)
|
||||
|
||||
case TypeStoryViewers:
|
||||
return UnmarshalStoryViewers(data)
|
||||
|
||||
case TypeStoryAreaPosition:
|
||||
return UnmarshalStoryAreaPosition(data)
|
||||
|
||||
case TypeStoryAreaTypeLocation:
|
||||
return UnmarshalStoryAreaTypeLocation(data)
|
||||
|
||||
case TypeStoryAreaTypeVenue:
|
||||
return UnmarshalStoryAreaTypeVenue(data)
|
||||
|
||||
case TypeStoryArea:
|
||||
return UnmarshalStoryArea(data)
|
||||
|
||||
case TypeInputStoryAreaTypeLocation:
|
||||
return UnmarshalInputStoryAreaTypeLocation(data)
|
||||
|
||||
case TypeInputStoryAreaTypeFoundVenue:
|
||||
return UnmarshalInputStoryAreaTypeFoundVenue(data)
|
||||
|
||||
case TypeInputStoryAreaTypePreviousVenue:
|
||||
return UnmarshalInputStoryAreaTypePreviousVenue(data)
|
||||
|
||||
case TypeInputStoryArea:
|
||||
return UnmarshalInputStoryArea(data)
|
||||
|
||||
case TypeInputStoryAreas:
|
||||
return UnmarshalInputStoryAreas(data)
|
||||
|
||||
case TypeStoryVideo:
|
||||
return UnmarshalStoryVideo(data)
|
||||
|
||||
|
@ -18899,6 +19454,12 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
|
|||
case TypeChatActiveStories:
|
||||
return UnmarshalChatActiveStories(data)
|
||||
|
||||
case TypeBlockListMain:
|
||||
return UnmarshalBlockListMain(data)
|
||||
|
||||
case TypeBlockListStories:
|
||||
return UnmarshalBlockListStories(data)
|
||||
|
||||
case TypeFilePart:
|
||||
return UnmarshalFilePart(data)
|
||||
|
||||
|
@ -19325,8 +19886,8 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
|
|||
case TypeUpdateChatIsMarkedAsUnread:
|
||||
return UnmarshalUpdateChatIsMarkedAsUnread(data)
|
||||
|
||||
case TypeUpdateChatIsBlocked:
|
||||
return UnmarshalUpdateChatIsBlocked(data)
|
||||
case TypeUpdateChatBlockList:
|
||||
return UnmarshalUpdateChatBlockList(data)
|
||||
|
||||
case TypeUpdateChatHasScheduledMessages:
|
||||
return UnmarshalUpdateChatHasScheduledMessages(data)
|
||||
|
@ -19436,12 +19997,21 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
|
|||
case TypeUpdateStoryDeleted:
|
||||
return UnmarshalUpdateStoryDeleted(data)
|
||||
|
||||
case TypeUpdateStorySendSucceeded:
|
||||
return UnmarshalUpdateStorySendSucceeded(data)
|
||||
|
||||
case TypeUpdateStorySendFailed:
|
||||
return UnmarshalUpdateStorySendFailed(data)
|
||||
|
||||
case TypeUpdateChatActiveStories:
|
||||
return UnmarshalUpdateChatActiveStories(data)
|
||||
|
||||
case TypeUpdateStoryListChatCount:
|
||||
return UnmarshalUpdateStoryListChatCount(data)
|
||||
|
||||
case TypeUpdateStoryStealthMode:
|
||||
return UnmarshalUpdateStoryStealthMode(data)
|
||||
|
||||
case TypeUpdateOption:
|
||||
return UnmarshalUpdateOption(data)
|
||||
|
||||
|
|
256
data/td_api.tl
256
data/td_api.tl
|
@ -251,7 +251,7 @@ minithumbnail width:int32 height:int32 data:bytes = Minithumbnail;
|
|||
//@description The thumbnail is in JPEG format
|
||||
thumbnailFormatJpeg = ThumbnailFormat;
|
||||
|
||||
//@description The thumbnail is in static GIF format. It will be used only for some bot inline results
|
||||
//@description The thumbnail is in static GIF format. It will be used only for some bot inline query results
|
||||
thumbnailFormatGif = ThumbnailFormat;
|
||||
|
||||
//@description The thumbnail is in MPEG4 format. It will be used only for some animations and videos
|
||||
|
@ -751,7 +751,7 @@ botInfo short_description:string description:string photo:photo animation:animat
|
|||
//-If non-null and personal_photo is null, then it is the same photo as in user.profile_photo and chat.photo
|
||||
//@public_photo User profile photo visible if the main photo is hidden by privacy settings; may be null. If null and user.profile_photo is null, then the photo is empty; otherwise, it is unknown.
|
||||
//-If non-null and both photo and personal_photo are null, then it is the same photo as in user.profile_photo and chat.photo. This photo isn't returned in the list of user photos
|
||||
//@is_blocked True, if the user is blocked by the current user
|
||||
//@block_list Block list to which the user is added; may be null if none
|
||||
//@can_be_called True, if the user can be called
|
||||
//@supports_video_calls True, if a video call can be created with the user
|
||||
//@has_private_calls True, if the user can't be called due to their privacy settings
|
||||
|
@ -762,8 +762,8 @@ botInfo short_description:string description:string photo:photo animation:animat
|
|||
//@bio A short user bio; may be null for bots
|
||||
//@premium_gift_options The list of available options for gifting Telegram Premium to the user
|
||||
//@group_in_common_count Number of group chats where both the other user and the current user are a member; 0 for the current user
|
||||
//@bot_info For bots, information about the bot; may be null
|
||||
userFullInfo personal_photo:chatPhoto photo:chatPhoto public_photo:chatPhoto is_blocked:Bool can_be_called:Bool supports_video_calls:Bool has_private_calls:Bool has_private_forwards:Bool has_restricted_voice_and_video_note_messages:Bool has_pinned_stories:Bool need_phone_number_privacy_exception:Bool bio:formattedText premium_gift_options:vector<premiumPaymentOption> group_in_common_count:int32 bot_info:botInfo = UserFullInfo;
|
||||
//@bot_info For bots, information about the bot; may be null if the user isn't a bot
|
||||
userFullInfo personal_photo:chatPhoto photo:chatPhoto public_photo:chatPhoto block_list:BlockList can_be_called:Bool supports_video_calls:Bool has_private_calls:Bool has_private_forwards:Bool has_restricted_voice_and_video_note_messages:Bool has_pinned_stories:Bool need_phone_number_privacy_exception:Bool bio:formattedText premium_gift_options:vector<premiumPaymentOption> group_in_common_count:int32 bot_info:botInfo = UserFullInfo;
|
||||
|
||||
//@description Represents a list of users @total_count Approximate total number of users found @user_ids A list of user identifiers
|
||||
users total_count:int32 user_ids:vector<int53> = Users;
|
||||
|
@ -997,7 +997,7 @@ supergroup id:int53 access_hash:int64 usernames:usernames date:int32 status:Chat
|
|||
//-so this option affects only private non-forum supergroups without a linked chat. The value of this field is only available to chat administrators
|
||||
//@has_aggressive_anti_spam_enabled True, if aggressive anti-spam checks are enabled in the supergroup. The value of this field is only available to chat administrators
|
||||
//@sticker_set_id Identifier of the supergroup sticker set; 0 if none
|
||||
//@location Location to which the supergroup is connected; may be null
|
||||
//@location Location to which the supergroup is connected; may be null if none
|
||||
//@invite_link Primary invite link for the chat; may be null. For chat administrators with can_invite_users right only
|
||||
//@bot_commands List of commands of bots in the group
|
||||
//@upgraded_from_basic_group_id Identifier of the basic group from which supergroup was upgraded; 0 if none
|
||||
|
@ -1154,8 +1154,8 @@ messageReplyToStory story_sender_chat_id:int53 story_id:int32 = MessageReplyTo;
|
|||
//@id Message identifier; unique for the chat to which the message belongs
|
||||
//@sender_id Identifier of the sender of the message
|
||||
//@chat_id Chat identifier
|
||||
//@sending_state The sending state of the message; may be null
|
||||
//@scheduling_state The scheduling state of the message; may be null
|
||||
//@sending_state The sending state of the message; may be null if the message isn't being sent and didn't fail to be sent
|
||||
//@scheduling_state The scheduling state of the message; may be null if the message isn't scheduled
|
||||
//@is_outgoing True, if the message is outgoing
|
||||
//@is_pinned True, if the message is pinned
|
||||
//@can_be_edited True, if the message can be edited. For live location and poll messages this fields shows whether editMessageLiveLocation or stopPoll can be used with this message by the application
|
||||
|
@ -1175,8 +1175,8 @@ messageReplyToStory story_sender_chat_id:int53 story_id:int32 = MessageReplyTo;
|
|||
//@contains_unread_mention True, if the message contains an unread mention for the current user
|
||||
//@date Point in time (Unix timestamp) when the message was sent
|
||||
//@edit_date Point in time (Unix timestamp) when the message was last edited
|
||||
//@forward_info Information about the initial message sender; may be null
|
||||
//@interaction_info Information about interactions with the message; may be null
|
||||
//@forward_info Information about the initial message sender; may be null if none or unknown
|
||||
//@interaction_info Information about interactions with the message; may be null if none
|
||||
//@unread_reactions Information about unread reactions added to the message
|
||||
//@reply_to Information about the message or the story this message is replying to; may be null if none
|
||||
//@message_thread_id If non-zero, the identifier of the message thread the message belongs to; unique within the chat to which the message belongs
|
||||
|
@ -1188,7 +1188,7 @@ messageReplyToStory story_sender_chat_id:int53 story_id:int32 = MessageReplyTo;
|
|||
//@media_album_id Unique identifier of an album this message belongs to. Only audios, documents, photos and videos can be grouped together in albums
|
||||
//@restriction_reason If non-empty, contains a human-readable description of the reason why access to this message must be restricted
|
||||
//@content Content of the message
|
||||
//@reply_markup Reply markup for the message; may be null
|
||||
//@reply_markup Reply markup for the message; may be null if none
|
||||
message id:int53 sender_id:MessageSender chat_id:int53 sending_state:MessageSendingState scheduling_state:MessageSchedulingState is_outgoing:Bool is_pinned:Bool can_be_edited:Bool can_be_forwarded:Bool can_be_saved:Bool can_be_deleted_only_for_self:Bool can_be_deleted_for_all_users:Bool can_get_added_reactions:Bool can_get_statistics:Bool can_get_message_thread:Bool can_get_viewers:Bool can_get_media_timestamp_links:Bool can_report_reactions:Bool has_timestamped_media:Bool is_channel_post:Bool is_topic_message:Bool contains_unread_mention:Bool date:int32 edit_date:int32 forward_info:messageForwardInfo interaction_info:messageInteractionInfo unread_reactions:vector<unreadReaction> reply_to:MessageReplyTo message_thread_id:int53 self_destruct_time:int32 self_destruct_in:double auto_delete_in:double via_bot_user_id:int53 author_signature:string media_album_id:int64 restriction_reason:string content:MessageContent reply_markup:ReplyMarkup = Message;
|
||||
|
||||
//@description Contains a list of messages @total_count Approximate total number of messages found @messages List of messages; messages may be null
|
||||
|
@ -1477,13 +1477,13 @@ videoChat group_call_id:int32 has_participants:Bool default_participant_id:Messa
|
|||
//@title Chat title
|
||||
//@photo Chat photo; may be null
|
||||
//@permissions Actions that non-administrator chat members are allowed to take in the chat
|
||||
//@last_message Last message in the chat; may be null
|
||||
//@last_message Last message in the chat; may be null if none or unknown
|
||||
//@positions Positions of the chat in chat lists
|
||||
//@message_sender_id Identifier of a user or chat that is selected to send messages in the chat; may be null if the user can't change message sender
|
||||
//@block_list Block list to which the chat is added; may be null if none
|
||||
//@has_protected_content True, if chat content can't be saved locally, forwarded, or copied
|
||||
//@is_translatable True, if translation of all messages in the chat must be suggested to the user
|
||||
//@is_marked_as_unread True, if the chat is marked as unread
|
||||
//@is_blocked True, if the chat is blocked by the current user and private messages from the chat can't be received
|
||||
//@has_scheduled_messages True, if the chat has scheduled messages
|
||||
//@can_be_deleted_only_for_self True, if the chat messages can be deleted only for the current user while other users will continue to see the messages
|
||||
//@can_be_deleted_for_all_users True, if the chat messages can be deleted for all users
|
||||
|
@ -1499,13 +1499,13 @@ videoChat group_call_id:int32 has_participants:Bool default_participant_id:Messa
|
|||
//@message_auto_delete_time Current message auto-delete or self-destruct timer setting for the chat, in seconds; 0 if disabled. Self-destruct timer in secret chats starts after the message or its content is viewed. Auto-delete timer in other chats starts from the send date
|
||||
//@background Background set for the chat; may be null if none
|
||||
//@theme_name If non-empty, name of a theme, set for the chat
|
||||
//@action_bar Information about actions which must be possible to do through the chat action bar; may be null
|
||||
//@action_bar Information about actions which must be possible to do through the chat action bar; may be null if none
|
||||
//@video_chat Information about video chat of the chat
|
||||
//@pending_join_requests Information about pending join requests; may be null
|
||||
//@pending_join_requests Information about pending join requests; may be null if none
|
||||
//@reply_markup_message_id Identifier of the message from which reply markup needs to be used; 0 if there is no default custom reply markup in the chat
|
||||
//@draft_message A draft of a message in the chat; may be null
|
||||
//@draft_message A draft of a message in the chat; may be null if none
|
||||
//@client_data Application-specific data associated with the chat. (For example, the chat scroll position or local chat notification settings can be stored here.) Persistent if the message database is used
|
||||
chat id:int53 type:ChatType title:string photo:chatPhotoInfo permissions:chatPermissions last_message:message positions:vector<chatPosition> message_sender_id:MessageSender has_protected_content:Bool is_translatable:Bool is_marked_as_unread:Bool is_blocked:Bool has_scheduled_messages:Bool can_be_deleted_only_for_self:Bool can_be_deleted_for_all_users:Bool can_be_reported:Bool default_disable_notification:Bool unread_count:int32 last_read_inbox_message_id:int53 last_read_outbox_message_id:int53 unread_mention_count:int32 unread_reaction_count:int32 notification_settings:chatNotificationSettings available_reactions:ChatAvailableReactions message_auto_delete_time:int32 background:chatBackground theme_name:string action_bar:ChatActionBar video_chat:videoChat pending_join_requests:chatJoinRequestsInfo reply_markup_message_id:int53 draft_message:draftMessage client_data:string = Chat;
|
||||
chat id:int53 type:ChatType title:string photo:chatPhotoInfo permissions:chatPermissions last_message:message positions:vector<chatPosition> message_sender_id:MessageSender block_list:BlockList has_protected_content:Bool is_translatable:Bool is_marked_as_unread:Bool has_scheduled_messages:Bool can_be_deleted_only_for_self:Bool can_be_deleted_for_all_users:Bool can_be_reported:Bool default_disable_notification:Bool unread_count:int32 last_read_inbox_message_id:int53 last_read_outbox_message_id:int53 unread_mention_count:int32 unread_reaction_count:int32 notification_settings:chatNotificationSettings available_reactions:ChatAvailableReactions message_auto_delete_time:int32 background:chatBackground theme_name:string action_bar:ChatActionBar video_chat:videoChat pending_join_requests:chatJoinRequestsInfo reply_markup_message_id:int53 draft_message:draftMessage client_data:string = Chat;
|
||||
|
||||
//@description Represents a list of chats @total_count Approximate total number of chats found @chat_ids List of chat identifiers
|
||||
chats total_count:int32 chat_ids:vector<int53> = Chats;
|
||||
|
@ -1539,7 +1539,7 @@ chatActionBarReportUnrelatedLocation = ChatActionBar;
|
|||
//@description The chat is a recently created group chat to which new members can be invited
|
||||
chatActionBarInviteMembers = ChatActionBar;
|
||||
|
||||
//@description The chat is a private or secret chat, which can be reported using the method reportChat, or the other user can be blocked using the method toggleMessageSenderIsBlocked,
|
||||
//@description The chat is a private or secret chat, which can be reported using the method reportChat, or the other user can be blocked using the method setMessageSenderBlockList,
|
||||
//-or the other user can be added to the contact list using the method addContact. If the chat is a private chat with a user with an emoji status, then a notice about emoji status usage must be shown
|
||||
//@can_unarchive If true, the chat was automatically archived and can be moved back to the main chat list using addChatToList simultaneously with setting chat notification settings to default using setChatNotificationSettings
|
||||
//@distance If non-negative, the current user was found by the peer through searchChatsNearby and this is the distance between the users
|
||||
|
@ -1689,7 +1689,7 @@ webAppInfo launch_id:int64 url:string = WebAppInfo;
|
|||
//@reply_info Information about the message thread; may be null for forum topic threads
|
||||
//@unread_message_count Approximate number of unread messages in the message thread
|
||||
//@messages The messages from which the thread starts. The messages are returned in a reverse chronological order (i.e., in order of decreasing message_id)
|
||||
//@draft_message A draft of a message in the message thread; may be null
|
||||
//@draft_message A draft of a message in the message thread; may be null if none
|
||||
messageThreadInfo chat_id:int53 message_thread_id:int53 reply_info:messageReplyInfo unread_message_count:int32 messages:vector<message> draft_message:draftMessage = MessageThreadInfo;
|
||||
|
||||
|
||||
|
@ -1718,7 +1718,7 @@ forumTopicInfo message_thread_id:int53 name:string icon:forumTopicIcon creation_
|
|||
//@unread_mention_count Number of unread messages with a mention/reply in the topic
|
||||
//@unread_reaction_count Number of messages with unread reactions in the topic
|
||||
//@notification_settings Notification settings for the topic
|
||||
//@draft_message A draft of a message in the topic; may be null
|
||||
//@draft_message A draft of a message in the topic; may be null if none
|
||||
forumTopic info:forumTopicInfo last_message:message is_pinned:Bool unread_count:int32 last_read_inbox_message_id:int53 last_read_outbox_message_id:int53 unread_mention_count:int32 unread_reaction_count:int32 notification_settings:chatNotificationSettings draft_message:draftMessage = ForumTopic;
|
||||
|
||||
//@description Describes a list of forum topics
|
||||
|
@ -3991,6 +3991,15 @@ premiumLimitTypeShareableChatFolderCount = PremiumLimitType;
|
|||
//@description The maximum number of active stories
|
||||
premiumLimitTypeActiveStoryCount = PremiumLimitType;
|
||||
|
||||
//@description The maximum number of stories sent per week
|
||||
premiumLimitTypeWeeklySentStoryCount = PremiumLimitType;
|
||||
|
||||
//@description The maximum number of stories sent per month
|
||||
premiumLimitTypeMonthlySentStoryCount = PremiumLimitType;
|
||||
|
||||
//@description The maximum length of captions of sent stories
|
||||
premiumLimitTypeStoryCaptionLength = PremiumLimitType;
|
||||
|
||||
|
||||
//@class PremiumFeature @description Describes a feature available to Premium users
|
||||
|
||||
|
@ -4024,7 +4033,7 @@ premiumFeatureAdvancedChatManagement = PremiumFeature;
|
|||
//@description A badge in the user's profile
|
||||
premiumFeatureProfileBadge = PremiumFeature;
|
||||
|
||||
//@description A emoji status shown along with the user's name
|
||||
//@description An emoji status shown along with the user's name
|
||||
premiumFeatureEmojiStatus = PremiumFeature;
|
||||
|
||||
//@description Profile photo animation on message and chat screens
|
||||
|
@ -4039,6 +4048,30 @@ premiumFeatureAppIcons = PremiumFeature;
|
|||
//@description Allowed to translate chat messages real-time
|
||||
premiumFeatureRealTimeChatTranslation = PremiumFeature;
|
||||
|
||||
//@description Allowed to use many additional features for stories
|
||||
premiumFeatureUpgradedStories = PremiumFeature;
|
||||
|
||||
|
||||
//@class PremiumStoryFeature @description Describes a story feature available to Premium users
|
||||
|
||||
//@description User stories are displayed before stories of non-premium contacts
|
||||
premiumStoryFeaturePriorityOrder = PremiumStoryFeature;
|
||||
|
||||
//@description The ability to hide the fact that the user viewed other's stories
|
||||
premiumStoryFeatureStealthMode = PremiumStoryFeature;
|
||||
|
||||
//@description The ability to check who opened the current user's stories after they expire
|
||||
premiumStoryFeaturePermanentViewsHistory = PremiumStoryFeature;
|
||||
|
||||
//@description The ability to set custom expiration duration for stories
|
||||
premiumStoryFeatureCustomExpirationDuration = PremiumStoryFeature;
|
||||
|
||||
//@description The ability to save other's unprotected stories
|
||||
premiumStoryFeatureSaveStories = PremiumStoryFeature;
|
||||
|
||||
//@description The ability to use links and formatting in story caption
|
||||
premiumStoryFeatureLinksAndFormatting = PremiumStoryFeature;
|
||||
|
||||
|
||||
//@description Contains information about a limit, increased for Premium users @type The type of the limit @default_value Default value of the limit @premium_value Value of the limit for Premium users
|
||||
premiumLimit type:PremiumLimitType default_value:int32 premium_value:int32 = PremiumLimit;
|
||||
|
@ -4058,6 +4091,9 @@ premiumSourceLimitExceeded limit_type:PremiumLimitType = PremiumSource;
|
|||
//@description A user tried to use a Premium feature @feature The used feature
|
||||
premiumSourceFeature feature:PremiumFeature = PremiumSource;
|
||||
|
||||
//@description A user tried to use a Premium story feature @feature The used feature
|
||||
premiumSourceStoryFeature feature:PremiumStoryFeature = PremiumSource;
|
||||
|
||||
//@description A user opened an internal link of the type internalLinkTypePremiumFeatures @referrer The referrer from the link
|
||||
premiumSourceLink referrer:string = PremiumSource;
|
||||
|
||||
|
@ -4196,6 +4232,24 @@ chatTheme name:string light_settings:themeSettings dark_settings:themeSettings =
|
|||
hashtags hashtags:vector<string> = Hashtags;
|
||||
|
||||
|
||||
//@class CanSendStoryResult @description Represents result of checking whether the current user can send a story
|
||||
|
||||
//@description A story can be sent
|
||||
canSendStoryResultOk = CanSendStoryResult;
|
||||
|
||||
//@description The user must subscribe to Telegram Premium to be able to post stories
|
||||
canSendStoryResultPremiumNeeded = CanSendStoryResult;
|
||||
|
||||
//@description The limit for the number of active stories exceeded. The user can buy Telegram Premium, delete an active story, or wait for the oldest story to expire
|
||||
canSendStoryResultActiveStoryLimitExceeded = CanSendStoryResult;
|
||||
|
||||
//@description The weekly limit for the number of posted stories exceeded. The user needs to buy Telegram Premium or wait specified time @retry_after Time left before the user can send the next story
|
||||
canSendStoryResultWeeklyLimitExceeded retry_after:int32 = CanSendStoryResult;
|
||||
|
||||
//@description The monthly limit for the number of posted stories exceeded. The user needs to buy Telegram Premium or wait specified time @retry_after Time left before the user can send the next story
|
||||
canSendStoryResultMonthlyLimitExceeded retry_after:int32 = CanSendStoryResult;
|
||||
|
||||
|
||||
//@class CanTransferOwnershipResult @description Represents result of checking whether the current session can be used to transfer a chat ownership to another user
|
||||
|
||||
//@description The session can be used
|
||||
|
@ -4497,16 +4551,16 @@ jsonValueObject members:vector<jsonObjectMember> = JsonValue;
|
|||
|
||||
//@class StoryPrivacySettings @description Describes privacy settings of a story
|
||||
|
||||
//@description The story can be viewed by everyone
|
||||
storyPrivacySettingsEveryone = StoryPrivacySettings;
|
||||
//@description The story can be viewed by everyone @except_user_ids Identifiers of the users that can't see the story; always unknown and empty for non-owned stories
|
||||
storyPrivacySettingsEveryone except_user_ids:vector<int53> = StoryPrivacySettings;
|
||||
|
||||
//@description The story can be viewed by all contacts except chosen users @except_user_ids User identifiers of the contacts that can't see the story; always empty for non-owned stories
|
||||
//@description The story can be viewed by all contacts except chosen users @except_user_ids User identifiers of the contacts that can't see the story; always unknown and empty for non-owned stories
|
||||
storyPrivacySettingsContacts except_user_ids:vector<int53> = StoryPrivacySettings;
|
||||
|
||||
//@description The story can be viewed by all close friends
|
||||
storyPrivacySettingsCloseFriends = StoryPrivacySettings;
|
||||
|
||||
//@description The story can be viewed by certain specified users @user_ids Identifiers of the users; always empty for non-owned stories
|
||||
//@description The story can be viewed by certain specified users @user_ids Identifiers of the users; always unknown and empty for non-owned stories
|
||||
storyPrivacySettingsSelectedContacts user_ids:vector<int53> = StoryPrivacySettings;
|
||||
|
||||
|
||||
|
@ -4907,6 +4961,65 @@ messageLink link:string is_public:Bool = MessageLink;
|
|||
messageLinkInfo is_public:Bool chat_id:int53 message_thread_id:int53 message:message media_timestamp:int32 for_album:Bool = MessageLinkInfo;
|
||||
|
||||
|
||||
//@description Represents a viewer of a story
|
||||
//@user_id User identifier of the viewer
|
||||
//@view_date Approximate point in time (Unix timestamp) when the story was viewed
|
||||
//@block_list Block list to which the user is added; may be null if none
|
||||
//@chosen_reaction_type Type of the reaction that was chosen by the user; may be null if none
|
||||
storyViewer user_id:int53 view_date:int32 block_list:BlockList chosen_reaction_type:ReactionType = StoryViewer;
|
||||
|
||||
//@description Represents a list of story viewers
|
||||
//@total_count Approximate total number of story viewers found
|
||||
//@viewers List of story viewers
|
||||
//@next_offset The offset for the next request. If empty, there are no more results
|
||||
storyViewers total_count:int32 viewers:vector<storyViewer> next_offset:string = StoryViewers;
|
||||
|
||||
|
||||
//@description Describes position of a clickable rectangle area on a story media
|
||||
//@x_percentage The abscissa of the rectangle's center, as a percentage of the media width
|
||||
//@y_percentage The ordinate of the rectangle's center, as a percentage of the media height
|
||||
//@width_percentage The width of the rectangle, as a percentage of the media width
|
||||
//@height_percentage The ordinate of the rectangle's center, as a percentage of the media height
|
||||
//@rotation_angle Clockwise rotation angle of the rectangle, in degrees; 0-360
|
||||
storyAreaPosition x_percentage:double y_percentage:double width_percentage:double height_percentage:double rotation_angle:double = StoryAreaPosition;
|
||||
|
||||
|
||||
//@class StoryAreaType @description Describes type of a clickable rectangle area on a story media
|
||||
|
||||
//@description An area pointing to a location @location The location
|
||||
storyAreaTypeLocation location:location = StoryAreaType;
|
||||
|
||||
//@description An area pointing to a venue @venue Information about the venue
|
||||
storyAreaTypeVenue venue:venue = StoryAreaType;
|
||||
|
||||
|
||||
//@description Describes a clickable rectangle area on a story media @position Position of the area @type Type of the area
|
||||
storyArea position:storyAreaPosition type:StoryAreaType = StoryArea;
|
||||
|
||||
|
||||
//@class InputStoryAreaType @description Describes type of a clickable rectangle area on a story media to be added
|
||||
|
||||
//@description An area pointing to a location @location The location
|
||||
inputStoryAreaTypeLocation location:location = InputStoryAreaType;
|
||||
|
||||
//@description An area pointing to a venue found by the bot getOption("venue_search_bot_username")
|
||||
//@query_id Identifier of the inline query, used to found the venue
|
||||
//@result_id Identifier of the inline query result
|
||||
inputStoryAreaTypeFoundVenue query_id:int64 result_id:string = InputStoryAreaType;
|
||||
|
||||
//@description An area pointing to a venue already added to the story
|
||||
//@venue_provider Provider of the venue
|
||||
//@venue_id Identifier of the venue in the provider database
|
||||
inputStoryAreaTypePreviousVenue venue_provider:string venue_id:string = InputStoryAreaType;
|
||||
|
||||
|
||||
//@description Describes a clickable rectangle area on a story media to be added @position Position of the area @type Type of the area
|
||||
inputStoryArea position:storyAreaPosition type:InputStoryAreaType = InputStoryArea;
|
||||
|
||||
//@description Contains a list of story areas to be added @areas List of 0-10 input story areas
|
||||
inputStoryAreas areas:vector<inputStoryArea> = InputStoryAreas;
|
||||
|
||||
|
||||
//@description Describes a video file sent in a story
|
||||
//@duration Duration of the video, in seconds
|
||||
//@width Video width
|
||||
|
@ -4958,13 +5071,15 @@ storyListArchive = StoryList;
|
|||
|
||||
//@description Contains information about interactions with a story
|
||||
//@view_count Number of times the story was viewed
|
||||
//@reaction_count Number of reactions added to the story
|
||||
//@recent_viewer_user_ids Identifiers of at most 3 recent viewers of the story
|
||||
storyInteractionInfo view_count:int32 recent_viewer_user_ids:vector<int53> = StoryInteractionInfo;
|
||||
storyInteractionInfo view_count:int32 reaction_count:int32 recent_viewer_user_ids:vector<int53> = StoryInteractionInfo;
|
||||
|
||||
//@description Represents a story
|
||||
//@id Unique story identifier among stories of the given sender
|
||||
//@sender_chat_id Identifier of the chat that posted the story
|
||||
//@date Point in time (Unix timestamp) when the story was published
|
||||
//@is_being_sent True, if the story is being sent by the current user
|
||||
//@is_being_edited True, if the story is being edited by the current user
|
||||
//@is_edited True, if the story was edited
|
||||
//@is_pinned True, if the story is saved in the sender's profile and will be available there after expiration
|
||||
|
@ -4974,10 +5089,12 @@ storyInteractionInfo view_count:int32 recent_viewer_user_ids:vector<int53> = Sto
|
|||
//@can_get_viewers True, if users viewed the story can be received through getStoryViewers
|
||||
//@has_expired_viewers True, if users viewed the story can't be received, because the story has expired more than getOption("story_viewers_expiration_delay") seconds ago
|
||||
//@interaction_info Information about interactions with the story; may be null if the story isn't owned or there were no interactions
|
||||
//@chosen_reaction_type Type of the chosen reaction; may be null if none
|
||||
//@privacy_settings Privacy rules affecting story visibility; may be approximate for non-owned stories
|
||||
//@content Content of the story
|
||||
//@areas Clickable areas to be shown on the story content
|
||||
//@caption Caption of the story
|
||||
story id:int32 sender_chat_id:int53 date:int32 is_being_edited:Bool is_edited:Bool is_pinned:Bool is_visible_only_for_self:Bool can_be_forwarded:Bool can_be_replied:Bool can_get_viewers:Bool has_expired_viewers:Bool interaction_info:storyInteractionInfo privacy_settings:StoryPrivacySettings content:StoryContent caption:formattedText = Story;
|
||||
story id:int32 sender_chat_id:int53 date:int32 is_being_sent:Bool is_being_edited:Bool is_edited:Bool is_pinned:Bool is_visible_only_for_self:Bool can_be_forwarded:Bool can_be_replied:Bool can_get_viewers:Bool has_expired_viewers:Bool interaction_info:storyInteractionInfo chosen_reaction_type:ReactionType privacy_settings:StoryPrivacySettings content:StoryContent areas:vector<storyArea> caption:formattedText = Story;
|
||||
|
||||
//@description Represents a list of stories @total_count Approximate total number of stories found @stories The list of stories
|
||||
stories total_count:int32 stories:vector<story> = Stories;
|
||||
|
@ -4997,6 +5114,15 @@ storyInfo story_id:int32 date:int32 is_for_close_friends:Bool = StoryInfo;
|
|||
chatActiveStories chat_id:int53 list:StoryList order:int53 max_read_story_id:int32 stories:vector<storyInfo> = ChatActiveStories;
|
||||
|
||||
|
||||
//@class BlockList @description Describes a type of a block list
|
||||
|
||||
//@description The main block list that disallows writing messages to the current user, receiving their status and photo, viewing of stories, and some other actions
|
||||
blockListMain = BlockList;
|
||||
|
||||
//@description The block list that disallows viewing of stories of the current user
|
||||
blockListStories = BlockList;
|
||||
|
||||
|
||||
//@description Contains a part of a file @data File bytes
|
||||
filePart data:bytes = FilePart;
|
||||
|
||||
|
@ -5608,8 +5734,8 @@ updateChatIsTranslatable chat_id:int53 is_translatable:Bool = Update;
|
|||
//@description A chat was marked as unread or was read @chat_id Chat identifier @is_marked_as_unread New value of is_marked_as_unread
|
||||
updateChatIsMarkedAsUnread chat_id:int53 is_marked_as_unread:Bool = Update;
|
||||
|
||||
//@description A chat was blocked or unblocked @chat_id Chat identifier @is_blocked New value of is_blocked
|
||||
updateChatIsBlocked chat_id:int53 is_blocked:Bool = Update;
|
||||
//@description A chat was blocked or unblocked @chat_id Chat identifier @block_list Block list to which the chat is added; may be null if none
|
||||
updateChatBlockList chat_id:int53 block_list:BlockList = Update;
|
||||
|
||||
//@description A chat's has_scheduled_messages field has changed @chat_id Chat identifier @has_scheduled_messages New value of has_scheduled_messages
|
||||
updateChatHasScheduledMessages chat_id:int53 has_scheduled_messages:Bool = Update;
|
||||
|
@ -5764,6 +5890,16 @@ updateStory story:story = Update;
|
|||
//@description A story became inaccessible @story_sender_chat_id Identifier of the chat that posted the story @story_id Story identifier
|
||||
updateStoryDeleted story_sender_chat_id:int53 story_id:int32 = Update;
|
||||
|
||||
//@description A story has been successfully sent @story The sent story @old_story_id The previous temporary story identifier
|
||||
updateStorySendSucceeded story:story old_story_id:int32 = Update;
|
||||
|
||||
//@description A story failed to send. If the story sending is canceled, then updateStoryDeleted will be received instead of this update
|
||||
//@story The failed to send story
|
||||
//@error The cause of the failure; may be null if unknown
|
||||
//@error_code An error code
|
||||
//@error_message Error message
|
||||
updateStorySendFailed story:story error:CanSendStoryResult error_code:int32 error_message:string = Update;
|
||||
|
||||
//@description The list of active stories posted by a specific chat has changed
|
||||
//@active_stories The new list of active stories
|
||||
updateChatActiveStories active_stories:chatActiveStories = Update;
|
||||
|
@ -5771,6 +5907,11 @@ updateChatActiveStories active_stories:chatActiveStories = Update;
|
|||
//@description Number of chats in a story list has changed @story_list The story list @chat_count Approximate total number of chats with active stories in the list
|
||||
updateStoryListChatCount story_list:StoryList chat_count:int32 = Update;
|
||||
|
||||
//@description Story stealth mode settings have changed
|
||||
//@active_until_date Point in time (Unix timestamp) until stealth mode is active; 0 if it is disabled
|
||||
//@cooldown_until_date Point in time (Unix timestamp) when stealth mode can be enabled again; 0 if there is no active cooldown
|
||||
updateStoryStealthMode active_until_date:int32 cooldown_until_date:int32 = Update;
|
||||
|
||||
//@description An option changed its value @name The option name @value The new option value
|
||||
updateOption name:string value:OptionValue = Update;
|
||||
|
||||
|
@ -6505,7 +6646,7 @@ sendBotStartMessage bot_user_id:int53 chat_id:int53 parameter:string = Message;
|
|||
//@reply_to Identifier of the replied message or story; pass null if none
|
||||
//@options Options to be used to send the message; pass null to use default options
|
||||
//@query_id Identifier of the inline query
|
||||
//@result_id Identifier of the inline result
|
||||
//@result_id Identifier of the inline query result
|
||||
//@hide_via_bot Pass true to hide the bot, via which the message is sent. Can be used only for bots getOption("animation_search_bot_username"), getOption("photo_search_bot_username"), and getOption("venue_search_bot_username")
|
||||
sendInlineQueryResultMessage chat_id:int53 message_thread_id:int53 reply_to:MessageReplyTo options:messageSendOptions query_id:int64 result_id:string hide_via_bot:Bool = Message;
|
||||
|
||||
|
@ -6831,7 +6972,7 @@ shareChatWithBot chat_id:int53 message_id:int53 button_id:int32 shared_chat_id:i
|
|||
//@chat_id Identifier of the chat where the query was sent
|
||||
//@user_location Location of the user; pass null if unknown or the bot doesn't need user's location
|
||||
//@query Text of the query
|
||||
//@offset Offset of the first entry to return
|
||||
//@offset Offset of the first entry to return; use empty string to get the first chunk of results
|
||||
getInlineQueryResults bot_user_id:int53 chat_id:int53 user_location:location query:string offset:string = InlineQueryResults;
|
||||
|
||||
//@description Sets the result of an inline query; for bots only
|
||||
|
@ -7309,20 +7450,25 @@ readChatList chat_list:ChatList = Ok;
|
|||
//@only_local Pass true to get only locally available information without sending network requests
|
||||
getStory story_sender_chat_id:int53 story_id:int32 only_local:Bool = Story;
|
||||
|
||||
//@description Sends a new story. Returns a temporary story with identifier 0
|
||||
//@description Checks whether the current user can send a story
|
||||
canSendStory = CanSendStoryResult;
|
||||
|
||||
//@description Sends a new story. Returns a temporary story
|
||||
//@content Content of the story
|
||||
//@areas Clickable rectangle areas to be shown on the story media; pass null if none
|
||||
//@caption Story caption; pass null to use an empty caption; 0-getOption("story_caption_length_max") characters
|
||||
//@privacy_settings The privacy settings for the story
|
||||
//@active_period Period after which the story is moved to archive, in seconds; must be one of 6 * 3600, 12 * 3600, 86400, 2 * 86400, 3 * 86400, or 7 * 86400 for Telegram Premium users, and 86400 otherwise
|
||||
//@active_period Period after which the story is moved to archive, in seconds; must be one of 6 * 3600, 12 * 3600, 86400, or 2 * 86400 for Telegram Premium users, and 86400 otherwise
|
||||
//@is_pinned Pass true to keep the story accessible after expiration
|
||||
//@protect_content Pass true if the content of the story must be protected from forwarding and screenshotting
|
||||
sendStory content:InputStoryContent caption:formattedText privacy_settings:StoryPrivacySettings active_period:int32 is_pinned:Bool protect_content:Bool = Story;
|
||||
sendStory content:InputStoryContent areas:inputStoryAreas caption:formattedText privacy_settings:StoryPrivacySettings active_period:int32 is_pinned:Bool protect_content:Bool = Story;
|
||||
|
||||
//@description Changes content and caption of a previously sent story
|
||||
//@story_id Identifier of the story to edit
|
||||
//@content New content of the story; pass null to keep the current content
|
||||
//@areas New clickable rectangle areas to be shown on the story media; pass null to keep the current areas. Areas can't be edited if story content isn't changed
|
||||
//@caption New story caption; pass null to keep the current caption
|
||||
editStory story_id:int32 content:InputStoryContent caption:formattedText = Ok;
|
||||
editStory story_id:int32 content:InputStoryContent areas:inputStoryAreas caption:formattedText = Ok;
|
||||
|
||||
//@description Changes privacy settings of a previously sent story @story_id Identifier of the story @privacy_settings The new privacy settigs for the story
|
||||
setStoryPrivacySettings story_id:int32 privacy_settings:StoryPrivacySettings = Ok;
|
||||
|
@ -7372,13 +7518,24 @@ openStory story_sender_chat_id:int53 story_id:int32 = Ok;
|
|||
//@story_id The identifier of the story
|
||||
closeStory story_sender_chat_id:int53 story_id:int32 = Ok;
|
||||
|
||||
//@description Returns viewers of a recent outgoing story. The method can be called if story.can_get_viewers == true. The views are returned in a reverse chronological order (i.e., in order of decreasing view_date)
|
||||
//-For optimal performance, the number of returned stories is chosen by TDLib
|
||||
//@description Returns reactions, which can be chosen for a story @row_size Number of reaction per row, 5-25
|
||||
getStoryAvailableReactions row_size:int32 = AvailableReactions;
|
||||
|
||||
//@description Changes chosen reaction on a story
|
||||
//@story_sender_chat_id The identifier of the sender of the story
|
||||
//@story_id The identifier of the story
|
||||
//@reaction_type Type of the reaction to set; pass null to remove the reaction. `reactionTypeCustomEmoji` reactions can be used only by Telegram Premium users
|
||||
//@update_recent_reactions Pass true if the reaction needs to be added to recent reactions
|
||||
setStoryReaction story_sender_chat_id:int53 story_id:int32 reaction_type:ReactionType update_recent_reactions:Bool = Ok;
|
||||
|
||||
//@description Returns viewers of a story. The method can be called if story.can_get_viewers == true
|
||||
//@story_id Story identifier
|
||||
//@offset_viewer A viewer from which to return next viewers; pass null to get results from the beginning
|
||||
//@query Query to search for in names and usernames of the viewers; may be empty to get all relevant viewers
|
||||
//@only_contacts Pass true to get only contacts; pass false to get all relevant viewers
|
||||
//@prefer_with_reaction Pass true to get viewers with reaction first; pass false to get viewers sorted just by view_date
|
||||
//@offset Offset of the first entry to return as received from the previous request; use empty string to get the first chunk of results
|
||||
//@limit The maximum number of story viewers to return
|
||||
//-For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
|
||||
getStoryViewers story_id:int32 offset_viewer:messageViewer limit:int32 = MessageViewers;
|
||||
getStoryViewers story_id:int32 query:string only_contacts:Bool prefer_with_reaction:Bool offset:string limit:int32 = StoryViewers;
|
||||
|
||||
//@description Reports a story to the Telegram moderators
|
||||
//@story_sender_chat_id The identifier of the sender of the story to report
|
||||
|
@ -7387,6 +7544,10 @@ getStoryViewers story_id:int32 offset_viewer:messageViewer limit:int32 = Message
|
|||
//@text Additional report details; 0-1024 characters
|
||||
reportStory story_sender_chat_id:int53 story_id:int32 reason:ReportReason text:string = Ok;
|
||||
|
||||
//@description Activates stealth mode for stories, which hides all views of stories from the current user in the last "story_stealth_mode_past_period" seconds
|
||||
//-and for the next "story_stealth_mode_future_period" seconds; for Telegram Premium users only
|
||||
activateStoryStealthMode = Ok;
|
||||
|
||||
|
||||
//@description Returns information about a bot that can be added to attachment menu @bot_user_id Bot's user identifier
|
||||
getAttachmentMenuBot bot_user_id:int53 = AttachmentMenuBot;
|
||||
|
@ -7761,8 +7922,10 @@ getGroupCallStreams group_call_id:int32 = GroupCallStreams;
|
|||
getGroupCallStreamSegment group_call_id:int32 time_offset:int53 scale:int32 channel_id:int32 video_quality:GroupCallVideoQuality = FilePart;
|
||||
|
||||
|
||||
//@description Changes the block state of a message sender. Currently, only users and supergroup chats can be blocked @sender_id Identifier of a message sender to block/unblock @is_blocked New value of is_blocked
|
||||
toggleMessageSenderIsBlocked sender_id:MessageSender is_blocked:Bool = Ok;
|
||||
//@description Changes the block list of a message sender. Currently, only users and supergroup chats can be blocked
|
||||
//@sender_id Identifier of a message sender to block/unblock
|
||||
//@block_list New block list for the message sender; pass null to unblock the message sender
|
||||
setMessageSenderBlockList sender_id:MessageSender block_list:BlockList = Ok;
|
||||
|
||||
//@description Blocks an original sender of a message in the Replies chat
|
||||
//@message_id The identifier of an incoming message in the Replies chat
|
||||
|
@ -7771,8 +7934,11 @@ toggleMessageSenderIsBlocked sender_id:MessageSender is_blocked:Bool = Ok;
|
|||
//@report_spam Pass true to report the sender to the Telegram moderators
|
||||
blockMessageSenderFromReplies message_id:int53 delete_message:Bool delete_all_messages:Bool report_spam:Bool = Ok;
|
||||
|
||||
//@description Returns users and chats that were blocked by the current user @offset Number of users and chats to skip in the result; must be non-negative @limit The maximum number of users and chats to return; up to 100
|
||||
getBlockedMessageSenders offset:int32 limit:int32 = MessageSenders;
|
||||
//@description Returns users and chats that were blocked by the current user
|
||||
//@block_list Block list from which to return users
|
||||
//@offset Number of users and chats to skip in the result; must be non-negative
|
||||
//@limit The maximum number of users and chats to return; up to 100
|
||||
getBlockedMessageSenders block_list:BlockList offset:int32 limit:int32 = MessageSenders;
|
||||
|
||||
|
||||
//@description Adds a user to the contact list or edits an existing contact by their user identifier
|
||||
|
@ -8040,10 +8206,10 @@ setMenuButton user_id:int53 menu_button:botMenuButton = Ok;
|
|||
//@description Returns menu button set by the bot for the given user; for bots only @user_id Identifier of the user or 0 to get the default menu button
|
||||
getMenuButton user_id:int53 = BotMenuButton;
|
||||
|
||||
//@description Sets default administrator rights for adding the bot to basic group and supergroup chats; for bots only @default_group_administrator_rights Default administrator rights for adding the bot to basic group and supergroup chats; may be null
|
||||
//@description Sets default administrator rights for adding the bot to basic group and supergroup chats; for bots only @default_group_administrator_rights Default administrator rights for adding the bot to basic group and supergroup chats; pass null to remove default rights
|
||||
setDefaultGroupAdministratorRights default_group_administrator_rights:chatAdministratorRights = Ok;
|
||||
|
||||
//@description Sets default administrator rights for adding the bot to channel chats; for bots only @default_channel_administrator_rights Default administrator rights for adding the bot to channels; may be null
|
||||
//@description Sets default administrator rights for adding the bot to channel chats; for bots only @default_channel_administrator_rights Default administrator rights for adding the bot to channels; pass null to remove default rights
|
||||
setDefaultChannelAdministratorRights default_channel_administrator_rights:chatAdministratorRights = Ok;
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue