diff --git a/README.md b/README.md index 895eedf..85bfbb0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![API Layer](https://img.shields.io/badge/API_Layer-216-blueviolet)](https://corefork.telegram.org/methods) +[![API Layer](https://img.shields.io/badge/API_Layer-218-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://buymeacoffee.com/wizou) diff --git a/src/Services.cs b/src/Services.cs index a98c8fe..cac857b 100644 --- a/src/Services.cs +++ b/src/Services.cs @@ -56,7 +56,7 @@ namespace TL prevUser.lang_code = user.lang_code; // tdlib: updated if present ; tdesktop: ignored prevUser.emoji_status = user.emoji_status; // tdlib/tdesktop: updated //prevUser.usernames = user.usernames; // tdlib/tdesktop: not updated - if (user.stories_max_id > 0) + if (user.stories_max_id != null) prevUser.stories_max_id = user.stories_max_id; // tdlib: updated if > 0 ; tdesktop: not updated prevUser.color = user.color; // tdlib/tdesktop: updated prevUser.profile_color = user.profile_color; // tdlib/tdesktop: unimplemented yet diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs index dc0549c..d5800b5 100644 --- a/src/TL.Schema.cs +++ b/src/TL.Schema.cs @@ -116,9 +116,10 @@ namespace TL /// Object defines a contact from the user's phone book. See Derived classes: public abstract partial class InputContact : IObject { } /// Phone contact. See - [TLDef(0xF392B7F4)] + [TLDef(0x6A1DC4BE)] public sealed partial class InputPhoneContact : InputContact { + public Flags flags; /// An arbitrary 64-bit integer: it should be set, for example, to an incremental number when using Contacts_ImportContacts, in order to retry importing only the contacts that weren't imported successfully, according to the client_ids returned in .retry_contacts. public long client_id; /// Phone number @@ -127,6 +128,13 @@ namespace TL public string first_name; /// Contact's last name public string last_name; + [IfFlag(0)] public TextWithEntities note; + + [Flags] public enum Flags : uint + { + /// Field has a value + has_note = 0x1, + } } /// Defines a file uploaded by the client. See Derived classes: , , @@ -781,7 +789,7 @@ namespace TL public long id; } /// Indicates info about a certain user. See - [TLDef(0x020B1422)] + [TLDef(0x31774388)] public sealed partial class User : UserBase { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -817,7 +825,7 @@ namespace TL /// Additional usernames.
When updating the
local peer database, apply changes to this field only if:
- The min flag is not set OR
- The min flag is set AND
-- The min flag of the locally cached user entry is set.
Changes to this flag (if the above conditions are respected) should invalidate the local cache for this user ID.
[IfFlag(32)] public Username[] usernames; /// ID of the maximum read story.
When updating the local peer database, do not apply changes to this field if the min flag of the incoming constructor is set.
- [IfFlag(37)] public int stories_max_id; + [IfFlag(37)] public RecentStory stories_max_id; /// The user's accent color. [IfFlag(40)] public PeerColorBase color; /// The user's profile color. @@ -1090,7 +1098,7 @@ namespace TL public override string Title => title; } /// Channel/supergroup info See - [TLDef(0xFE685355)] + [TLDef(0x1C32B11C)] public sealed partial class Channel : ChatBase { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -1122,7 +1130,7 @@ namespace TL /// Additional usernames [IfFlag(32)] public Username[] usernames; /// ID of the maximum read story. - [IfFlag(36)] public int stories_max_id; + [IfFlag(36)] public RecentStory stories_max_id; /// The channel's accent color. [IfFlag(39)] public PeerColorBase color; /// The channel's profile color. @@ -1808,7 +1816,7 @@ namespace TL public override Peer Peer => peer_id; } /// A message See - [TLDef(0x9815CEC8)] + [TLDef(0xB92F76CF)] public sealed partial class Message : MessageBase { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -1873,6 +1881,7 @@ namespace TL [IfFlag(38)] public long paid_message_stars; /// Used to suggest a post to a channel, see here » for more info on the full flow. [IfFlag(39)] public SuggestedPost suggested_post; + [IfFlag(42)] public int schedule_repeat_period; [Flags] public enum Flags : uint { @@ -1958,6 +1967,8 @@ namespace TL paid_suggested_post_stars = 0x100, /// Set if this is a suggested channel post » that was paid using Toncoins. paid_suggested_post_ton = 0x200, + /// Field has a value + has_schedule_repeat_period = 0x400, } /// ID of the message @@ -2388,6 +2399,18 @@ namespace TL has_completions = 0x1, } } + /// See + [TLDef(0xCA5CAB89)] + public sealed partial class MessageMediaVideoStream : MessageMedia + { + public Flags flags; + public InputGroupCallBase call; + + [Flags] public enum Flags : uint + { + rtmp_stream = 0x1, + } + } /// Object describing actions connected to a service message. See Derived classes: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , /// a value means messageActionEmpty @@ -2702,7 +2725,7 @@ namespace TL public string text; } /// Info about a gifted Telegram Premium subscription See - [TLDef(0x6C6274FA)] + [TLDef(0x48E91302)] public sealed partial class MessageActionGiftPremium : MessageAction { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -2711,8 +2734,7 @@ namespace TL public string currency; /// Price of the gift 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; - /// Duration of the gifted Telegram Premium subscription. - public int months; + public int days; /// If the gift was bought using a cryptocurrency, the cryptocurrency name. [IfFlag(0)] public string crypto_currency; /// If the gift was bought using a cryptocurrency, price of the gift in the smallest units of a cryptocurrency. @@ -2809,15 +2831,14 @@ namespace TL } } /// Contains a Telegram Premium giftcode link. See - [TLDef(0x56D03994)] + [TLDef(0x31C48347)] public sealed partial class MessageActionGiftCode : MessageAction { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; /// 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; + public int days; /// Slug of the Telegram Premium giftcode link public string slug; /// Three-letter ISO 4217 currency code @@ -2967,7 +2988,7 @@ namespace TL } } /// You received a gift, see here » for more info. See - [TLDef(0xF24DE7FA)] + [TLDef(0xDB596550)] public sealed partial class MessageActionStarGift : MessageAction { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -2992,6 +3013,7 @@ namespace TL [IfFlag(14)] public string prepaid_upgrade_hash; /// For separate upgrades, the identifier of the message with the gift whose upgrade was prepaid (only valid for the receiver of the service message). [IfFlag(15)] public int gift_msg_id; + [IfFlag(18)] public Peer to_id; [Flags] public enum Flags : uint { @@ -3025,6 +3047,9 @@ namespace TL has_gift_msg_id = 0x8000, /// This service message is the notification of a separate pre-payment for the upgrade of a gift we own. upgrade_separate = 0x10000, + auction_acquired = 0x20000, + /// Field has a value + has_to_id = 0x40000, } } /// A gift » was upgraded to a collectible gift ». See @@ -5490,20 +5515,20 @@ namespace TL public int version; } /// A new groupcall was started See - [TLDef(0x97D64341)] + [TLDef(0x9D2216E0)] public sealed partial class UpdateGroupCall : Update { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; - /// The channel/supergroup where this group call or livestream takes place - [IfFlag(0)] public long chat_id; + [IfFlag(1)] public Peer peer; /// Info about the group call or livestream public GroupCallBase call; [Flags] public enum Flags : uint { - /// Field has a value - has_chat_id = 0x1, + /// Field has a value + has_peer = 0x2, + live_story = 0x4, } } /// The Time-To-Live for messages sent by the current user in a specific chat has changed See @@ -6205,13 +6230,11 @@ namespace TL } } /// See - [TLDef(0x78C314E0)] + [TLDef(0xD8326F0D)] public sealed partial class UpdateGroupCallMessage : Update { public InputGroupCallBase call; - public Peer from_id; - public long random_id; - public TextWithEntities message; + public GroupCallMessage message; } /// See [TLDef(0xC957A766)] @@ -6247,6 +6270,27 @@ namespace TL has_order = 0x1, } } + /// See + [TLDef(0x3E85E92C)] + public sealed partial class UpdateDeleteGroupCallMessages : Update + { + public InputGroupCallBase call; + public int[] messages; + } + /// See + [TLDef(0x48E246C2)] + public sealed partial class UpdateStarGiftAuctionState : Update + { + public long gift_id; + public StarGiftAuctionStateBase state; + } + /// See + [TLDef(0xDC58F31E)] + public sealed partial class UpdateStarGiftAuctionUserState : Update + { + public long gift_id; + public StarGiftAuctionUserState user_state; + } /// Updates state. See [TLDef(0xA56C2A3E)] @@ -7398,6 +7442,8 @@ namespace TL StarGiftsAutoSave = 0xE1732341, ///Who can send you messages without paying, if paid messages » are enabled. NoPaidMessages = 0xBDC597B4, + ///See + SavedMusic = 0x4DBE9226, } /// 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 @@ -7429,6 +7475,8 @@ namespace TL StarGiftsAutoSave = 0x2CA4FDF8, ///Who can send you messages without paying, if paid messages » are enabled. NoPaidMessages = 0x17D348D2, + ///See + SavedMusic = 0xFF7A571B, } /// Privacy rules indicate who can or can't do something and are specified by a , and its input counterpart . See Derived classes: , , , , , , , , , , , @@ -14504,6 +14552,16 @@ namespace TL /// Gifts in the collection. public DocumentBase[] icons; } + /// See + [TLDef(0x034986AB)] + public sealed partial class WebPageAttributeStarGiftAuction : WebPageAttribute + { + public StarGiftBase gift; + public DateTime end_date; + public int center_color; + public int edge_color; + public int text_color; + } /// How users voted in a poll See [TLDef(0x4899484E)] @@ -15273,7 +15331,7 @@ namespace TL public override long AccessHash => access_hash; } /// Info about a group call or livestream See - [TLDef(0x553B0BA1)] + [TLDef(0xEFB2B617)] public sealed partial class GroupCall : GroupCallBase { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -15300,6 +15358,8 @@ namespace TL public int version; /// Invitation link for the conference. [IfFlag(16)] public string invite_link; + [IfFlag(20)] public long send_paid_messages_stars; + [IfFlag(21)] public Peer default_send_as; [Flags] public enum Flags : uint { @@ -15338,6 +15398,10 @@ namespace TL messages_enabled = 0x20000, can_change_messages_enabled = 0x40000, min = 0x80000, + /// Field has a value + has_send_paid_messages_stars = 0x100000, + /// Field has a value + has_default_send_as = 0x200000, } /// Group call ID @@ -15373,7 +15437,7 @@ namespace TL } /// Info about a group call participant See - [TLDef(0xEBA636FE)] + [TLDef(0x2A3DC7AC)] public sealed partial class GroupCallParticipant : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -15396,6 +15460,7 @@ namespace TL [IfFlag(6)] public GroupCallParticipantVideo video; /// Info about the screen sharing stream the participant is currently broadcasting [IfFlag(14)] public GroupCallParticipantVideo presentation; + [IfFlag(16)] public long paid_stars_total; [Flags] public enum Flags : uint { @@ -15431,6 +15496,8 @@ namespace TL has_presentation = 0x4000, /// Whether this participant is currently broadcasting video video_joined = 0x8000, + /// Field has a value + has_paid_stars_total = 0x10000, } } @@ -16553,6 +16620,24 @@ namespace TL { public InputSavedStarGift stargift; } + /// See + [TLDef(0x1ECAFA10)] + public sealed partial class InputInvoiceStarGiftAuctionBid : InputInvoice + { + public Flags flags; + [IfFlag(3)] public InputPeer peer; + public long gift_id; + public long bid_amount; + [IfFlag(1)] public TextWithEntities message; + + [Flags] public enum Flags : uint + { + hide_name = 0x1, + has_message = 0x2, + update_bid = 0x4, + has_peer = 0x8, + } + } /// Exported invoice deep link See [TLDef(0xAED0CBD9)] @@ -17819,6 +17904,7 @@ namespace TL { /// Whether this story can only be viewed by our close friends, see here » for more info close_friends = 0x100, + live = 0x200, } /// Story ID @@ -18391,7 +18477,7 @@ namespace TL } /// Contains info about a Telegram Premium giftcode link. See - [TLDef(0x284A1096)] + [TLDef(0xEB983F8F)] public sealed partial class Payments_CheckedGiftCode : IObject, IPeerResolver { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -18404,8 +18490,7 @@ namespace TL [IfFlag(0)] public long to_id; /// Creation date of the gift code. public DateTime date; - /// Duration in months of the gifted Telegram Premium subscription. - public int months; + public int days; /// When was the giftcode imported, if it was imported. [IfFlag(1)] public DateTime used_date; /// Mentioned chats @@ -20171,6 +20256,8 @@ namespace TL /// Represents payment for a separate prepaid upgrade of a gift. stargift_prepaid_upgrade = 0x2000000, stargift_drop_original_details = 0x4000000, + phonegroup_message = 0x8000000, + stargift_auction_bid = 0x10000000, } } @@ -20555,7 +20642,7 @@ namespace TL public virtual Peer ReleasedBy => default; } /// Represents a star gift, see here » for more info. See - [TLDef(0x80AC53C3)] + [TLDef(0x1B9A4D7F)] public sealed partial class StarGift : StarGiftBase { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -20592,6 +20679,8 @@ namespace TL [IfFlag(8)] public int per_user_remains; /// If set, the specified gift possibly cannot be sent until the specified date, see here » for the full flow. [IfFlag(9)] public DateTime locked_until_date; + [IfFlag(11)] public string auction_slug; + [IfFlag(11)] public int gifts_per_round; [Flags] public enum Flags : uint { @@ -20616,6 +20705,7 @@ namespace TL /// Field has a value has_locked_until_date = 0x200, peer_color_available = 0x400, + auction = 0x800, } /// Identifier of the gift @@ -21373,6 +21463,7 @@ namespace TL disallow_unique_stargifts = 0x4, /// Disallow the reception of gifted Telegram Premium subscriptions ». disallow_premium_gifts = 0x8, + disallow_stargifts_from_channels = 0x10, } } @@ -21538,13 +21629,13 @@ namespace TL } /// A completed todo list » item. See - [TLDef(0x4CC120B7)] + [TLDef(0x221BB5E4)] public sealed partial class TodoCompletion : IObject { /// The ID of the completed item. public int id; /// ID of the user that completed the item. - public long completed_by; + public Peer completed_by; /// When was the item completed. public DateTime date; } @@ -21824,4 +21915,203 @@ namespace TL public DateTime date; public long upgrade_stars; } + + /// See + [TLDef(0x1A8AFC7E)] + public sealed partial class GroupCallMessage : IObject + { + public Flags flags; + public int id; + public Peer from_id; + public DateTime date; + public TextWithEntities message; + [IfFlag(0)] public long paid_message_stars; + + [Flags] public enum Flags : uint + { + has_paid_message_stars = 0x1, + from_admin = 0x2, + } + } + + /// See + [TLDef(0xEE430C85)] + public sealed partial class GroupCallDonor : IObject + { + public Flags flags; + [IfFlag(3)] public Peer peer_id; + public long stars; + + [Flags] public enum Flags : uint + { + top = 0x1, + my = 0x2, + anonymous = 0x4, + has_peer_id = 0x8, + } + } + + /// See + [TLDef(0x9D1DBD26)] + public sealed partial class Phone_GroupCallStars : IObject, IPeerResolver + { + public long total_stars; + public GroupCallDonor[] top_donors; + public Dictionary chats; + public Dictionary users; + /// returns a or for the given Peer + public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); + } + + /// See + [TLDef(0x711D692D)] + public sealed partial class RecentStory : IObject + { + public Flags flags; + [IfFlag(1)] public int max_id; + + [Flags] public enum Flags : uint + { + live = 0x1, + has_max_id = 0x2, + } + } + + /// See + [TLDef(0x310240CC)] + public sealed partial class AuctionBidLevel : IObject + { + public int pos; + public long amount; + public DateTime date; + } + + /// See + /// a value means starGiftAuctionStateNotModified + public abstract partial class StarGiftAuctionStateBase : IObject + { + public virtual DateTime StartDate => default; + public virtual DateTime EndDate => default; + } + /// See + [TLDef(0x5DB04F4B)] + public sealed partial class StarGiftAuctionState : StarGiftAuctionStateBase + { + public int version; + public DateTime start_date; + public DateTime end_date; + public long min_bid_amount; + public AuctionBidLevel[] bid_levels; + public long[] top_bidders; + public DateTime next_round_at; + public int gifts_left; + public int current_round; + public int total_rounds; + + public override DateTime StartDate => start_date; + public override DateTime EndDate => end_date; + } + /// See + [TLDef(0x7D967C3A)] + public sealed partial class StarGiftAuctionStateFinished : StarGiftAuctionStateBase + { + public DateTime start_date; + public DateTime end_date; + public long average_price; + + public override DateTime StartDate => start_date; + public override DateTime EndDate => end_date; + } + + /// See + [TLDef(0x2EEED1C4)] + public sealed partial class StarGiftAuctionUserState : IObject + { + public Flags flags; + [IfFlag(0)] public long bid_amount; + [IfFlag(0)] public DateTime bid_date; + [IfFlag(0)] public long min_bid_amount; + [IfFlag(0)] public Peer bid_peer; + public int acquired_count; + + [Flags] public enum Flags : uint + { + has_bid_amount = 0x1, + returned = 0x2, + } + } + + /// See + [TLDef(0x0E98E474)] + public sealed partial class Payments_StarGiftAuctionState : IObject + { + public StarGiftBase gift; + public StarGiftAuctionStateBase state; + public StarGiftAuctionUserState user_state; + public int timeout; + public Dictionary users; + } + + /// See + [TLDef(0xAB60E20B)] + public sealed partial class StarGiftAuctionAcquiredGift : IObject + { + public Flags flags; + public Peer peer; + public DateTime date; + public long bid_amount; + public int round; + public int pos; + [IfFlag(1)] public TextWithEntities message; + + [Flags] public enum Flags : uint + { + name_hidden = 0x1, + has_message = 0x2, + } + } + + /// See + [TLDef(0x7D5BD1F0)] + public sealed partial class Payments_StarGiftAuctionAcquiredGifts : IObject, IPeerResolver + { + public StarGiftAuctionAcquiredGift[] gifts; + public Dictionary users; + public Dictionary chats; + /// returns a or for the given Peer + public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); + } + + /// See + [TLDef(0xD31BC45D)] + public sealed partial class StarGiftActiveAuctionState : IObject + { + public StarGiftBase gift; + public StarGiftAuctionStateBase state; + public StarGiftAuctionUserState user_state; + } + + /// See + /// a value means payments.starGiftActiveAuctionsNotModified + [TLDef(0x97F187D8)] + public sealed partial class Payments_StarGiftActiveAuctions : IObject + { + public StarGiftActiveAuctionState[] auctions; + public Dictionary users; + } + + /// See + public abstract partial class InputStarGiftAuctionBase : IObject { } + /// See + [TLDef(0x02E16C98)] + public sealed partial class InputStarGiftAuction : InputStarGiftAuctionBase + { + public long gift_id; + } + /// See + [TLDef(0x7AB58308)] + public sealed partial class InputStarGiftAuctionSlug : InputStarGiftAuctionBase + { + public string slug; + } } diff --git a/src/TL.SchemaFuncs.cs b/src/TL.SchemaFuncs.cs index 95c6790..9d21f96 100644 --- a/src/TL.SchemaFuncs.cs +++ b/src/TL.SchemaFuncs.cs @@ -2009,10 +2009,10 @@ namespace TL /// Specifies a message effect » to use for the message. /// For paid messages », specifies the amount of Telegram Stars the user has agreed to pay in order to send the message. /// Used to suggest a post to a channel, see here » for more info on the full flow. - public static Task Messages_SendMessage(this Client client, InputPeer peer, string message, long random_id, InputReplyTo reply_to = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, InputPeer send_as = null, InputQuickReplyShortcutBase quick_reply_shortcut = null, long? effect = null, long? allow_paid_stars = null, SuggestedPost suggested_post = null, bool no_webpage = false, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, bool update_stickersets_order = false, bool invert_media = false, bool allow_paid_floodskip = false) + public static Task Messages_SendMessage(this Client client, InputPeer peer, string message, long random_id, InputReplyTo reply_to = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, InputPeer send_as = null, InputQuickReplyShortcutBase quick_reply_shortcut = null, long? effect = null, long? allow_paid_stars = null, SuggestedPost suggested_post = null, int? schedule_repeat_period = null, bool no_webpage = false, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, bool update_stickersets_order = false, bool invert_media = false, bool allow_paid_floodskip = false) => client.Invoke(new Messages_SendMessage { - flags = (Messages_SendMessage.Flags)((reply_to != null ? 0x1 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0) | (quick_reply_shortcut != null ? 0x20000 : 0) | (effect != null ? 0x40000 : 0) | (allow_paid_stars != null ? 0x200000 : 0) | (suggested_post != null ? 0x400000 : 0) | (no_webpage ? 0x2 : 0) | (silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (update_stickersets_order ? 0x8000 : 0) | (invert_media ? 0x10000 : 0) | (allow_paid_floodskip ? 0x80000 : 0)), + flags = (Messages_SendMessage.Flags)((reply_to != null ? 0x1 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0) | (quick_reply_shortcut != null ? 0x20000 : 0) | (effect != null ? 0x40000 : 0) | (allow_paid_stars != null ? 0x200000 : 0) | (suggested_post != null ? 0x400000 : 0) | (schedule_repeat_period != null ? 0x1000000 : 0) | (no_webpage ? 0x2 : 0) | (silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (update_stickersets_order ? 0x8000 : 0) | (invert_media ? 0x10000 : 0) | (allow_paid_floodskip ? 0x80000 : 0)), peer = peer, reply_to = reply_to, message = message, @@ -2020,6 +2020,7 @@ namespace TL reply_markup = reply_markup, entities = entities, schedule_date = schedule_date ?? default, + schedule_repeat_period = schedule_repeat_period ?? default, send_as = send_as, quick_reply_shortcut = quick_reply_shortcut, effect = effect ?? default, @@ -2048,10 +2049,10 @@ namespace TL /// Specifies a message effect » to use for the message. /// For paid messages », specifies the amount of Telegram Stars the user has agreed to pay in order to send the message. /// Used to suggest a post to a channel, see here » for more info on the full flow. - public static Task Messages_SendMedia(this Client client, InputPeer peer, InputMedia media, string message, long random_id, InputReplyTo reply_to = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, InputPeer send_as = null, InputQuickReplyShortcutBase quick_reply_shortcut = null, long? effect = null, long? allow_paid_stars = null, SuggestedPost suggested_post = null, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, bool update_stickersets_order = false, bool invert_media = false, bool allow_paid_floodskip = false) + public static Task Messages_SendMedia(this Client client, InputPeer peer, InputMedia media, string message, long random_id, InputReplyTo reply_to = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, InputPeer send_as = null, InputQuickReplyShortcutBase quick_reply_shortcut = null, long? effect = null, long? allow_paid_stars = null, SuggestedPost suggested_post = null, int? schedule_repeat_period = null, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, bool update_stickersets_order = false, bool invert_media = false, bool allow_paid_floodskip = false) => client.Invoke(new Messages_SendMedia { - flags = (Messages_SendMedia.Flags)((reply_to != null ? 0x1 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0) | (quick_reply_shortcut != null ? 0x20000 : 0) | (effect != null ? 0x40000 : 0) | (allow_paid_stars != null ? 0x200000 : 0) | (suggested_post != null ? 0x400000 : 0) | (silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (update_stickersets_order ? 0x8000 : 0) | (invert_media ? 0x10000 : 0) | (allow_paid_floodskip ? 0x80000 : 0)), + flags = (Messages_SendMedia.Flags)((reply_to != null ? 0x1 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0) | (quick_reply_shortcut != null ? 0x20000 : 0) | (effect != null ? 0x40000 : 0) | (allow_paid_stars != null ? 0x200000 : 0) | (suggested_post != null ? 0x400000 : 0) | (schedule_repeat_period != null ? 0x1000000 : 0) | (silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (update_stickersets_order ? 0x8000 : 0) | (invert_media ? 0x10000 : 0) | (allow_paid_floodskip ? 0x80000 : 0)), peer = peer, reply_to = reply_to, media = media, @@ -2060,6 +2061,7 @@ namespace TL reply_markup = reply_markup, entities = entities, schedule_date = schedule_date ?? default, + schedule_repeat_period = schedule_repeat_period ?? default, send_as = send_as, quick_reply_shortcut = quick_reply_shortcut, effect = effect ?? default, @@ -2087,10 +2089,10 @@ namespace TL /// Start playing the video at the specified timestamp (seconds). /// For paid messages », specifies the amount of Telegram Stars the user has agreed to pay in order to send the message. /// Used to suggest a post to a channel, see here » for more info on the full flow. - public static Task Messages_ForwardMessages(this Client client, InputPeer from_peer, int[] id, long[] random_id, InputPeer to_peer, int? top_msg_id = null, DateTime? schedule_date = null, InputPeer send_as = null, InputQuickReplyShortcutBase quick_reply_shortcut = null, int? video_timestamp = null, long? allow_paid_stars = null, InputReplyTo reply_to = null, SuggestedPost suggested_post = null, bool silent = false, bool background = false, bool with_my_score = false, bool drop_author = false, bool drop_media_captions = false, bool noforwards = false, bool allow_paid_floodskip = false) + public static Task Messages_ForwardMessages(this Client client, InputPeer from_peer, int[] id, long[] random_id, InputPeer to_peer, int? top_msg_id = null, DateTime? schedule_date = null, InputPeer send_as = null, InputQuickReplyShortcutBase quick_reply_shortcut = null, int? video_timestamp = null, long? allow_paid_stars = null, InputReplyTo reply_to = null, SuggestedPost suggested_post = null, int? schedule_repeat_period = null, bool silent = false, bool background = false, bool with_my_score = false, bool drop_author = false, bool drop_media_captions = false, bool noforwards = false, bool allow_paid_floodskip = false) => client.Invoke(new Messages_ForwardMessages { - flags = (Messages_ForwardMessages.Flags)((top_msg_id != null ? 0x200 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0) | (quick_reply_shortcut != null ? 0x20000 : 0) | (video_timestamp != null ? 0x100000 : 0) | (allow_paid_stars != null ? 0x200000 : 0) | (reply_to != null ? 0x400000 : 0) | (suggested_post != null ? 0x800000 : 0) | (silent ? 0x20 : 0) | (background ? 0x40 : 0) | (with_my_score ? 0x100 : 0) | (drop_author ? 0x800 : 0) | (drop_media_captions ? 0x1000 : 0) | (noforwards ? 0x4000 : 0) | (allow_paid_floodskip ? 0x80000 : 0)), + flags = (Messages_ForwardMessages.Flags)((top_msg_id != null ? 0x200 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0) | (quick_reply_shortcut != null ? 0x20000 : 0) | (video_timestamp != null ? 0x100000 : 0) | (allow_paid_stars != null ? 0x200000 : 0) | (reply_to != null ? 0x400000 : 0) | (suggested_post != null ? 0x800000 : 0) | (schedule_repeat_period != null ? 0x1000000 : 0) | (silent ? 0x20 : 0) | (background ? 0x40 : 0) | (with_my_score ? 0x100 : 0) | (drop_author ? 0x800 : 0) | (drop_media_captions ? 0x1000 : 0) | (noforwards ? 0x4000 : 0) | (allow_paid_floodskip ? 0x80000 : 0)), from_peer = from_peer, id = id, random_id = random_id, @@ -2098,6 +2100,7 @@ namespace TL top_msg_id = top_msg_id ?? default, reply_to = reply_to, schedule_date = schedule_date ?? default, + schedule_repeat_period = schedule_repeat_period ?? default, send_as = send_as, quick_reply_shortcut = quick_reply_shortcut, video_timestamp = video_timestamp ?? default, @@ -2637,10 +2640,10 @@ namespace TL /// Message entities for styled text /// Scheduled message date for scheduled messages /// If specified, edits a quick reply shortcut message, instead ». - public static Task Messages_EditMessage(this Client client, InputPeer peer, int id, string message = null, InputMedia media = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, int? quick_reply_shortcut_id = null, bool no_webpage = false, bool invert_media = false) + public static Task Messages_EditMessage(this Client client, InputPeer peer, int id, string message = null, InputMedia media = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, int? schedule_repeat_period = null, int? quick_reply_shortcut_id = null, bool no_webpage = false, bool invert_media = false) => client.Invoke(new Messages_EditMessage { - flags = (Messages_EditMessage.Flags)((message != null ? 0x800 : 0) | (media != null ? 0x4000 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x8000 : 0) | (quick_reply_shortcut_id != null ? 0x20000 : 0) | (no_webpage ? 0x2 : 0) | (invert_media ? 0x10000 : 0)), + flags = (Messages_EditMessage.Flags)((message != null ? 0x800 : 0) | (media != null ? 0x4000 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x8000 : 0) | (schedule_repeat_period != null ? 0x40000 : 0) | (quick_reply_shortcut_id != null ? 0x20000 : 0) | (no_webpage ? 0x2 : 0) | (invert_media ? 0x10000 : 0)), peer = peer, id = id, message = message, @@ -2648,6 +2651,7 @@ namespace TL reply_markup = reply_markup, entities = entities, schedule_date = schedule_date ?? default, + schedule_repeat_period = schedule_repeat_period ?? default, quick_reply_shortcut_id = quick_reply_shortcut_id ?? default, }); @@ -5595,10 +5599,10 @@ namespace TL /// Obtains a list of peers that can be used to send messages in a specific group See Possible codes: 400 (details) /// If set, fetches the list of peers that can be used to send paid reactions to messages of a specific peer. /// The group where we intend to send messages - public static Task Channels_GetSendAs(this Client client, InputPeer peer, bool for_paid_reactions = false) + public static Task Channels_GetSendAs(this Client client, InputPeer peer, bool for_paid_reactions = false, bool for_live_stories = false) => client.Invoke(new Channels_GetSendAs { - flags = (Channels_GetSendAs.Flags)(for_paid_reactions ? 0x1 : 0), + flags = (Channels_GetSendAs.Flags)((for_paid_reactions ? 0x1 : 0) | (for_live_stories ? 0x2 : 0)), peer = peer, }); @@ -6777,6 +6781,29 @@ namespace TL gift_id = gift_id, }); + /// See + public static Task Payments_GetStarGiftAuctionState(this Client client, InputStarGiftAuctionBase auction, int version) + => client.Invoke(new Payments_GetStarGiftAuctionState + { + auction = auction, + version = version, + }); + + /// See + public static Task Payments_GetStarGiftAuctionAcquiredGifts(this Client client, long gift_id) + => client.Invoke(new Payments_GetStarGiftAuctionAcquiredGifts + { + gift_id = gift_id, + }); + + /// See + /// a null value means payments.starGiftActiveAuctionsNotModified + public static Task Payments_GetStarGiftActiveAuctions(this Client client, long hash = default) + => client.Invoke(new Payments_GetStarGiftActiveAuctions + { + hash = hash, + }); + /// Create a stickerset. See [bots: ✓] Possible codes: 400 (details) /// Whether this is a mask stickerset /// Whether this is a custom emoji stickerset. @@ -7082,13 +7109,14 @@ namespace TL /// Invalidate existing invite links /// Group call /// Whether all users will that join this group call are muted by default upon joining the group call - public static Task Phone_ToggleGroupCallSettings(this Client client, InputGroupCallBase call, bool? join_muted = default, bool? messages_enabled = default, bool reset_invite_hash = false) + public static Task Phone_ToggleGroupCallSettings(this Client client, InputGroupCallBase call, bool? join_muted = default, bool? messages_enabled = default, long? send_paid_messages_stars = null, bool reset_invite_hash = false) => client.Invoke(new Phone_ToggleGroupCallSettings { - flags = (Phone_ToggleGroupCallSettings.Flags)((join_muted != default ? 0x1 : 0) | (messages_enabled != default ? 0x4 : 0) | (reset_invite_hash ? 0x2 : 0)), + flags = (Phone_ToggleGroupCallSettings.Flags)((join_muted != default ? 0x1 : 0) | (messages_enabled != default ? 0x4 : 0) | (send_paid_messages_stars != null ? 0x8 : 0) | (reset_invite_hash ? 0x2 : 0)), call = call, join_muted = join_muted ?? default, messages_enabled = messages_enabled ?? default, + send_paid_messages_stars = send_paid_messages_stars ?? default, }); /// Get info about a group call See Possible codes: 400,403 (details) @@ -7250,9 +7278,10 @@ namespace TL /// Get RTMP URL and stream key for RTMP livestreams. Can be used even before creating the actual RTMP livestream with Phone_CreateGroupCall (the rtmp_stream flag must be set). See Possible codes: 400 (details) /// Peer to livestream into /// Whether to revoke the previous stream key or simply return the existing one - public static Task Phone_GetGroupCallStreamRtmpUrl(this Client client, InputPeer peer, bool revoke) + public static Task Phone_GetGroupCallStreamRtmpUrl(this Client client, InputPeer peer, bool revoke, bool live_story = false) => client.Invoke(new Phone_GetGroupCallStreamRtmpUrl { + flags = (Phone_GetGroupCallStreamRtmpUrl.Flags)(live_story ? 0x1 : 0), peer = peer, revoke = revoke, }); @@ -7345,12 +7374,15 @@ namespace TL }); /// See - public static Task Phone_SendGroupCallMessage(this Client client, InputGroupCallBase call, long random_id, TextWithEntities message) + public static Task Phone_SendGroupCallMessage(this Client client, InputGroupCallBase call, long random_id, TextWithEntities message, long? allow_paid_stars = null, InputPeer send_as = null) => client.Invoke(new Phone_SendGroupCallMessage { + flags = (Phone_SendGroupCallMessage.Flags)((allow_paid_stars != null ? 0x1 : 0) | (send_as != null ? 0x2 : 0)), call = call, random_id = random_id, message = message, + allow_paid_stars = allow_paid_stars ?? default, + send_as = send_as, }); /// See @@ -7361,6 +7393,39 @@ namespace TL encrypted_message = encrypted_message, }); + /// See + public static Task Phone_DeleteGroupCallMessages(this Client client, InputGroupCallBase call, int[] messages, bool report_spam = false) + => client.Invoke(new Phone_DeleteGroupCallMessages + { + flags = (Phone_DeleteGroupCallMessages.Flags)(report_spam ? 0x1 : 0), + call = call, + messages = messages, + }); + + /// See + public static Task Phone_DeleteGroupCallParticipantMessages(this Client client, InputGroupCallBase call, InputPeer participant, bool report_spam = false) + => client.Invoke(new Phone_DeleteGroupCallParticipantMessages + { + flags = (Phone_DeleteGroupCallParticipantMessages.Flags)(report_spam ? 0x1 : 0), + call = call, + participant = participant, + }); + + /// See + public static Task Phone_GetGroupCallStars(this Client client, InputGroupCallBase call) + => client.Invoke(new Phone_GetGroupCallStars + { + call = call, + }); + + /// See + public static Task Phone_SaveDefaultSendAs(this Client client, InputGroupCallBase call, InputPeer send_as) + => client.Invoke(new Phone_SaveDefaultSendAs + { + call = call, + send_as = send_as, + }); + /// Get localization pack strings See Possible codes: 400 (details) /// Platform identifier (i.e. android, tdesktop, etc). /// Either an ISO 639-1 language code or a language pack name obtained from a language pack link. @@ -7860,7 +7925,7 @@ namespace TL /// Get the IDs of the maximum read stories for a set of peers. See /// Peers - public static Task Stories_GetPeerMaxIDs(this Client client, params InputPeer[] id) + public static Task Stories_GetPeerMaxIDs(this Client client, params InputPeer[] id) => client.Invoke(new Stories_GetPeerMaxIDs { id = id, @@ -8003,6 +8068,20 @@ namespace TL limit = limit, }); + /// See + public static Task Stories_StartLive(this Client client, InputPeer peer, InputPrivacyRule[] privacy_rules, long random_id, string caption = null, MessageEntity[] entities = null, bool? messages_enabled = default, long? send_paid_messages_stars = null, bool pinned = false, bool noforwards = false, bool rtmp_stream = false) + => client.Invoke(new Stories_StartLive + { + flags = (Stories_StartLive.Flags)((caption != null ? 0x1 : 0) | (entities != null ? 0x2 : 0) | (messages_enabled != default ? 0x40 : 0) | (send_paid_messages_stars != null ? 0x80 : 0) | (pinned ? 0x4 : 0) | (noforwards ? 0x10 : 0) | (rtmp_stream ? 0x20 : 0)), + peer = peer, + caption = caption, + entities = entities, + privacy_rules = privacy_rules, + random_id = random_id, + messages_enabled = messages_enabled ?? default, + send_paid_messages_stars = send_paid_messages_stars ?? default, + }); + /// 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 @@ -9716,7 +9795,7 @@ namespace TL.Methods } } - [TLDef(0xFE05DC9A)] + [TLDef(0x545CD15A)] public sealed partial class Messages_SendMessage : IMethod { public Flags flags; @@ -9727,6 +9806,7 @@ namespace TL.Methods [IfFlag(2)] public ReplyMarkup reply_markup; [IfFlag(3)] public MessageEntity[] entities; [IfFlag(10)] public DateTime schedule_date; + [IfFlag(24)] public int schedule_repeat_period; [IfFlag(13)] public InputPeer send_as; [IfFlag(17)] public InputQuickReplyShortcutBase quick_reply_shortcut; [IfFlag(18)] public long effect; @@ -9752,10 +9832,11 @@ namespace TL.Methods allow_paid_floodskip = 0x80000, has_allow_paid_stars = 0x200000, has_suggested_post = 0x400000, + has_schedule_repeat_period = 0x1000000, } } - [TLDef(0xAC55D9C1)] + [TLDef(0x0330E77F)] public sealed partial class Messages_SendMedia : IMethod { public Flags flags; @@ -9767,6 +9848,7 @@ namespace TL.Methods [IfFlag(2)] public ReplyMarkup reply_markup; [IfFlag(3)] public MessageEntity[] entities; [IfFlag(10)] public DateTime schedule_date; + [IfFlag(24)] public int schedule_repeat_period; [IfFlag(13)] public InputPeer send_as; [IfFlag(17)] public InputQuickReplyShortcutBase quick_reply_shortcut; [IfFlag(18)] public long effect; @@ -9791,10 +9873,11 @@ namespace TL.Methods allow_paid_floodskip = 0x80000, has_allow_paid_stars = 0x200000, has_suggested_post = 0x400000, + has_schedule_repeat_period = 0x1000000, } } - [TLDef(0x978928CA)] + [TLDef(0x41D41ADE)] public sealed partial class Messages_ForwardMessages : IMethod { public Flags flags; @@ -9805,6 +9888,7 @@ namespace TL.Methods [IfFlag(9)] public int top_msg_id; [IfFlag(22)] public InputReplyTo reply_to; [IfFlag(10)] public DateTime schedule_date; + [IfFlag(24)] public int schedule_repeat_period; [IfFlag(13)] public InputPeer send_as; [IfFlag(17)] public InputQuickReplyShortcutBase quick_reply_shortcut; [IfFlag(20)] public int video_timestamp; @@ -9828,6 +9912,7 @@ namespace TL.Methods has_allow_paid_stars = 0x200000, has_reply_to = 0x400000, has_suggested_post = 0x800000, + has_schedule_repeat_period = 0x1000000, } } @@ -10256,7 +10341,7 @@ namespace TL.Methods public int id; } - [TLDef(0xDFD14005)] + [TLDef(0x51E842E1)] public sealed partial class Messages_EditMessage : IMethod { public Flags flags; @@ -10267,6 +10352,7 @@ namespace TL.Methods [IfFlag(2)] public ReplyMarkup reply_markup; [IfFlag(3)] public MessageEntity[] entities; [IfFlag(15)] public DateTime schedule_date; + [IfFlag(18)] public int schedule_repeat_period; [IfFlag(17)] public int quick_reply_shortcut_id; [Flags] public enum Flags : uint @@ -10279,6 +10365,7 @@ namespace TL.Methods has_schedule_date = 0x8000, invert_media = 0x10000, has_quick_reply_shortcut_id = 0x20000, + has_schedule_repeat_period = 0x40000, } } @@ -12752,6 +12839,7 @@ namespace TL.Methods [Flags] public enum Flags : uint { for_paid_reactions = 0x1, + for_live_stories = 0x2, } } @@ -13747,6 +13835,25 @@ namespace TL.Methods public long gift_id; } + [TLDef(0x5C9FF4D6)] + public sealed partial class Payments_GetStarGiftAuctionState : IMethod + { + public InputStarGiftAuctionBase auction; + public int version; + } + + [TLDef(0x6BA2CBEC)] + public sealed partial class Payments_GetStarGiftAuctionAcquiredGifts : IMethod + { + public long gift_id; + } + + [TLDef(0xA5D0514D)] + public sealed partial class Payments_GetStarGiftActiveAuctions : IMethod + { + public long hash; + } + [TLDef(0x9021AB67)] public sealed partial class Stickers_CreateStickerSet : IMethod { @@ -13993,19 +14100,21 @@ namespace TL.Methods public InputGroupCallBase call; } - [TLDef(0xE9723804)] + [TLDef(0x974392F2)] public sealed partial class Phone_ToggleGroupCallSettings : IMethod { public Flags flags; public InputGroupCallBase call; [IfFlag(0)] public bool join_muted; [IfFlag(2)] public bool messages_enabled; + [IfFlag(3)] public long send_paid_messages_stars; [Flags] public enum Flags : uint { has_join_muted = 0x1, reset_invite_hash = 0x2, has_messages_enabled = 0x4, + has_send_paid_messages_stars = 0x8, } } @@ -14137,11 +14246,17 @@ namespace TL.Methods public InputGroupCallBase call; } - [TLDef(0xDEB3ABBF)] + [TLDef(0x5AF4C73A)] public sealed partial class Phone_GetGroupCallStreamRtmpUrl : IMethod { + public Flags flags; public InputPeer peer; public bool revoke; + + [Flags] public enum Flags : uint + { + live_story = 0x1, + } } [TLDef(0x41248786)] @@ -14218,12 +14333,21 @@ namespace TL.Methods public int limit; } - [TLDef(0x87893014)] - public sealed partial class Phone_SendGroupCallMessage : IMethod + [TLDef(0xB1D11410)] + public sealed partial class Phone_SendGroupCallMessage : IMethod { + public Flags flags; public InputGroupCallBase call; public long random_id; public TextWithEntities message; + [IfFlag(0)] public long allow_paid_stars; + [IfFlag(1)] public InputPeer send_as; + + [Flags] public enum Flags : uint + { + has_allow_paid_stars = 0x1, + has_send_as = 0x2, + } } [TLDef(0xE5AFA56D)] @@ -14233,6 +14357,45 @@ namespace TL.Methods public byte[] encrypted_message; } + [TLDef(0xF64F54F7)] + public sealed partial class Phone_DeleteGroupCallMessages : IMethod + { + public Flags flags; + public InputGroupCallBase call; + public int[] messages; + + [Flags] public enum Flags : uint + { + report_spam = 0x1, + } + } + + [TLDef(0x1DBFECA0)] + public sealed partial class Phone_DeleteGroupCallParticipantMessages : IMethod + { + public Flags flags; + public InputGroupCallBase call; + public InputPeer participant; + + [Flags] public enum Flags : uint + { + report_spam = 0x1, + } + } + + [TLDef(0x6F636302)] + public sealed partial class Phone_GetGroupCallStars : IMethod + { + public InputGroupCallBase call; + } + + [TLDef(0x4167ADD1)] + public sealed partial class Phone_SaveDefaultSendAs : IMethod + { + public InputGroupCallBase call; + public InputPeer send_as; + } + [TLDef(0xF2F2330A)] public sealed partial class Langpack_GetLangPack : IMethod { @@ -14644,8 +14807,8 @@ namespace TL.Methods [TLDef(0x9B5AE7F9)] public sealed partial class Stories_GetAllReadPeerStories : IMethod { } - [TLDef(0x535983C3)] - public sealed partial class Stories_GetPeerMaxIDs : IMethod + [TLDef(0x78499170)] + public sealed partial class Stories_GetPeerMaxIDs : IMethod { public InputPeer[] id; } @@ -14761,6 +14924,30 @@ namespace TL.Methods public int limit; } + [TLDef(0xD069CCDE)] + public sealed partial class Stories_StartLive : IMethod + { + public Flags flags; + public InputPeer peer; + [IfFlag(0)] public string caption; + [IfFlag(1)] public MessageEntity[] entities; + public InputPrivacyRule[] privacy_rules; + public long random_id; + [IfFlag(6)] public bool messages_enabled; + [IfFlag(7)] public long send_paid_messages_stars; + + [Flags] public enum Flags : uint + { + has_caption = 0x1, + has_entities = 0x2, + pinned = 0x4, + noforwards = 0x10, + rtmp_stream = 0x20, + has_messages_enabled = 0x40, + has_send_paid_messages_stars = 0x80, + } + } + [TLDef(0x60F67660)] public sealed partial class Premium_GetBoostsList : IMethod { diff --git a/src/TL.Table.cs b/src/TL.Table.cs index de3f2d5..76ac918 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 = 216; // fetched 10/10/2025 20:01:17 + public const int Version = 218; // fetched 11/15/2025 21:06:24 internal const int SecretChats = 144; internal const int MTProto2 = 73; internal const uint VectorCtor = 0x1CB5C415; @@ -84,7 +84,7 @@ namespace TL [0xF7C1B13F] = typeof(InputUserSelf), [0xF21158C6] = typeof(InputUser), [0x1DA448E2] = typeof(InputUserFromMessage), - [0xF392B7F4] = typeof(InputPhoneContact), + [0x6A1DC4BE] = typeof(InputPhoneContact), [0xF52FF27F] = typeof(InputFile), [0xFA4F0BB5] = typeof(InputFileBig), [0x62DC8B48] = typeof(InputFileStoryDocument), @@ -128,7 +128,7 @@ namespace TL [0x36C6019A] = typeof(PeerChat), [0xA2A5371E] = typeof(PeerChannel), [0xD3BC4B7A] = typeof(UserEmpty), - [0x020B1422] = typeof(User), + [0x31774388] = typeof(User), [0x4F11BAE1] = null,//UserProfilePhotoEmpty [0x82D1F706] = typeof(UserProfilePhoto), [0x09D05049] = null,//UserStatusEmpty @@ -140,7 +140,7 @@ namespace TL [0x29562865] = typeof(ChatEmpty), [0x41CBF256] = typeof(Chat), [0x6592A1A7] = typeof(ChatForbidden), - [0xFE685355] = typeof(Channel), + [0x1C32B11C] = typeof(Channel), [0x17D493D5] = typeof(ChannelForbidden), [0x2633421B] = typeof(ChatFull), [0xE4E0B29D] = typeof(ChannelFull), @@ -152,7 +152,7 @@ namespace TL [0x37C1011C] = null,//ChatPhotoEmpty [0x1C6E1C11] = typeof(ChatPhoto), [0x90A6CA84] = typeof(MessageEmpty), - [0x9815CEC8] = typeof(Message), + [0xB92F76CF] = typeof(Message), [0x7A800E0A] = typeof(MessageService), [0x3DED6320] = null,//MessageMediaEmpty [0x695150D7] = typeof(MessageMediaPhoto), @@ -172,6 +172,7 @@ namespace TL [0xCEAA3EA1] = typeof(MessageMediaGiveawayResults), [0xA8852491] = typeof(MessageMediaPaidMedia), [0x8A53B014] = typeof(MessageMediaToDo), + [0xCA5CAB89] = typeof(MessageMediaVideoStream), [0xB6AEF7B0] = null,//MessageActionEmpty [0xBD47CBAD] = typeof(MessageActionChatCreate), [0xB5A1CE5A] = typeof(MessageActionChatEditTitle), @@ -204,13 +205,13 @@ namespace TL [0xEBBCA3CB] = typeof(MessageActionChatJoinedByRequest), [0x47DD8079] = typeof(MessageActionWebViewDataSentMe), [0xB4C38CB5] = typeof(MessageActionWebViewDataSent), - [0x6C6274FA] = typeof(MessageActionGiftPremium), + [0x48E91302] = typeof(MessageActionGiftPremium), [0x0D999256] = typeof(MessageActionTopicCreate), [0xC0944820] = typeof(MessageActionTopicEdit), [0x57DE635E] = typeof(MessageActionSuggestProfilePhoto), [0x31518E9B] = typeof(MessageActionRequestedPeer), [0x5060A3F4] = typeof(MessageActionSetChatWallPaper), - [0x56D03994] = typeof(MessageActionGiftCode), + [0x31C48347] = typeof(MessageActionGiftCode), [0xA80F51E4] = typeof(MessageActionGiveawayLaunch), [0x87E2F155] = typeof(MessageActionGiveawayResults), [0xCC02AA6D] = typeof(MessageActionBoostApply), @@ -218,7 +219,7 @@ namespace TL [0x41B3E202] = typeof(MessageActionPaymentRefunded), [0x45D5B021] = typeof(MessageActionGiftStars), [0xB00C47A2] = typeof(MessageActionPrizeStars), - [0xF24DE7FA] = typeof(MessageActionStarGift), + [0xDB596550] = typeof(MessageActionStarGift), [0x95728543] = typeof(MessageActionStarGiftUnique), [0xAC1F1FCD] = typeof(MessageActionPaidMessagesRefunded), [0x84B88578] = typeof(MessageActionPaidMessagesPrice), @@ -381,7 +382,7 @@ namespace TL [0x5BB98608] = typeof(UpdatePinnedChannelMessages), [0xF89A6A4E] = typeof(UpdateChat), [0xF2EBDB4E] = typeof(UpdateGroupCallParticipants), - [0x97D64341] = typeof(UpdateGroupCall), + [0x9D2216E0] = typeof(UpdateGroupCall), [0xBB9BB9A5] = typeof(UpdatePeerHistoryTTL), [0xD087663A] = typeof(UpdateChatParticipant), [0x985D3ABB] = typeof(UpdateChannelParticipant), @@ -438,10 +439,13 @@ namespace TL [0x77B0E372] = typeof(UpdateReadMonoForumInbox), [0xA4A79376] = typeof(UpdateReadMonoForumOutbox), [0x9F812B08] = typeof(UpdateMonoForumNoPaidException), - [0x78C314E0] = typeof(UpdateGroupCallMessage), + [0xD8326F0D] = typeof(UpdateGroupCallMessage), [0xC957A766] = typeof(UpdateGroupCallEncryptedMessage), [0x683B2C52] = typeof(UpdatePinnedForumTopic), [0xDEF143D0] = typeof(UpdatePinnedForumTopics), + [0x3E85E92C] = typeof(UpdateDeleteGroupCallMessages), + [0x48E246C2] = typeof(UpdateStarGiftAuctionState), + [0xDC58F31E] = typeof(UpdateStarGiftAuctionUserState), [0xA56C2A3E] = typeof(Updates_State), [0x5D75A138] = typeof(Updates_DifferenceEmpty), [0x00F49CA0] = typeof(Updates_Difference), @@ -1016,6 +1020,7 @@ namespace TL [0x50CC03D3] = typeof(WebPageAttributeStickerSet), [0xCF6F6DB8] = typeof(WebPageAttributeUniqueStarGift), [0x31CAD303] = typeof(WebPageAttributeStarGiftCollection), + [0x034986AB] = typeof(WebPageAttributeStarGiftAuction), [0x4899484E] = typeof(Messages_VotesList), [0xF568028A] = typeof(BankCardOpenUrl), [0x3E24E573] = typeof(Payments_BankCardData), @@ -1053,11 +1058,11 @@ namespace TL [0xE8FD8014] = typeof(PeerBlocked), [0x7FE91C14] = typeof(Stats_MessageStats), [0x7780BCB4] = typeof(GroupCallDiscarded), - [0x553B0BA1] = typeof(GroupCall), + [0xEFB2B617] = typeof(GroupCall), [0xD8AA840F] = typeof(InputGroupCall), [0xFE06823F] = typeof(InputGroupCallSlug), [0x8C10603F] = typeof(InputGroupCallInviteMessage), - [0xEBA636FE] = typeof(GroupCallParticipant), + [0x2A3DC7AC] = typeof(GroupCallParticipant), [0x9E727AAD] = typeof(Phone_GroupCall), [0xF47751B6] = typeof(Phone_GroupParticipants), [0x1662AF0B] = typeof(Messages_HistoryImport), @@ -1144,6 +1149,7 @@ namespace TL [0x9A0B48B8] = typeof(InputInvoiceStarGiftPrepaidUpgrade), [0x3E77F614] = typeof(InputInvoicePremiumAuthCode), [0x0923D8D1] = typeof(InputInvoiceStarGiftDropOriginalDetails), + [0x1ECAFA10] = typeof(InputInvoiceStarGiftAuctionBid), [0xAED0CBD9] = typeof(Payments_ExportedInvoice), [0xCFB9D957] = typeof(Messages_TranscribedAudio), [0x5334759C] = typeof(Help_PremiumPromo), @@ -1256,7 +1262,7 @@ namespace TL [0xCAE68768] = typeof(Stories_PeerStories), [0xFD5E12BD] = typeof(Messages_WebPage), [0x257E962B] = typeof(PremiumGiftCodeOption), - [0x284A1096] = typeof(Payments_CheckedGiftCode), + [0xEB983F8F] = typeof(Payments_CheckedGiftCode), [0x4367DAA0] = typeof(Payments_GiveawayInfo), [0xE175E66F] = typeof(Payments_GiveawayInfoResults), [0xB2539D54] = typeof(PrepaidGiveaway), @@ -1378,7 +1384,7 @@ namespace TL [0x4BA3A95A] = typeof(MessageReactor), [0x94CE852A] = typeof(StarsGiveawayOption), [0x54236209] = typeof(StarsGiveawayWinnersOption), - [0x80AC53C3] = typeof(StarGift), + [0x1B9A4D7F] = typeof(StarGift), [0xB0BF741B] = typeof(StarGiftUnique), [0xA388A368] = null,//Payments_StarGiftsNotModified [0x2ED82995] = typeof(Payments_StarGifts), @@ -1435,7 +1441,7 @@ namespace TL [0xE7E82E12] = typeof(PendingSuggestion), [0xCBA9A52F] = typeof(TodoItem), [0x49B92A26] = typeof(TodoList), - [0x4CC120B7] = typeof(TodoCompletion), + [0x221BB5E4] = typeof(TodoCompletion), [0x0E8E37E5] = typeof(SuggestedPost), [0x1B0E4F07] = typeof(StarsRating), [0x9D6B13B0] = typeof(StarGiftCollection), @@ -1456,6 +1462,23 @@ namespace TL [0xC93DE95C] = typeof(InputChatTheme), [0x87E5DFE4] = typeof(InputChatThemeUniqueGift), [0x99EA331D] = typeof(StarGiftUpgradePrice), + [0x1A8AFC7E] = typeof(GroupCallMessage), + [0xEE430C85] = typeof(GroupCallDonor), + [0x9D1DBD26] = typeof(Phone_GroupCallStars), + [0x711D692D] = typeof(RecentStory), + [0x310240CC] = typeof(AuctionBidLevel), + [0xFE333952] = null,//StarGiftAuctionStateNotModified + [0x5DB04F4B] = typeof(StarGiftAuctionState), + [0x7D967C3A] = typeof(StarGiftAuctionStateFinished), + [0x2EEED1C4] = typeof(StarGiftAuctionUserState), + [0x0E98E474] = typeof(Payments_StarGiftAuctionState), + [0xAB60E20B] = typeof(StarGiftAuctionAcquiredGift), + [0x7D5BD1F0] = typeof(Payments_StarGiftAuctionAcquiredGifts), + [0xD31BC45D] = typeof(StarGiftActiveAuctionState), + [0xDB33DAD0] = null,//Payments_StarGiftActiveAuctionsNotModified + [0x97F187D8] = typeof(Payments_StarGiftActiveAuctions), + [0x02E16C98] = typeof(InputStarGiftAuction), + [0x7AB58308] = typeof(InputStarGiftAuctionSlug), // from TL.Secret: [0x6ABD9782] = typeof(Layer143.DecryptedMessageMediaDocument), [0x020DF5D0] = typeof(Layer101.MessageEntityBlockquote), @@ -1594,6 +1617,8 @@ namespace TL [typeof(Stories_Albums)] = 0x564EDAEB, //stories.albumsNotModified [typeof(Account_SavedMusicIds)] = 0x4FC81D6E, //account.savedMusicIdsNotModified [typeof(InputChatThemeBase)] = 0x83268483, //inputChatThemeEmpty + [typeof(StarGiftAuctionStateBase)] = 0xFE333952, //starGiftAuctionStateNotModified + [typeof(Payments_StarGiftActiveAuctions)]= 0xDB33DAD0, //payments.starGiftActiveAuctionsNotModified [typeof(DecryptedMessageMedia)] = 0x089F5C4A, //decryptedMessageMediaEmpty }; } diff --git a/src/WTelegramClient.csproj b/src/WTelegramClient.csproj index bda3719..c043406 100644 --- a/src/WTelegramClient.csproj +++ b/src/WTelegramClient.csproj @@ -13,8 +13,8 @@ WTelegramClient Wizou 0.0.0 - layer.216 - Telegram Client API (MTProto) library written 100% in C# and .NET Standard | Latest API layer: 216 + layer.218 + Telegram Client API (MTProto) library written 100% in C# and .NET Standard | Latest API layer: 218 Release Notes: $(ReleaseNotes)