diff --git a/README.md b/README.md index e624246..3e0b5b2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![API Layer](https://img.shields.io/badge/API_Layer-181-blueviolet)](https://corefork.telegram.org/methods) +[![API Layer](https://img.shields.io/badge/API_Layer-183-blueviolet)](https://corefork.telegram.org/methods) [![NuGet version](https://img.shields.io/nuget/v/WTelegramClient?color=00508F)](https://www.nuget.org/packages/WTelegramClient/) [![NuGet prerelease](https://img.shields.io/nuget/vpre/WTelegramClient?color=C09030&label=dev+nuget)](https://www.nuget.org/packages/WTelegramClient/absoluteLatest) [![Donate](https://img.shields.io/badge/Help_this_project:-Donate-ff4444)](https://www.buymeacoffee.com/wizou) diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs index 1e447dc..829557a 100644 --- a/src/TL.Schema.cs +++ b/src/TL.Schema.cs @@ -485,6 +485,13 @@ namespace TL optional = 0x4, } } + /// See + [TLDef(0xAA661FC3)] + public sealed partial class InputMediaPaidMedia : InputMedia + { + public long stars_amount; + public InputMedia[] extended_media; + } /// Defines a new group profile photo. See Derived classes: , /// a value means inputChatPhotoEmpty @@ -917,6 +924,7 @@ namespace TL [TLDef(0x7B197DC8)] public sealed partial class UserStatusRecently : UserStatus { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [Flags] public enum Flags : uint @@ -928,6 +936,7 @@ namespace TL [TLDef(0x541A1D1A)] public sealed partial class UserStatusLastWeek : UserStatus { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [Flags] public enum Flags : uint @@ -939,6 +948,7 @@ namespace TL [TLDef(0x65899777)] public sealed partial class UserStatusLastMonth : UserStatus { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [Flags] public enum Flags : uint @@ -1412,8 +1422,10 @@ namespace TL [IfFlag(36)] public PeerStories stories; /// Wallpaper [IfFlag(39)] public WallPaperBase wallpaper; + /// The number of boosts the current user has applied to the current supergroup. [IfFlag(40)] public int boosts_applied; [IfFlag(41)] public int boosts_unrestrict; + /// Custom emoji stickerset associated to the current supergroup, set using Channels_SetEmojiStickers after reaching the appropriate boost level, see here » for more info. [IfFlag(42)] public StickerSet emojiset; [Flags] public enum Flags : uint @@ -1510,6 +1522,7 @@ namespace TL can_view_revenue = 0x1000, /// Field has a value has_reactions_limit = 0x2000, + paid_media_allowed = 0x4000, } /// ID of the channel @@ -1694,6 +1707,7 @@ namespace TL public int id; /// ID of the sender of the message [IfFlag(8)] public Peer from_id; + /// Supergroups only, contains the number of boosts this user has given the current supergroup, and should be shown in the UI in the header of the message.
Only present for incoming messages from non-anonymous supergroup members that have boosted the supergroup.
Note that this counter should be locally overridden for non-anonymous outgoing messages, according to the current value of .boosts_applied, to ensure the value is correct even for messages sent by the current user before a supergroup was boosted (or after a boost has expired or the number of boosts has changed); do not update this value for incoming messages from other users, even if their boosts have changed.
[IfFlag(29)] public int from_boosts_applied; /// Peer ID, the chat where this message was sent public Peer peer_id; @@ -2144,7 +2158,7 @@ namespace TL { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; - /// ID of the channel that was automatically boosted by the winners of the giveaway for duration of the Premium subscription. + /// ID of the channel/supergroup that was automatically boosted by the winners of the giveaway for duration of the Premium subscription. public long channel_id; /// Number of other channels that participated in the giveaway. [IfFlag(3)] public int additional_peers_count; @@ -2175,8 +2189,15 @@ namespace TL has_additional_peers_count = 0x8, } } + /// See + [TLDef(0xA8852491)] + public sealed partial class MessageMediaPaidMedia : MessageMedia + { + public long stars_amount; + public MessageExtendedMediaBase[] extended_media; + } - /// Object describing actions connected to a service message. See Derived classes: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + /// Object describing actions connected to a service message. See Derived classes: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , /// a value means messageActionEmpty public abstract partial class MessageAction : IObject { } /// Group created See @@ -2588,7 +2609,7 @@ namespace TL { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; - /// Identifier of the channel that created the gift code either directly or through a giveaway: if we import this giftcode link, we will also automatically boost this channel. + /// Identifier of the channel/supergroup that created the gift code either directly or through a giveaway: if we import this giftcode link, we will also automatically boost this channel/supergroup. [IfFlag(1)] public Peer boost_peer; /// Duration in months of the gifted Telegram Premium subscription. public int months; @@ -2605,7 +2626,7 @@ namespace TL [Flags] public enum Flags : uint { - /// If set, this gift code was received from a giveaway » started by a channel we're subscribed to. + /// If set, this gift code was received from a giveaway » started by a channel/supergroup we're subscribed to. via_giveaway = 0x1, /// Field has a value has_boost_peer = 0x2, @@ -3245,6 +3266,7 @@ namespace TL { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// Extra bits of information, use flags2.HasFlag(...) to test for those public Flags2 flags2; /// User ID public long id; @@ -3347,7 +3369,9 @@ namespace TL blocked_my_stories_from = 0x8000000, /// Whether the other user has chosen a custom wallpaper for us using Messages_SetChatWallPaper and the for_both flag, see here » for more info. wallpaper_overridden = 0x10000000, + /// If set, we can only write to this user if they have already sent some messages to us, if we are subscribed to Telegram Premium, or if they're a mutual contact (.mutual_contact).
All the secondary conditions listed above must be checked separately to verify whether we can still write to the user, even if this flag is set (i.e. a mutual contact will have this flag set even if we can still write to them, and so on...); to avoid doing these extra checks if we haven't yet cached all the required information (for example while displaying the chat list in the sharing UI) the Users_GetIsPremiumRequiredToContact method may be invoked instead, passing the list of users currently visible in the UI, returning a list of booleans that directly specify whether we can or cannot write to each user.
To set this flag for ourselves invoke Account_SetGlobalPrivacySettings, setting the settings.new_noncontact_peers_require_premium flag.
contact_require_premium = 0x20000000, + /// If set, we cannot fetch the exact read date of messages we send to this user using Messages_GetOutboxReadDate.
The exact read date of messages might still be unavailable for other reasons, see here » for more info.
To set this flag for ourselves invoke Account_SetGlobalPrivacySettings, setting the settings.hide_read_marks flag.
read_dates_private = 0x40000000, } @@ -3686,7 +3710,7 @@ namespace TL [TLDef(0x1BB00451)] public sealed partial class InputMessagesFilterPinned : MessagesFilter { } - /// Object contains info on events occurred. See Derived classes: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + /// Object contains info on events occurred. See Derived classes: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , public abstract partial class Update : IObject { public virtual (long mbox_id, int pts, int pts_count) GetMBox() => default; @@ -5012,7 +5036,7 @@ namespace TL } } /// Extended media update See - [TLDef(0x5A73A98C)] + [TLDef(0xD5A41724)] public sealed partial class UpdateMessageExtendedMedia : Update { /// Peer @@ -5020,7 +5044,7 @@ namespace TL /// Message ID public int msg_id; /// Extended media - public MessageExtendedMediaBase extended_media; + public MessageExtendedMediaBase[] extended_media; } /// A forum topic » was pinned or unpinned. See [TLDef(0x192EFBE3)] @@ -5111,7 +5135,7 @@ namespace TL /// The reaction that was sent public Reaction reaction; } - /// A channel boost has changed (bots only) See + /// A channel/supergroup boost has changed (bots only) See [TLDef(0x904DD49C)] public sealed partial class UpdateBotChatBoost : Update { @@ -5270,6 +5294,7 @@ namespace TL [TLDef(0x9DDB347C)] public sealed partial class UpdateBotNewBusinessMessage : Update { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public string connection_id; public MessageBase message; @@ -5278,6 +5303,7 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_reply_to_message = 0x1, } @@ -5287,6 +5313,7 @@ namespace TL [TLDef(0x07DF587C)] public sealed partial class UpdateBotEditBusinessMessage : Update { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public string connection_id; public MessageBase message; @@ -5295,6 +5322,7 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_reply_to_message = 0x1, } @@ -5332,6 +5360,32 @@ namespace TL { public long balance; } + /// See + [TLDef(0x1EA2FDA7)] + public sealed partial class UpdateBusinessBotCallbackQuery : Update + { + public Flags flags; + public long query_id; + public long user_id; + public string connection_id; + public MessageBase message; + [IfFlag(2)] public MessageBase reply_to_message; + public long chat_instance; + [IfFlag(0)] public byte[] data; + + [Flags] public enum Flags : uint + { + has_data = 0x1, + has_reply_to_message = 0x4, + } + } + /// See + [TLDef(0xA584B019)] + public sealed partial class UpdateStarsRevenueStatus : Update + { + public Peer peer; + public StarsRevenueStatus status; + } /// Updates state. See [TLDef(0xA56C2A3E)] @@ -6450,7 +6504,7 @@ namespace TL /// Privacy keys together with privacy rules » indicate what can or can't someone do and are specified by a constructor, and its input counterpart . See public enum InputPrivacyKey : uint { - ///Whether people will be able to see your exact last online timestamp + ///Whether people will be able to see our exact last online timestamp.

Note that if we decide to hide our exact last online timestamp to someone and we do not have a
Premium subscription, we won't be able to see the exact last online timestamp of any user, including those that do share it with us.
StatusTimestamp = 0x4F96CB18, ///Whether people will be able to invite you to chats ChatInvite = 0xBDFB0426, @@ -6477,7 +6531,7 @@ namespace TL /// Privacy keys together with privacy rules » indicate what can or can't someone do and are specified by a constructor, and its input counterpart . See public enum PrivacyKey : uint { - ///Whether we can see the last online timestamp of this user + ///Whether we can see the last online timestamp of this user.

Note that if we decide to hide our exact last online timestamp to someone and we do not have a
Premium subscription, we won't be able to see the exact last online timestamp of any user, including those that do share it with us.
StatusTimestamp = 0xBC2EAB30, ///Whether the user can be invited to chats ChatInvite = 0x500E6DFA, @@ -6501,7 +6555,7 @@ namespace TL Birthday = 0x2000A518, } - /// Privacy rules indicate who can or can't do something and are specified by a , and its input counterpart . See Derived classes: , , , , , , , , + /// Privacy rules indicate who can or can't do something and are specified by a , and its input counterpart . See Derived classes: , , , , , , , , , public abstract partial class InputPrivacyRule : IObject { } /// Allow only contacts See [TLDef(0x0D09E07B)] @@ -6550,7 +6604,7 @@ namespace TL [TLDef(0x77CDC9F1)] public sealed partial class InputPrivacyValueAllowPremium : InputPrivacyRule { } - /// Privacy rules together with privacy keys indicate what can or can't someone do and are specified by a constructor, and its input counterpart . See Derived classes: , , , , , , , , + /// Privacy rules together with privacy keys indicate what can or can't someone do and are specified by a constructor, and its input counterpart . See Derived classes: , , , , , , , , , public abstract partial class PrivacyRule : IObject { } /// Allow all contacts See [TLDef(0xFFFE1BAC)] @@ -7310,7 +7364,7 @@ namespace TL has_thumb_document_id = 0x100, /// Whether the color of this TGS custom emoji stickerset should be changed to the text color when used in messages, the accent color if used as emoji status, white on chat photos, or another appropriate color based on context. text_color = 0x200, - /// If set, this custom emoji stickerset can be used in channel emoji statuses. + /// If set, this custom emoji stickerset can be used in channel/supergroup emoji statuses. channel_emoji_status = 0x400, creator = 0x800, } @@ -7377,7 +7431,7 @@ namespace TL } } - /// Bot or inline keyboard buttons See Derived classes: , , , , , , , , , , , , , , , + /// Bot or inline keyboard buttons See Derived classes: , , , , , , , , , , , , , , , , public abstract partial class KeyboardButtonBase : IObject { /// Button text @@ -7575,6 +7629,7 @@ namespace TL [TLDef(0xC9662D05)] public sealed partial class InputKeyboardButtonRequestPeer : KeyboardButtonBase { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public string text; public int button_id; @@ -7758,6 +7813,7 @@ namespace TL [TLDef(0xF1CCAAAC)] public sealed partial class MessageEntityBlockquote : MessageEntity { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [Flags] public enum Flags : uint @@ -8897,7 +8953,7 @@ namespace TL FragmentSms = 0x06ED998C, } - /// Type of the verification code that was sent See Derived classes: , , , , , , , , + /// Type of the verification code that was sent See Derived classes: , , , , , , , , , , public abstract partial class Auth_SentCodeType : IObject { } /// The code was sent through the telegram app See [TLDef(0x3DBB5986)] @@ -8984,13 +9040,14 @@ namespace TL public string url; } /// An authentication code should be delivered via SMS after Firebase attestation, as described in the auth documentation ». See - [TLDef(0x13C90F17)] + [TLDef(0x009FD736)] public sealed partial class Auth_SentCodeTypeFirebaseSms : Auth_SentCodeTypeSms { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; /// On Android, the nonce to be used as described in the auth documentation » [IfFlag(0)] public byte[] nonce; + [IfFlag(2)] public long play_integrity_project_id; [IfFlag(2)] public byte[] play_integrity_nonce; /// On iOS, must be compared with the receipt extracted from the received push notification. [IfFlag(1)] public string receipt; @@ -9003,19 +9060,21 @@ namespace TL has_nonce = 0x1, /// Fields and have a value has_receipt = 0x2, - /// Field has a value - has_play_integrity_nonce = 0x4, + /// Fields and have a value + has_play_integrity_project_id = 0x4, } } /// See [TLDef(0xA416AC81)] public sealed partial class Auth_SentCodeTypeSmsWord : Auth_SentCodeType { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [IfFlag(0)] public string beginning; [Flags] public enum Flags : uint { + /// Field has a value has_beginning = 0x1, } } @@ -9023,11 +9082,13 @@ namespace TL [TLDef(0xB37794AF)] public sealed partial class Auth_SentCodeTypeSmsPhrase : Auth_SentCodeType { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [IfFlag(0)] public string beginning; [Flags] public enum Flags : uint { + /// Field has a value has_beginning = 0x1, } } @@ -9226,7 +9287,7 @@ namespace TL } } /// Represents a message draft. See - [TLDef(0x3FCCF7EF)] + [TLDef(0x2D65321F)] public sealed partial class DraftMessage : DraftMessageBase { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -9241,6 +9302,7 @@ namespace TL [IfFlag(5)] public InputMedia media; /// Date of last update of the draft. public DateTime date; + [IfFlag(7)] public long effect; [Flags] public enum Flags : uint { @@ -9254,6 +9316,8 @@ namespace TL has_media = 0x20, /// If set, any eventual webpage preview will be shown on top of the message instead of at the bottom. invert_media = 0x40, + /// Field has a value + has_effect = 0x80, } } @@ -10202,7 +10266,7 @@ namespace TL public byte[] bytes; } - /// Payment form See Derived classes: + /// Payment form See Derived classes: , public abstract partial class Payments_PaymentFormBase : IObject { /// Form ID @@ -10292,6 +10356,7 @@ namespace TL [TLDef(0x7BF6B15C)] public sealed partial class Payments_PaymentFormStars : Payments_PaymentFormBase { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long form_id; public long bot_id; @@ -10303,6 +10368,7 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_photo = 0x20, } @@ -10352,7 +10418,7 @@ namespace TL public string url; } - /// Payment receipt See Derived classes: + /// Payment receipt See Derived classes: , public abstract partial class Payments_PaymentReceiptBase : IObject { /// Date of generation @@ -10444,6 +10510,7 @@ namespace TL [TLDef(0xDABBF83A)] public sealed partial class Payments_PaymentReceiptStars : Payments_PaymentReceiptBase { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public DateTime date; public long bot_id; @@ -10458,6 +10525,7 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_photo = 0x4, } @@ -11082,7 +11150,7 @@ namespace TL } } - /// Channel admin log event See Derived classes: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + /// Channel admin log event See Derived classes: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , public abstract partial class ChannelAdminLogEventAction : IObject { } /// Channel/supergroup title was changed See [TLDef(0xE6DFB825)] @@ -13329,7 +13397,7 @@ namespace TL } } - /// Webpage attributes See Derived classes: , + /// Webpage attributes See Derived classes: , , public abstract partial class WebPageAttribute : IObject { } /// Page theme See [TLDef(0x54B56617)] @@ -13373,6 +13441,7 @@ namespace TL [TLDef(0x50CC03D3)] public sealed partial class WebPageAttributeStickerSet : WebPageAttribute { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public DocumentBase[] stickers; @@ -13435,7 +13504,7 @@ namespace TL { /// Folder ID public virtual int ID => default; - /// Folder name + /// Folder name (max 12 UTF-8 chars) public virtual string Title => default; /// Emoji to use as icon for the folder. public virtual string Emoticon => default; @@ -13453,7 +13522,7 @@ namespace TL public Flags flags; /// Folder ID public int id; - /// Folder name + /// Folder name (max 12 UTF-8 chars) public string title; /// Emoji to use as icon for the folder. [IfFlag(25)] public string emoticon; @@ -13491,7 +13560,7 @@ namespace TL /// Folder ID public override int ID => id; - /// Folder name + /// Folder name (max 12 UTF-8 chars) public override string Title => title; /// Emoji to use as icon for the folder. public override string Emoticon => emoticon; @@ -13509,7 +13578,7 @@ namespace TL public Flags flags; /// ID of the folder public int id; - /// Name of the folder + /// Name of the folder (max 12 UTF-8 chars) public string title; /// Emoji to use as icon for the folder. [IfFlag(25)] public string emoticon; @@ -13531,7 +13600,7 @@ namespace TL /// ID of the folder public override int ID => id; - /// Name of the folder + /// Name of the folder (max 12 UTF-8 chars) public override string Title => title; /// Emoji to use as icon for the folder. public override string Emoticon => emoticon; @@ -13844,7 +13913,9 @@ namespace TL keep_archived_unmuted = 0x2, /// Whether unmuted chats that are always included or pinned in a folder, will be kept in the Archive chat list when they get a new message. Ignored if keep_archived_unmuted is set. keep_archived_folders = 0x4, + /// If set, (only) users that cannot see our exact last online date due to the current value of the key will receive a 403 USER_PRIVACY_RESTRICTED error when invoking Messages_GetOutboxReadDate to fetch the exact read date of one of their messages.
The .read_dates_private flag will be set for users that have this flag enabled.
hide_read_marks = 0x8, + /// If set, only users that have a premium account, are in our contact list, or already have a private chat with us can write to us; a 403 PRIVACY_PREMIUM_REQUIRED error will be emitted otherwise.
The .contact_require_premium flag will be set for users that have this flag enabled.
To check whether we can write to a user with this flag enabled, if we haven't yet cached all the required information (for example we don't have the or history of all users while displaying the chat list in the sharing UI) the Users_GetIsPremiumRequiredToContact method may be invoked, passing the list of users currently visible in the UI, returning a list of booleans that directly specify whether we can or cannot write to each user.
Premium users only, non-Premium users will receive a PREMIUM_ACCOUNT_REQUIRED error when trying to enable this flag.
new_noncontact_peers_require_premium = 0x10, } } @@ -15027,23 +15098,21 @@ namespace TL /// Contains the webview URL with appropriate theme and user info parameters added See Derived classes: public abstract partial class WebViewResult : IObject { } /// Contains the webview URL with appropriate theme and user info parameters added See - [TLDef(0x0C14557C)] + [TLDef(0x4D22FF98)] public sealed partial class WebViewResultUrl : WebViewResult { + public Flags flags; /// Webview session ID - public long query_id; + [IfFlag(0)] public long query_id; /// Webview URL to open public string url; - } - /// Contains the webview URL with appropriate theme parameters added See Derived classes: - public abstract partial class SimpleWebViewResult : IObject { } - /// Contains the webview URL with appropriate theme parameters added See - [TLDef(0x882F76BB)] - public sealed partial class SimpleWebViewResultUrl : SimpleWebViewResult - { - /// URL - public string url; + [Flags] public enum Flags : uint + { + /// Field has a value + has_query_id = 0x1, + fullsize = 0x2, + } } /// Info about a sent inline webview message See @@ -15138,7 +15207,7 @@ namespace TL Broadcast = 0x7BFBDEFC, } - /// An invoice See Derived classes: , , + /// An invoice See Derived classes: , , , public abstract partial class InputInvoice : IObject { } /// An invoice contained in a message. See [TLDef(0xC5B56859)] @@ -15156,7 +15225,7 @@ namespace TL /// The invoice slug public string slug; } - /// Used if the user wishes to start a channel giveaway or send some giftcodes to members of a channel, in exchange for boosts. See + /// Used if the user wishes to start a channel/supergroup giveaway or send some giftcodes to members of a channel/supergroup, in exchange for boosts. See [TLDef(0x98986C0D)] public sealed partial class InputInvoicePremiumGiftCode : InputInvoice { @@ -15222,7 +15291,7 @@ namespace TL public Dictionary users; } - /// Info about a Telegram Premium purchase See Derived classes: , , , + /// Info about a Telegram Premium purchase See Derived classes: , , , , public abstract partial class InputStorePaymentPurpose : IObject { } /// Info about a Telegram Premium purchase See [TLDef(0xA6751E66)] @@ -15250,7 +15319,7 @@ namespace TL /// Price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies). public long amount; } - /// Used to gift Telegram Premium subscriptions only to some specific subscribers of a channel or to some of our contacts, see here » for more info on giveaways and gifts. See + /// Used to gift Telegram Premium subscriptions only to some specific subscribers of a channel/supergroup or to some of our contacts, see here » for more info on giveaways and gifts. See [TLDef(0xA3805F3F)] public sealed partial class InputStorePaymentPremiumGiftCode : InputStorePaymentPurpose { @@ -15258,7 +15327,7 @@ namespace TL public Flags flags; /// The users that will receive the Telegram Premium subscriptions. public InputUserBase[] users; - /// If set, the gifts will be sent on behalf of a channel we are an admin of, which will also assign some boosts to it. Otherwise, the gift will be sent directly from the currently logged in users, and we will gain some extra boost slots. See here » for more info on giveaways and gifts. + /// If set, the gifts will be sent on behalf of a channel/supergroup we are an admin of, which will also assign some boosts to it. Otherwise, the gift will be sent directly from the currently logged in user, and we will gain some extra boost slots. See here » for more info on giveaways and gifts. [IfFlag(0)] public InputPeer boost_peer; /// Three-letter ISO 4217 currency code public string currency; @@ -15277,7 +15346,7 @@ namespace TL { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; - /// The channel starting the giveaway, that the user must join to participate, that will receive the giveaway boosts; see here » for more info on giveaways. + /// The channel/supergroup starting the giveaway, that the user must join to participate, that will receive the giveaway boosts; see here » for more info on giveaways. public InputPeer boost_peer; /// Additional channels that the user must join to participate to the giveaway can be specified here. [IfFlag(1)] public InputPeer[] additional_peers; @@ -15312,6 +15381,7 @@ namespace TL [TLDef(0x4F0EE8DF)] public sealed partial class InputStorePaymentStars : InputStorePaymentPurpose { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long stars; public string currency; @@ -15812,7 +15882,7 @@ namespace TL public long[] document_id; } - /// Represents an emoji category. See Derived classes: + /// Represents an emoji category. See Derived classes: , , public abstract partial class EmojiGroupBase : IObject { /// Category name, i.e. "Animals", "Flags", "Faces" and so on... @@ -16016,16 +16086,6 @@ namespace TL } } - /// Contains the link that must be used to open a direct link Mini App. See Derived classes: - public abstract partial class AppWebViewResult : IObject { } - /// Contains the link that must be used to open a direct link Mini App. See - [TLDef(0x3C1B4F0D)] - public sealed partial class AppWebViewResultUrl : AppWebViewResult - { - /// The URL to open - public string url; - } - /// Specifies an inline mode mini app button, shown on top of the inline query results list. See [TLDef(0xB57295D5)] public sealed partial class InlineBotWebView : IObject @@ -16431,6 +16491,7 @@ namespace TL [TLDef(0x63C3DD0A)] public sealed partial class Stories_Stories : IObject, IPeerResolver { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; /// Total number of stories that can be fetched public int count; @@ -16628,9 +16689,10 @@ namespace TL } /// Coordinates and size of a clicable rectangular area on top of a story. See - [TLDef(0x03D1EA4E)] + [TLDef(0xCFC9E002)] public sealed partial class MediaAreaCoordinates : IObject { + public Flags flags; /// The abscissa of the rectangle's center, as a percentage of the media width (0-100). public double x; /// The ordinate of the rectangle's center, as a percentage of the media height (0-100). @@ -16641,6 +16703,13 @@ namespace TL public double h; /// Clockwise rotation angle of the rectangle, in degrees (0-360). public double rotation; + [IfFlag(0)] public double radius; + + [Flags] public enum Flags : uint + { + /// Field has a value + has_radius = 0x1, + } } /// Represents a story media area » See Derived classes: , , , , , @@ -16676,13 +16745,21 @@ namespace TL public string result_id; } /// Represents a geolocation tag attached to a story. See - [TLDef(0xDF8B3B22)] + [TLDef(0xCAD5452D)] public sealed partial class MediaAreaGeoPoint : MediaArea { + public Flags flags; /// The size and position of the media area corresponding to the location sticker on top of the story media. public MediaAreaCoordinates coordinates; /// Coordinates of the geolocation tag. public GeoPoint geo; + [IfFlag(0)] public GeoPointAddress address; + + [Flags] public enum Flags : uint + { + /// Field has a value + has_address = 0x1, + } } /// Represents a reaction bubble. See [TLDef(0x14455871)] @@ -16725,6 +16802,13 @@ namespace TL /// ID of the channel message public int msg_id; } + /// See + [TLDef(0x37381085)] + public sealed partial class MediaAreaUrl : MediaArea + { + public MediaAreaCoordinates coordinates; + public string url; + } /// Stories associated to a peer See [TLDef(0x9A35E999)] @@ -16948,9 +17032,9 @@ namespace TL { /// Field has a value has_user_id = 0x1, - /// Whether this boost was applied because the channel directly gifted a subscription to the user. + /// Whether this boost was applied because the channel/supergroup directly gifted a subscription to the user. gift = 0x2, - /// Whether this boost was applied because the user was chosen in a giveaway started by the channel. + /// Whether this boost was applied because the user was chosen in a giveaway started by the channel/supergroup. giveaway = 0x4, /// If set, the user hasn't yet invoked Payments_ApplyGiftCode to claim a subscription gifted directly or in a giveaway by the channel. unclaimed = 0x8, @@ -17029,21 +17113,21 @@ namespace TL { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; - /// The current boost level of the channel. + /// The current boost level of the channel/supergroup. public int level; /// The number of boosts acquired so far in the current level. public int current_level_boosts; /// Total number of boosts acquired so far. public int boosts; - /// The number of boosts acquired from created Telegram Premium gift codes and giveaways; only returned to channel admins. + /// The number of boosts acquired from created Telegram Premium gift codes and giveaways; only returned to channel/supergroup admins. [IfFlag(4)] public int gift_boosts; /// Total number of boosts needed to reach the next level; if absent, the next level isn't available. [IfFlag(0)] public int next_level_boosts; - /// Only returned to channel admins: contains the approximated number of Premium users subscribed to the channel, related to the total number of subscribers. + /// Only returned to channel/supergroup admins: contains the approximated number of Premium users subscribed to the channel/supergroup, related to the total number of subscribers. [IfFlag(1)] public StatsPercentValue premium_audience; /// Boost deep link » that can be used to boost the chat. public string boost_url; - /// A list of prepaid giveaways available for the chat; only returned to channel admins. + /// A list of prepaid giveaways available for the chat; only returned to channel/supergroup admins. [IfFlag(3)] public PrepaidGiveaway[] prepaid_giveaways; /// Indicates which of our boost slots we've assigned to this peer (populated if my_boost is set). [IfFlag(2)] public int[] my_boost_slots; @@ -17054,7 +17138,7 @@ namespace TL has_next_level_boosts = 0x1, /// Field has a value has_premium_audience = 0x2, - /// Whether we're currently boosting this channel, my_boost_slots will also be set. + /// Whether we're currently boosting this channel/supergroup, my_boost_slots will also be set. my_boost = 0x4, /// Field has a value has_prepaid_giveaways = 0x8, @@ -17224,6 +17308,7 @@ namespace TL [IfFlag(2)] public Help_PeerColorSetBase dark_colors; /// Channels can use this palette only after reaching at least the boost level specified in this field. [IfFlag(3)] public int channel_min_level; + /// Supergroups can use this palette only after reaching at least the boost level specified in this field. [IfFlag(4)] public int group_min_level; [Flags] public enum Flags : uint @@ -17381,6 +17466,7 @@ namespace TL [TLDef(0xCB6FF828)] public sealed partial class SavedReactionTag : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public Reaction reaction; [IfFlag(0)] public string title; @@ -17388,6 +17474,7 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_title = 0x1, } } @@ -17398,6 +17485,7 @@ namespace TL public sealed partial class Messages_SavedReactionTags : IObject { public SavedReactionTag[] tags; + /// Hash for pagination, for more info click here public long hash; } @@ -17408,7 +17496,7 @@ namespace TL public DateTime date; } - /// See + /// See Derived classes: public abstract partial class Smsjobs_EligibilityToJoin : IObject { } /// See [TLDef(0xDC8B44CF)] @@ -17422,6 +17510,7 @@ namespace TL [TLDef(0x2AEE9191)] public sealed partial class Smsjobs_Status : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public int recent_sent; public int recent_since; @@ -17434,6 +17523,7 @@ namespace TL [Flags] public enum Flags : uint { allow_international = 0x1, + /// Field has a value has_last_gift_slug = 0x2, } } @@ -17447,24 +17537,30 @@ namespace TL public string text; } - /// See + /// A time interval, indicating the opening hours of a business. See [TLDef(0x120B1AB9)] public sealed partial class BusinessWeeklyOpen : IObject { + /// Start minute in minutes of the week, 0 to 7*24*60 inclusively. public int start_minute; + /// End minute in minutes of the week, 1 to 8*24*60 inclusively (8 and not 7 because this allows to specify intervals that, for example, start on Sunday 21:00 and end on Monday 04:00 (6*24*60+21*60 to 7*24*60+4*60) without passing an invalid end_minute < start_minute). See here » for more info. public int end_minute; } - /// See + /// Specifies a set of Telegram Business opening hours. See [TLDef(0x8C92B098)] public sealed partial class BusinessWorkHours : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// An ID of one of the timezones returned by Help_GetTimezonesList.
The timezone ID is contained .id, a human-readable, localized name of the timezone is available in .name and the .utc_offset field contains the UTC offset in seconds, which may be displayed in hh:mm format by the client together with the human-readable name (i.e. $name UTC -01:00).
public string timezone_id; + /// A list of time intervals (max 28) represented by businessWeeklyOpen », indicating the opening hours of their business. public BusinessWeeklyOpen[] weekly_open; [Flags] public enum Flags : uint { + /// Ignored if set while invoking Account_UpdateBusinessWorkHours, only returned by the server in .business_work_hours, indicating whether the business is currently open according to the current time and the values in weekly_open and timezone. open_now = 0x1, } } @@ -17473,112 +17569,148 @@ namespace TL [TLDef(0xAC5C1AF7)] public sealed partial class BusinessLocation : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [IfFlag(0)] public GeoPoint geo_point; public string address; [Flags] public enum Flags : uint { + /// Field has a value has_geo_point = 0x1, } } - ///
See + /// Specifies the chats that can receive Telegram Business away » and greeting » messages. See [TLDef(0x6F8B32AA)] public sealed partial class InputBusinessRecipients : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// Only private chats with the specified users. [IfFlag(4)] public InputUserBase[] users; [Flags] public enum Flags : uint { + /// All existing private chats. existing_chats = 0x1, + /// All new private chats. new_chats = 0x2, + /// All private chats with contacts. contacts = 0x4, + /// All private chats with non-contacts. non_contacts = 0x8, + /// Field has a value has_users = 0x10, + /// If set, inverts the selection. exclude_selected = 0x20, } } - /// See + /// Specifies the chats that can receive Telegram Business away » and greeting » messages. See [TLDef(0x21108FF7)] public sealed partial class BusinessRecipients : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// Only private chats with the specified users. [IfFlag(4)] public long[] users; [Flags] public enum Flags : uint { + /// All existing private chats. existing_chats = 0x1, + /// All new private chats. new_chats = 0x2, + /// All private chats with contacts. contacts = 0x4, + /// All private chats with non-contacts. non_contacts = 0x8, + /// Field has a value has_users = 0x10, + /// If set, inverts the selection. exclude_selected = 0x20, } } - /// See + /// See Derived classes: , , public abstract partial class BusinessAwayMessageSchedule : IObject { } - /// See + /// Always send Telegram Business away messages to users writing to us in private. See [TLDef(0xC9B9E2B9)] public sealed partial class BusinessAwayMessageScheduleAlways : BusinessAwayMessageSchedule { } - /// See + /// Send Telegram Business away messages to users writing to us in private outside of the configured Telegram Business working hours. See [TLDef(0xC3F2F501)] public sealed partial class BusinessAwayMessageScheduleOutsideWorkHours : BusinessAwayMessageSchedule { } - /// See + /// Send Telegram Business away messages to users writing to us in private in the specified time span. See [TLDef(0xCC4D9ECC)] public sealed partial class BusinessAwayMessageScheduleCustom : BusinessAwayMessageSchedule { + /// Start date (UNIX timestamp). public DateTime start_date; + /// End date (UNIX timestamp). public DateTime end_date; } - /// See + /// Describes a Telegram Business greeting, automatically sent to new users writing to us in private for the first time, or after a certain inactivity period. See [TLDef(0x0194CB3B)] public sealed partial class InputBusinessGreetingMessage : IObject { + /// ID of a quick reply shorcut, containing the greeting messages to send, see here » for more info. public int shortcut_id; + /// Allowed recipients for the greeting messages. public InputBusinessRecipients recipients; + /// The number of days after which a private chat will be considered as inactive; currently, must be one of 7, 14, 21, or 28. public int no_activity_days; } - /// See + /// Describes a Telegram Business greeting, automatically sent to new users writing to us in private for the first time, or after a certain inactivity period. See [TLDef(0xE519ABAB)] public sealed partial class BusinessGreetingMessage : IObject { + /// ID of a quick reply shorcut, containing the greeting messages to send, see here » for more info. public int shortcut_id; + /// Allowed recipients for the greeting messages. public BusinessRecipients recipients; + /// The number of days after which a private chat will be considered as inactive; currently, must be one of 7, 14, 21, or 28. public int no_activity_days; } - /// See + /// Describes a Telegram Business away message, automatically sent to users writing to us when we're offline, during closing hours, while we're on vacation, or in some other custom time period when we cannot immediately answer to the user. See [TLDef(0x832175E0)] public sealed partial class InputBusinessAwayMessage : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// ID of a quick reply shorcut, containing the away messages to send, see here » for more info. public int shortcut_id; + /// Specifies when should the away messages be sent. public BusinessAwayMessageSchedule schedule; + /// Allowed recipients for the away messages. public InputBusinessRecipients recipients; [Flags] public enum Flags : uint { + /// If set, the messages will not be sent if the account was online in the last 10 minutes. offline_only = 0x1, } } - /// See + /// Describes a Telegram Business away message, automatically sent to users writing to us when we're offline, during closing hours, while we're on vacation, or in some other custom time period when we cannot immediately answer to the user. See [TLDef(0xEF156A5C)] public sealed partial class BusinessAwayMessage : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// ID of a quick reply shorcut, containing the away messages to send, see here » for more info. public int shortcut_id; + /// Specifies when should the away messages be sent. public BusinessAwayMessageSchedule schedule; + /// Allowed recipients for the away messages. public BusinessRecipients recipients; [Flags] public enum Flags : uint { + /// If set, the messages will not be sent if the account was online in the last 10 minutes. offline_only = 0x1, } } @@ -17598,6 +17730,7 @@ namespace TL public sealed partial class Help_TimezonesList : IObject { public Timezone[] timezones; + /// Hash for pagination, for more info click here public int hash; } @@ -17611,7 +17744,7 @@ namespace TL public int count; } - /// See + /// See Derived classes: , public abstract partial class InputQuickReplyShortcutBase : IObject { } /// See [TLDef(0x24596D41)] @@ -17643,6 +17776,7 @@ namespace TL [TLDef(0xBD068601)] public sealed partial class ConnectedBot : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long bot_id; public BusinessBotRecipients recipients; @@ -17665,6 +17799,7 @@ namespace TL [TLDef(0x2AD93719)] public sealed partial class Messages_DialogFilters : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public DialogFilterBase[] filters; @@ -17678,6 +17813,7 @@ namespace TL [TLDef(0x6C8E1E06)] public sealed partial class Birthday : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public int day; public int month; @@ -17685,6 +17821,7 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_year = 0x1, } } @@ -17693,6 +17830,7 @@ namespace TL [TLDef(0x896433B4)] public sealed partial class BotBusinessConnection : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public string connection_id; public long user_id; @@ -17710,6 +17848,7 @@ namespace TL [TLDef(0x09C469CD)] public sealed partial class InputBusinessIntro : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public string title; public string description; @@ -17717,6 +17856,7 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_sticker = 0x1, } } @@ -17725,6 +17865,7 @@ namespace TL [TLDef(0x5A0A066D)] public sealed partial class BusinessIntro : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public string title; public string description; @@ -17732,6 +17873,7 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_sticker = 0x1, } } @@ -17744,7 +17886,7 @@ namespace TL public StickerSetCoveredBase[] sets; } - /// See + /// See Derived classes: , public abstract partial class InputCollectible : IObject { } /// See [TLDef(0xE39460A9)] @@ -17775,6 +17917,7 @@ namespace TL [TLDef(0xC4E5921E)] public sealed partial class InputBusinessBotRecipients : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [IfFlag(4)] public InputUserBase[] users; [IfFlag(6)] public InputUserBase[] exclude_users; @@ -17785,8 +17928,10 @@ namespace TL new_chats = 0x2, contacts = 0x4, non_contacts = 0x8, + /// Field has a value has_users = 0x10, exclude_selected = 0x20, + /// Field has a value has_exclude_users = 0x40, } } @@ -17795,6 +17940,7 @@ namespace TL [TLDef(0xB88CF373)] public sealed partial class BusinessBotRecipients : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [IfFlag(4)] public long[] users; [IfFlag(6)] public long[] exclude_users; @@ -17805,8 +17951,10 @@ namespace TL new_chats = 0x2, contacts = 0x4, non_contacts = 0x8, + /// Field has a value has_users = 0x10, exclude_selected = 0x20, + /// Field has a value has_exclude_users = 0x40, } } @@ -17831,6 +17979,7 @@ namespace TL [TLDef(0x628C9224)] public sealed partial class MissingInvitee : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long user_id; @@ -17853,14 +18002,18 @@ namespace TL [TLDef(0x11679FA7)] public sealed partial class InputBusinessChatLink : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public string message; + /// Message entities for styled text [IfFlag(0)] public MessageEntity[] entities; [IfFlag(1)] public string title; [Flags] public enum Flags : uint { + /// Field has a value has_entities = 0x1, + /// Field has a value has_title = 0x2, } } @@ -17869,16 +18022,20 @@ namespace TL [TLDef(0xB4AE666F)] public sealed partial class BusinessChatLink : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public string link; public string message; + /// Message entities for styled text [IfFlag(0)] public MessageEntity[] entities; [IfFlag(1)] public string title; public int views; [Flags] public enum Flags : uint { + /// Field has a value has_entities = 0x1, + /// Field has a value has_title = 0x2, } } @@ -17898,27 +18055,31 @@ namespace TL [TLDef(0x9A23AF21)] public sealed partial class Account_ResolvedBusinessChatLinks : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public Peer peer; public string message; + /// Message entities for styled text [IfFlag(0)] public MessageEntity[] entities; public Dictionary chats; public Dictionary users; [Flags] public enum Flags : uint { + /// Field has a value has_entities = 0x1, } /// returns a or for the result public IPeerInfo UserOrChat => peer?.UserOrChat(users, chats); } - /// See + /// See Derived classes: , , public abstract partial class RequestedPeer : IObject { } /// See [TLDef(0xD62FF46A)] public sealed partial class RequestedPeerUser : RequestedPeer { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long user_id; [IfFlag(0)] public string first_name; @@ -17928,8 +18089,11 @@ namespace TL [Flags] public enum Flags : uint { + /// Fields and have a value has_first_name = 0x1, + /// Field has a value has_username = 0x2, + /// Field has a value has_photo = 0x4, } } @@ -17937,6 +18101,7 @@ namespace TL [TLDef(0x7307544F)] public sealed partial class RequestedPeerChat : RequestedPeer { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long chat_id; [IfFlag(0)] public string title; @@ -17944,7 +18109,9 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_title = 0x1, + /// Field has a value has_photo = 0x4, } } @@ -17952,6 +18119,7 @@ namespace TL [TLDef(0x8BA403E4)] public sealed partial class RequestedPeerChannel : RequestedPeer { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long channel_id; [IfFlag(0)] public string title; @@ -17960,8 +18128,11 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_title = 0x1, + /// Field has a value has_username = 0x2, + /// Field has a value has_photo = 0x4, } } @@ -17974,7 +18145,7 @@ namespace TL public byte[] option; } - /// See + /// See Derived classes: , , public abstract partial class Channels_SponsoredMessageReportResult : IObject { } /// See [TLDef(0x846F9E42)] @@ -18007,7 +18178,7 @@ namespace TL public string url; } - /// See + /// See Derived classes: , , public abstract partial class BroadcastRevenueTransaction : IObject { } /// See [TLDef(0x557E2CC4)] @@ -18021,6 +18192,7 @@ namespace TL [TLDef(0x5A590978)] public sealed partial class BroadcastRevenueTransactionWithdrawal : BroadcastRevenueTransaction { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long amount; public DateTime date; @@ -18031,6 +18203,7 @@ namespace TL [Flags] public enum Flags : uint { pending = 0x1, + /// Fields and have a value has_transaction_date = 0x2, failed = 0x4, } @@ -18065,6 +18238,7 @@ namespace TL [TLDef(0x56E34970)] public sealed partial class ReactionsNotifySettings : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [IfFlag(0)] public ReactionNotificationsFrom messages_notify_from; [IfFlag(1)] public ReactionNotificationsFrom stories_notify_from; @@ -18073,7 +18247,9 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_messages_notify_from = 0x1, + /// Field has a value has_stories_notify_from = 0x2, } } @@ -18091,6 +18267,7 @@ namespace TL [TLDef(0x93C3E27E)] public sealed partial class AvailableEffect : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long id; public string emoticon; @@ -18100,7 +18277,9 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_static_icon_id = 0x1, + /// Field has a value has_effect_animation_id = 0x2, premium_required = 0x4, } @@ -18111,6 +18290,7 @@ namespace TL [TLDef(0xBDDB616E)] public sealed partial class Messages_AvailableEffects : IObject { + /// Hash for pagination, for more info click here public int hash; public AvailableEffect[] effects; public DocumentBase[] documents; @@ -18120,19 +18300,22 @@ namespace TL [TLDef(0xB89BFCCF)] public sealed partial class FactCheck : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; [IfFlag(1)] public string country; [IfFlag(1)] public TextWithEntities text; + /// Hash for pagination, for more info click here public long hash; [Flags] public enum Flags : uint { need_check = 0x1, + /// Fields and have a value has_country = 0x2, } } - /// See + /// See Derived classes: , , , , , public abstract partial class StarsTransactionPeerBase : IObject { } /// See [TLDef(0x95F2BFE4)] @@ -18155,11 +18338,15 @@ namespace TL { public Peer peer; } + /// See + [TLDef(0x60682812)] + public sealed partial class StarsTransactionPeerAds : StarsTransactionPeerBase { } /// See [TLDef(0x0BD915C0)] public sealed partial class StarsTopupOption : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long stars; [IfFlag(0)] public string store_product; @@ -18168,15 +18355,17 @@ namespace TL [Flags] public enum Flags : uint { + /// Field has a value has_store_product = 0x1, extended = 0x2, } } /// See - [TLDef(0xCC7079B2)] + [TLDef(0x2DB5418F)] public sealed partial class StarsTransaction : IObject { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public string id; public long stars; @@ -18185,13 +18374,31 @@ namespace TL [IfFlag(0)] public string title; [IfFlag(1)] public string description; [IfFlag(2)] public WebDocumentBase photo; + [IfFlag(5)] public DateTime transaction_date; + [IfFlag(5)] public string transaction_url; + [IfFlag(7)] public byte[] bot_payload; + [IfFlag(8)] public int msg_id; + [IfFlag(9)] public MessageMedia[] extended_media; [Flags] public enum Flags : uint { + /// Field has a value has_title = 0x1, + /// Field has a value has_description = 0x2, + /// Field has a value has_photo = 0x4, refund = 0x8, + pending = 0x10, + /// Fields and have a value + has_transaction_date = 0x20, + failed = 0x40, + /// Field has a value + has_bot_payload = 0x80, + /// Field has a value + has_msg_id = 0x100, + /// Field has a value + has_extended_media = 0x200, } } @@ -18199,6 +18406,7 @@ namespace TL [TLDef(0x8CF4EE60)] public sealed partial class Payments_StarsStatus : IObject, IPeerResolver { + /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; public long balance; public StarsTransaction[] history; @@ -18206,6 +18414,34 @@ namespace TL public Dictionary chats; public Dictionary users; + [Flags] public enum Flags : uint + { + /// Field has a value + has_next_offset = 0x1, + } + /// returns a or for the given Peer + public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); + } + + /// See + [TLDef(0xE87ACBC0)] + public sealed partial class FoundStory : IObject + { + public Peer peer; + public StoryItemBase story; + } + + /// See + [TLDef(0xE2DE7737)] + public sealed partial class Stories_FoundStories : IObject, IPeerResolver + { + public Flags flags; + public int count; + public FoundStory[] stories; + [IfFlag(0)] public string next_offset; + public Dictionary chats; + public Dictionary users; + [Flags] public enum Flags : uint { has_next_offset = 0x1, @@ -18213,4 +18449,75 @@ namespace TL /// returns a or for the given Peer public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); } + + /// See + [TLDef(0xDE4C5D93)] + public sealed partial class GeoPointAddress : IObject + { + public Flags flags; + public string country_iso2; + [IfFlag(0)] public string state; + [IfFlag(1)] public string city; + [IfFlag(2)] public string street; + + [Flags] public enum Flags : uint + { + has_state = 0x1, + has_city = 0x2, + has_street = 0x4, + } + } + + /// See + [TLDef(0x79342946)] + public sealed partial class StarsRevenueStatus : IObject + { + public Flags flags; + public long current_balance; + public long available_balance; + public long overall_revenue; + [IfFlag(1)] public int next_withdrawal_at; + + [Flags] public enum Flags : uint + { + withdrawal_enabled = 0x1, + has_next_withdrawal_at = 0x2, + } + } + + /// See + [TLDef(0xC92BB73B)] + public sealed partial class Payments_StarsRevenueStats : IObject + { + public StatsGraphBase revenue_graph; + public StarsRevenueStatus status; + public double usd_rate; + } + + /// See + [TLDef(0x1DAB80B7)] + public sealed partial class Payments_StarsRevenueWithdrawalUrl : IObject + { + public string url; + } + + /// See + [TLDef(0x394E7F21)] + public sealed partial class Payments_StarsRevenueAdsAccountUrl : IObject + { + public string url; + } + + /// See + [TLDef(0x206AE6D1)] + public sealed partial class InputStarsTransaction : IObject + { + public Flags flags; + public string id; + + [Flags] public enum Flags : uint + { + refund = 0x1, + } + } } diff --git a/src/TL.SchemaFuncs.cs b/src/TL.SchemaFuncs.cs index 0f9c38c..cd6aa33 100644 --- a/src/TL.SchemaFuncs.cs +++ b/src/TL.SchemaFuncs.cs @@ -354,7 +354,7 @@ namespace TL phone_code_hash = phone_code_hash, }); - /// See + /// See Possible codes: 400 (details) public static Task Auth_ReportMissingCode(this Client client, string phone_number, string phone_code_hash, string mnc) => client.Invoke(new Auth_ReportMissingCode { @@ -439,7 +439,7 @@ namespace TL }); /// Returns a list of available wallpapers. See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means account.wallPapersNotModified public static Task Account_GetWallPapers(this Client client, long hash = default) => client.Invoke(new Account_GetWallPapers @@ -958,7 +958,7 @@ namespace TL /// Get installed themes See /// Theme format, a string that identifies the theming engines supported by the client - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means account.themesNotModified public static Task Account_GetThemes(this Client client, string format, long hash = default) => client.Invoke(new Account_GetThemes @@ -995,7 +995,7 @@ namespace TL { }); - /// Set global privacy settings See Possible codes: 400 (details) + /// Set global privacy settings See Possible codes: 400,403 (details) /// Global privacy settings public static Task Account_SetGlobalPrivacySettings(this Client client, GlobalPrivacySettings settings) => client.Invoke(new Account_SetGlobalPrivacySettings @@ -1030,7 +1030,7 @@ namespace TL }); /// Get all available chat themes ». See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means account.themesNotModified public static Task Account_GetChatThemes(this Client client, long hash = default) => client.Invoke(new Account_GetChatThemes @@ -1061,7 +1061,7 @@ namespace TL }); /// Fetch saved notification sounds See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means account.savedRingtonesNotModified public static Task Account_GetSavedRingtones(this Client client, long hash = default) => client.Invoke(new Account_GetSavedRingtones @@ -1100,7 +1100,7 @@ namespace TL }); /// Get a list of default suggested emoji statuses See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means account.emojiStatusesNotModified public static Task Account_GetDefaultEmojiStatuses(this Client client, long hash = default) => client.Invoke(new Account_GetDefaultEmojiStatuses @@ -1109,7 +1109,7 @@ namespace TL }); /// Get recently used emoji statuses See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means account.emojiStatusesNotModified public static Task Account_GetRecentEmojiStatuses(this Client client, long hash = default) => client.Invoke(new Account_GetRecentEmojiStatuses @@ -1142,7 +1142,7 @@ namespace TL }); /// Get a set of suggested custom emoji stickers that can be used as profile picture See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means emojiListNotModified public static Task Account_GetDefaultProfilePhotoEmojis(this Client client, long hash = default) => client.Invoke(new Account_GetDefaultProfilePhotoEmojis @@ -1151,7 +1151,7 @@ namespace TL }); /// Get a set of suggested custom emoji stickers that can be used as group picture See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means emojiListNotModified public static Task Account_GetDefaultGroupPhotoEmojis(this Client client, long hash = default) => client.Invoke(new Account_GetDefaultGroupPhotoEmojis @@ -1206,7 +1206,7 @@ namespace TL }); /// Get a set of suggested custom emoji stickers that can be used in an accent color pattern. See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means emojiListNotModified public static Task Account_GetDefaultBackgroundEmojis(this Client client, long hash = default) => client.Invoke(new Account_GetDefaultBackgroundEmojis @@ -1215,7 +1215,7 @@ namespace TL }); /// Get a list of default suggested channel emoji statuses. See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means account.emojiStatusesNotModified public static Task Account_GetChannelDefaultEmojiStatuses(this Client client, long hash = default) => client.Invoke(new Account_GetChannelDefaultEmojiStatuses @@ -1224,7 +1224,7 @@ namespace TL }); /// Returns fetch the full list of custom emoji IDs » that cannot be used in channel emoji statuses ». See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means emojiListNotModified public static Task Account_GetChannelRestrictedStatusEmojis(this Client client, long hash = default) => client.Invoke(new Account_GetChannelRestrictedStatusEmojis @@ -1232,7 +1232,8 @@ namespace TL hash = hash, }); - /// See + /// Specify a set of Telegram Business opening hours.
This info will be contained in .business_work_hours. See Possible codes: 400 (details)
+ /// Opening hours (optional, if not set removes all opening hours). public static Task Account_UpdateBusinessWorkHours(this Client client, BusinessWorkHours business_work_hours = null) => client.Invoke(new Account_UpdateBusinessWorkHours { @@ -1240,7 +1241,9 @@ namespace TL business_work_hours = business_work_hours, }); - /// See + /// Businesses » may advertise their location using this method, see here » for more info. See + /// Optional, contains a set of geographical coordinates. + /// Mandatory when setting/updating the location, contains a textual description of the address (max 96 UTF-8 chars). public static Task Account_UpdateBusinessLocation(this Client client, string address = null, InputGeoPoint geo_point = null) => client.Invoke(new Account_UpdateBusinessLocation { @@ -1280,7 +1283,7 @@ namespace TL { }); - /// See + /// See [bots: ✓] Possible codes: 400 (details) public static Task Account_GetBotBusinessConnection(this Client client, string connection_id) => client.Invoke(new Account_GetBotBusinessConnection { @@ -1295,7 +1298,7 @@ namespace TL intro = intro, }); - /// See + /// See Possible codes: 400 (details) public static Task Account_ToggleConnectedBotPaused(this Client client, InputPeer peer, bool paused) => client.Invoke(new Account_ToggleConnectedBotPaused { @@ -1303,7 +1306,7 @@ namespace TL paused = paused, }); - /// See + /// See Possible codes: 400 (details) public static Task Account_DisablePeerConnectedBot(this Client client, InputPeer peer) => client.Invoke(new Account_DisablePeerConnectedBot { @@ -1325,7 +1328,7 @@ namespace TL link = link, }); - /// See + /// See Possible codes: 400 (details) public static Task Account_EditBusinessChatLink(this Client client, string slug, InputBusinessChatLink link) => client.Invoke(new Account_EditBusinessChatLink { @@ -1333,7 +1336,7 @@ namespace TL link = link, }); - /// See + /// See Possible codes: 400 (details) public static Task Account_DeleteBusinessChatLink(this Client client, string slug) => client.Invoke(new Account_DeleteBusinessChatLink { @@ -1346,7 +1349,7 @@ namespace TL { }); - /// See + /// See Possible codes: 400 (details) public static Task Account_ResolveBusinessChatLink(this Client client, string slug) => client.Invoke(new Account_ResolveBusinessChatLink { @@ -1406,7 +1409,8 @@ namespace TL errors = errors, }); - /// See + /// Check whether we can write to the specified user (non-Premium users only). See + /// Users to fetch info about. public static Task Users_GetIsPremiumRequiredToContact(this Client client, params InputUserBase[] id) => client.Invoke(new Users_GetIsPremiumRequiredToContact { @@ -1428,7 +1432,7 @@ namespace TL }); /// Returns the current user's contact list. See - /// If there already is a full contact list on the client, a hash of a the list of contact IDs in ascending order may be passed in this parameter. If the contact set was not changed, will be returned. + /// Hash for pagination, for more info click here.
Note that the hash is computed using the usual algorithm, passing to the algorithm first the previously returned .saved_count field, then max 100000 sorted user IDs from the contact list, including the ID of the currently logged in user if it is saved as a contact.
Example: tdlib implementation. /// a null value means contacts.contactsNotModified public static Task Contacts_GetContacts(this Client client, long hash = default) => client.Invoke(new Contacts_GetContacts @@ -1548,7 +1552,7 @@ namespace TL { }); - /// Get all contacts, requires a takeout session, see here » for more info. See Possible codes: 403 (details) + /// Get all contacts, requires a takeout session, see here » for more info. See Possible codes: 400,403 (details) public static Task Contacts_GetSaved(this Client client) => client.Invoke(new Contacts_GetSaved { @@ -1618,7 +1622,7 @@ namespace TL phone = phone, }); - /// Generates a temporary profile link for the currently logged-in user. See [bots: ✓] + /// Generates a temporary profile link for the currently logged-in user. See public static Task Contacts_ExportContactToken(this Client client) => client.Invoke(new Contacts_ExportContactToken { @@ -1811,7 +1815,7 @@ namespace TL /// Whether to move used stickersets to top, see here for more info on this flag » /// If set, any eventual webpage preview will be shown on top of the message instead of at the bottom. /// The destination where the message will be sent - /// If set, indicates that the message should be sent in reply to the specified message or story. + /// If set, indicates that the message should be sent in reply to the specified message or story.
Also used to quote other messages. /// The message /// Unique client message ID required to prevent message resending You can use /// Reply markup for sending bot buttons @@ -2130,7 +2134,7 @@ namespace TL /// Get stickers by emoji See Possible codes: 400 (details) /// The emoji - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.stickersNotModified public static Task Messages_GetStickers(this Client client, string emoticon, long hash = default) => client.Invoke(new Messages_GetStickers @@ -2140,7 +2144,7 @@ namespace TL }); /// Get all installed stickers See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.allStickersNotModified public static Task Messages_GetAllStickers(this Client client, long hash = default) => client.Invoke(new Messages_GetAllStickers @@ -2316,8 +2320,8 @@ namespace TL mime_type = mime_type, }); - /// Get saved GIFs See - /// Hash for pagination, for more info click here + /// Get saved GIFs. See + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.savedGifsNotModified public static Task Messages_GetSavedGifs(this Client client, long hash = default) => client.Invoke(new Messages_GetSavedGifs @@ -2500,15 +2504,16 @@ namespace TL /// The draft /// Message entities for styled text /// Attached media - public static Task Messages_SaveDraft(this Client client, InputPeer peer, string message, MessageEntity[] entities = null, InputReplyTo reply_to = null, InputMedia media = null, bool no_webpage = false, bool invert_media = false) + public static Task Messages_SaveDraft(this Client client, InputPeer peer, string message, MessageEntity[] entities = null, InputReplyTo reply_to = null, InputMedia media = null, long? effect = null, bool no_webpage = false, bool invert_media = false) => client.Invoke(new Messages_SaveDraft { - flags = (Messages_SaveDraft.Flags)((entities != null ? 0x8 : 0) | (reply_to != null ? 0x10 : 0) | (media != null ? 0x20 : 0) | (no_webpage ? 0x2 : 0) | (invert_media ? 0x40 : 0)), + flags = (Messages_SaveDraft.Flags)((entities != null ? 0x8 : 0) | (reply_to != null ? 0x10 : 0) | (media != null ? 0x20 : 0) | (effect != null ? 0x80 : 0) | (no_webpage ? 0x2 : 0) | (invert_media ? 0x40 : 0)), reply_to = reply_to, peer = peer, message = message, entities = entities, media = media, + effect = effect.GetValueOrDefault(), }); /// Return all message drafts.
Returns all the latest updates related to all chats with drafts. See
@@ -2518,7 +2523,7 @@ namespace TL }); /// Get featured stickers See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. public static Task Messages_GetFeaturedStickers(this Client client, long hash = default) => client.Invoke(new Messages_GetFeaturedStickers { @@ -2535,7 +2540,7 @@ namespace TL /// Get recent stickers See /// Get stickers recently attached to photo or video files - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.recentStickersNotModified public static Task Messages_GetRecentStickers(this Client client, long hash = default, bool attached = false) => client.Invoke(new Messages_GetRecentStickers @@ -2578,7 +2583,7 @@ namespace TL }); /// Get installed mask stickers See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.allStickersNotModified public static Task Messages_GetMaskStickers(this Client client, long hash = default) => client.Invoke(new Messages_GetMaskStickers @@ -2751,7 +2756,7 @@ namespace TL }); /// Get faved stickers See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.favedStickersNotModified public static Task Messages_GetFavedStickers(this Client client, long hash = default) => client.Invoke(new Messages_GetFavedStickers @@ -2852,7 +2857,7 @@ namespace TL /// Search for stickersets See /// Exclude featured stickersets from results /// Query string - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.foundStickerSetsNotModified public static Task Messages_SearchStickerSets(this Client client, string q, long hash = default, bool exclude_featured = false) => client.Invoke(new Messages_SearchStickerSets @@ -3064,7 +3069,7 @@ namespace TL id = id, }); - /// Send scheduled messages right away See Possible codes: 400 (details) + /// Send scheduled messages right away See Possible codes: 400,500 (details) /// Peer /// Scheduled message IDs public static Task Messages_SendScheduledMessages(this Client client, InputPeer peer, params int[] id) @@ -3074,7 +3079,7 @@ namespace TL id = id, }); - /// Delete scheduled messages See Possible codes: 400 (details) + /// Delete scheduled messages See Possible codes: 400,403 (details) /// Peer /// Scheduled message IDs public static Task Messages_DeleteScheduledMessages(this Client client, InputPeer peer, params int[] id) @@ -3147,7 +3152,7 @@ namespace TL /// Method for fetching previously featured stickers See /// Offset /// Maximum number of results to return, see pagination - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. public static Task Messages_GetOldFeaturedStickers(this Client client, int offset = default, int limit = int.MaxValue, long hash = default) => client.Invoke(new Messages_GetOldFeaturedStickers { @@ -3541,7 +3546,7 @@ namespace TL }); /// Obtain available message reactions » See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.availableReactionsNotModified public static Task Messages_GetAvailableReactions(this Client client, int hash = default) => client.Invoke(new Messages_GetAvailableReactions @@ -3572,7 +3577,7 @@ namespace TL to_lang = to_lang, }); - /// Get unread reactions to messages you sent See + /// Get unread reactions to messages you sent See Possible codes: 400 (details) /// Peer /// If set, considers only reactions to messages within the specified forum topic /// Offsets for pagination, for more info click here @@ -3617,7 +3622,7 @@ namespace TL }); /// Returns installed attachment menu bot mini apps » See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means attachMenuBotsNotModified public static Task Messages_GetAttachMenuBots(this Client client, long hash = default) => client.Invoke(new Messages_GetAttachMenuBots @@ -3633,7 +3638,7 @@ namespace TL bot = bot, }); - /// Enable or disable web bot attachment menu » See + /// Enable or disable web bot attachment menu » See Possible codes: 400 (details) /// Whether the user authorizes the bot to write messages to them, if requested by .request_write_access /// Bot ID /// Toggle @@ -3645,7 +3650,7 @@ namespace TL enabled = enabled, }); - /// Open a bot mini app, sending over user information after user confirmation. See Possible codes: 400 (details) + /// Open a bot mini app, sending over user information after user confirmation. See Possible codes: 400,403 (details) /// Whether the webview was opened by clicking on the bot's menu button ». /// Whether the inline message that will be sent by the bot on behalf of the user once the web app interaction is Messages_SendWebViewResultMessage should be sent silently (no notifications for the receivers). /// Dialog where the web app is being opened, and where the resulting message will be sent (see the docs for more info »). @@ -3656,10 +3661,10 @@ namespace TL /// Short name of the application; 0-64 English letters, digits, and underscores /// If set, indicates that the inline message that will be sent by the bot on behalf of the user once the web app interaction is Messages_SendWebViewResultMessage should be sent in reply to the specified message or story. /// Open the web app as the specified peer, sending the resulting the message as the specified peer. - public static Task Messages_RequestWebView(this Client client, InputPeer peer, InputUserBase bot, string platform, InputReplyTo reply_to = null, string url = null, DataJSON theme_params = null, string start_param = null, InputPeer send_as = null, bool from_bot_menu = false, bool silent = false) + public static Task Messages_RequestWebView(this Client client, InputPeer peer, InputUserBase bot, string platform, InputReplyTo reply_to = null, string url = null, DataJSON theme_params = null, string start_param = null, InputPeer send_as = null, bool from_bot_menu = false, bool silent = false, bool compact = false) => client.Invoke(new Messages_RequestWebView { - flags = (Messages_RequestWebView.Flags)((reply_to != null ? 0x1 : 0) | (url != null ? 0x2 : 0) | (theme_params != null ? 0x4 : 0) | (start_param != null ? 0x8 : 0) | (send_as != null ? 0x2000 : 0) | (from_bot_menu ? 0x10 : 0) | (silent ? 0x20 : 0)), + flags = (Messages_RequestWebView.Flags)((reply_to != null ? 0x1 : 0) | (url != null ? 0x2 : 0) | (theme_params != null ? 0x4 : 0) | (start_param != null ? 0x8 : 0) | (send_as != null ? 0x2000 : 0) | (from_bot_menu ? 0x10 : 0) | (silent ? 0x20 : 0) | (compact ? 0x80 : 0)), peer = peer, bot = bot, url = url, @@ -3688,7 +3693,7 @@ namespace TL send_as = send_as, }); - /// Open a bot mini app. See + /// Open a bot mini app. See Possible codes: 400 (details) /// Whether the webapp was opened by clicking on the switch_webview button shown on top of the inline results list returned by Messages_GetInlineBotResults. /// Set this flag if opening the Mini App from the installed side menu entry » or from a Mini App link ». /// Bot that owns the mini app @@ -3696,10 +3701,10 @@ namespace TL /// Start parameter, if opening from a Mini App link ». /// Theme parameters » /// Short name of the application; 0-64 English letters, digits, and underscores - public static Task Messages_RequestSimpleWebView(this Client client, InputUserBase bot, string platform, DataJSON theme_params = null, string url = null, string start_param = null, bool from_switch_webview = false, bool from_side_menu = false) + public static Task Messages_RequestSimpleWebView(this Client client, InputUserBase bot, string platform, DataJSON theme_params = null, string url = null, string start_param = null, bool from_switch_webview = false, bool from_side_menu = false, bool compact = false) => client.Invoke(new Messages_RequestSimpleWebView { - flags = (Messages_RequestSimpleWebView.Flags)((theme_params != null ? 0x1 : 0) | (url != null ? 0x8 : 0) | (start_param != null ? 0x10 : 0) | (from_switch_webview ? 0x2 : 0) | (from_side_menu ? 0x4 : 0)), + flags = (Messages_RequestSimpleWebView.Flags)((theme_params != null ? 0x1 : 0) | (url != null ? 0x8 : 0) | (start_param != null ? 0x10 : 0) | (from_switch_webview ? 0x2 : 0) | (from_side_menu ? 0x4 : 0) | (compact ? 0x80 : 0)), bot = bot, url = url, start_param = start_param, @@ -3764,7 +3769,7 @@ namespace TL }); /// Gets the list of currently installed custom emoji stickersets. See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.allStickersNotModified public static Task Messages_GetEmojiStickers(this Client client, long hash = default) => client.Invoke(new Messages_GetEmojiStickers @@ -3773,7 +3778,7 @@ namespace TL }); /// Gets featured custom emoji stickersets. See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. public static Task Messages_GetFeaturedEmojiStickers(this Client client, long hash = default) => client.Invoke(new Messages_GetFeaturedEmojiStickers { @@ -3794,7 +3799,7 @@ namespace TL /// Got popular message reactions See /// Maximum number of results to return, see pagination - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.reactionsNotModified public static Task Messages_GetTopReactions(this Client client, int limit = int.MaxValue, long hash = default) => client.Invoke(new Messages_GetTopReactions @@ -3805,7 +3810,7 @@ namespace TL /// Get recently used message reactions See /// Maximum number of results to return, see pagination - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.reactionsNotModified public static Task Messages_GetRecentReactions(this Client client, int limit = int.MaxValue, long hash = default) => client.Invoke(new Messages_GetRecentReactions @@ -3859,7 +3864,7 @@ namespace TL }); /// Represents a list of emoji categories, to be used when selecting custom emojis. See [bots: ✓] - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.emojiGroupsNotModified public static Task Messages_GetEmojiGroups(this Client client, int hash = default) => client.Invoke(new Messages_GetEmojiGroups @@ -3868,7 +3873,7 @@ namespace TL }); /// Represents a list of emoji categories, to be used when selecting custom emojis to set as custom emoji status. See [bots: ✓] - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.emojiGroupsNotModified public static Task Messages_GetEmojiStatusGroups(this Client client, int hash = default) => client.Invoke(new Messages_GetEmojiStatusGroups @@ -3877,7 +3882,7 @@ namespace TL }); /// Represents a list of emoji categories, to be used when selecting custom emojis to set as profile picture. See [bots: ✓] - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.emojiGroupsNotModified public static Task Messages_GetEmojiProfilePhotoGroups(this Client client, int hash = default) => client.Invoke(new Messages_GetEmojiProfilePhotoGroups @@ -3887,7 +3892,7 @@ namespace TL /// Look for custom emojis associated to a UTF8 emoji See [bots: ✓] Possible codes: 400 (details) /// The emoji - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means emojiListNotModified public static Task Messages_SearchCustomEmoji(this Client client, string emoticon, long hash = default) => client.Invoke(new Messages_SearchCustomEmoji @@ -3923,10 +3928,10 @@ namespace TL /// If the startapp query string parameter is present in the direct Mini App deep link, pass it to start_param. /// Theme parameters » /// Short name of the application; 0-64 English letters, digits, and underscores - public static Task Messages_RequestAppWebView(this Client client, InputPeer peer, InputBotApp app, string platform, string start_param = null, DataJSON theme_params = null, bool write_allowed = false) + public static Task Messages_RequestAppWebView(this Client client, InputPeer peer, InputBotApp app, string platform, string start_param = null, DataJSON theme_params = null, bool write_allowed = false, bool compact = false) => client.Invoke(new Messages_RequestAppWebView { - flags = (Messages_RequestAppWebView.Flags)((start_param != null ? 0x2 : 0) | (theme_params != null ? 0x4 : 0) | (write_allowed ? 0x1 : 0)), + flags = (Messages_RequestAppWebView.Flags)((start_param != null ? 0x2 : 0) | (theme_params != null ? 0x4 : 0) | (write_allowed ? 0x1 : 0) | (compact ? 0x80 : 0)), peer = peer, app = app, start_param = start_param, @@ -3954,7 +3959,7 @@ namespace TL /// Search for custom emoji stickersets » See /// Exclude featured stickersets from results /// Query string - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.foundStickerSetsNotModified public static Task Messages_SearchEmojiStickerSets(this Client client, string q, long hash = default, bool exclude_featured = false) => client.Invoke(new Messages_SearchEmojiStickerSets @@ -4045,7 +4050,9 @@ namespace TL order = order, }); - /// See + /// Fetch the full list of saved message tags created by the user. See + /// If set, returns tags only used in the specified saved message dialog. + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.savedReactionTagsNotModified public static Task Messages_GetSavedReactionTags(this Client client, long hash = default, InputPeer peer = null) => client.Invoke(new Messages_GetSavedReactionTags @@ -4055,7 +4062,9 @@ namespace TL hash = hash, }); - /// See + /// Update the description of a saved message tag ». See Possible codes: 400 (details) + /// Reaction associated to the tag + /// Tag description, max 12 UTF-8 characters; to remove the description call the method without setting this flag. public static Task Messages_UpdateSavedReactionTag(this Client client, Reaction reaction, string title = null) => client.Invoke(new Messages_UpdateSavedReactionTag { @@ -4064,7 +4073,8 @@ namespace TL title = title, }); - /// See + /// Fetch a default recommended list of saved message tag reactions. See + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.reactionsNotModified public static Task Messages_GetDefaultTagReactions(this Client client, long hash = default) => client.Invoke(new Messages_GetDefaultTagReactions @@ -4072,7 +4082,7 @@ namespace TL hash = hash, }); - /// See + /// See Possible codes: 400,403 (details) public static Task Messages_GetOutboxReadDate(this Client client, InputPeer peer, int msg_id) => client.Invoke(new Messages_GetOutboxReadDate { @@ -4080,7 +4090,8 @@ namespace TL msg_id = msg_id, }); - /// See + /// Fetch basic info about all existing quick reply shortcuts. See + /// Hash for pagination, generated as specified here » (not the usual algorithm used for hash generation.) /// a null value means messages.quickRepliesNotModified public static Task Messages_GetQuickReplies(this Client client, long hash = default) => client.Invoke(new Messages_GetQuickReplies @@ -4088,21 +4099,25 @@ namespace TL hash = hash, }); - /// See + /// Reorder quick reply shortcuts. See + /// IDs of all created quick reply shortcuts, in the desired order. public static Task Messages_ReorderQuickReplies(this Client client, params int[] order) => client.Invoke(new Messages_ReorderQuickReplies { order = order, }); - /// See + /// Before offering the user the choice to add a message to a quick reply shortcut, to make sure that none of the limits specified here » were reached. See + /// Shorcut name (not ID!). public static Task Messages_CheckQuickReplyShortcut(this Client client, string shortcut) => client.Invoke(new Messages_CheckQuickReplyShortcut { shortcut = shortcut, }); - /// See + /// Rename a quick reply shortcut.
This will emit an update to other logged-in sessions. See Possible codes: 400 (details)
+ /// Shortcut ID. + /// New shortcut name. public static Task Messages_EditQuickReplyShortcut(this Client client, int shortcut_id, string shortcut) => client.Invoke(new Messages_EditQuickReplyShortcut { @@ -4110,14 +4125,16 @@ namespace TL shortcut = shortcut, }); - /// See + /// Completely delete a quick reply shortcut.
This will also emit an update to other logged-in sessions (and no updates, even if all the messages in the shortcuts are also deleted by this method). See Possible codes: 400 (details)
+ /// Shortcut ID public static Task Messages_DeleteQuickReplyShortcut(this Client client, int shortcut_id) => client.Invoke(new Messages_DeleteQuickReplyShortcut { shortcut_id = shortcut_id, }); - /// This method is only for basic Chat. See Terminology in the README to understand what this means
Search for a similar method name starting with Channels_ if you're dealing with a
See
+ /// This method is only for basic Chat. See Terminology in the README to understand what this means
Search for a similar method name starting with Channels_ if you're dealing with a
See
Possible codes: 400 (details)
+ /// Hash for pagination, for more info click here public static Task Messages_GetQuickReplyMessages(this Client client, int shortcut_id, long hash = default, int[] id = null) => client.Invoke(new Messages_GetQuickReplyMessages { @@ -4127,7 +4144,8 @@ namespace TL hash = hash, }); - /// See + /// See Possible codes: 400 (details) + /// You can use public static Task Messages_SendQuickReplyMessages(this Client client, InputPeer peer, int shortcut_id, int[] id, params long[] random_id) => client.Invoke(new Messages_SendQuickReplyMessages { @@ -4137,7 +4155,9 @@ namespace TL random_id = random_id, }); - /// This method is only for basic Chat. See Terminology in the README to understand what this means
Search for a similar method name starting with Channels_ if you're dealing with a
See
+ /// This method is only for basic Chat. See Terminology in the README to understand what this means
Search for a similar method name starting with Channels_ if you're dealing with a
Delete one or more messages from a
quick reply shortcut. This will also emit an update. See Possible codes: 400 (details)
+ /// Shortcut ID. + /// IDs of shortcut messages to delete. public static Task Messages_DeleteQuickReplyMessages(this Client client, int shortcut_id, params int[] id) => client.Invoke(new Messages_DeleteQuickReplyMessages { @@ -4153,6 +4173,8 @@ namespace TL }); /// See + /// Offsets for pagination, for more info click here + /// Maximum number of results to return, see pagination public static Task Messages_GetMyStickers(this Client client, long offset_id = default, int limit = int.MaxValue) => client.Invoke(new Messages_GetMyStickers { @@ -4161,6 +4183,7 @@ namespace TL }); /// See + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.emojiGroupsNotModified public static Task Messages_GetEmojiStickerGroups(this Client client, int hash = default) => client.Invoke(new Messages_GetEmojiStickerGroups @@ -4169,6 +4192,7 @@ namespace TL }); /// See + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means messages.availableEffectsNotModified public static Task Messages_GetAvailableEffects(this Client client, int hash = default) => client.Invoke(new Messages_GetAvailableEffects @@ -4176,7 +4200,7 @@ namespace TL hash = hash, }); - /// See + /// See Possible codes: 400 (details) public static Task Messages_EditFactCheck(this Client client, InputPeer peer, int msg_id, TextWithEntities text) => client.Invoke(new Messages_EditFactCheck { @@ -4185,7 +4209,7 @@ namespace TL text = text, }); - /// See + /// See Possible codes: 400 (details) public static Task Messages_DeleteFactCheck(this Client client, InputPeer peer, int msg_id) => client.Invoke(new Messages_DeleteFactCheck { @@ -4193,7 +4217,7 @@ namespace TL msg_id = msg_id, }); - /// See + /// See Possible codes: 400 (details) public static Task Messages_GetFactCheck(this Client client, InputPeer peer, params int[] msg_id) => client.Invoke(new Messages_GetFactCheck { @@ -4325,7 +4349,7 @@ namespace TL bytes = bytes, }); - /// Returns content of a whole file or its part. See [bots: ✓] Possible codes: 400,406 (details) + /// Returns content of a whole file or its part. See [bots: ✓] Possible codes: 400,406,420 (details) /// Disable some checks on limit and offset values, useful for example to stream videos by keyframes /// Whether the current client supports CDN downloads /// File location @@ -4366,7 +4390,7 @@ namespace TL limit = limit, }); - /// Download a CDN file. See + /// Download a CDN file. See Possible codes: 400 (details) /// File token /// Offset of chunk to download /// Length of chunk to download @@ -4388,7 +4412,7 @@ namespace TL request_token = request_token, }); - /// Get SHA256 hashes for verifying downloaded CDN files See [bots: ✓] Possible codes: 400 (details) + /// Get SHA256 hashes for verifying downloaded CDN files See [bots: ✓] Possible codes: 400,500 (details) /// File /// Offset from which to start getting hashes public static Task Upload_GetCdnFileHashes(this Client client, byte[] file_token, long offset = default) @@ -4489,7 +4513,7 @@ namespace TL }); /// Get app-specific configuration, see client configuration for more info on the result. See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means help.appConfigNotModified public static Task Help_GetAppConfig(this Client client, int hash = default) => client.Invoke(new Help_GetAppConfig @@ -4506,7 +4530,7 @@ namespace TL }); /// Get passport configuration See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means help.passportConfigNotModified public static Task Help_GetPassportConfig(this Client client, int hash = default) => client.Invoke(new Help_GetPassportConfig @@ -4568,7 +4592,7 @@ namespace TL /// Get name, ISO code, localized name and phone codes/patterns of all available countries See /// Language code of the current user - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means help.countriesListNotModified public static Task Help_GetCountriesList(this Client client, string lang_code, int hash = default) => client.Invoke(new Help_GetCountriesList @@ -4584,7 +4608,7 @@ namespace TL }); /// Get the set of accent color palettes » that can be used for message accents. See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means help.peerColorsNotModified public static Task Help_GetPeerColors(this Client client, int hash = default) => client.Invoke(new Help_GetPeerColors @@ -4593,7 +4617,7 @@ namespace TL }); /// Get the set of accent color palettes » that can be used in profile page backgrounds. See - /// Hash for pagination, for more info click here + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means help.peerColorsNotModified public static Task Help_GetPeerProfileColors(this Client client, int hash = default) => client.Invoke(new Help_GetPeerProfileColors @@ -4602,6 +4626,7 @@ namespace TL }); /// See + /// Hash for pagination, for more info click here.
Note: the usual hash generation algorithm cannot be used in this case, please re-use the .hash field returned by a previous call to the method, or pass 0 if this is the first call. /// a null value means help.timezonesListNotModified public static Task Help_GetTimezonesList(this Client client, int hash = default) => client.Invoke(new Help_GetTimezonesList @@ -5049,7 +5074,7 @@ namespace TL order = order, }); - /// Activate or deactivate a purchased fragment.com username associated to a supergroup or channel we own. See [bots: ✓] Possible codes: 400 (details) + /// Activate or deactivate a purchased fragment.com username associated to a supergroup or channel we own. See Possible codes: 400 (details) /// Supergroup or channel /// Username /// Whether to activate or deactivate the username @@ -5221,7 +5246,7 @@ namespace TL }); /// Update the accent color and background custom emoji » of a channel. See Possible codes: 400 (details) - /// Whether to change the accent color emoji pattern of the profile page; otherwise, the accent color and emoji pattern of messages will be changed. + /// Whether to change the accent color emoji pattern of the profile page; otherwise, the accent color and emoji pattern of messages will be changed.
Channels can change both message and profile palettes; supergroups can only change the profile palette, of course after reaching the appropriate boost level. /// Channel whose accent color should be changed. /// ID of the accent color palette » to use (not RGB24, see here » for more info); if not set, the default palette is used. /// Custom emoji ID used in the accent color pattern. @@ -5253,8 +5278,8 @@ namespace TL channel = channel, }); - /// Set an emoji status for a channel. See Possible codes: 400 (details) - /// The channel, must have at least channel_emoji_status_level_min boosts. + /// Set an emoji status for a channel or supergroup. See Possible codes: 400 (details) + /// The channel/supergroup, must have at least channel_emoji_status_level_min/group_emoji_status_level_min boosts. /// Emoji status to set public static Task Channels_UpdateEmojiStatus(this Client client, InputChannelBase channel, EmojiStatus emoji_status) => client.Invoke(new Channels_UpdateEmojiStatus @@ -5263,7 +5288,7 @@ namespace TL emoji_status = emoji_status, }); - /// See + /// See Possible codes: 400 (details) public static Task Channels_SetBoostsToUnblockRestrictions(this Client client, InputChannelBase channel, int boosts) => client.Invoke(new Channels_SetBoostsToUnblockRestrictions { @@ -5271,7 +5296,7 @@ namespace TL boosts = boosts, }); - /// See + /// See Possible codes: 400 (details) public static Task Channels_SetEmojiStickers(this Client client, InputChannelBase channel, InputStickerSet stickerset) => client.Invoke(new Channels_SetEmojiStickers { @@ -5279,7 +5304,7 @@ namespace TL stickerset = stickerset, }); - /// See + /// See Possible codes: 400 (details) public static Task Channels_ReportSponsoredMessage(this Client client, InputChannelBase channel, byte[] random_id, byte[] option) => client.Invoke(new Channels_ReportSponsoredMessage { @@ -5288,7 +5313,7 @@ namespace TL option = option, }); - /// See + /// See Possible codes: 400 (details) public static Task Channels_RestrictSponsoredMessages(this Client client, InputChannelBase channel, bool restricted) => client.Invoke(new Channels_RestrictSponsoredMessages { @@ -5297,6 +5322,8 @@ namespace TL }); /// See + /// Offsets for pagination, for more info click here + /// Maximum number of results to return, see pagination public static Task Channels_SearchPosts(this Client client, string hashtag, int offset_rate = default, InputPeer offset_peer = null, int offset_id = default, int limit = int.MaxValue) => client.Invoke(new Channels_SearchPosts { @@ -5432,7 +5459,7 @@ namespace TL order = order, }); - /// Activate or deactivate a purchased fragment.com username associated to a bot we own. See [bots: ✓] Possible codes: 400 (details) + /// Activate or deactivate a purchased fragment.com username associated to a bot we own. See Possible codes: 400 (details) /// The bot /// Username /// Whether to activate or deactivate it @@ -5636,23 +5663,24 @@ namespace TL { }); - /// See + /// See Possible codes: 400 (details) public static Task Payments_GetStarsStatus(this Client client, InputPeer peer) => client.Invoke(new Payments_GetStarsStatus { peer = peer, }); - /// See - public static Task Payments_GetStarsTransactions(this Client client, InputPeer peer, string offset, bool inbound = false, bool outbound = false) + /// See [bots: ✓] Possible codes: 400 (details) + public static Task Payments_GetStarsTransactions(this Client client, InputPeer peer, string offset, int limit = int.MaxValue, bool inbound = false, bool outbound = false, bool ascending = false) => client.Invoke(new Payments_GetStarsTransactions { - flags = (Payments_GetStarsTransactions.Flags)((inbound ? 0x1 : 0) | (outbound ? 0x2 : 0)), + flags = (Payments_GetStarsTransactions.Flags)((inbound ? 0x1 : 0) | (outbound ? 0x2 : 0) | (ascending ? 0x4 : 0)), peer = peer, offset = offset, + limit = limit, }); - /// See + /// See Possible codes: 400 (details) public static Task Payments_SendStarsForm(this Client client, long form_id, InputInvoice invoice) => client.Invoke(new Payments_SendStarsForm { @@ -5661,7 +5689,7 @@ namespace TL invoice = invoice, }); - /// See + /// See [bots: ✓] Possible codes: 400 (details) public static Task Payments_RefundStarsCharge(this Client client, InputUserBase user_id, string charge_id) => client.Invoke(new Payments_RefundStarsCharge { @@ -5669,6 +5697,38 @@ namespace TL charge_id = charge_id, }); + /// See + public static Task Payments_GetStarsRevenueStats(this Client client, InputPeer peer, bool dark = false) + => client.Invoke(new Payments_GetStarsRevenueStats + { + flags = (Payments_GetStarsRevenueStats.Flags)(dark ? 0x1 : 0), + peer = peer, + }); + + /// See + public static Task Payments_GetStarsRevenueWithdrawalUrl(this Client client, InputPeer peer, long stars, InputCheckPasswordSRP password) + => client.Invoke(new Payments_GetStarsRevenueWithdrawalUrl + { + peer = peer, + stars = stars, + password = password, + }); + + /// See + public static Task Payments_GetStarsRevenueAdsAccountUrl(this Client client, InputPeer peer) + => client.Invoke(new Payments_GetStarsRevenueAdsAccountUrl + { + peer = peer, + }); + + /// See + public static Task Payments_GetStarsTransactionsByID(this Client client, InputPeer peer, params InputStarsTransaction[] id) + => client.Invoke(new Payments_GetStarsTransactionsByID + { + peer = peer, + id = id, + }); + /// Create a stickerset, bots only. See [bots: ✓] Possible codes: 400 (details) /// Whether this is a mask stickerset /// Whether this is a custom emoji stickerset. @@ -5788,7 +5848,7 @@ namespace TL stickerset = stickerset, }); - /// See + /// See [bots: ✓] Possible codes: 400 (details) /// a null value means messages.stickerSetNotModified public static Task Stickers_ReplaceSticker(this Client client, InputDocument sticker, InputStickerSetItem new_sticker) => client.Invoke(new Stickers_ReplaceSticker @@ -6050,7 +6110,7 @@ namespace TL presentation_paused = presentation_paused.GetValueOrDefault(), }); - /// Edit the title of a group call or livestream See Possible codes: 403 (details) + /// Edit the title of a group call or livestream See Possible codes: 400,403 (details) /// Group call /// New title public static Task Phone_EditGroupCallTitle(this Client client, InputGroupCall call, string title) @@ -6295,7 +6355,7 @@ namespace TL limit = limit, }); - /// See + /// See Possible codes: 400 (details) public static Task Stats_GetBroadcastRevenueStats(this Client client, InputChannelBase channel, bool dark = false) => client.Invoke(new Stats_GetBroadcastRevenueStats { @@ -6303,7 +6363,7 @@ namespace TL channel = channel, }); - /// See + /// See Possible codes: 400 (details) public static Task Stats_GetBroadcastRevenueWithdrawalUrl(this Client client, InputChannelBase channel, InputCheckPasswordSRP password) => client.Invoke(new Stats_GetBroadcastRevenueWithdrawalUrl { @@ -6311,7 +6371,8 @@ namespace TL password = password, }); - /// See + /// See Possible codes: 400 (details) + /// Maximum number of results to return, see pagination public static Task Stats_GetBroadcastRevenueTransactions(this Client client, InputChannelBase channel, int offset = default, int limit = int.MaxValue) => client.Invoke(new Stats_GetBroadcastRevenueTransactions { @@ -6365,7 +6426,7 @@ namespace TL chatlist = chatlist, }); - /// Obtain information about a chat folder deep link ». See [bots: ✓] Possible codes: 400 (details) + /// Obtain information about a chat folder deep link ». See Possible codes: 400 (details) /// slug obtained from the chat folder deep link » public static Task Chatlists_CheckChatlistInvite(this Client client, string slug) => client.Invoke(new Chatlists_CheckChatlistInvite @@ -6714,7 +6775,7 @@ namespace TL limit = limit, }); - /// See + /// See Possible codes: 400 (details) public static Task Stories_TogglePinnedToTop(this Client client, InputPeer peer, params int[] id) => client.Invoke(new Stories_TogglePinnedToTop { @@ -6722,9 +6783,20 @@ namespace TL id = id, }); - /// Obtains info about the boosts that were applied to a certain channel (admins only) See Possible codes: 400 (details) - /// Whether to return only info about boosts received from gift codes and giveaways created by the channel » - /// The channel + /// See + public static Task Stories_SearchPosts(this Client client, string offset, int limit = int.MaxValue, string hashtag = null, MediaArea area = null) + => client.Invoke(new Stories_SearchPosts + { + flags = (Stories_SearchPosts.Flags)((hashtag != null ? 0x1 : 0) | (area != null ? 0x2 : 0)), + hashtag = hashtag, + area = area, + offset = offset, + limit = limit, + }); + + /// Obtains info about the boosts that were applied to a certain channel or supergroup (admins only) See Possible codes: 400 (details) + /// Whether to return only info about boosts received from gift codes and giveaways created by the channel/supergroup » + /// The channel/supergroup /// Offset for pagination, obtained from .next_offset /// Maximum number of results to return, see pagination public static Task Premium_GetBoostsList(this Client client, InputPeer peer, string offset, int limit = int.MaxValue, bool gifts = false) @@ -6753,7 +6825,7 @@ namespace TL peer = peer, }); - /// Gets the current number of boosts of a channel. See Possible codes: 400 (details) + /// Gets the current number of boosts of a channel/supergroup. See Possible codes: 400 (details) /// The peer. public static Task Premium_GetBoostsStatus(this Client client, InputPeer peer) => client.Invoke(new Premium_GetBoostsStatus @@ -6761,8 +6833,8 @@ namespace TL peer = peer, }); - /// Returns the lists of boost that were applied to a channel by a specific user (admins only) See [bots: ✓] Possible codes: 400 (details) - /// The channel + /// Returns the lists of boost that were applied to a channel/supergroup by a specific user (admins only) See [bots: ✓] Possible codes: 400 (details) + /// The channel/supergroup /// The user public static Task Premium_GetUserBoosts(this Client client, InputPeer peer, InputUserBase user_id) => client.Invoke(new Premium_GetUserBoosts @@ -6771,45 +6843,45 @@ namespace TL user_id = user_id, }); - /// See + /// See Possible codes: 403 (details) public static Task Smsjobs_IsEligibleToJoin(this Client client) => client.Invoke(new Smsjobs_IsEligibleToJoin { }); - /// See + /// See Possible codes: 400 (details) public static Task Smsjobs_Join(this Client client) => client.Invoke(new Smsjobs_Join { }); - /// See + /// See Possible codes: 400 (details) public static Task Smsjobs_Leave(this Client client) => client.Invoke(new Smsjobs_Leave { }); - /// See + /// See Possible codes: 400 (details) public static Task Smsjobs_UpdateSettings(this Client client, bool allow_international = false) => client.Invoke(new Smsjobs_UpdateSettings { flags = (Smsjobs_UpdateSettings.Flags)(allow_international ? 0x1 : 0), }); - /// See + /// See Possible codes: 400 (details) public static Task Smsjobs_GetStatus(this Client client) => client.Invoke(new Smsjobs_GetStatus { }); - /// See + /// See Possible codes: 400 (details) public static Task Smsjobs_GetSmsJob(this Client client, string job_id) => client.Invoke(new Smsjobs_GetSmsJob { job_id = job_id, }); - /// See + /// See Possible codes: 400 (details) public static Task Smsjobs_FinishJob(this Client client, string job_id, string error = null) => client.Invoke(new Smsjobs_FinishJob { @@ -6818,7 +6890,7 @@ namespace TL error = error, }); - /// See + /// See Possible codes: 400 (details) public static Task Fragment_GetCollectibleInfo(this Client client, InputCollectible collectible) => client.Invoke(new Fragment_GetCollectibleInfo { @@ -8904,7 +8976,7 @@ namespace TL.Methods public InputDialogPeerBase[] peers; } - [TLDef(0x7FF3B806)] + [TLDef(0xD372C5CE)] public sealed partial class Messages_SaveDraft : IMethod { public Flags flags; @@ -8913,6 +8985,7 @@ namespace TL.Methods public string message; [IfFlag(3)] public MessageEntity[] entities; [IfFlag(5)] public InputMedia media; + [IfFlag(7)] public long effect; [Flags] public enum Flags : uint { @@ -8921,6 +8994,7 @@ namespace TL.Methods has_reply_to = 0x10, has_media = 0x20, invert_media = 0x40, + has_effect = 0x80, } } @@ -9927,6 +10001,7 @@ namespace TL.Methods has_start_param = 0x8, from_bot_menu = 0x10, silent = 0x20, + compact = 0x80, has_send_as = 0x2000, } } @@ -9949,8 +10024,8 @@ namespace TL.Methods } } - [TLDef(0x1A46500A)] - public sealed partial class Messages_RequestSimpleWebView : IMethod + [TLDef(0x413A3E73)] + public sealed partial class Messages_RequestSimpleWebView : IMethod { public Flags flags; public InputUserBase bot; @@ -9966,6 +10041,7 @@ namespace TL.Methods from_side_menu = 0x4, has_url = 0x8, has_start_param = 0x10, + compact = 0x80, } } @@ -10113,8 +10189,8 @@ namespace TL.Methods public long hash; } - [TLDef(0x8C5A3B3C)] - public sealed partial class Messages_RequestAppWebView : IMethod + [TLDef(0x53618BCE)] + public sealed partial class Messages_RequestAppWebView : IMethod { public Flags flags; public InputPeer peer; @@ -10128,6 +10204,7 @@ namespace TL.Methods write_allowed = 0x1, has_start_param = 0x2, has_theme_params = 0x4, + compact = 0x80, } } @@ -11514,17 +11591,19 @@ namespace TL.Methods public InputPeer peer; } - [TLDef(0x673AC2F9)] + [TLDef(0x97938D5A)] public sealed partial class Payments_GetStarsTransactions : IMethod { public Flags flags; public InputPeer peer; public string offset; + public int limit; [Flags] public enum Flags : uint { inbound = 0x1, outbound = 0x2, + ascending = 0x4, } } @@ -11547,6 +11626,39 @@ namespace TL.Methods public string charge_id; } + [TLDef(0xD91FFAD6)] + public sealed partial class Payments_GetStarsRevenueStats : IMethod + { + public Flags flags; + public InputPeer peer; + + [Flags] public enum Flags : uint + { + dark = 0x1, + } + } + + [TLDef(0x13BBE8B3)] + public sealed partial class Payments_GetStarsRevenueWithdrawalUrl : IMethod + { + public InputPeer peer; + public long stars; + public InputCheckPasswordSRP password; + } + + [TLDef(0xD1D7EFC5)] + public sealed partial class Payments_GetStarsRevenueAdsAccountUrl : IMethod + { + public InputPeer peer; + } + + [TLDef(0x27842D2E)] + public sealed partial class Payments_GetStarsTransactionsByID : IMethod + { + public InputPeer peer; + public InputStarsTransaction[] id; + } + [TLDef(0x9021AB67)] public sealed partial class Stickers_CreateStickerSet : IMethod { @@ -12423,6 +12535,22 @@ namespace TL.Methods public int[] id; } + [TLDef(0x6CEA116A)] + public sealed partial class Stories_SearchPosts : IMethod + { + public Flags flags; + [IfFlag(0)] public string hashtag; + [IfFlag(1)] public MediaArea area; + public string offset; + public int limit; + + [Flags] public enum Flags : uint + { + has_hashtag = 0x1, + has_area = 0x2, + } + } + [TLDef(0x60F67660)] public sealed partial class Premium_GetBoostsList : IMethod { diff --git a/src/TL.Table.cs b/src/TL.Table.cs index 7974bd5..9e04c7e 100644 --- a/src/TL.Table.cs +++ b/src/TL.Table.cs @@ -6,7 +6,7 @@ namespace TL { public static partial class Layer { - public const int Version = 181; // fetched 28/05/2024 13:03:09 + public const int Version = 183; // fetched 01/07/2024 23:00:22 internal const int SecretChats = 144; internal const int MTProto2 = 73; internal const uint VectorCtor = 0x1CB5C415; @@ -101,6 +101,7 @@ namespace TL [0xE66FBF7B] = typeof(InputMediaDice), [0x89FDD778] = typeof(InputMediaStory), [0xC21B8849] = typeof(InputMediaWebPage), + [0xAA661FC3] = typeof(InputMediaPaidMedia), [0x1CA48F57] = null,//InputChatPhotoEmpty [0xBDCDAEC0] = typeof(InputChatUploadedPhoto), [0x8953AD37] = typeof(InputChatPhoto), @@ -164,6 +165,7 @@ namespace TL [0x68CB6283] = typeof(MessageMediaStory), [0xDAAD85B0] = typeof(MessageMediaGiveaway), [0xC6991068] = typeof(MessageMediaGiveawayResults), + [0xA8852491] = typeof(MessageMediaPaidMedia), [0xB6AEF7B0] = null,//MessageActionEmpty [0xBD47CBAD] = typeof(MessageActionChatCreate), [0xB5A1CE5A] = typeof(MessageActionChatEditTitle), @@ -377,7 +379,7 @@ namespace TL [0x30F443DB] = typeof(UpdateRecentEmojiStatuses), [0x6F7863F4] = typeof(UpdateRecentReactions), [0x86FCCF85] = typeof(UpdateMoveStickerSetToTop), - [0x5A73A98C] = typeof(UpdateMessageExtendedMedia), + [0xD5A41724] = typeof(UpdateMessageExtendedMedia), [0x192EFBE3] = typeof(UpdateChannelPinnedTopic), [0xFE198602] = typeof(UpdateChannelPinnedTopics), [0x20529438] = typeof(UpdateUser), @@ -408,6 +410,8 @@ namespace TL [0x1824E40B] = typeof(UpdateNewStoryReaction), [0xDFD961F5] = typeof(UpdateBroadcastRevenueTransactions), [0x0FB85198] = typeof(UpdateStarsBalance), + [0x1EA2FDA7] = typeof(UpdateBusinessBotCallbackQuery), + [0xA584B019] = typeof(UpdateStarsRevenueStatus), [0xA56C2A3E] = typeof(Updates_State), [0x5D75A138] = typeof(Updates_DifferenceEmpty), [0x00F49CA0] = typeof(Updates_Difference), @@ -651,7 +655,7 @@ namespace TL [0xF450F59B] = typeof(Auth_SentCodeTypeEmailCode), [0xA5491DEA] = typeof(Auth_SentCodeTypeSetUpEmailRequired), [0xD9565C39] = typeof(Auth_SentCodeTypeFragmentSms), - [0x13C90F17] = typeof(Auth_SentCodeTypeFirebaseSms), + [0x009FD736] = typeof(Auth_SentCodeTypeFirebaseSms), [0xA416AC81] = typeof(Auth_SentCodeTypeSmsWord), [0xB37794AF] = typeof(Auth_SentCodeTypeSmsPhrase), [0x36585EA4] = typeof(Messages_BotCallbackAnswer), @@ -666,7 +670,7 @@ namespace TL [0x70B772A8] = typeof(Contacts_TopPeers), [0xB52C939D] = typeof(Contacts_TopPeersDisabled), [0x1B0C841A] = typeof(DraftMessageEmpty), - [0x3FCCF7EF] = typeof(DraftMessage), + [0x2D65321F] = typeof(DraftMessage), [0xC6DC0C66] = typeof(Messages_FeaturedStickersNotModified), [0xBE382906] = typeof(Messages_FeaturedStickers), [0x0B17F890] = null,//Messages_RecentStickersNotModified @@ -1059,8 +1063,7 @@ namespace TL [0xF1D88A5C] = null,//AttachMenuBotsNotModified [0x3C4301C0] = typeof(AttachMenuBots), [0x93BF667F] = typeof(AttachMenuBotsBot), - [0x0C14557C] = typeof(WebViewResultUrl), - [0x882F76BB] = typeof(SimpleWebViewResultUrl), + [0x4D22FF98] = typeof(WebViewResultUrl), [0x0C94511C] = typeof(WebViewMessageSent), [0x7533A588] = null,//BotMenuButtonDefault [0x4258C205] = typeof(BotMenuButtonCommands), @@ -1141,7 +1144,6 @@ namespace TL [0x5DA674B7] = null,//BotAppNotModified [0x95FCD1D6] = typeof(BotApp), [0xEB50ADF5] = typeof(Messages_BotApp), - [0x3C1B4F0D] = typeof(AppWebViewResultUrl), [0xB57295D5] = typeof(InlineBotWebView), [0x4A4FF172] = typeof(ReadParticipantDate), [0xF3E0DA33] = typeof(InputChatlistDialogFilter), @@ -1171,13 +1173,14 @@ namespace TL [0x5881323A] = typeof(InputReplyToStory), [0x3FC9053B] = typeof(ExportedStoryLink), [0x712E27FD] = typeof(StoriesStealthMode), - [0x03D1EA4E] = typeof(MediaAreaCoordinates), + [0xCFC9E002] = typeof(MediaAreaCoordinates), [0xBE82DB9C] = typeof(MediaAreaVenue), [0xB282217F] = typeof(InputMediaAreaVenue), - [0xDF8B3B22] = typeof(MediaAreaGeoPoint), + [0xCAD5452D] = typeof(MediaAreaGeoPoint), [0x14455871] = typeof(MediaAreaSuggestedReaction), [0x770416AF] = typeof(MediaAreaChannelPost), [0x2271F2BF] = typeof(InputMediaAreaChannelPost), + [0x37381085] = typeof(MediaAreaUrl), [0x9A35E999] = typeof(PeerStories), [0xCAE68768] = typeof(Stories_PeerStories), [0xFD5E12BD] = typeof(Messages_WebPage), @@ -1285,9 +1288,18 @@ namespace TL [0x250DBAF8] = typeof(StarsTransactionPeerPremiumBot), [0xE92FD902] = typeof(StarsTransactionPeerFragment), [0xD80DA15D] = typeof(StarsTransactionPeer), + [0x60682812] = typeof(StarsTransactionPeerAds), [0x0BD915C0] = typeof(StarsTopupOption), - [0xCC7079B2] = typeof(StarsTransaction), + [0x2DB5418F] = typeof(StarsTransaction), [0x8CF4EE60] = typeof(Payments_StarsStatus), + [0xE87ACBC0] = typeof(FoundStory), + [0xE2DE7737] = typeof(Stories_FoundStories), + [0xDE4C5D93] = typeof(GeoPointAddress), + [0x79342946] = typeof(StarsRevenueStatus), + [0xC92BB73B] = typeof(Payments_StarsRevenueStats), + [0x1DAB80B7] = typeof(Payments_StarsRevenueWithdrawalUrl), + [0x394E7F21] = typeof(Payments_StarsRevenueAdsAccountUrl), + [0x206AE6D1] = typeof(InputStarsTransaction), // from TL.Secret: [0x6ABD9782] = typeof(Layer143.DecryptedMessageMediaDocument), [0x020DF5D0] = typeof(Layer101.MessageEntityBlockquote), diff --git a/src/WTelegramClient.csproj b/src/WTelegramClient.csproj index cde7178..8239a31 100644 --- a/src/WTelegramClient.csproj +++ b/src/WTelegramClient.csproj @@ -13,7 +13,7 @@ WTelegramClient 0.0.0 Wizou - Telegram Client API (MTProto) library written 100% in C# and .NET Standard | Latest API layer: 181 + Telegram Client API (MTProto) library written 100% in C# and .NET Standard | Latest API layer: 183 Release Notes: $(ReleaseNotes.Replace("|", "%0D%0A").Replace(" - ","%0D%0A- ").Replace(" ", "%0D%0A%0D%0A"))