Update to TDLib 1.8.31

This commit is contained in:
c0re100 2024-06-19 14:42:06 +08:00
parent b75bf70673
commit fefab36108
No known key found for this signature in database
GPG key ID: 7C3B3004FE745AAF
9 changed files with 1378 additions and 303 deletions

View file

@ -2877,23 +2877,23 @@ func (client *Client) SearchOutgoingDocumentMessages(req *SearchOutgoingDocument
return UnmarshalFoundMessages(result.Data) return UnmarshalFoundMessages(result.Data)
} }
type SearchPublicHashtagMessagesRequest struct { type SearchPublicMessagesByTagRequest struct {
// Hashtag to search for // Hashtag or cashtag to search for
Hashtag string `json:"hashtag"` Tag string `json:"tag"`
// Offset of the first entry to return as received from the previous request; use empty string to get the first chunk of results // 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"` Offset string `json:"offset"`
// The maximum number of messages to be returned; up to 100. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit // The maximum number of messages to be returned; up to 100. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit
Limit int32 `json:"limit"` Limit int32 `json:"limit"`
} }
// Searches for public channel posts with the given hashtag. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit // Searches for public channel posts containing the given hashtag or cashtag. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit
func (client *Client) SearchPublicHashtagMessages(req *SearchPublicHashtagMessagesRequest) (*FoundMessages, error) { func (client *Client) SearchPublicMessagesByTag(req *SearchPublicMessagesByTagRequest) (*FoundMessages, error) {
result, err := client.Send(Request{ result, err := client.Send(Request{
meta: meta{ meta: meta{
Type: "searchPublicHashtagMessages", Type: "searchPublicMessagesByTag",
}, },
Data: map[string]interface{}{ Data: map[string]interface{}{
"hashtag": req.Hashtag, "tag": req.Tag,
"offset": req.Offset, "offset": req.Offset,
"limit": req.Limit, "limit": req.Limit,
}, },
@ -2909,21 +2909,120 @@ func (client *Client) SearchPublicHashtagMessages(req *SearchPublicHashtagMessag
return UnmarshalFoundMessages(result.Data) return UnmarshalFoundMessages(result.Data)
} }
type GetSearchedForHashtagsRequest struct { type SearchPublicStoriesByTagRequest struct {
// Prefix of hashtags to return // Hashtag or cashtag to search for
Prefix string `json:"prefix"` Tag string `json:"tag"`
// The maximum number of hashtags to be returned // 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 stories to be returned; up to 100. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
Limit int32 `json:"limit"` Limit int32 `json:"limit"`
} }
// Returns recently searched for hashtags by their prefix // Searches for public stories containing the given hashtag or cashtag. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
func (client *Client) GetSearchedForHashtags(req *GetSearchedForHashtagsRequest) (*Hashtags, error) { func (client *Client) SearchPublicStoriesByTag(req *SearchPublicStoriesByTagRequest) (*FoundStories, error) {
result, err := client.Send(Request{ result, err := client.Send(Request{
meta: meta{ meta: meta{
Type: "getSearchedForHashtags", Type: "searchPublicStoriesByTag",
}, },
Data: map[string]interface{}{ Data: map[string]interface{}{
"prefix": req.Prefix, "tag": req.Tag,
"offset": req.Offset,
"limit": req.Limit,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalFoundStories(result.Data)
}
type SearchPublicStoriesByLocationRequest struct {
// Address of the location
Address *LocationAddress `json:"address"`
// 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 stories to be returned; up to 100. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
Limit int32 `json:"limit"`
}
// Searches for public stories by the given address location. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
func (client *Client) SearchPublicStoriesByLocation(req *SearchPublicStoriesByLocationRequest) (*FoundStories, error) {
result, err := client.Send(Request{
meta: meta{
Type: "searchPublicStoriesByLocation",
},
Data: map[string]interface{}{
"address": req.Address,
"offset": req.Offset,
"limit": req.Limit,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalFoundStories(result.Data)
}
type SearchPublicStoriesByVenueRequest struct {
// Provider of the venue
VenueProvider string `json:"venue_provider"`
// Identifier of the venue in the provider database
VenueId string `json:"venue_id"`
// 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 stories to be returned; up to 100. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
Limit int32 `json:"limit"`
}
// Searches for public stories from the given venue. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
func (client *Client) SearchPublicStoriesByVenue(req *SearchPublicStoriesByVenueRequest) (*FoundStories, error) {
result, err := client.Send(Request{
meta: meta{
Type: "searchPublicStoriesByVenue",
},
Data: map[string]interface{}{
"venue_provider": req.VenueProvider,
"venue_id": req.VenueId,
"offset": req.Offset,
"limit": req.Limit,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalFoundStories(result.Data)
}
type GetSearchedForTagsRequest struct {
// Prefix of hashtags or cashtags to return
TagPrefix string `json:"tag_prefix"`
// The maximum number of items to be returned
Limit int32 `json:"limit"`
}
// Returns recently searched for hashtags or cashtags by their prefix
func (client *Client) GetSearchedForTags(req *GetSearchedForTagsRequest) (*Hashtags, error) {
result, err := client.Send(Request{
meta: meta{
Type: "getSearchedForTags",
},
Data: map[string]interface{}{
"tag_prefix": req.TagPrefix,
"limit": req.Limit, "limit": req.Limit,
}, },
}) })
@ -2938,19 +3037,19 @@ func (client *Client) GetSearchedForHashtags(req *GetSearchedForHashtagsRequest)
return UnmarshalHashtags(result.Data) return UnmarshalHashtags(result.Data)
} }
type RemoveSearchedForHashtagRequest struct { type RemoveSearchedForTagRequest struct {
// Hashtag to delete // Hashtag or cashtag to delete
Hashtag string `json:"hashtag"` Tag string `json:"tag"`
} }
// Removes a hashtag from the list of recently searched for hashtags // Removes a hashtag or a cashtag from the list of recently searched for hashtags or cashtags
func (client *Client) RemoveSearchedForHashtag(req *RemoveSearchedForHashtagRequest) (*Ok, error) { func (client *Client) RemoveSearchedForTag(req *RemoveSearchedForTagRequest) (*Ok, error) {
result, err := client.Send(Request{ result, err := client.Send(Request{
meta: meta{ meta: meta{
Type: "removeSearchedForHashtag", Type: "removeSearchedForTag",
}, },
Data: map[string]interface{}{ Data: map[string]interface{}{
"hashtag": req.Hashtag, "tag": req.Tag,
}, },
}) })
if err != nil { if err != nil {
@ -2964,13 +3063,20 @@ func (client *Client) RemoveSearchedForHashtag(req *RemoveSearchedForHashtagRequ
return UnmarshalOk(result.Data) return UnmarshalOk(result.Data)
} }
// Clears the list of recently searched for hashtags type ClearSearchedForTagsRequest struct {
func (client *Client) ClearSearchedForHashtags() (*Ok, error) { // Pass true to clear the list of recently searched for cashtags; otherwise, the list of recently searched for hashtags will be cleared
ClearCashtags bool `json:"clear_cashtags"`
}
// Clears the list of recently searched for hashtags or cashtags
func (client *Client) ClearSearchedForTags(req *ClearSearchedForTagsRequest) (*Ok, error) {
result, err := client.Send(Request{ result, err := client.Send(Request{
meta: meta{ meta: meta{
Type: "clearSearchedForHashtags", Type: "clearSearchedForTags",
},
Data: map[string]interface{}{
"clear_cashtags": req.ClearCashtags,
}, },
Data: map[string]interface{}{},
}) })
if err != nil { if err != nil {
return nil, err return nil, err
@ -4505,7 +4611,7 @@ func (client *Client) EditMessageSchedulingState(req *EditMessageSchedulingState
type SetMessageFactCheckRequest struct { type SetMessageFactCheckRequest struct {
// The channel chat the message belongs to // The channel chat the message belongs to
ChatId int64 `json:"chat_id"` ChatId int64 `json:"chat_id"`
// Identifier of the message // Identifier of the message. The message must be one of the following types: messageAnimation, messageAudio, messageDocument, messagePhoto, messageText, messageVideo
MessageId int64 `json:"message_id"` MessageId int64 `json:"message_id"`
// New text of the fact-check; 0-getOption("fact_check_length_max") characters; pass null to remove it. Only Bold, Italic, and TextUrl entities with https://t.me/ links are supported // New text of the fact-check; 0-getOption("fact_check_length_max") characters; pass null to remove it. Only Bold, Italic, and TextUrl entities with https://t.me/ links are supported
Text *FormattedText `json:"text"` Text *FormattedText `json:"text"`
@ -4625,6 +4731,240 @@ func (client *Client) SendBusinessMessageAlbum(req *SendBusinessMessageAlbumRequ
return UnmarshalBusinessMessages(result.Data) return UnmarshalBusinessMessages(result.Data)
} }
type EditBusinessMessageTextRequest struct {
// Unique identifier of business connection on behalf of which the message was sent
BusinessConnectionId string `json:"business_connection_id"`
// The chat the message belongs to
ChatId int64 `json:"chat_id"`
// Identifier of the message
MessageId int64 `json:"message_id"`
// The new message reply markup; pass null if none
ReplyMarkup ReplyMarkup `json:"reply_markup"`
// New text content of the message. Must be of type inputMessageText
InputMessageContent InputMessageContent `json:"input_message_content"`
}
// Edits the text of a text or game message sent on behalf of a business account; for bots only
func (client *Client) EditBusinessMessageText(req *EditBusinessMessageTextRequest) (*BusinessMessage, error) {
result, err := client.Send(Request{
meta: meta{
Type: "editBusinessMessageText",
},
Data: map[string]interface{}{
"business_connection_id": req.BusinessConnectionId,
"chat_id": req.ChatId,
"message_id": req.MessageId,
"reply_markup": req.ReplyMarkup,
"input_message_content": req.InputMessageContent,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalBusinessMessage(result.Data)
}
type EditBusinessMessageLiveLocationRequest struct {
// Unique identifier of business connection on behalf of which the message was sent
BusinessConnectionId string `json:"business_connection_id"`
// The chat the message belongs to
ChatId int64 `json:"chat_id"`
// Identifier of the message
MessageId int64 `json:"message_id"`
// The new message reply markup; pass null if none
ReplyMarkup ReplyMarkup `json:"reply_markup"`
// New location content of the message; pass null to stop sharing the live location
Location *Location `json:"location"`
// New time relative to the message send date, for which the location can be updated, in seconds. If 0x7FFFFFFF specified, then the location can be updated forever. Otherwise, must not exceed the current live_period by more than a day, and the live location expiration date must remain in the next 90 days. Pass 0 to keep the current live_period
LivePeriod int32 `json:"live_period"`
// The new direction in which the location moves, in degrees; 1-360. Pass 0 if unknown
Heading int32 `json:"heading"`
// The new maximum distance for proximity alerts, in meters (0-100000). Pass 0 if the notification is disabled
ProximityAlertRadius int32 `json:"proximity_alert_radius"`
}
// Edits the content of a live location in a message sent on behalf of a business account; for bots only
func (client *Client) EditBusinessMessageLiveLocation(req *EditBusinessMessageLiveLocationRequest) (*BusinessMessage, error) {
result, err := client.Send(Request{
meta: meta{
Type: "editBusinessMessageLiveLocation",
},
Data: map[string]interface{}{
"business_connection_id": req.BusinessConnectionId,
"chat_id": req.ChatId,
"message_id": req.MessageId,
"reply_markup": req.ReplyMarkup,
"location": req.Location,
"live_period": req.LivePeriod,
"heading": req.Heading,
"proximity_alert_radius": req.ProximityAlertRadius,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalBusinessMessage(result.Data)
}
type EditBusinessMessageMediaRequest struct {
// Unique identifier of business connection on behalf of which the message was sent
BusinessConnectionId string `json:"business_connection_id"`
// The chat the message belongs to
ChatId int64 `json:"chat_id"`
// Identifier of the message
MessageId int64 `json:"message_id"`
// The new message reply markup; pass null if none; for bots only
ReplyMarkup ReplyMarkup `json:"reply_markup"`
// New content of the message. Must be one of the following types: inputMessageAnimation, inputMessageAudio, inputMessageDocument, inputMessagePhoto or inputMessageVideo
InputMessageContent InputMessageContent `json:"input_message_content"`
}
// Edits the content of a message with an animation, an audio, a document, a photo or a video in a message sent on behalf of a business account; for bots only
func (client *Client) EditBusinessMessageMedia(req *EditBusinessMessageMediaRequest) (*BusinessMessage, error) {
result, err := client.Send(Request{
meta: meta{
Type: "editBusinessMessageMedia",
},
Data: map[string]interface{}{
"business_connection_id": req.BusinessConnectionId,
"chat_id": req.ChatId,
"message_id": req.MessageId,
"reply_markup": req.ReplyMarkup,
"input_message_content": req.InputMessageContent,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalBusinessMessage(result.Data)
}
type EditBusinessMessageCaptionRequest struct {
// Unique identifier of business connection on behalf of which the message was sent
BusinessConnectionId string `json:"business_connection_id"`
// The chat the message belongs to
ChatId int64 `json:"chat_id"`
// Identifier of the message
MessageId int64 `json:"message_id"`
// The new message reply markup; pass null if none
ReplyMarkup ReplyMarkup `json:"reply_markup"`
// New message content caption; pass null to remove caption; 0-getOption("message_caption_length_max") characters
Caption *FormattedText `json:"caption"`
// Pass true to show the caption above the media; otherwise, caption will be shown below the media. Can be true only for animation, photo, and video messages
ShowCaptionAboveMedia bool `json:"show_caption_above_media"`
}
// Edits the caption of a message sent on behalf of a business account; for bots only
func (client *Client) EditBusinessMessageCaption(req *EditBusinessMessageCaptionRequest) (*BusinessMessage, error) {
result, err := client.Send(Request{
meta: meta{
Type: "editBusinessMessageCaption",
},
Data: map[string]interface{}{
"business_connection_id": req.BusinessConnectionId,
"chat_id": req.ChatId,
"message_id": req.MessageId,
"reply_markup": req.ReplyMarkup,
"caption": req.Caption,
"show_caption_above_media": req.ShowCaptionAboveMedia,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalBusinessMessage(result.Data)
}
type EditBusinessMessageReplyMarkupRequest struct {
// Unique identifier of business connection on behalf of which the message was sent
BusinessConnectionId string `json:"business_connection_id"`
// The chat the message belongs to
ChatId int64 `json:"chat_id"`
// Identifier of the message
MessageId int64 `json:"message_id"`
// The new message reply markup; pass null if none
ReplyMarkup ReplyMarkup `json:"reply_markup"`
}
// Edits the reply markup of a message sent on behalf of a business account; for bots only
func (client *Client) EditBusinessMessageReplyMarkup(req *EditBusinessMessageReplyMarkupRequest) (*BusinessMessage, error) {
result, err := client.Send(Request{
meta: meta{
Type: "editBusinessMessageReplyMarkup",
},
Data: map[string]interface{}{
"business_connection_id": req.BusinessConnectionId,
"chat_id": req.ChatId,
"message_id": req.MessageId,
"reply_markup": req.ReplyMarkup,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalBusinessMessage(result.Data)
}
type StopBusinessPollRequest struct {
// Unique identifier of business connection on behalf of which the message with the poll was sent
BusinessConnectionId string `json:"business_connection_id"`
// The chat the message belongs to
ChatId int64 `json:"chat_id"`
// Identifier of the message containing the poll
MessageId int64 `json:"message_id"`
// The new message reply markup; pass null if none
ReplyMarkup ReplyMarkup `json:"reply_markup"`
}
// Stops a poll sent on behalf of a business account; for bots only
func (client *Client) StopBusinessPoll(req *StopBusinessPollRequest) (*BusinessMessage, error) {
result, err := client.Send(Request{
meta: meta{
Type: "stopBusinessPoll",
},
Data: map[string]interface{}{
"business_connection_id": req.BusinessConnectionId,
"chat_id": req.ChatId,
"message_id": req.MessageId,
"reply_markup": req.ReplyMarkup,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalBusinessMessage(result.Data)
}
type CheckQuickReplyShortcutNameRequest struct { type CheckQuickReplyShortcutNameRequest struct {
// The name of the shortcut; 1-32 characters // The name of the shortcut; 1-32 characters
Name string `json:"name"` Name string `json:"name"`
@ -4974,7 +5314,7 @@ func (client *Client) EditQuickReplyMessage(req *EditQuickReplyMessageRequest) (
return UnmarshalOk(result.Data) return UnmarshalOk(result.Data)
} }
// Returns the list of custom emojis, which can be used as forum topic icon by all users // Returns the list of custom emoji, which can be used as forum topic icon by all users
func (client *Client) GetForumTopicDefaultIcons() (*Stickers, error) { func (client *Client) GetForumTopicDefaultIcons() (*Stickers, error) {
result, err := client.Send(Request{ result, err := client.Send(Request{
meta: meta{ meta: meta{
@ -13891,7 +14231,7 @@ func (client *Client) GetUserProfilePhotos(req *GetUserProfilePhotosRequest) (*C
type GetStickersRequest struct { type GetStickersRequest struct {
// Type of the stickers to return // Type of the stickers to return
StickerType StickerType `json:"sticker_type"` StickerType StickerType `json:"sticker_type"`
// Search query; a space-separated list of emoji or a keyword prefix. If empty, returns all known installed stickers // Search query; a space-separated list of emojis or a keyword prefix. If empty, returns all known installed stickers
Query string `json:"query"` Query string `json:"query"`
// The maximum number of stickers to be returned // The maximum number of stickers to be returned
Limit int32 `json:"limit"` Limit int32 `json:"limit"`
@ -13961,7 +14301,7 @@ func (client *Client) GetAllStickerEmojis(req *GetAllStickerEmojisRequest) (*Emo
type SearchStickersRequest struct { type SearchStickersRequest struct {
// Type of the stickers to return // Type of the stickers to return
StickerType StickerType `json:"sticker_type"` StickerType StickerType `json:"sticker_type"`
// Space-separated list of emoji to search for; must be non-empty // Space-separated list of emojis to search for; must be non-empty
Emojis string `json:"emojis"` Emojis string `json:"emojis"`
// The maximum number of stickers to be returned; 0-100 // The maximum number of stickers to be returned; 0-100
Limit int32 `json:"limit"` Limit int32 `json:"limit"`
@ -14621,7 +14961,7 @@ type GetEmojiCategoriesRequest struct {
Type EmojiCategoryType `json:"type"` Type EmojiCategoryType `json:"type"`
} }
// Returns available emojis categories // Returns available emoji categories
func (client *Client) GetEmojiCategories(req *GetEmojiCategoriesRequest) (*EmojiCategories, error) { func (client *Client) GetEmojiCategories(req *GetEmojiCategoriesRequest) (*EmojiCategories, error) {
result, err := client.Send(Request{ result, err := client.Send(Request{
meta: meta{ meta: meta{
@ -18753,6 +19093,67 @@ func (client *Client) GetChatRevenueTransactions(req *GetChatRevenueTransactions
return UnmarshalChatRevenueTransactions(result.Data) return UnmarshalChatRevenueTransactions(result.Data)
} }
type GetStarRevenueStatisticsRequest struct {
// Identifier of the owner of the Telegram stars; can be identifier of an owned bot, or identifier of a channel chat with supergroupFullInfo.can_get_revenue_statistics == true
OwnerId MessageSender `json:"owner_id"`
// Pass true if a dark theme is used by the application
IsDark bool `json:"is_dark"`
}
// Returns detailed Telegram star revenue statistics
func (client *Client) GetStarRevenueStatistics(req *GetStarRevenueStatisticsRequest) (*StarRevenueStatistics, error) {
result, err := client.Send(Request{
meta: meta{
Type: "getStarRevenueStatistics",
},
Data: map[string]interface{}{
"owner_id": req.OwnerId,
"is_dark": req.IsDark,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalStarRevenueStatistics(result.Data)
}
type GetStarWithdrawalUrlRequest struct {
// Identifier of the owner of the Telegram stars; can be identifier of an owned bot, or identifier of a channel chat with supergroupFullInfo.can_get_revenue_statistics == true
OwnerId MessageSender `json:"owner_id"`
// The number of Telegram stars to withdraw. Must be at least getOption("star_withdrawal_count_min")
StarCount int64 `json:"star_count"`
// The 2-step verification password of the current user
Password string `json:"password"`
}
// Returns URL for Telegram star withdrawal
func (client *Client) GetStarWithdrawalUrl(req *GetStarWithdrawalUrlRequest) (*HttpUrl, error) {
result, err := client.Send(Request{
meta: meta{
Type: "getStarWithdrawalUrl",
},
Data: map[string]interface{}{
"owner_id": req.OwnerId,
"star_count": req.StarCount,
"password": req.Password,
},
})
if err != nil {
return nil, err
}
if result.Type == "error" {
return nil, buildResponseError(result.Data)
}
return UnmarshalHttpUrl(result.Data)
}
type GetChatStatisticsRequest struct { type GetChatStatisticsRequest struct {
// Chat identifier // Chat identifier
ChatId int64 `json:"chat_id"` ChatId int64 `json:"chat_id"`
@ -20116,7 +20517,7 @@ type SetStickerEmojisRequest struct {
Emojis string `json:"emojis"` Emojis string `json:"emojis"`
} }
// Changes the list of emoji corresponding to a sticker. The sticker must belong to a regular or custom emoji sticker set that is owned by the current user // Changes the list of emojis corresponding to a sticker. The sticker must belong to a regular or custom emoji sticker set that is owned by the current user
func (client *Client) SetStickerEmojis(req *SetStickerEmojisRequest) (*Ok, error) { func (client *Client) SetStickerEmojis(req *SetStickerEmojisRequest) (*Ok, error) {
result, err := client.Send(Request{ result, err := client.Send(Request{
meta: meta{ meta: meta{
@ -20566,21 +20967,27 @@ func (client *Client) GetStarPaymentOptions() (*StarPaymentOptions, error) {
} }
type GetStarTransactionsRequest struct { type GetStarTransactionsRequest struct {
// Offset of the first transaction to return as received from the previous request; use empty string to get the first chunk of results // Identifier of the owner of the Telegram stars; can be the identifier of the current user, identifier of an owned bot, or identifier of a channel chat with supergroupFullInfo.can_get_revenue_statistics == true
Offset string `json:"offset"` OwnerId MessageSender `json:"owner_id"`
// Direction of the transactions to receive; pass null to get all transactions // Direction of the transactions to receive; pass null to get all transactions
Direction StarTransactionDirection `json:"direction"` Direction StarTransactionDirection `json:"direction"`
// Offset of the first transaction 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 transactions to return
Limit int32 `json:"limit"`
} }
// Returns the list of Telegram star transactions for the current user // Returns the list of Telegram star transactions for the specified owner
func (client *Client) GetStarTransactions(req *GetStarTransactionsRequest) (*StarTransactions, error) { func (client *Client) GetStarTransactions(req *GetStarTransactionsRequest) (*StarTransactions, error) {
result, err := client.Send(Request{ result, err := client.Send(Request{
meta: meta{ meta: meta{
Type: "getStarTransactions", Type: "getStarTransactions",
}, },
Data: map[string]interface{}{ Data: map[string]interface{}{
"offset": req.Offset, "owner_id": req.OwnerId,
"direction": req.Direction, "direction": req.Direction,
"offset": req.Offset,
"limit": req.Limit,
}, },
}) })
if err != nil { if err != nil {
@ -22289,6 +22696,9 @@ func (client *Client) TestUseUpdate() (Update, error) {
case TypeUpdateChatRevenueAmount: case TypeUpdateChatRevenueAmount:
return UnmarshalUpdateChatRevenueAmount(result.Data) return UnmarshalUpdateChatRevenueAmount(result.Data)
case TypeUpdateStarRevenueStatus:
return UnmarshalUpdateStarRevenueStatus(result.Data)
case TypeUpdateSpeechRecognitionTrial: case TypeUpdateSpeechRecognitionTrial:
return UnmarshalUpdateSpeechRecognitionTrial(result.Data) return UnmarshalUpdateSpeechRecognitionTrial(result.Data)
@ -22337,6 +22747,9 @@ func (client *Client) TestUseUpdate() (Update, error) {
case TypeUpdateNewInlineCallbackQuery: case TypeUpdateNewInlineCallbackQuery:
return UnmarshalUpdateNewInlineCallbackQuery(result.Data) return UnmarshalUpdateNewInlineCallbackQuery(result.Data)
case TypeUpdateNewBusinessCallbackQuery:
return UnmarshalUpdateNewBusinessCallbackQuery(result.Data)
case TypeUpdateNewShippingQuery: case TypeUpdateNewShippingQuery:
return UnmarshalUpdateNewShippingQuery(result.Data) return UnmarshalUpdateNewShippingQuery(result.Data)

File diff suppressed because it is too large Load diff

View file

@ -659,7 +659,7 @@ func UnmarshalListOfStarTransactionDirection(dataList []json.RawMessage) ([]Star
return list, nil return list, nil
} }
func UnmarshalStarTransactionSource(data json.RawMessage) (StarTransactionSource, error) { func UnmarshalStarTransactionPartner(data json.RawMessage) (StarTransactionPartner, error) {
var meta meta var meta meta
err := json.Unmarshal(data, &meta) err := json.Unmarshal(data, &meta)
@ -668,34 +668,37 @@ func UnmarshalStarTransactionSource(data json.RawMessage) (StarTransactionSource
} }
switch meta.Type { switch meta.Type {
case TypeStarTransactionSourceTelegram: case TypeStarTransactionPartnerTelegram:
return UnmarshalStarTransactionSourceTelegram(data) return UnmarshalStarTransactionPartnerTelegram(data)
case TypeStarTransactionSourceAppStore: case TypeStarTransactionPartnerAppStore:
return UnmarshalStarTransactionSourceAppStore(data) return UnmarshalStarTransactionPartnerAppStore(data)
case TypeStarTransactionSourceGooglePlay: case TypeStarTransactionPartnerGooglePlay:
return UnmarshalStarTransactionSourceGooglePlay(data) return UnmarshalStarTransactionPartnerGooglePlay(data)
case TypeStarTransactionSourceFragment: case TypeStarTransactionPartnerFragment:
return UnmarshalStarTransactionSourceFragment(data) return UnmarshalStarTransactionPartnerFragment(data)
case TypeStarTransactionSourceUser: case TypeStarTransactionPartnerUser:
return UnmarshalStarTransactionSourceUser(data) return UnmarshalStarTransactionPartnerUser(data)
case TypeStarTransactionSourceUnsupported: case TypeStarTransactionPartnerChannel:
return UnmarshalStarTransactionSourceUnsupported(data) return UnmarshalStarTransactionPartnerChannel(data)
case TypeStarTransactionPartnerUnsupported:
return UnmarshalStarTransactionPartnerUnsupported(data)
default: default:
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type) return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
} }
} }
func UnmarshalListOfStarTransactionSource(dataList []json.RawMessage) ([]StarTransactionSource, error) { func UnmarshalListOfStarTransactionPartner(dataList []json.RawMessage) ([]StarTransactionPartner, error) {
list := []StarTransactionSource{} list := []StarTransactionPartner{}
for _, data := range dataList { for _, data := range dataList {
entity, err := UnmarshalStarTransactionSource(data) entity, err := UnmarshalStarTransactionPartner(data)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -1268,6 +1271,9 @@ func UnmarshalInputMessageReplyTo(data json.RawMessage) (InputMessageReplyTo, er
case TypeInputMessageReplyToMessage: case TypeInputMessageReplyToMessage:
return UnmarshalInputMessageReplyToMessage(data) return UnmarshalInputMessageReplyToMessage(data)
case TypeInputMessageReplyToExternalMessage:
return UnmarshalInputMessageReplyToExternalMessage(data)
case TypeInputMessageReplyToStory: case TypeInputMessageReplyToStory:
return UnmarshalInputMessageReplyToStory(data) return UnmarshalInputMessageReplyToStory(data)
@ -3515,6 +3521,9 @@ func UnmarshalStoryAreaType(data json.RawMessage) (StoryAreaType, error) {
case TypeStoryAreaTypeMessage: case TypeStoryAreaTypeMessage:
return UnmarshalStoryAreaTypeMessage(data) return UnmarshalStoryAreaTypeMessage(data)
case TypeStoryAreaTypeLink:
return UnmarshalStoryAreaTypeLink(data)
default: default:
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type) return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
} }
@ -3558,6 +3567,9 @@ func UnmarshalInputStoryAreaType(data json.RawMessage) (InputStoryAreaType, erro
case TypeInputStoryAreaTypeMessage: case TypeInputStoryAreaTypeMessage:
return UnmarshalInputStoryAreaTypeMessage(data) return UnmarshalInputStoryAreaTypeMessage(data)
case TypeInputStoryAreaTypeLink:
return UnmarshalInputStoryAreaTypeLink(data)
default: default:
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type) return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
} }
@ -6933,7 +6945,7 @@ func UnmarshalListOfChatStatistics(dataList []json.RawMessage) ([]ChatStatistics
return list, nil return list, nil
} }
func UnmarshalChatRevenueWithdrawalState(data json.RawMessage) (ChatRevenueWithdrawalState, error) { func UnmarshalRevenueWithdrawalState(data json.RawMessage) (RevenueWithdrawalState, error) {
var meta meta var meta meta
err := json.Unmarshal(data, &meta) err := json.Unmarshal(data, &meta)
@ -6942,25 +6954,25 @@ func UnmarshalChatRevenueWithdrawalState(data json.RawMessage) (ChatRevenueWithd
} }
switch meta.Type { switch meta.Type {
case TypeChatRevenueWithdrawalStatePending: case TypeRevenueWithdrawalStatePending:
return UnmarshalChatRevenueWithdrawalStatePending(data) return UnmarshalRevenueWithdrawalStatePending(data)
case TypeChatRevenueWithdrawalStateCompleted: case TypeRevenueWithdrawalStateSucceeded:
return UnmarshalChatRevenueWithdrawalStateCompleted(data) return UnmarshalRevenueWithdrawalStateSucceeded(data)
case TypeChatRevenueWithdrawalStateFailed: case TypeRevenueWithdrawalStateFailed:
return UnmarshalChatRevenueWithdrawalStateFailed(data) return UnmarshalRevenueWithdrawalStateFailed(data)
default: default:
return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type) return nil, fmt.Errorf("Error unmarshaling. Unknown type: " + meta.Type)
} }
} }
func UnmarshalListOfChatRevenueWithdrawalState(dataList []json.RawMessage) ([]ChatRevenueWithdrawalState, error) { func UnmarshalListOfRevenueWithdrawalState(dataList []json.RawMessage) ([]RevenueWithdrawalState, error) {
list := []ChatRevenueWithdrawalState{} list := []RevenueWithdrawalState{}
for _, data := range dataList { for _, data := range dataList {
entity, err := UnmarshalChatRevenueWithdrawalState(data) entity, err := UnmarshalRevenueWithdrawalState(data)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -7496,6 +7508,9 @@ func UnmarshalUpdate(data json.RawMessage) (Update, error) {
case TypeUpdateChatRevenueAmount: case TypeUpdateChatRevenueAmount:
return UnmarshalUpdateChatRevenueAmount(data) return UnmarshalUpdateChatRevenueAmount(data)
case TypeUpdateStarRevenueStatus:
return UnmarshalUpdateStarRevenueStatus(data)
case TypeUpdateSpeechRecognitionTrial: case TypeUpdateSpeechRecognitionTrial:
return UnmarshalUpdateSpeechRecognitionTrial(data) return UnmarshalUpdateSpeechRecognitionTrial(data)
@ -7544,6 +7559,9 @@ func UnmarshalUpdate(data json.RawMessage) (Update, error) {
case TypeUpdateNewInlineCallbackQuery: case TypeUpdateNewInlineCallbackQuery:
return UnmarshalUpdateNewInlineCallbackQuery(data) return UnmarshalUpdateNewInlineCallbackQuery(data)
case TypeUpdateNewBusinessCallbackQuery:
return UnmarshalUpdateNewBusinessCallbackQuery(data)
case TypeUpdateNewShippingQuery: case TypeUpdateNewShippingQuery:
return UnmarshalUpdateNewShippingQuery(data) return UnmarshalUpdateNewShippingQuery(data)
@ -8769,48 +8787,56 @@ func UnmarshalStarTransactionDirectionOutgoing(data json.RawMessage) (*StarTrans
return &resp, err return &resp, err
} }
func UnmarshalStarTransactionSourceTelegram(data json.RawMessage) (*StarTransactionSourceTelegram, error) { func UnmarshalStarTransactionPartnerTelegram(data json.RawMessage) (*StarTransactionPartnerTelegram, error) {
var resp StarTransactionSourceTelegram var resp StarTransactionPartnerTelegram
err := json.Unmarshal(data, &resp) err := json.Unmarshal(data, &resp)
return &resp, err return &resp, err
} }
func UnmarshalStarTransactionSourceAppStore(data json.RawMessage) (*StarTransactionSourceAppStore, error) { func UnmarshalStarTransactionPartnerAppStore(data json.RawMessage) (*StarTransactionPartnerAppStore, error) {
var resp StarTransactionSourceAppStore var resp StarTransactionPartnerAppStore
err := json.Unmarshal(data, &resp) err := json.Unmarshal(data, &resp)
return &resp, err return &resp, err
} }
func UnmarshalStarTransactionSourceGooglePlay(data json.RawMessage) (*StarTransactionSourceGooglePlay, error) { func UnmarshalStarTransactionPartnerGooglePlay(data json.RawMessage) (*StarTransactionPartnerGooglePlay, error) {
var resp StarTransactionSourceGooglePlay var resp StarTransactionPartnerGooglePlay
err := json.Unmarshal(data, &resp) err := json.Unmarshal(data, &resp)
return &resp, err return &resp, err
} }
func UnmarshalStarTransactionSourceFragment(data json.RawMessage) (*StarTransactionSourceFragment, error) { func UnmarshalStarTransactionPartnerFragment(data json.RawMessage) (*StarTransactionPartnerFragment, error) {
var resp StarTransactionSourceFragment var resp StarTransactionPartnerFragment
err := json.Unmarshal(data, &resp) err := json.Unmarshal(data, &resp)
return &resp, err return &resp, err
} }
func UnmarshalStarTransactionSourceUser(data json.RawMessage) (*StarTransactionSourceUser, error) { func UnmarshalStarTransactionPartnerUser(data json.RawMessage) (*StarTransactionPartnerUser, error) {
var resp StarTransactionSourceUser var resp StarTransactionPartnerUser
err := json.Unmarshal(data, &resp) err := json.Unmarshal(data, &resp)
return &resp, err return &resp, err
} }
func UnmarshalStarTransactionSourceUnsupported(data json.RawMessage) (*StarTransactionSourceUnsupported, error) { func UnmarshalStarTransactionPartnerChannel(data json.RawMessage) (*StarTransactionPartnerChannel, error) {
var resp StarTransactionSourceUnsupported var resp StarTransactionPartnerChannel
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalStarTransactionPartnerUnsupported(data json.RawMessage) (*StarTransactionPartnerUnsupported, error) {
var resp StarTransactionPartnerUnsupported
err := json.Unmarshal(data, &resp) err := json.Unmarshal(data, &resp)
@ -9625,6 +9651,14 @@ func UnmarshalInputMessageReplyToMessage(data json.RawMessage) (*InputMessageRep
return &resp, err return &resp, err
} }
func UnmarshalInputMessageReplyToExternalMessage(data json.RawMessage) (*InputMessageReplyToExternalMessage, error) {
var resp InputMessageReplyToExternalMessage
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalInputMessageReplyToStory(data json.RawMessage) (*InputMessageReplyToStory, error) { func UnmarshalInputMessageReplyToStory(data json.RawMessage) (*InputMessageReplyToStory, error) {
var resp InputMessageReplyToStory var resp InputMessageReplyToStory
@ -11153,6 +11187,14 @@ func UnmarshalAddress(data json.RawMessage) (*Address, error) {
return &resp, err return &resp, err
} }
func UnmarshalLocationAddress(data json.RawMessage) (*LocationAddress, error) {
var resp LocationAddress
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalThemeParameters(data json.RawMessage) (*ThemeParameters, error) { func UnmarshalThemeParameters(data json.RawMessage) (*ThemeParameters, error) {
var resp ThemeParameters var resp ThemeParameters
@ -13377,6 +13419,14 @@ func UnmarshalStoryAreaTypeMessage(data json.RawMessage) (*StoryAreaTypeMessage,
return &resp, err return &resp, err
} }
func UnmarshalStoryAreaTypeLink(data json.RawMessage) (*StoryAreaTypeLink, error) {
var resp StoryAreaTypeLink
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalStoryArea(data json.RawMessage) (*StoryArea, error) { func UnmarshalStoryArea(data json.RawMessage) (*StoryArea, error) {
var resp StoryArea var resp StoryArea
@ -13425,6 +13475,14 @@ func UnmarshalInputStoryAreaTypeMessage(data json.RawMessage) (*InputStoryAreaTy
return &resp, err return &resp, err
} }
func UnmarshalInputStoryAreaTypeLink(data json.RawMessage) (*InputStoryAreaTypeLink, error) {
var resp InputStoryAreaTypeLink
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalInputStoryArea(data json.RawMessage) (*InputStoryArea, error) { func UnmarshalInputStoryArea(data json.RawMessage) (*InputStoryArea, error) {
var resp InputStoryArea var resp InputStoryArea
@ -13553,6 +13611,14 @@ func UnmarshalStories(data json.RawMessage) (*Stories, error) {
return &resp, err return &resp, err
} }
func UnmarshalFoundStories(data json.RawMessage) (*FoundStories, error) {
var resp FoundStories
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalStoryFullId(data json.RawMessage) (*StoryFullId, error) { func UnmarshalStoryFullId(data json.RawMessage) (*StoryFullId, error) {
var resp StoryFullId var resp StoryFullId
@ -18329,24 +18395,24 @@ func UnmarshalStoryStatistics(data json.RawMessage) (*StoryStatistics, error) {
return &resp, err return &resp, err
} }
func UnmarshalChatRevenueWithdrawalStatePending(data json.RawMessage) (*ChatRevenueWithdrawalStatePending, error) { func UnmarshalRevenueWithdrawalStatePending(data json.RawMessage) (*RevenueWithdrawalStatePending, error) {
var resp ChatRevenueWithdrawalStatePending var resp RevenueWithdrawalStatePending
err := json.Unmarshal(data, &resp) err := json.Unmarshal(data, &resp)
return &resp, err return &resp, err
} }
func UnmarshalChatRevenueWithdrawalStateCompleted(data json.RawMessage) (*ChatRevenueWithdrawalStateCompleted, error) { func UnmarshalRevenueWithdrawalStateSucceeded(data json.RawMessage) (*RevenueWithdrawalStateSucceeded, error) {
var resp ChatRevenueWithdrawalStateCompleted var resp RevenueWithdrawalStateSucceeded
err := json.Unmarshal(data, &resp) err := json.Unmarshal(data, &resp)
return &resp, err return &resp, err
} }
func UnmarshalChatRevenueWithdrawalStateFailed(data json.RawMessage) (*ChatRevenueWithdrawalStateFailed, error) { func UnmarshalRevenueWithdrawalStateFailed(data json.RawMessage) (*RevenueWithdrawalStateFailed, error) {
var resp ChatRevenueWithdrawalStateFailed var resp RevenueWithdrawalStateFailed
err := json.Unmarshal(data, &resp) err := json.Unmarshal(data, &resp)
@ -18393,6 +18459,22 @@ func UnmarshalChatRevenueTransactions(data json.RawMessage) (*ChatRevenueTransac
return &resp, err return &resp, err
} }
func UnmarshalStarRevenueStatus(data json.RawMessage) (*StarRevenueStatus, error) {
var resp StarRevenueStatus
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalStarRevenueStatistics(data json.RawMessage) (*StarRevenueStatistics, error) {
var resp StarRevenueStatistics
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalPoint(data json.RawMessage) (*Point, error) { func UnmarshalPoint(data json.RawMessage) (*Point, error) {
var resp Point var resp Point
@ -19457,6 +19539,14 @@ func UnmarshalUpdateChatRevenueAmount(data json.RawMessage) (*UpdateChatRevenueA
return &resp, err return &resp, err
} }
func UnmarshalUpdateStarRevenueStatus(data json.RawMessage) (*UpdateStarRevenueStatus, error) {
var resp UpdateStarRevenueStatus
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalUpdateSpeechRecognitionTrial(data json.RawMessage) (*UpdateSpeechRecognitionTrial, error) { func UnmarshalUpdateSpeechRecognitionTrial(data json.RawMessage) (*UpdateSpeechRecognitionTrial, error) {
var resp UpdateSpeechRecognitionTrial var resp UpdateSpeechRecognitionTrial
@ -19585,6 +19675,14 @@ func UnmarshalUpdateNewInlineCallbackQuery(data json.RawMessage) (*UpdateNewInli
return &resp, err return &resp, err
} }
func UnmarshalUpdateNewBusinessCallbackQuery(data json.RawMessage) (*UpdateNewBusinessCallbackQuery, error) {
var resp UpdateNewBusinessCallbackQuery
err := json.Unmarshal(data, &resp)
return &resp, err
}
func UnmarshalUpdateNewShippingQuery(data json.RawMessage) (*UpdateNewShippingQuery, error) { func UnmarshalUpdateNewShippingQuery(data json.RawMessage) (*UpdateNewShippingQuery, error) {
var resp UpdateNewShippingQuery var resp UpdateNewShippingQuery
@ -20220,23 +20318,26 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeStarTransactionDirectionOutgoing: case TypeStarTransactionDirectionOutgoing:
return UnmarshalStarTransactionDirectionOutgoing(data) return UnmarshalStarTransactionDirectionOutgoing(data)
case TypeStarTransactionSourceTelegram: case TypeStarTransactionPartnerTelegram:
return UnmarshalStarTransactionSourceTelegram(data) return UnmarshalStarTransactionPartnerTelegram(data)
case TypeStarTransactionSourceAppStore: case TypeStarTransactionPartnerAppStore:
return UnmarshalStarTransactionSourceAppStore(data) return UnmarshalStarTransactionPartnerAppStore(data)
case TypeStarTransactionSourceGooglePlay: case TypeStarTransactionPartnerGooglePlay:
return UnmarshalStarTransactionSourceGooglePlay(data) return UnmarshalStarTransactionPartnerGooglePlay(data)
case TypeStarTransactionSourceFragment: case TypeStarTransactionPartnerFragment:
return UnmarshalStarTransactionSourceFragment(data) return UnmarshalStarTransactionPartnerFragment(data)
case TypeStarTransactionSourceUser: case TypeStarTransactionPartnerUser:
return UnmarshalStarTransactionSourceUser(data) return UnmarshalStarTransactionPartnerUser(data)
case TypeStarTransactionSourceUnsupported: case TypeStarTransactionPartnerChannel:
return UnmarshalStarTransactionSourceUnsupported(data) return UnmarshalStarTransactionPartnerChannel(data)
case TypeStarTransactionPartnerUnsupported:
return UnmarshalStarTransactionPartnerUnsupported(data)
case TypeStarTransaction: case TypeStarTransaction:
return UnmarshalStarTransaction(data) return UnmarshalStarTransaction(data)
@ -20541,6 +20642,9 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeInputMessageReplyToMessage: case TypeInputMessageReplyToMessage:
return UnmarshalInputMessageReplyToMessage(data) return UnmarshalInputMessageReplyToMessage(data)
case TypeInputMessageReplyToExternalMessage:
return UnmarshalInputMessageReplyToExternalMessage(data)
case TypeInputMessageReplyToStory: case TypeInputMessageReplyToStory:
return UnmarshalInputMessageReplyToStory(data) return UnmarshalInputMessageReplyToStory(data)
@ -21114,6 +21218,9 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeAddress: case TypeAddress:
return UnmarshalAddress(data) return UnmarshalAddress(data)
case TypeLocationAddress:
return UnmarshalLocationAddress(data)
case TypeThemeParameters: case TypeThemeParameters:
return UnmarshalThemeParameters(data) return UnmarshalThemeParameters(data)
@ -21948,6 +22055,9 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeStoryAreaTypeMessage: case TypeStoryAreaTypeMessage:
return UnmarshalStoryAreaTypeMessage(data) return UnmarshalStoryAreaTypeMessage(data)
case TypeStoryAreaTypeLink:
return UnmarshalStoryAreaTypeLink(data)
case TypeStoryArea: case TypeStoryArea:
return UnmarshalStoryArea(data) return UnmarshalStoryArea(data)
@ -21966,6 +22076,9 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeInputStoryAreaTypeMessage: case TypeInputStoryAreaTypeMessage:
return UnmarshalInputStoryAreaTypeMessage(data) return UnmarshalInputStoryAreaTypeMessage(data)
case TypeInputStoryAreaTypeLink:
return UnmarshalInputStoryAreaTypeLink(data)
case TypeInputStoryArea: case TypeInputStoryArea:
return UnmarshalInputStoryArea(data) return UnmarshalInputStoryArea(data)
@ -22014,6 +22127,9 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeStories: case TypeStories:
return UnmarshalStories(data) return UnmarshalStories(data)
case TypeFoundStories:
return UnmarshalFoundStories(data)
case TypeStoryFullId: case TypeStoryFullId:
return UnmarshalStoryFullId(data) return UnmarshalStoryFullId(data)
@ -23805,14 +23921,14 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeStoryStatistics: case TypeStoryStatistics:
return UnmarshalStoryStatistics(data) return UnmarshalStoryStatistics(data)
case TypeChatRevenueWithdrawalStatePending: case TypeRevenueWithdrawalStatePending:
return UnmarshalChatRevenueWithdrawalStatePending(data) return UnmarshalRevenueWithdrawalStatePending(data)
case TypeChatRevenueWithdrawalStateCompleted: case TypeRevenueWithdrawalStateSucceeded:
return UnmarshalChatRevenueWithdrawalStateCompleted(data) return UnmarshalRevenueWithdrawalStateSucceeded(data)
case TypeChatRevenueWithdrawalStateFailed: case TypeRevenueWithdrawalStateFailed:
return UnmarshalChatRevenueWithdrawalStateFailed(data) return UnmarshalRevenueWithdrawalStateFailed(data)
case TypeChatRevenueTransactionTypeEarnings: case TypeChatRevenueTransactionTypeEarnings:
return UnmarshalChatRevenueTransactionTypeEarnings(data) return UnmarshalChatRevenueTransactionTypeEarnings(data)
@ -23829,6 +23945,12 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeChatRevenueTransactions: case TypeChatRevenueTransactions:
return UnmarshalChatRevenueTransactions(data) return UnmarshalChatRevenueTransactions(data)
case TypeStarRevenueStatus:
return UnmarshalStarRevenueStatus(data)
case TypeStarRevenueStatistics:
return UnmarshalStarRevenueStatistics(data)
case TypePoint: case TypePoint:
return UnmarshalPoint(data) return UnmarshalPoint(data)
@ -24228,6 +24350,9 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeUpdateChatRevenueAmount: case TypeUpdateChatRevenueAmount:
return UnmarshalUpdateChatRevenueAmount(data) return UnmarshalUpdateChatRevenueAmount(data)
case TypeUpdateStarRevenueStatus:
return UnmarshalUpdateStarRevenueStatus(data)
case TypeUpdateSpeechRecognitionTrial: case TypeUpdateSpeechRecognitionTrial:
return UnmarshalUpdateSpeechRecognitionTrial(data) return UnmarshalUpdateSpeechRecognitionTrial(data)
@ -24276,6 +24401,9 @@ func UnmarshalType(data json.RawMessage) (Type, error) {
case TypeUpdateNewInlineCallbackQuery: case TypeUpdateNewInlineCallbackQuery:
return UnmarshalUpdateNewInlineCallbackQuery(data) return UnmarshalUpdateNewInlineCallbackQuery(data)
case TypeUpdateNewBusinessCallbackQuery:
return UnmarshalUpdateNewBusinessCallbackQuery(data)
case TypeUpdateNewShippingQuery: case TypeUpdateNewShippingQuery:
return UnmarshalUpdateNewShippingQuery(data) return UnmarshalUpdateNewShippingQuery(data)

View file

@ -836,7 +836,7 @@ premiumGiftCodeInfo creator_id:MessageSender creation_date:int32 is_from_giveawa
//@description Describes an option for buying Telegram stars //@description Describes an option for buying Telegram stars
//@currency ISO 4217 currency code for the payment //@currency ISO 4217 currency code for the payment
//@amount The amount to pay, in the smallest units of the currency //@amount The amount to pay, in the smallest units of the currency
//@star_count Number of stars that will be purchased //@star_count Number of Telegram stars that will be purchased
//@store_product_id Identifier of the store product associated with the option; may be empty if none //@store_product_id Identifier of the store product associated with the option; may be empty if none
//@is_additional True, if the option must be shown only in the full list of payment options //@is_additional True, if the option must be shown only in the full list of payment options
starPaymentOption currency:string amount:int53 star_count:int53 store_product_id:string is_additional:Bool = StarPaymentOption; starPaymentOption currency:string amount:int53 star_count:int53 store_product_id:string is_additional:Bool = StarPaymentOption;
@ -854,25 +854,28 @@ starTransactionDirectionIncoming = StarTransactionDirection;
starTransactionDirectionOutgoing = StarTransactionDirection; starTransactionDirectionOutgoing = StarTransactionDirection;
//@class StarTransactionSource @description Describes source or recipient of a transaction with Telegram stars //@class StarTransactionPartner @description Describes source or recipient of a transaction with Telegram stars
//@description The transaction is a transaction with Telegram through a bot //@description The transaction is a transaction with Telegram through a bot
starTransactionSourceTelegram = StarTransactionSource; starTransactionPartnerTelegram = StarTransactionPartner;
//@description The transaction is a transaction with App Store //@description The transaction is a transaction with App Store
starTransactionSourceAppStore = StarTransactionSource; starTransactionPartnerAppStore = StarTransactionPartner;
//@description The transaction is a transaction with Google Play //@description The transaction is a transaction with Google Play
starTransactionSourceGooglePlay = StarTransactionSource; starTransactionPartnerGooglePlay = StarTransactionPartner;
//@description The transaction is a transaction with Fragment //@description The transaction is a transaction with Fragment @withdrawal_state State of the withdrawal; may be null for refunds from Fragment
starTransactionSourceFragment = StarTransactionSource; starTransactionPartnerFragment withdrawal_state:RevenueWithdrawalState = StarTransactionPartner;
//@description The transaction is a transaction with another user @user_id Identifier of the user @product_info Information about the bought product; may be null if none //@description The transaction is a transaction with another user @user_id Identifier of the user @product_info Information about the bought product; may be null if none
starTransactionSourceUser user_id:int53 product_info:productInfo = StarTransactionSource; starTransactionPartnerUser user_id:int53 product_info:productInfo = StarTransactionPartner;
//@description The transaction is a transaction with unknown source //@description The transaction is a transaction with a channel chat @chat_id Identifier of the chat
starTransactionSourceUnsupported = StarTransactionSource; starTransactionPartnerChannel chat_id:int53 = StarTransactionPartner;
//@description The transaction is a transaction with unknown partner
starTransactionPartnerUnsupported = StarTransactionPartner;
//@description Represents a transaction changing the amount of owned Telegram stars //@description Represents a transaction changing the amount of owned Telegram stars
@ -880,8 +883,8 @@ starTransactionSourceUnsupported = StarTransactionSource;
//@star_count The amount of added owned Telegram stars; negative for outgoing transactions //@star_count The amount of added owned Telegram stars; negative for outgoing transactions
//@is_refund True, if the transaction is a refund of a previous transaction //@is_refund True, if the transaction is a refund of a previous transaction
//@date Point in time (Unix timestamp) when the transaction was completed //@date Point in time (Unix timestamp) when the transaction was completed
//@source Source of the transaction, or its recipient for outgoing transactions //@partner Source of the incoming transaction, or its recipient for outgoing transactions
starTransaction id:string star_count:int53 is_refund:Bool date:int32 source:StarTransactionSource = StarTransaction; starTransaction id:string star_count:int53 is_refund:Bool date:int32 partner:StarTransactionPartner = StarTransaction;
//@description Represents a list of Telegram star transactions //@description Represents a list of Telegram star transactions
//@star_count The amount of owned Telegram stars //@star_count The amount of owned Telegram stars
@ -1053,14 +1056,14 @@ chatAdministrators administrators:vector<chatAdministrator> = ChatAdministrators
//@class ChatMemberStatus @description Provides information about the status of a member in a chat //@class ChatMemberStatus @description Provides information about the status of a member in a chat
//@description The user is the owner of the chat and has all the administrator privileges //@description The user is the owner of the chat and has all the administrator privileges
//@custom_title A custom title of the owner; 0-16 characters without emojis; applicable to supergroups only //@custom_title A custom title of the owner; 0-16 characters without emoji; applicable to supergroups only
//@is_anonymous True, if the creator isn't shown in the chat member list and sends messages anonymously; applicable to supergroups only //@is_anonymous True, if the creator isn't shown in the chat member list and sends messages anonymously; applicable to supergroups only
//@is_member True, if the user is a member of the chat //@is_member True, if the user is a member of the chat
chatMemberStatusCreator custom_title:string is_anonymous:Bool is_member:Bool = ChatMemberStatus; chatMemberStatusCreator custom_title:string is_anonymous:Bool is_member:Bool = ChatMemberStatus;
//@description The user is a member of the chat and has some additional privileges. In basic groups, administrators can edit and delete messages sent by others, add new members, ban unprivileged members, and manage video chats. //@description The user is a member of the chat and has some additional privileges. In basic groups, administrators can edit and delete messages sent by others, add new members, ban unprivileged members, and manage video chats.
//-In supergroups and channels, there are more detailed options for administrator privileges //-In supergroups and channels, there are more detailed options for administrator privileges
//@custom_title A custom title of the administrator; 0-16 characters without emojis; applicable to supergroups only //@custom_title A custom title of the administrator; 0-16 characters without emoji; applicable to supergroups only
//@can_be_edited True, if the current user can edit the administrator privileges for the called user //@can_be_edited True, if the current user can edit the administrator privileges for the called user
//@rights Rights of the administrator //@rights Rights of the administrator
chatMemberStatusAdministrator custom_title:string can_be_edited:Bool rights:chatAdministratorRights = ChatMemberStatus; chatMemberStatusAdministrator custom_title:string can_be_edited:Bool rights:chatAdministratorRights = ChatMemberStatus;
@ -1527,11 +1530,16 @@ messageReplyToStory story_sender_chat_id:int53 story_id:int32 = MessageReplyTo;
//@class InputMessageReplyTo @description Contains information about the message or the story to be replied //@class InputMessageReplyTo @description Contains information about the message or the story to be replied
//@description Describes a message to be replied //@description Describes a message to be replied in the same chat and forum topic
//@chat_id The identifier of the chat to which the message to be replied belongs; pass 0 if the message to be replied is in the same chat. Must always be 0 for replies in secret chats. A message can be replied in another chat or topic only if message.can_be_replied_in_another_chat //@message_id The identifier of the message to be replied in the same chat and forum topic
//@message_id The identifier of the message to be replied in the same or the specified chat
//@quote Quote from the message to be replied; pass null if none. Must always be null for replies in secret chats //@quote Quote from the message to be replied; pass null if none. Must always be null for replies in secret chats
inputMessageReplyToMessage chat_id:int53 message_id:int53 quote:inputTextQuote = InputMessageReplyTo; inputMessageReplyToMessage message_id:int53 quote:inputTextQuote = InputMessageReplyTo;
//@description Describes a message to be replied that is from a different chat or a forum topic; not supported in secret chats
//@chat_id The identifier of the chat to which the message to be replied belongs
//@message_id The identifier of the message to be replied in the specified chat. A message can be replied in another chat or topic only if message.can_be_replied_in_another_chat
//@quote Quote from the message to be replied; pass null if none
inputMessageReplyToExternalMessage chat_id:int53 message_id:int53 quote:inputTextQuote = InputMessageReplyTo;
//@description Describes a story to be replied //@description Describes a story to be replied
//@story_sender_chat_id The identifier of the sender of the story. Currently, stories can be replied only in the sender's chat and channel stories can't be replied //@story_sender_chat_id The identifier of the sender of the story. Currently, stories can be replied only in the sender's chat and channel stories can't be replied
@ -1790,7 +1798,8 @@ reactionNotificationSettings message_reaction_source:ReactionNotificationSource
//@reply_to Information about the message to be replied; must be of the type inputMessageReplyToMessage; may be null if none //@reply_to Information about the message to be replied; must be of the type inputMessageReplyToMessage; may be null if none
//@date Point in time (Unix timestamp) when the draft was created //@date Point in time (Unix timestamp) when the draft was created
//@input_message_text Content of the message draft; must be of the type inputMessageText, inputMessageVideoNote, or inputMessageVoiceNote //@input_message_text Content of the message draft; must be of the type inputMessageText, inputMessageVideoNote, or inputMessageVoiceNote
draftMessage reply_to:InputMessageReplyTo date:int32 input_message_text:InputMessageContent = DraftMessage; //@effect_id Identifier of the effect to apply to the message when it is sent; 0 if none
draftMessage reply_to:InputMessageReplyTo date:int32 input_message_text:InputMessageContent effect_id:int64 = DraftMessage;
//@class ChatType @description Describes the type of chat //@class ChatType @description Describes the type of chat
@ -2613,6 +2622,13 @@ bankCardInfo title:string actions:vector<bankCardActionOpenUrl> = BankCardInfo;
//@postal_code Address postal code //@postal_code Address postal code
address country_code:string state:string city:string street_line1:string street_line2:string postal_code:string = Address; address country_code:string state:string city:string street_line1:string street_line2:string postal_code:string = Address;
//@description Describes an address of a location
//@country_code A two-letter ISO 3166-1 alpha-2 country code
//@state State, if applicable; empty if unknown
//@city City; empty if unknown
//@street The address; empty if unknown
locationAddress country_code:string state:string city:string street:string = LocationAddress;
//@description Contains parameters of the application theme //@description Contains parameters of the application theme
//@background_color A color of the background in the RGB24 format //@background_color A color of the background in the RGB24 format
@ -2716,7 +2732,7 @@ paymentOption title:string url:string = PaymentOption;
//@need_password True, if the user will be able to save credentials, if sets up a 2-step verification password //@need_password True, if the user will be able to save credentials, if sets up a 2-step verification password
paymentFormTypeRegular invoice:invoice payment_provider_user_id:int53 payment_provider:PaymentProvider additional_payment_options:vector<paymentOption> saved_order_info:orderInfo saved_credentials:vector<savedCredentials> can_save_credentials:Bool need_password:Bool = PaymentFormType; paymentFormTypeRegular invoice:invoice payment_provider_user_id:int53 payment_provider:PaymentProvider additional_payment_options:vector<paymentOption> saved_order_info:orderInfo saved_credentials:vector<savedCredentials> can_save_credentials:Bool need_password:Bool = PaymentFormType;
//@description The payment form is for a payment in Telegram stars @star_count Number of stars that will be paid //@description The payment form is for a payment in Telegram stars @star_count Number of Telegram stars that will be paid
paymentFormTypeStars star_count:int53 = PaymentFormType; paymentFormTypeStars star_count:int53 = PaymentFormType;
@ -2746,7 +2762,7 @@ paymentResult success:Bool verification_url:string = PaymentResult;
paymentReceiptTypeRegular payment_provider_user_id:int53 invoice:invoice order_info:orderInfo shipping_option:shippingOption credentials_title:string tip_amount:int53 = PaymentReceiptType; paymentReceiptTypeRegular payment_provider_user_id:int53 invoice:invoice order_info:orderInfo shipping_option:shippingOption credentials_title:string tip_amount:int53 = PaymentReceiptType;
//@description The payment was done using Telegram stars //@description The payment was done using Telegram stars
//@star_count Number of stars that were paid //@star_count Number of Telegram stars that were paid
//@transaction_id Unique identifier of the transaction that can be used to dispute it //@transaction_id Unique identifier of the transaction that can be used to dispute it
paymentReceiptTypeStars star_count:int53 transaction_id:string = PaymentReceiptType; paymentReceiptTypeStars star_count:int53 transaction_id:string = PaymentReceiptType;
@ -3490,7 +3506,7 @@ messageSelfDestructTypeImmediately = MessageSelfDestructType;
//@protect_content Pass true if the content of the message must be protected from forwarding and saving; for bots only //@protect_content Pass true if the content of the message must be protected from forwarding and saving; for bots only
//@update_order_of_installed_sticker_sets Pass true if the user explicitly chosen a sticker or a custom emoji from an installed sticker set; applicable only to sendMessage and sendMessageAlbum //@update_order_of_installed_sticker_sets Pass true if the user explicitly chosen a sticker or a custom emoji from an installed sticker set; applicable only to sendMessage and sendMessageAlbum
//@scheduling_state Message scheduling state; pass null to send message immediately. Messages sent to a secret chat, live location messages and self-destructing messages can't be scheduled //@scheduling_state Message scheduling state; pass null to send message immediately. Messages sent to a secret chat, live location messages and self-destructing messages can't be scheduled
//@effect_id Identifier of the effect to apply to the message; applicable only to sendMessage and sendMessageAlbum in private chats //@effect_id Identifier of the effect to apply to the message; pass 0 if none; applicable only to sendMessage and sendMessageAlbum in private chats
//@sending_id Non-persistent identifier, which will be returned back in messageSendingStatePending object and can be used to match sent messages and corresponding updateNewMessage updates //@sending_id Non-persistent identifier, which will be returned back in messageSendingStatePending object and can be used to match sent messages and corresponding updateNewMessage updates
//@only_preview Pass true to get a fake message instead of actually sending them //@only_preview Pass true to get a fake message instead of actually sending them
messageSendOptions disable_notification:Bool from_background:Bool protect_content:Bool update_order_of_installed_sticker_sets:Bool scheduling_state:MessageSchedulingState effect_id:int64 sending_id:int32 only_preview:Bool = MessageSendOptions; messageSendOptions disable_notification:Bool from_background:Bool protect_content:Bool update_order_of_installed_sticker_sets:Bool scheduling_state:MessageSchedulingState effect_id:int64 sending_id:int32 only_preview:Bool = MessageSendOptions;
@ -3773,13 +3789,13 @@ userStatusLastMonth by_my_privacy_settings:Bool = UserStatus;
//@description Represents an emoji with its keyword @emoji The emoji @keyword The keyword //@description Represents an emoji with its keyword @emoji The emoji @keyword The keyword
emojiKeyword emoji:string keyword:string = EmojiKeyword; emojiKeyword emoji:string keyword:string = EmojiKeyword;
//@description Represents a list of emoji with their keywords @emoji_keywords List of emoji with their keywords //@description Represents a list of emojis with their keywords @emoji_keywords List of emojis with their keywords
emojiKeywords emoji_keywords:vector<emojiKeyword> = EmojiKeywords; emojiKeywords emoji_keywords:vector<emojiKeyword> = EmojiKeywords;
//@description Represents a list of stickers @stickers List of stickers //@description Represents a list of stickers @stickers List of stickers
stickers stickers:vector<sticker> = Stickers; stickers stickers:vector<sticker> = Stickers;
//@description Represents a list of emoji @emojis List of emojis //@description Represents a list of emojis @emojis List of emojis
emojis emojis:vector<string> = Emojis; emojis emojis:vector<string> = Emojis;
//@description Represents a sticker set //@description Represents a sticker set
@ -3797,7 +3813,7 @@ emojis emojis:vector<string> = Emojis;
//@is_allowed_as_chat_emoji_status True, if stickers in the sticker set are custom emoji that can be used as chat emoji status; for custom emoji sticker sets only //@is_allowed_as_chat_emoji_status True, if stickers in the sticker set are custom emoji that can be used as chat emoji status; for custom emoji sticker sets only
//@is_viewed True for already viewed trending sticker sets //@is_viewed True for already viewed trending sticker sets
//@stickers List of stickers in this set //@stickers List of stickers in this set
//@emojis A list of emoji corresponding to the stickers in the same order. The list is only for informational purposes, because a sticker is always sent with a fixed emoji from the corresponding Sticker object //@emojis A list of emojis corresponding to the stickers in the same order. The list is only for informational purposes, because a sticker is always sent with a fixed emoji from the corresponding Sticker object
stickerSet id:int64 title:string name:string thumbnail:thumbnail thumbnail_outline:vector<closedVectorPath> is_owned:Bool is_installed:Bool is_archived:Bool is_official:Bool sticker_type:StickerType needs_repainting:Bool is_allowed_as_chat_emoji_status:Bool is_viewed:Bool stickers:vector<sticker> emojis:vector<emojis> = StickerSet; stickerSet id:int64 title:string name:string thumbnail:thumbnail thumbnail_outline:vector<closedVectorPath> is_owned:Bool is_installed:Bool is_archived:Bool is_official:Bool sticker_type:StickerType needs_repainting:Bool is_allowed_as_chat_emoji_status:Bool is_viewed:Bool stickers:vector<sticker> emojis:vector<emojis> = StickerSet;
//@description Represents short information about a sticker set //@description Represents short information about a sticker set
@ -3829,7 +3845,7 @@ trendingStickerSets total_count:int32 sets:vector<stickerSetInfo> is_premium:Boo
//@description The category contains a list of similar emoji to search for in getStickers and searchStickers for stickers, //@description The category contains a list of similar emoji to search for in getStickers and searchStickers for stickers,
//-or getInlineQueryResults with the bot getOption("animation_search_bot_username") for animations //-or getInlineQueryResults with the bot getOption("animation_search_bot_username") for animations
//@emojis List of emojis for search for //@emojis List of emojis to search for
emojiCategorySourceSearch emojis:vector<string> = EmojiCategorySource; emojiCategorySourceSearch emojis:vector<string> = EmojiCategorySource;
//@description The category contains premium stickers that must be found by getPremiumStickers //@description The category contains premium stickers that must be found by getPremiumStickers
@ -3868,13 +3884,14 @@ emojiCategoryTypeChatPhoto = EmojiCategoryType;
//@width_percentage The width of the rectangle, as a percentage of the media width //@width_percentage The width of the rectangle, as a percentage of the media width
//@height_percentage The height of the rectangle, as a percentage of the media height //@height_percentage The height of the rectangle, as a percentage of the media height
//@rotation_angle Clockwise rotation angle of the rectangle, in degrees; 0-360 //@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; //@corner_radius_percentage The radius of the rectangle corner rounding, as a percentage of the media width
storyAreaPosition x_percentage:double y_percentage:double width_percentage:double height_percentage:double rotation_angle:double corner_radius_percentage:double = StoryAreaPosition;
//@class StoryAreaType @description Describes type of clickable rectangle area on a story media //@class StoryAreaType @description Describes type of clickable rectangle area on a story media
//@description An area pointing to a location @location The location //@description An area pointing to a location @location The location @address Address of the location; may be null if unknown
storyAreaTypeLocation location:location = StoryAreaType; storyAreaTypeLocation location:location address:locationAddress = StoryAreaType;
//@description An area pointing to a venue @venue Information about the venue //@description An area pointing to a venue @venue Information about the venue
storyAreaTypeVenue venue:venue = StoryAreaType; storyAreaTypeVenue venue:venue = StoryAreaType;
@ -3889,6 +3906,9 @@ storyAreaTypeSuggestedReaction reaction_type:ReactionType total_count:int32 is_d
//@description An area pointing to a message @chat_id Identifier of the chat with the message @message_id Identifier of the message //@description An area pointing to a message @chat_id Identifier of the chat with the message @message_id Identifier of the message
storyAreaTypeMessage chat_id:int53 message_id:int53 = StoryAreaType; storyAreaTypeMessage chat_id:int53 message_id:int53 = StoryAreaType;
//@description An area pointing to a HTTP or tg:// link @url HTTP or tg:// URL to be opened when the area is clicked
storyAreaTypeLink url:string = StoryAreaType;
//@description Describes a clickable rectangle area on a story media @position Position of the area @type Type of the area //@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; storyArea position:storyAreaPosition type:StoryAreaType = StoryArea;
@ -3896,8 +3916,8 @@ storyArea position:storyAreaPosition type:StoryAreaType = StoryArea;
//@class InputStoryAreaType @description Describes type of clickable rectangle area on a story media to be added //@class InputStoryAreaType @description Describes type of clickable rectangle area on a story media to be added
//@description An area pointing to a location @location The location //@description An area pointing to a location @location The location @address Address of the location; pass null if unknown
inputStoryAreaTypeLocation location:location = InputStoryAreaType; inputStoryAreaTypeLocation location:location address:locationAddress = InputStoryAreaType;
//@description An area pointing to a venue found by the bot getOption("venue_search_bot_username") //@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 //@query_id Identifier of the inline query, used to found the venue
@ -3920,13 +3940,19 @@ inputStoryAreaTypeSuggestedReaction reaction_type:ReactionType is_dark:Bool is_f
//@message_id Identifier of the message. Only successfully sent non-scheduled messages can be specified //@message_id Identifier of the message. Only successfully sent non-scheduled messages can be specified
inputStoryAreaTypeMessage chat_id:int53 message_id:int53 = InputStoryAreaType; inputStoryAreaTypeMessage chat_id:int53 message_id:int53 = InputStoryAreaType;
//@description An area pointing to a HTTP or tg:// link
//@url HTTP or tg:// URL to be opened when the area is clicked
inputStoryAreaTypeLink url: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 //@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; inputStoryArea position:storyAreaPosition type:InputStoryAreaType = InputStoryArea;
//@description Contains a list of story areas to be added @areas List of input story areas. Currently, a story can have //@description Contains a list of story areas to be added @areas List of input story areas. Currently, a story can have
//-up to 10 inputStoryAreaTypeLocation, inputStoryAreaTypeFoundVenue, and inputStoryAreaTypePreviousVenue areas, //-up to 10 inputStoryAreaTypeLocation, inputStoryAreaTypeFoundVenue, and inputStoryAreaTypePreviousVenue areas,
//-up to getOption("story_suggested_reaction_area_count_max") inputStoryAreaTypeSuggestedReaction areas, and up to 1 inputStoryAreaTypeMessage area //-up to getOption("story_suggested_reaction_area_count_max") inputStoryAreaTypeSuggestedReaction areas,
//-up to 1 inputStoryAreaTypeMessage area, and
//-up to getOption("story_link_area_count_max") inputStoryAreaTypeLink areas if the current user is a Telegram Premium user
inputStoryAreas areas:vector<inputStoryArea> = InputStoryAreas; inputStoryAreas areas:vector<inputStoryArea> = InputStoryAreas;
@ -4033,6 +4059,9 @@ story id:int32 sender_chat_id:int53 sender_id:MessageSender date:int32 is_being_
//@pinned_story_ids Identifiers of the pinned stories; returned only in getChatPostedToChatPageStories with from_story_id == 0 //@pinned_story_ids Identifiers of the pinned stories; returned only in getChatPostedToChatPageStories with from_story_id == 0
stories total_count:int32 stories:vector<story> pinned_story_ids:vector<int32> = Stories; stories total_count:int32 stories:vector<story> pinned_story_ids:vector<int32> = Stories;
//@description Contains a list of stories found by a search @total_count Approximate total number of stories found @stories List of stories @next_offset The offset for the next request. If empty, then there are no more results
foundStories total_count:int32 stories:vector<story> next_offset:string = FoundStories;
//@description Contains identifier of a story along with identifier of its sender //@description Contains identifier of a story along with identifier of its sender
//@sender_chat_id Identifier of the chat that posted the story //@sender_chat_id Identifier of the chat that posted the story
//@story_id Unique story identifier among stories of the given sender //@story_id Unique story identifier among stories of the given sender
@ -4293,7 +4322,7 @@ callStateExchangingKeys = CallState;
//@servers List of available call servers //@servers List of available call servers
//@config A JSON-encoded call config //@config A JSON-encoded call config
//@encryption_key Call encryption key //@encryption_key Call encryption key
//@emojis Encryption key emojis fingerprint //@emojis Encryption key fingerprint represented as 4 emoji
//@allow_p2p True, if peer-to-peer connection is allowed by users privacy settings //@allow_p2p True, if peer-to-peer connection is allowed by users privacy settings
//@custom_parameters Custom JSON-encoded call parameters to be passed to tgcalls //@custom_parameters Custom JSON-encoded call parameters to be passed to tgcalls
callStateReady protocol:callProtocol servers:vector<callServer> config:string encryption_key:bytes emojis:vector<string> allow_p2p:Bool custom_parameters:string = CallState; callStateReady protocol:callProtocol servers:vector<callServer> config:string encryption_key:bytes emojis:vector<string> allow_p2p:Bool custom_parameters:string = CallState;
@ -5278,7 +5307,7 @@ premiumStoryFeatureCustomExpirationDuration = PremiumStoryFeature;
//@description The ability to save other's unprotected stories //@description The ability to save other's unprotected stories
premiumStoryFeatureSaveStories = PremiumStoryFeature; premiumStoryFeatureSaveStories = PremiumStoryFeature;
//@description The ability to use links and formatting in story caption //@description The ability to use links and formatting in story caption, and use inputStoryAreaTypeLink areas
premiumStoryFeatureLinksAndFormatting = PremiumStoryFeature; premiumStoryFeatureLinksAndFormatting = PremiumStoryFeature;
//@description The ability to choose better quality for viewed stories //@description The ability to choose better quality for viewed stories
@ -6846,18 +6875,18 @@ messageStatistics message_interaction_graph:StatisticalGraph message_reaction_gr
storyStatistics story_interaction_graph:StatisticalGraph story_reaction_graph:StatisticalGraph = StoryStatistics; storyStatistics story_interaction_graph:StatisticalGraph story_reaction_graph:StatisticalGraph = StoryStatistics;
//@class ChatRevenueWithdrawalState @description Describes state of a chat revenue withdrawal //@class RevenueWithdrawalState @description Describes state of a revenue withdrawal
//@description Withdrawal is pending //@description Withdrawal is pending
chatRevenueWithdrawalStatePending = ChatRevenueWithdrawalState; revenueWithdrawalStatePending = RevenueWithdrawalState;
//@description Withdrawal was completed //@description Withdrawal succeeded
//@date Point in time (Unix timestamp) when the withdrawal was completed //@date Point in time (Unix timestamp) when the withdrawal was completed
//@url The URL where the withdrawal transaction can be viewed //@url The URL where the withdrawal transaction can be viewed
chatRevenueWithdrawalStateCompleted date:int32 url:string = ChatRevenueWithdrawalState; revenueWithdrawalStateSucceeded date:int32 url:string = RevenueWithdrawalState;
//@description Withdrawal has_failed //@description Withdrawal failed
chatRevenueWithdrawalStateFailed = ChatRevenueWithdrawalState; revenueWithdrawalStateFailed = RevenueWithdrawalState;
//@class ChatRevenueTransactionType @description Describes type of transaction for revenue earned from sponsored messages in a chat //@class ChatRevenueTransactionType @description Describes type of transaction for revenue earned from sponsored messages in a chat
@ -6871,7 +6900,7 @@ chatRevenueTransactionTypeEarnings start_date:int32 end_date:int32 = ChatRevenue
//@withdrawal_date Point in time (Unix timestamp) when the earnings withdrawal started //@withdrawal_date Point in time (Unix timestamp) when the earnings withdrawal started
//@provider Name of the payment provider //@provider Name of the payment provider
//@state State of the withdrawal //@state State of the withdrawal
chatRevenueTransactionTypeWithdrawal withdrawal_date:int32 provider:string state:ChatRevenueWithdrawalState = ChatRevenueTransactionType; chatRevenueTransactionTypeWithdrawal withdrawal_date:int32 provider:string state:RevenueWithdrawalState = ChatRevenueTransactionType;
//@description Describes a refund for failed withdrawal of earnings //@description Describes a refund for failed withdrawal of earnings
//@refund_date Point in time (Unix timestamp) when the transaction was refunded //@refund_date Point in time (Unix timestamp) when the transaction was refunded
@ -6888,6 +6917,21 @@ chatRevenueTransaction cryptocurrency:string cryptocurrency_amount:int64 type:Ch
chatRevenueTransactions total_count:int32 transactions:vector<chatRevenueTransaction> = ChatRevenueTransactions; chatRevenueTransactions total_count:int32 transactions:vector<chatRevenueTransaction> = ChatRevenueTransactions;
//@description Contains information about Telegram stars earned by a bot or a chat
//@total_count Total number of the stars earned
//@current_count The number of Telegram stars that aren't withdrawn yet
//@available_count The number of Telegram stars that are available for withdrawal
//@withdrawal_enabled True, if Telegram stars can be withdrawn now or later
//@next_withdrawal_in Time left before the next withdrawal can be started, in seconds; 0 if withdrawal can be started now
starRevenueStatus total_count:int53 current_count:int53 available_count:int53 withdrawal_enabled:Bool next_withdrawal_in:int32 = StarRevenueStatus;
//@description A detailed statistics about Telegram stars earned by a bot or a chat
//@revenue_by_day_graph A graph containing amount of revenue in a given day
//@status Telegram star revenue status
//@usd_rate Current conversion rate of a Telegram star to USD
starRevenueStatistics revenue_by_day_graph:StatisticalGraph status:starRevenueStatus usd_rate:double = StarRevenueStatistics;
//@description A point on a Cartesian plane @x The point's first coordinate @y The point's second coordinate //@description A point on a Cartesian plane @x The point's first coordinate @y The point's second coordinate
point x:double y:double = Point; point x:double y:double = Point;
@ -7409,6 +7453,11 @@ updateOwnedStarCount star_count:int53 = Update;
//@revenue_amount New amount of earned revenue //@revenue_amount New amount of earned revenue
updateChatRevenueAmount chat_id:int53 revenue_amount:chatRevenueAmount = Update; updateChatRevenueAmount chat_id:int53 revenue_amount:chatRevenueAmount = Update;
//@description The Telegram star revenue earned by a bot or a chat has changed. If star transactions screen of the chat is opened, then getStarTransactions may be called to fetch new transactions
//@owner_id Identifier of the owner of the Telegram stars
//@status New Telegram star revenue status
updateStarRevenueStatus owner_id:MessageSender status:starRevenueStatus = Update;
//@description The parameters of speech recognition without Telegram Premium subscription has changed //@description The parameters of speech recognition without Telegram Premium subscription has changed
//@max_media_duration The maximum allowed duration of media for speech recognition without Telegram Premium subscription, in seconds //@max_media_duration The maximum allowed duration of media for speech recognition without Telegram Premium subscription, in seconds
//@weekly_count The total number of allowed speech recognitions per week; 0 if none //@weekly_count The total number of allowed speech recognitions per week; 0 if none
@ -7491,6 +7540,15 @@ updateNewCallbackQuery id:int64 sender_user_id:int53 chat_id:int53 message_id:in
//@payload Query payload //@payload Query payload
updateNewInlineCallbackQuery id:int64 sender_user_id:int53 inline_message_id:string chat_instance:int64 payload:CallbackQueryPayload = Update; updateNewInlineCallbackQuery id:int64 sender_user_id:int53 inline_message_id:string chat_instance:int64 payload:CallbackQueryPayload = Update;
//@description A new incoming callback query from a business message; for bots only
//@id Unique query identifier
//@sender_user_id Identifier of the user who sent the query
//@connection_id Unique identifier of the business connection
//@message The message from the business account from which the query originated
//@chat_instance An identifier uniquely corresponding to the chat a message was sent to
//@payload Query payload
updateNewBusinessCallbackQuery id:int64 sender_user_id:int53 connection_id:string message:businessMessage chat_instance:int64 payload:CallbackQueryPayload = Update;
//@description A new incoming shipping query; for bots only. Only for invoices with flexible price //@description A new incoming shipping query; for bots only. Only for invoices with flexible price
//@id Unique query identifier //@id Unique query identifier
//@sender_user_id Identifier of the user who sent the query //@sender_user_id Identifier of the user who sent the query
@ -8071,20 +8129,39 @@ searchCallMessages offset:string limit:int32 only_missed:Bool = FoundMessages;
//@limit The maximum number of messages to be returned; up to 100 //@limit The maximum number of messages to be returned; up to 100
searchOutgoingDocumentMessages query:string limit:int32 = FoundMessages; searchOutgoingDocumentMessages query:string limit:int32 = FoundMessages;
//@description Searches for public channel posts with the given hashtag. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit //@description Searches for public channel posts containing the given hashtag or cashtag. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit
//@hashtag Hashtag to search for //@tag Hashtag or cashtag to search for
//@offset Offset of the first entry to return as received from the previous request; use empty string to get the first chunk of results //@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 messages to be returned; up to 100. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit //@limit The maximum number of messages to be returned; up to 100. For optimal performance, the number of returned messages is chosen by TDLib and can be smaller than the specified limit
searchPublicHashtagMessages hashtag:string offset:string limit:int32 = FoundMessages; searchPublicMessagesByTag tag:string offset:string limit:int32 = FoundMessages;
//@description Returns recently searched for hashtags by their prefix @prefix Prefix of hashtags to return @limit The maximum number of hashtags to be returned //@description Searches for public stories containing the given hashtag or cashtag. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
getSearchedForHashtags prefix:string limit:int32 = Hashtags; //@tag Hashtag or cashtag to search for
//@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 stories to be returned; up to 100. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
searchPublicStoriesByTag tag:string offset:string limit:int32 = FoundStories;
//@description Removes a hashtag from the list of recently searched for hashtags @hashtag Hashtag to delete //@description Searches for public stories by the given address location. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
removeSearchedForHashtag hashtag:string = Ok; //@address Address of the location
//@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 stories to be returned; up to 100. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
searchPublicStoriesByLocation address:locationAddress offset:string limit:int32 = FoundStories;
//@description Clears the list of recently searched for hashtags //@description Searches for public stories from the given venue. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
clearSearchedForHashtags = Ok; //@venue_provider Provider of the venue
//@venue_id Identifier of the venue in the provider database
//@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 stories to be returned; up to 100. For optimal performance, the number of returned stories is chosen by TDLib and can be smaller than the specified limit
searchPublicStoriesByVenue venue_provider:string venue_id:string offset:string limit:int32 = FoundStories;
//@description Returns recently searched for hashtags or cashtags by their prefix @tag_prefix Prefix of hashtags or cashtags to return @limit The maximum number of items to be returned
getSearchedForTags tag_prefix:string limit:int32 = Hashtags;
//@description Removes a hashtag or a cashtag from the list of recently searched for hashtags or cashtags @tag Hashtag or cashtag to delete
removeSearchedForTag tag:string = Ok;
//@description Clears the list of recently searched for hashtags or cashtags @clear_cashtags Pass true to clear the list of recently searched for cashtags; otherwise, the list of recently searched for hashtags will be cleared
clearSearchedForTags clear_cashtags:Bool = Ok;
//@description Deletes all call messages @revoke Pass true to delete the messages for all users //@description Deletes all call messages @revoke Pass true to delete the messages for all users
deleteAllCallMessages revoke:Bool = Ok; deleteAllCallMessages revoke:Bool = Ok;
@ -8376,7 +8453,7 @@ editMessageSchedulingState chat_id:int53 message_id:int53 scheduling_state:Messa
//@description Changes the fact-check of a message. Can be only used if getOption("can_edit_fact_check") == true //@description Changes the fact-check of a message. Can be only used if getOption("can_edit_fact_check") == true
//@chat_id The channel chat the message belongs to //@chat_id The channel chat the message belongs to
//@message_id Identifier of the message //@message_id Identifier of the message. The message must be one of the following types: messageAnimation, messageAudio, messageDocument, messagePhoto, messageText, messageVideo
//@text New text of the fact-check; 0-getOption("fact_check_length_max") characters; pass null to remove it. Only Bold, Italic, and TextUrl entities with https://t.me/ links are supported //@text New text of the fact-check; 0-getOption("fact_check_length_max") characters; pass null to remove it. Only Bold, Italic, and TextUrl entities with https://t.me/ links are supported
setMessageFactCheck chat_id:int53 message_id:int53 text:formattedText = Ok; setMessageFactCheck chat_id:int53 message_id:int53 text:formattedText = Ok;
@ -8403,6 +8480,57 @@ sendBusinessMessage business_connection_id:string chat_id:int53 reply_to:InputMe
//@input_message_contents Contents of messages to be sent. At most 10 messages can be added to an album. All messages must have the same value of show_caption_above_media //@input_message_contents Contents of messages to be sent. At most 10 messages can be added to an album. All messages must have the same value of show_caption_above_media
sendBusinessMessageAlbum business_connection_id:string chat_id:int53 reply_to:InputMessageReplyTo disable_notification:Bool protect_content:Bool effect_id:int64 input_message_contents:vector<InputMessageContent> = BusinessMessages; sendBusinessMessageAlbum business_connection_id:string chat_id:int53 reply_to:InputMessageReplyTo disable_notification:Bool protect_content:Bool effect_id:int64 input_message_contents:vector<InputMessageContent> = BusinessMessages;
//@description Edits the text of a text or game message sent on behalf of a business account; for bots only
//@business_connection_id Unique identifier of business connection on behalf of which the message was sent
//@chat_id The chat the message belongs to
//@message_id Identifier of the message
//@reply_markup The new message reply markup; pass null if none
//@input_message_content New text content of the message. Must be of type inputMessageText
editBusinessMessageText business_connection_id:string chat_id:int53 message_id:int53 reply_markup:ReplyMarkup input_message_content:InputMessageContent = BusinessMessage;
//@description Edits the content of a live location in a message sent on behalf of a business account; for bots only
//@business_connection_id Unique identifier of business connection on behalf of which the message was sent
//@chat_id The chat the message belongs to
//@message_id Identifier of the message
//@reply_markup The new message reply markup; pass null if none
//@location New location content of the message; pass null to stop sharing the live location
//@live_period New time relative to the message send date, for which the location can be updated, in seconds. If 0x7FFFFFFF specified, then the location can be updated forever.
//-Otherwise, must not exceed the current live_period by more than a day, and the live location expiration date must remain in the next 90 days. Pass 0 to keep the current live_period
//@heading The new direction in which the location moves, in degrees; 1-360. Pass 0 if unknown
//@proximity_alert_radius The new maximum distance for proximity alerts, in meters (0-100000). Pass 0 if the notification is disabled
editBusinessMessageLiveLocation business_connection_id:string chat_id:int53 message_id:int53 reply_markup:ReplyMarkup location:location live_period:int32 heading:int32 proximity_alert_radius:int32 = BusinessMessage;
//@description Edits the content of a message with an animation, an audio, a document, a photo or a video in a message sent on behalf of a business account; for bots only
//@business_connection_id Unique identifier of business connection on behalf of which the message was sent
//@chat_id The chat the message belongs to
//@message_id Identifier of the message
//@reply_markup The new message reply markup; pass null if none; for bots only
//@input_message_content New content of the message. Must be one of the following types: inputMessageAnimation, inputMessageAudio, inputMessageDocument, inputMessagePhoto or inputMessageVideo
editBusinessMessageMedia business_connection_id:string chat_id:int53 message_id:int53 reply_markup:ReplyMarkup input_message_content:InputMessageContent = BusinessMessage;
//@description Edits the caption of a message sent on behalf of a business account; for bots only
//@business_connection_id Unique identifier of business connection on behalf of which the message was sent
//@chat_id The chat the message belongs to
//@message_id Identifier of the message
//@reply_markup The new message reply markup; pass null if none
//@caption New message content caption; pass null to remove caption; 0-getOption("message_caption_length_max") characters
//@show_caption_above_media Pass true to show the caption above the media; otherwise, caption will be shown below the media. Can be true only for animation, photo, and video messages
editBusinessMessageCaption business_connection_id:string chat_id:int53 message_id:int53 reply_markup:ReplyMarkup caption:formattedText show_caption_above_media:Bool = BusinessMessage;
//@description Edits the reply markup of a message sent on behalf of a business account; for bots only
//@business_connection_id Unique identifier of business connection on behalf of which the message was sent
//@chat_id The chat the message belongs to
//@message_id Identifier of the message
//@reply_markup The new message reply markup; pass null if none
editBusinessMessageReplyMarkup business_connection_id:string chat_id:int53 message_id:int53 reply_markup:ReplyMarkup = BusinessMessage;
//@description Stops a poll sent on behalf of a business account; for bots only
//@business_connection_id Unique identifier of business connection on behalf of which the message with the poll was sent
//@chat_id The chat the message belongs to
//@message_id Identifier of the message containing the poll
//@reply_markup The new message reply markup; pass null if none
stopBusinessPoll business_connection_id:string chat_id:int53 message_id:int53 reply_markup:ReplyMarkup = BusinessMessage;
//@description Checks validness of a name for a quick reply shortcut. Can be called synchronously @name The name of the shortcut; 1-32 characters //@description Checks validness of a name for a quick reply shortcut. Can be called synchronously @name The name of the shortcut; 1-32 characters
checkQuickReplyShortcutName name:string = Ok; checkQuickReplyShortcutName name:string = Ok;
@ -8465,7 +8593,7 @@ readdQuickReplyShortcutMessages shortcut_name:string message_ids:vector<int53> =
editQuickReplyMessage shortcut_id:int32 message_id:int53 input_message_content:InputMessageContent = Ok; editQuickReplyMessage shortcut_id:int32 message_id:int53 input_message_content:InputMessageContent = Ok;
//@description Returns the list of custom emojis, which can be used as forum topic icon by all users //@description Returns the list of custom emoji, which can be used as forum topic icon by all users
getForumTopicDefaultIcons = Stickers; getForumTopicDefaultIcons = Stickers;
//@description Creates a topic in a forum supergroup chat; requires can_manage_topics administrator or can_create_topics member right in the supergroup //@description Creates a topic in a forum supergroup chat; requires can_manage_topics administrator or can_create_topics member right in the supergroup
@ -9878,7 +10006,7 @@ getUserProfilePhotos user_id:int53 offset:int32 limit:int32 = ChatPhotos;
//@description Returns stickers from the installed sticker sets that correspond to any of the given emoji or can be found by sticker-specific keywords. If the query is non-empty, then favorite, recently used or trending stickers may also be returned //@description Returns stickers from the installed sticker sets that correspond to any of the given emoji or can be found by sticker-specific keywords. If the query is non-empty, then favorite, recently used or trending stickers may also be returned
//@sticker_type Type of the stickers to return //@sticker_type Type of the stickers to return
//@query Search query; a space-separated list of emoji or a keyword prefix. If empty, returns all known installed stickers //@query Search query; a space-separated list of emojis or a keyword prefix. If empty, returns all known installed stickers
//@limit The maximum number of stickers to be returned //@limit The maximum number of stickers to be returned
//@chat_id Chat identifier for which to return stickers. Available custom emoji stickers may be different for different chats //@chat_id Chat identifier for which to return stickers. Available custom emoji stickers may be different for different chats
getStickers sticker_type:StickerType query:string limit:int32 chat_id:int53 = Stickers; getStickers sticker_type:StickerType query:string limit:int32 chat_id:int53 = Stickers;
@ -9892,7 +10020,7 @@ getAllStickerEmojis sticker_type:StickerType query:string chat_id:int53 return_o
//@description Searches for stickers from public sticker sets that correspond to any of the given emoji //@description Searches for stickers from public sticker sets that correspond to any of the given emoji
//@sticker_type Type of the stickers to return //@sticker_type Type of the stickers to return
//@emojis Space-separated list of emoji to search for; must be non-empty //@emojis Space-separated list of emojis to search for; must be non-empty
//@limit The maximum number of stickers to be returned; 0-100 //@limit The maximum number of stickers to be returned; 0-100
searchStickers sticker_type:StickerType emojis:string limit:int32 = Stickers; searchStickers sticker_type:StickerType emojis:string limit:int32 = Stickers;
@ -9982,7 +10110,7 @@ searchEmojis text:string input_language_codes:vector<string> = EmojiKeywords;
//@input_language_codes List of possible IETF language tags of the user's input language; may be empty if unknown //@input_language_codes List of possible IETF language tags of the user's input language; may be empty if unknown
getKeywordEmojis text:string input_language_codes:vector<string> = Emojis; getKeywordEmojis text:string input_language_codes:vector<string> = Emojis;
//@description Returns available emojis categories @type Type of emoji categories to return; pass null to get default emoji categories //@description Returns available emoji categories @type Type of emoji categories to return; pass null to get default emoji categories
getEmojiCategories type:EmojiCategoryType = EmojiCategories; getEmojiCategories type:EmojiCategoryType = EmojiCategories;
//@description Returns an animated emoji corresponding to a given emoji. Returns a 404 error if the emoji has no animated emoji @emoji The emoji //@description Returns an animated emoji corresponding to a given emoji. Returns a 404 error if the emoji has no animated emoji @emoji The emoji
@ -10612,6 +10740,18 @@ getChatRevenueWithdrawalUrl chat_id:int53 password:string = HttpUrl;
getChatRevenueTransactions chat_id:int53 offset:int32 limit:int32 = ChatRevenueTransactions; getChatRevenueTransactions chat_id:int53 offset:int32 limit:int32 = ChatRevenueTransactions;
//@description Returns detailed Telegram star revenue statistics
//@owner_id Identifier of the owner of the Telegram stars; can be identifier of an owned bot, or identifier of a channel chat with supergroupFullInfo.can_get_revenue_statistics == true
//@is_dark Pass true if a dark theme is used by the application
getStarRevenueStatistics owner_id:MessageSender is_dark:Bool = StarRevenueStatistics;
//@description Returns URL for Telegram star withdrawal
//@owner_id Identifier of the owner of the Telegram stars; can be identifier of an owned bot, or identifier of a channel chat with supergroupFullInfo.can_get_revenue_statistics == true
//@star_count The number of Telegram stars to withdraw. Must be at least getOption("star_withdrawal_count_min")
//@password The 2-step verification password of the current user
getStarWithdrawalUrl owner_id:MessageSender star_count:int53 password:string = HttpUrl;
//@description Returns detailed statistics about a chat. Currently, this method can be used only for supergroups and channels. Can be used only if supergroupFullInfo.can_get_statistics == true @chat_id Chat identifier @is_dark Pass true if a dark theme is used by the application //@description Returns detailed statistics about a chat. Currently, this method can be used only for supergroups and channels. Can be used only if supergroupFullInfo.can_get_statistics == true @chat_id Chat identifier @is_dark Pass true if a dark theme is used by the application
getChatStatistics chat_id:int53 is_dark:Bool = ChatStatistics; getChatStatistics chat_id:int53 is_dark:Bool = ChatStatistics;
@ -10806,7 +10946,7 @@ setStickerPositionInSet sticker:InputFile position:int32 = Ok;
//@description Removes a sticker from the set to which it belongs. The sticker set must be owned by the current user @sticker Sticker to remove from the set //@description Removes a sticker from the set to which it belongs. The sticker set must be owned by the current user @sticker Sticker to remove from the set
removeStickerFromSet sticker:InputFile = Ok; removeStickerFromSet sticker:InputFile = Ok;
//@description Changes the list of emoji corresponding to a sticker. The sticker must belong to a regular or custom emoji sticker set that is owned by the current user //@description Changes the list of emojis corresponding to a sticker. The sticker must belong to a regular or custom emoji sticker set that is owned by the current user
//@sticker Sticker //@sticker Sticker
//@emojis New string with 1-20 emoji corresponding to the sticker //@emojis New string with 1-20 emoji corresponding to the sticker
setStickerEmojis sticker:InputFile emojis:string = Ok; setStickerEmojis sticker:InputFile emojis:string = Ok;
@ -10878,10 +11018,13 @@ getPremiumGiveawayInfo chat_id:int53 message_id:int53 = PremiumGiveawayInfo;
//@description Returns available options for Telegram stars purchase //@description Returns available options for Telegram stars purchase
getStarPaymentOptions = StarPaymentOptions; getStarPaymentOptions = StarPaymentOptions;
//@description Returns the list of Telegram star transactions for the current user //@description Returns the list of Telegram star transactions for the specified owner
//@offset Offset of the first transaction to return as received from the previous request; use empty string to get the first chunk of results //@owner_id Identifier of the owner of the Telegram stars; can be the identifier of the current user, identifier of an owned bot,
//-or identifier of a channel chat with supergroupFullInfo.can_get_revenue_statistics == true
//@direction Direction of the transactions to receive; pass null to get all transactions //@direction Direction of the transactions to receive; pass null to get all transactions
getStarTransactions offset:string direction:StarTransactionDirection = StarTransactions; //@offset Offset of the first transaction to return as received from the previous request; use empty string to get the first chunk of results
//@limit The maximum number of transactions to return
getStarTransactions owner_id:MessageSender direction:StarTransactionDirection offset:string limit:int32 = StarTransactions;
//@description Checks whether an in-store purchase is possible. Must be called before any in-store purchase @purpose Transaction purpose //@description Checks whether an in-store purchase is possible. Must be called before any in-store purchase @purpose Transaction purpose
canPurchaseFromStore purpose:StorePaymentPurpose = Ok; canPurchaseFromStore purpose:StorePaymentPurpose = Ok;

View file

@ -86,7 +86,6 @@ func main() {
m, err := client.SendMessage(&tdlib.SendMessageRequest{ m, err := client.SendMessage(&tdlib.SendMessageRequest{
ChatId: chatId, ChatId: chatId,
ReplyTo: &tdlib.InputMessageReplyToMessage{ ReplyTo: &tdlib.InputMessageReplyToMessage{
ChatId: chatId,
MessageId: msgId, MessageId: msgId,
}, },
InputMessageContent: &tdlib.InputMessageText{ InputMessageContent: &tdlib.InputMessageText{

View file

@ -97,7 +97,6 @@ func main() {
m, err := client.SendMessage(&tdlib.SendMessageRequest{ m, err := client.SendMessage(&tdlib.SendMessageRequest{
ChatId: chatId, ChatId: chatId,
ReplyTo: &tdlib.InputMessageReplyToMessage{ ReplyTo: &tdlib.InputMessageReplyToMessage{
ChatId: chatId,
MessageId: msgId, MessageId: msgId,
}, },
InputMessageContent: &tdlib.InputMessageText{ InputMessageContent: &tdlib.InputMessageText{
@ -112,7 +111,6 @@ func main() {
m, err := client.SendMessage(&tdlib.SendMessageRequest{ m, err := client.SendMessage(&tdlib.SendMessageRequest{
ChatId: chatId, ChatId: chatId,
ReplyTo: &tdlib.InputMessageReplyToMessage{ ReplyTo: &tdlib.InputMessageReplyToMessage{
ChatId: chatId,
MessageId: msgId, MessageId: msgId,
}, },
InputMessageContent: &tdlib.InputMessageText{ InputMessageContent: &tdlib.InputMessageText{

View file

@ -19,21 +19,19 @@ func GetSenderId(sender tdlib.MessageSender) int64 {
func GetTdParameters() *tdlib.SetTdlibParametersRequest { func GetTdParameters() *tdlib.SetTdlibParametersRequest {
return &tdlib.SetTdlibParametersRequest{ return &tdlib.SetTdlibParametersRequest{
UseTestDc: false, UseTestDc: false,
DatabaseDirectory: "./tdlib-db", DatabaseDirectory: "./tdlib-db",
FilesDirectory: "./tdlib-files", FilesDirectory: "./tdlib-files",
UseFileDatabase: true, UseFileDatabase: true,
UseChatInfoDatabase: true, UseChatInfoDatabase: true,
UseMessageDatabase: true, UseMessageDatabase: true,
UseSecretChats: false, UseSecretChats: false,
ApiId: 132712, ApiId: 132712,
ApiHash: "e82c07ad653399a37baca8d1e498e472", ApiHash: "e82c07ad653399a37baca8d1e498e472",
SystemLanguageCode: "en", SystemLanguageCode: "en",
DeviceModel: "HuskyNG", DeviceModel: "HuskyNG",
SystemVersion: "3.0", SystemVersion: "3.0",
ApplicationVersion: "3.0", ApplicationVersion: "3.0",
EnableStorageOptimizer: true,
IgnoreFileNames: false,
} }
} }

View file

@ -97,7 +97,6 @@ func main() {
m, err := client.SendMessage(&tdlib.SendMessageRequest{ m, err := client.SendMessage(&tdlib.SendMessageRequest{
ChatId: chatId, ChatId: chatId,
ReplyTo: &tdlib.InputMessageReplyToMessage{ ReplyTo: &tdlib.InputMessageReplyToMessage{
ChatId: chatId,
MessageId: msgId, MessageId: msgId,
}, },
InputMessageContent: &tdlib.InputMessagePhoto{ InputMessageContent: &tdlib.InputMessagePhoto{
@ -119,7 +118,6 @@ func main() {
m, err := client.SendMessageAlbum(&tdlib.SendMessageAlbumRequest{ m, err := client.SendMessageAlbum(&tdlib.SendMessageAlbumRequest{
ChatId: chatId, ChatId: chatId,
ReplyTo: &tdlib.InputMessageReplyToMessage{ ReplyTo: &tdlib.InputMessageReplyToMessage{
ChatId: chatId,
MessageId: msgId, MessageId: msgId,
}, },
InputMessageContents: []tdlib.InputMessageContent{ InputMessageContents: []tdlib.InputMessageContent{

View file

@ -91,7 +91,6 @@ func main() {
m, err := client.SendMessage(&tdlib.SendMessageRequest{ m, err := client.SendMessage(&tdlib.SendMessageRequest{
ChatId: chatId, ChatId: chatId,
ReplyTo: &tdlib.InputMessageReplyToMessage{ ReplyTo: &tdlib.InputMessageReplyToMessage{
ChatId: chatId,
MessageId: msgId, MessageId: msgId,
}, },
InputMessageContent: &tdlib.InputMessageText{ InputMessageContent: &tdlib.InputMessageText{