From 1a4b606216d1185d64eecc6d0fa46e8805bc2119 Mon Sep 17 00:00:00 2001 From: Wizou <11647984+wiz0u@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:14:39 +0200 Subject: [PATCH] API Layer 177: more business stuff, new profile infos, revenue stats --- README.md | 2 +- src/Client.Helpers.cs | 2 +- src/TL.Schema.cs | 526 +++++++++++++++++++++++++++++++++++-- src/TL.SchemaFuncs.cs | 367 ++++++++++++++++++++++++-- src/TL.Table.cs | 52 +++- src/WTelegramClient.csproj | 2 +- 6 files changed, 900 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index eab56a5..78e7a9c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![API Layer](https://img.shields.io/badge/API_Layer-176-blueviolet)](https://corefork.telegram.org/methods) +[![API Layer](https://img.shields.io/badge/API_Layer-177-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/Client.Helpers.cs b/src/Client.Helpers.cs index 04be756..3870a2f 100644 --- a/src/Client.Helpers.cs +++ b/src/Client.Helpers.cs @@ -580,7 +580,7 @@ public async Task Channels_GetAdminLog(InputChannelBas /// Generic helper: Adds a single user to a Chat or Channel See
and
Possible codes: 400,403
/// Chat/Channel /// User to be added - public Task AddChatUser(InputPeer peer, InputUserBase user) => peer switch + public Task AddChatUser(InputPeer peer, InputUserBase user) => peer switch { InputPeerChat chat => this.Messages_AddChatUser(chat.chat_id, user, int.MaxValue), InputPeerChannel channel => this.Channels_InviteToChannel(channel, user), diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs index 984dc17..32bb1ac 100644 --- a/src/TL.Schema.cs +++ b/src/TL.Schema.cs @@ -865,6 +865,7 @@ public sealed partial class User : UserBase /// Field has a value has_profile_color = 0x200, contact_require_premium = 0x400, + bot_business = 0x800, } } @@ -1497,6 +1498,8 @@ public sealed partial class ChannelFull : ChatFullBase has_boosts_unrestrict = 0x200, /// Field has a value has_emojiset = 0x400, + restricted_sponsored = 0x800, + can_view_revenue = 0x1000, } /// ID of the channel @@ -1670,11 +1673,12 @@ public sealed partial class MessageEmpty : MessageBase public override Peer Peer => peer_id; } /// A message See - [TLDef(0xA66C7EFC)] + [TLDef(0x2357BF25)] public sealed partial class Message : MessageBase { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + public Flags2 flags2; /// ID of the message public int id; /// ID of the sender of the message @@ -1688,6 +1692,7 @@ public sealed partial class Message : MessageBase [IfFlag(2)] public MessageFwdHeader fwd_from; /// ID of the inline bot that generated the message [IfFlag(11)] public long via_bot_id; + [IfFlag(32)] public long via_business_bot_id; /// Reply information [IfFlag(3)] public MessageReplyHeaderBase reply_to; /// Date of the message @@ -1782,6 +1787,13 @@ public sealed partial class Message : MessageBase has_quick_reply_shortcut_id = 0x40000000, } + [Flags] public enum Flags2 : uint + { + /// Field has a value + has_via_business_bot_id = 0x1, + offline = 0x2, + } + /// ID of the message public override int ID => id; /// ID of the sender of the message @@ -2604,6 +2616,13 @@ public sealed partial class MessageActionBoostApply : MessageAction { public int boosts; } + /// See + [TLDef(0x93B31848)] + public sealed partial class MessageActionRequestedPeerSentMe : MessageAction + { + public int button_id; + public RequestedPeer[] peers; + } /// Chat info. See Derived classes: , public abstract partial class DialogBase : IObject @@ -3062,7 +3081,7 @@ public sealed partial class PeerNotifySettings : IObject } /// List of actions that are possible when interacting with this user, to be shown as suggested actions in the chat action bar », see here » for more info. See - [TLDef(0xA518110D)] + [TLDef(0xACD66C5E)] public sealed partial class PeerSettings : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -3073,6 +3092,8 @@ public sealed partial class PeerSettings : IObject [IfFlag(9)] public string request_chat_title; /// If set, this is a private chat with an administrator of a chat or channel to which the user sent a join request, and this field contains the timestamp when the join request » was sent. [IfFlag(9)] public DateTime request_chat_date; + [IfFlag(13)] public long business_bot_id; + [IfFlag(13)] public string business_bot_manage_url; [Flags] public enum Flags : uint { @@ -3098,6 +3119,10 @@ public sealed partial class PeerSettings : IObject has_request_chat_title = 0x200, /// This flag is set if request_chat_title and request_chat_date fields are set and the join request » is related to a channel (otherwise if only the request fields are set, the join request » is related to a chat). request_chat_broadcast = 0x400, + business_bot_paused = 0x800, + business_bot_can_reply = 0x1000, + /// Fields and have a value + has_business_bot_id = 0x2000, } } @@ -3198,7 +3223,7 @@ public enum ReportReason : uint } /// Extended user info See - [TLDef(0x22FF3E85)] + [TLDef(0xCC997720)] public sealed partial class UserFull : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -3246,6 +3271,10 @@ public sealed partial class UserFull : IObject [IfFlag(33)] public BusinessLocation business_location; [IfFlag(34)] public BusinessGreetingMessage business_greeting_message; [IfFlag(35)] public BusinessAwayMessage business_away_message; + [IfFlag(36)] public BusinessIntro business_intro; + [IfFlag(37)] public Birthday birthday; + [IfFlag(38)] public long personal_channel_id; + [IfFlag(38)] public int personal_channel_message; [Flags] public enum Flags : uint { @@ -3315,6 +3344,12 @@ public sealed partial class UserFull : IObject has_business_greeting_message = 0x4, /// Field has a value has_business_away_message = 0x8, + /// Field has a value + has_business_intro = 0x10, + /// Field has a value + has_birthday = 0x20, + /// Fields and have a value + has_personal_channel_id = 0x40, } } @@ -5003,13 +5038,6 @@ public partial class UpdateUser : Update /// Media autosave settings have changed and must be refetched using Account_GetAutoSaveSettings. See [TLDef(0xEC05B097)] public sealed partial class UpdateAutoSaveSettings : Update { } - /// 0-N updates of this type may be returned only when invoking Messages_AddChatUser, Channels_InviteToChannel or Messages_CreateChat: it indicates we couldn't add a user to a chat because of their privacy settings; if required, an invite link can be shared with the user, instead. See - [TLDef(0xCCF08AD6)] - public sealed partial class UpdateGroupInvitePrivacyForbidden : Update - { - /// ID of the user we couldn't add. - public long user_id; - } /// A new story was posted. See [TLDef(0x75B3B798)] public sealed partial class UpdateStory : Update @@ -5201,6 +5229,60 @@ public sealed partial class UpdateDeleteQuickReplyMessages : UpdateDeleteQuickRe { public int[] messages; } + /// See + [TLDef(0x8AE5C97A)] + public sealed partial class UpdateBotBusinessConnect : Update + { + public BotBusinessConnection connection; + public int qts; + + public override (long, int, int) GetMBox() => (-1, qts, 1); + } + /// See + [TLDef(0x9DDB347C)] + public sealed partial class UpdateBotNewBusinessMessage : Update + { + public Flags flags; + public string connection_id; + public MessageBase message; + [IfFlag(0)] public MessageBase reply_to_message; + public int qts; + + [Flags] public enum Flags : uint + { + has_reply_to_message = 0x1, + } + + public override (long, int, int) GetMBox() => (-1, qts, 1); + } + /// See + [TLDef(0x07DF587C)] + public sealed partial class UpdateBotEditBusinessMessage : Update + { + public Flags flags; + public string connection_id; + public MessageBase message; + [IfFlag(0)] public MessageBase reply_to_message; + public int qts; + + [Flags] public enum Flags : uint + { + has_reply_to_message = 0x1, + } + + public override (long, int, int) GetMBox() => (-1, qts, 1); + } + /// See + [TLDef(0xA02A982E)] + public sealed partial class UpdateBotDeleteBusinessMessage : Update + { + public string connection_id; + public Peer peer; + public int[] messages; + public int qts; + + public override (long, int, int) GetMBox() => (-1, qts, 1); + } /// Updates state. See [TLDef(0xA56C2A3E)] @@ -6339,6 +6421,8 @@ public enum InputPrivacyKey : uint VoiceMessages = 0xAEE69D68, ///Whether people can see your bio About = 0x3823CC40, + ///See + Birthday = 0xD65A11CC, } /// 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 @@ -6364,6 +6448,8 @@ public enum PrivacyKey : uint VoiceMessages = 0x0697F414, ///Whether people can see your bio About = 0xA486B761, + ///See + Birthday = 0x2000A518, } /// Privacy rules indicate who can or can't do something and are specified by a , and its input counterpart . See Derived classes: , , , , , , , , @@ -6411,6 +6497,9 @@ public sealed partial class InputPrivacyValueDisallowChatParticipants : InputPri /// Allow only close friends » See [TLDef(0x2F453E49)] public sealed partial class InputPrivacyValueAllowCloseFriends : InputPrivacyRule { } + /// See + [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: , , , , , , , , public abstract partial class PrivacyRule : IObject { } @@ -6457,6 +6546,9 @@ public sealed partial class PrivacyValueDisallowChatParticipants : PrivacyRule /// Allow only close friends » See [TLDef(0xF7E8D89B)] public sealed partial class PrivacyValueAllowCloseFriends : PrivacyRule { } + /// See + [TLDef(0xECE9814B)] + public sealed partial class PrivacyValueAllowPremium : PrivacyRule { } /// Privacy rules See [TLDef(0x50A04E45)] @@ -7163,10 +7255,6 @@ public sealed partial class StickerSet : IObject masks = 0x8, /// Fields , and have a value has_thumbs = 0x10, - /// Is this an animated stickerpack - animated = 0x20, - /// Is this a video stickerpack - videos = 0x40, /// This is a custom emoji stickerset emojis = 0x80, /// Field has a value @@ -7175,6 +7263,7 @@ public sealed partial class StickerSet : IObject text_color = 0x200, /// If set, this custom emoji stickerset can be used in channel emoji statuses. channel_emoji_status = 0x400, + creator = 0x800, } } @@ -7433,6 +7522,25 @@ public sealed partial class KeyboardButtonRequestPeer : KeyboardButton /// Maximum number of peers that can be chosne. public int max_quantity; } + /// See + [TLDef(0xC9662D05)] + public sealed partial class InputKeyboardButtonRequestPeer : KeyboardButtonBase + { + public Flags flags; + public string text; + public int button_id; + public RequestPeerType peer_type; + public int max_quantity; + + [Flags] public enum Flags : uint + { + name_requested = 0x1, + username_requested = 0x2, + photo_requested = 0x4, + } + + public override string Text => text; + } /// Inline keyboard row See [TLDef(0x77608B83)] @@ -10413,7 +10521,7 @@ public sealed partial class PhoneCallAccepted : PhoneCallBase public override PhoneCallProtocol Protocol => protocol; } /// Phone call See - [TLDef(0x967F7C67)] + [TLDef(0x30535AF5)] public sealed partial class PhoneCall : PhoneCallBase { /// Extra bits of information, use flags.HasFlag(...) to test for those @@ -10438,6 +10546,7 @@ public sealed partial class PhoneCall : PhoneCallBase public PhoneConnectionBase[] connections; /// When was the call actually started public DateTime start_date; + [IfFlag(7)] public DataJSON custom_parameters; [Flags] public enum Flags : uint { @@ -10445,6 +10554,8 @@ public sealed partial class PhoneCall : PhoneCallBase p2p_allowed = 0x20, /// Whether this is a video call video = 0x40, + /// Field has a value + has_custom_parameters = 0x80, } /// Call ID @@ -14292,6 +14403,7 @@ public sealed partial class SponsoredMessage : IObject has_app = 0x400, /// Field has a value has_button_text = 0x800, + can_report = 0x1000, } } @@ -17286,12 +17398,12 @@ public sealed partial class Messages_QuickReplies : IObject, IPeerResolver } /// See - [TLDef(0xE7E999E7)] + [TLDef(0xBD068601)] public sealed partial class ConnectedBot : IObject { public Flags flags; public long bot_id; - public BusinessRecipients recipients; + public BusinessBotRecipients recipients; [Flags] public enum Flags : uint { @@ -17319,4 +17431,384 @@ public sealed partial class Messages_DialogFilters : IObject tags_enabled = 0x1, } } + + /// See + [TLDef(0x6C8E1E06)] + public sealed partial class Birthday : IObject + { + public Flags flags; + public int day; + public int month; + [IfFlag(0)] public int year; + + [Flags] public enum Flags : uint + { + has_year = 0x1, + } + } + + /// See + [TLDef(0x896433B4)] + public sealed partial class BotBusinessConnection : IObject + { + public Flags flags; + public string connection_id; + public long user_id; + public int dc_id; + public DateTime date; + + [Flags] public enum Flags : uint + { + can_reply = 0x1, + disabled = 0x2, + } + } + + /// See + [TLDef(0x09C469CD)] + public sealed partial class InputBusinessIntro : IObject + { + public Flags flags; + public string title; + public string description; + [IfFlag(0)] public InputDocument sticker; + + [Flags] public enum Flags : uint + { + has_sticker = 0x1, + } + } + + /// See + [TLDef(0x5A0A066D)] + public sealed partial class BusinessIntro : IObject + { + public Flags flags; + public string title; + public string description; + [IfFlag(0)] public DocumentBase sticker; + + [Flags] public enum Flags : uint + { + has_sticker = 0x1, + } + } + + /// See + [TLDef(0xFAFF629D)] + public sealed partial class Messages_MyStickers : IObject + { + public int count; + public StickerSetCoveredBase[] sets; + } + + /// See + public abstract partial class InputCollectible : IObject { } + /// See + [TLDef(0xE39460A9)] + public sealed partial class InputCollectibleUsername : InputCollectible + { + public string username; + } + /// See + [TLDef(0xA2E214A4)] + public sealed partial class InputCollectiblePhone : InputCollectible + { + public string phone; + } + + /// See + [TLDef(0x6EBDFF91)] + public sealed partial class Fragment_CollectibleInfo : IObject + { + public DateTime purchase_date; + public string currency; + public long amount; + public string crypto_currency; + public long crypto_amount; + public string url; + } + + /// See + [TLDef(0xC4E5921E)] + public sealed partial class InputBusinessBotRecipients : IObject + { + public Flags flags; + [IfFlag(4)] public InputUserBase[] users; + [IfFlag(6)] public InputUserBase[] exclude_users; + + [Flags] public enum Flags : uint + { + existing_chats = 0x1, + new_chats = 0x2, + contacts = 0x4, + non_contacts = 0x8, + has_users = 0x10, + exclude_selected = 0x20, + has_exclude_users = 0x40, + } + } + + /// See + [TLDef(0xB88CF373)] + public sealed partial class BusinessBotRecipients : IObject + { + public Flags flags; + [IfFlag(4)] public long[] users; + [IfFlag(6)] public long[] exclude_users; + + [Flags] public enum Flags : uint + { + existing_chats = 0x1, + new_chats = 0x2, + contacts = 0x4, + non_contacts = 0x8, + has_users = 0x10, + exclude_selected = 0x20, + has_exclude_users = 0x40, + } + } + + /// See + [TLDef(0x1D998733)] + public sealed partial class ContactBirthday : IObject + { + public long contact_id; + public Birthday birthday; + } + + /// See + [TLDef(0x114FF30D)] + public sealed partial class Contacts_ContactBirthdays : IObject + { + public ContactBirthday[] contacts; + public Dictionary users; + } + + /// See + [TLDef(0x628C9224)] + public sealed partial class MissingInvitee : IObject + { + public Flags flags; + public long user_id; + + [Flags] public enum Flags : uint + { + premium_would_allow_invite = 0x1, + premium_required_for_pm = 0x2, + } + } + + /// See + [TLDef(0x7F5DEFA6)] + public sealed partial class Messages_InvitedUsers : IObject + { + public UpdatesBase updates; + public MissingInvitee[] missing_invitees; + } + + /// See + [TLDef(0x11679FA7)] + public sealed partial class InputBusinessChatLink : IObject + { + public Flags flags; + public string message; + [IfFlag(0)] public MessageEntity[] entities; + [IfFlag(1)] public string title; + + [Flags] public enum Flags : uint + { + has_entities = 0x1, + has_title = 0x2, + } + } + + /// See + [TLDef(0xB4AE666F)] + public sealed partial class BusinessChatLink : IObject + { + public Flags flags; + public string link; + public string message; + [IfFlag(0)] public MessageEntity[] entities; + [IfFlag(1)] public string title; + public int views; + + [Flags] public enum Flags : uint + { + has_entities = 0x1, + has_title = 0x2, + } + } + + /// See + [TLDef(0xEC43A2D1)] + public sealed partial class Account_BusinessChatLinks : IObject, IPeerResolver + { + public BusinessChatLink[] links; + public Dictionary chats; + public Dictionary users; + /// returns a or for the given Peer + public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); + } + + /// See + [TLDef(0x9A23AF21)] + public sealed partial class Account_ResolvedBusinessChatLinks : IObject + { + public Flags flags; + public Peer peer; + public string message; + [IfFlag(0)] public MessageEntity[] entities; + public Dictionary chats; + public Dictionary users; + + [Flags] public enum Flags : uint + { + has_entities = 0x1, + } + /// returns a or for the result + public IPeerInfo UserOrChat => peer?.UserOrChat(users, chats); + } + + /// See + public abstract partial class RequestedPeer : IObject { } + /// See + [TLDef(0xD62FF46A)] + public sealed partial class RequestedPeerUser : RequestedPeer + { + public Flags flags; + public long user_id; + [IfFlag(0)] public string first_name; + [IfFlag(0)] public string last_name; + [IfFlag(1)] public string username; + [IfFlag(2)] public PhotoBase photo; + + [Flags] public enum Flags : uint + { + has_first_name = 0x1, + has_username = 0x2, + has_photo = 0x4, + } + } + /// See + [TLDef(0x7307544F)] + public sealed partial class RequestedPeerChat : RequestedPeer + { + public Flags flags; + public long chat_id; + [IfFlag(0)] public string title; + [IfFlag(2)] public PhotoBase photo; + + [Flags] public enum Flags : uint + { + has_title = 0x1, + has_photo = 0x4, + } + } + /// See + [TLDef(0x8BA403E4)] + public sealed partial class RequestedPeerChannel : RequestedPeer + { + public Flags flags; + public long channel_id; + [IfFlag(0)] public string title; + [IfFlag(1)] public string username; + [IfFlag(2)] public PhotoBase photo; + + [Flags] public enum Flags : uint + { + has_title = 0x1, + has_username = 0x2, + has_photo = 0x4, + } + } + + /// See + [TLDef(0x430D3150)] + public sealed partial class SponsoredMessageReportOption : IObject + { + public string text; + public byte[] option; + } + + /// See + public abstract partial class Channels_SponsoredMessageReportResult : IObject { } + /// See + [TLDef(0x846F9E42)] + public sealed partial class Channels_SponsoredMessageReportResultChooseOption : Channels_SponsoredMessageReportResult + { + public string title; + public SponsoredMessageReportOption[] options; + } + /// See + [TLDef(0x3E3BCF2F)] + public sealed partial class Channels_SponsoredMessageReportResultAdsHidden : Channels_SponsoredMessageReportResult { } + /// See + [TLDef(0xAD798849)] + public sealed partial class Channels_SponsoredMessageReportResultReported : Channels_SponsoredMessageReportResult { } + + /// See + [TLDef(0xD07B4BAD)] + public sealed partial class Stats_BroadcastRevenueStats : IObject + { + public StatsGraphBase top_hours_graph; + public StatsGraphBase revenue_graph; + public long current_balance; + public long available_balance; + public long overall_revenue; + public double usd_rate; + } + + /// See + [TLDef(0xEC659737)] + public sealed partial class Stats_BroadcastRevenueWithdrawalUrl : IObject + { + public string url; + } + + /// See + public abstract partial class BroadcastRevenueTransaction : IObject { } + /// See + [TLDef(0x557E2CC4)] + public sealed partial class BroadcastRevenueTransactionProceeds : BroadcastRevenueTransaction + { + public long amount; + public DateTime from_date; + public DateTime to_date; + } + /// See + [TLDef(0x5A590978)] + public sealed partial class BroadcastRevenueTransactionWithdrawal : BroadcastRevenueTransaction + { + public Flags flags; + public long amount; + public DateTime date; + public string provider; + [IfFlag(1)] public DateTime transaction_date; + [IfFlag(1)] public string transaction_url; + + [Flags] public enum Flags : uint + { + pending = 0x1, + has_transaction_date = 0x2, + failed = 0x4, + } + } + /// See + [TLDef(0x42D30D2E)] + public sealed partial class BroadcastRevenueTransactionRefund : BroadcastRevenueTransaction + { + public long amount; + public DateTime date; + public string provider; + } + + /// See + [TLDef(0x87158466)] + public sealed partial class Stats_BroadcastRevenueTransactions : IObject + { + public int count; + public BroadcastRevenueTransaction[] transactions; + } } diff --git a/src/TL.SchemaFuncs.cs b/src/TL.SchemaFuncs.cs index e67c12b..7cfad11 100644 --- a/src/TL.SchemaFuncs.cs +++ b/src/TL.SchemaFuncs.cs @@ -92,6 +92,14 @@ public static Task InvokeWithTakeout(this Client client, long takeout_id, query = query, }); + /// See + public static Task InvokeWithBusinessConnection(this Client client, string connection_id, IMethod query) + => client.Invoke(new InvokeWithBusinessConnection + { + connection_id = connection_id, + query = query, + }); + /// Send the verification code for login See Possible codes: 400,406,500 (details) /// Phone number in international format /// Application identifier (see App configuration) @@ -1228,7 +1236,7 @@ public static Task Account_UpdateBusinessAwayMessage(this Client client, I }); /// See - public static Task Account_UpdateConnectedBot(this Client client, InputUserBase bot, InputBusinessRecipients recipients, bool can_reply = false, bool deleted = false) + public static Task Account_UpdateConnectedBot(this Client client, InputUserBase bot, InputBusinessBotRecipients recipients, bool can_reply = false, bool deleted = false) => client.Invoke(new Account_UpdateConnectedBot { flags = (Account_UpdateConnectedBot.Flags)((can_reply ? 0x1 : 0) | (deleted ? 0x2 : 0)), @@ -1242,6 +1250,86 @@ public static Task Account_GetConnectedBots(this Client c { }); + /// See + public static Task Account_GetBotBusinessConnection(this Client client, string connection_id) + => client.Invoke(new Account_GetBotBusinessConnection + { + connection_id = connection_id, + }); + + /// See + public static Task Account_UpdateBusinessIntro(this Client client, InputBusinessIntro intro = null) + => client.Invoke(new Account_UpdateBusinessIntro + { + flags = (Account_UpdateBusinessIntro.Flags)(intro != null ? 0x1 : 0), + intro = intro, + }); + + /// See + public static Task Account_ToggleConnectedBotPaused(this Client client, InputPeer peer, bool paused) + => client.Invoke(new Account_ToggleConnectedBotPaused + { + peer = peer, + paused = paused, + }); + + /// See + public static Task Account_DisablePeerConnectedBot(this Client client, InputPeer peer) + => client.Invoke(new Account_DisablePeerConnectedBot + { + peer = peer, + }); + + /// See + public static Task Account_UpdateBirthday(this Client client, Birthday birthday = null) + => client.Invoke(new Account_UpdateBirthday + { + flags = (Account_UpdateBirthday.Flags)(birthday != null ? 0x1 : 0), + birthday = birthday, + }); + + /// See + public static Task Account_CreateBusinessChatLink(this Client client, InputBusinessChatLink link) + => client.Invoke(new Account_CreateBusinessChatLink + { + link = link, + }); + + /// See + public static Task Account_EditBusinessChatLink(this Client client, string slug, InputBusinessChatLink link) + => client.Invoke(new Account_EditBusinessChatLink + { + slug = slug, + link = link, + }); + + /// See + public static Task Account_DeleteBusinessChatLink(this Client client, string slug) + => client.Invoke(new Account_DeleteBusinessChatLink + { + slug = slug, + }); + + /// See + public static Task Account_GetBusinessChatLinks(this Client client) + => client.Invoke(new Account_GetBusinessChatLinks + { + }); + + /// See + public static Task Account_ResolveBusinessChatLink(this Client client, string slug) + => client.Invoke(new Account_ResolveBusinessChatLink + { + slug = slug, + }); + + /// See + public static Task Account_UpdatePersonalChannel(this Client client, InputChannelBase channel) + => client.Invoke(new Account_UpdatePersonalChannel + { + channel = channel, + }); + /// Returns basic user info according to their identifiers. See [bots: ✓] Possible codes: 400 (details) /// List of user identifiers public static Task Users_GetUsers(this Client client, params InputUserBase[] id) @@ -1514,6 +1602,12 @@ public static Task Contacts_SetBlocked(this Client client, InputPeer[] id, limit = limit, }); + /// See + public static Task Contacts_GetBirthdays(this Client client) + => client.Invoke(new Contacts_GetBirthdays + { + }); + /// 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
Returns the list of messages by their IDs. See
[bots: ✓]
/// Message ID list public static Task Messages_GetMessages(this Client client, params InputMessage[] id) @@ -1819,7 +1913,7 @@ public static Task Messages_EditChatPhoto(this Client client, long /// Chat ID /// User ID to be added /// Number of last messages to be forwarded - public static Task Messages_AddChatUser(this Client client, long chat_id, InputUserBase user_id, int fwd_limit) + public static Task Messages_AddChatUser(this Client client, long chat_id, InputUserBase user_id, int fwd_limit) => client.Invoke(new Messages_AddChatUser { chat_id = chat_id, @@ -1843,7 +1937,7 @@ public static Task Messages_DeleteChatUser(this Client client, long /// List of user IDs to be invited /// Chat name /// Time-to-live of all messages that will be sent in the chat: once message.date+message.ttl_period === time(), the message will be deleted on the server, and must be deleted locally as well. You can use Messages_SetDefaultHistoryTTL to edit this value later. - public static Task Messages_CreateChat(this Client client, InputUserBase[] users, string title, int? ttl_period = null) + public static Task Messages_CreateChat(this Client client, InputUserBase[] users, string title, int? ttl_period = null) => client.Invoke(new Messages_CreateChat { flags = (Messages_CreateChat.Flags)(ttl_period != null ? 0x1 : 0), @@ -2583,9 +2677,11 @@ public static Task Messages_SetBotPrecheckoutResults(this Client client, l /// The chat, can be for bots and for users. /// File uploaded in chunks as described in files » /// a null value means messageMediaEmpty - public static Task Messages_UploadMedia(this Client client, InputPeer peer, InputMedia media) + public static Task Messages_UploadMedia(this Client client, InputPeer peer, InputMedia media, string business_connection_id = null) => client.Invoke(new Messages_UploadMedia { + flags = (Messages_UploadMedia.Flags)(business_connection_id != null ? 0x1 : 0), + business_connection_id = business_connection_id, peer = peer, media = media, }); @@ -3977,11 +4073,13 @@ public static Task Messages_GetQuickReplyMessages(this Cl }); /// See - public static Task Messages_SendQuickReplyMessages(this Client client, InputPeer peer, int shortcut_id) + public static Task Messages_SendQuickReplyMessages(this Client client, InputPeer peer, int shortcut_id, int[] id, params long[] random_id) => client.Invoke(new Messages_SendQuickReplyMessages { peer = peer, shortcut_id = shortcut_id, + id = id, + 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
@@ -3999,6 +4097,14 @@ public static Task Messages_ToggleDialogFilterTags(this Client client, boo enabled = enabled, }); + /// See + public static Task Messages_GetMyStickers(this Client client, long offset_id = default, int limit = int.MaxValue) + => client.Invoke(new Messages_GetMyStickers + { + offset_id = offset_id, + limit = limit, + }); + /// Returns a current state of updates. See [bots: ✓] public static Task Updates_GetState(this Client client) => client.Invoke(new Updates_GetState @@ -4586,7 +4692,7 @@ public static Task Channels_LeaveChannel(this Client client, InputC /// Invite users to a channel/supergroup See Possible codes: 400,403,406 (details) /// Channel/supergroup /// Users to invite - public static Task Channels_InviteToChannel(this Client client, InputChannelBase channel, params InputUserBase[] users) + public static Task Channels_InviteToChannel(this Client client, InputChannelBase channel, params InputUserBase[] users) => client.Invoke(new Channels_InviteToChannel { channel = channel, @@ -4627,10 +4733,10 @@ public static Task Channels_ToggleSignatures(this Client client, In /// Get channels/supergroups/geogroups we're admin in. Usually called when the user exceeds the limit for owned public channels/supergroups/geogroups, and the user is given the choice to remove one of his channels/supergroups/geogroups. See Possible codes: 400 (details) /// Get geogroups /// If set and the user has reached the limit of owned public channels/supergroups/geogroups, instead of returning the channel list one of the specified errors will be returned.
Useful to check if a new public channel can indeed be created, even before asking the user to enter a channel username to use in Channels_CheckUsername/Channels_UpdateUsername. - public static Task Channels_GetAdminedPublicChannels(this Client client, bool by_location = false, bool check_limit = false) + public static Task Channels_GetAdminedPublicChannels(this Client client, bool by_location = false, bool check_limit = false, bool for_personal = false) => client.Invoke(new Channels_GetAdminedPublicChannels { - flags = (Channels_GetAdminedPublicChannels.Flags)((by_location ? 0x1 : 0) | (check_limit ? 0x2 : 0)), + flags = (Channels_GetAdminedPublicChannels.Flags)((by_location ? 0x1 : 0) | (check_limit ? 0x2 : 0) | (for_personal ? 0x4 : 0)), }); /// Ban/unban/kick a user in a supergroup/channel. See [bots: ✓] Possible codes: 400,403,406 (details) @@ -5076,6 +5182,23 @@ public static Task Channels_SetEmojiStickers(this Client client, InputChan stickerset = stickerset, }); + /// See + public static Task Channels_ReportSponsoredMessage(this Client client, InputChannelBase channel, byte[] random_id, byte[] option) + => client.Invoke(new Channels_ReportSponsoredMessage + { + channel = channel, + random_id = random_id, + option = option, + }); + + /// See + public static Task Channels_RestrictSponsoredMessages(this Client client, InputChannelBase channel, bool restricted) + => client.Invoke(new Channels_RestrictSponsoredMessages + { + channel = channel, + restricted = restricted, + }); + /// Sends a custom request; for bots only See [bots: ✓] Possible codes: 400,403 (details) /// The method name /// JSON-serialized method parameters @@ -5401,8 +5524,6 @@ public static Task Payments_LaunchPrepaidGiveaway(this Client clien /// Create a stickerset, bots only. See [bots: ✓] Possible codes: 400 (details) /// Whether this is a mask stickerset - /// Whether this is an animated stickerset - /// Whether this is a video stickerset /// Whether this is a custom emoji stickerset. /// Whether the color of TGS custom emojis contained in this set 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. For custom emoji stickersets only. /// Stickerset owner @@ -5412,10 +5533,10 @@ public static Task Payments_LaunchPrepaidGiveaway(this Client clien /// Stickers /// Used when importing stickers using the sticker import SDKs, specifies the name of the software that created the stickers /// a null value means messages.stickerSetNotModified - public static Task Stickers_CreateStickerSet(this Client client, InputUserBase user_id, string title, string short_name, InputStickerSetItem[] stickers, InputDocument thumb = null, string software = null, bool masks = false, bool animated = false, bool videos = false, bool emojis = false, bool text_color = false) + public static Task Stickers_CreateStickerSet(this Client client, InputUserBase user_id, string title, string short_name, InputStickerSetItem[] stickers, InputDocument thumb = null, string software = null, bool masks = false, bool emojis = false, bool text_color = false) => client.Invoke(new Stickers_CreateStickerSet { - flags = (Stickers_CreateStickerSet.Flags)((thumb != null ? 0x4 : 0) | (software != null ? 0x8 : 0) | (masks ? 0x1 : 0) | (animated ? 0x2 : 0) | (videos ? 0x10 : 0) | (emojis ? 0x20 : 0) | (text_color ? 0x40 : 0)), + flags = (Stickers_CreateStickerSet.Flags)((thumb != null ? 0x4 : 0) | (software != null ? 0x8 : 0) | (masks ? 0x1 : 0) | (emojis ? 0x20 : 0) | (text_color ? 0x40 : 0)), user_id = user_id, title = title, short_name = short_name, @@ -5520,6 +5641,15 @@ public static Task Stickers_DeleteStickerSet(this Client client, InputStic stickerset = stickerset, }); + /// See + /// a null value means messages.stickerSetNotModified + public static Task Stickers_ReplaceSticker(this Client client, InputDocument sticker, InputStickerSetItem new_sticker) + => client.Invoke(new Stickers_ReplaceSticker + { + sticker = sticker, + new_sticker = new_sticker, + }); + /// Get phone call configuration to be passed to libtgvoip's shared config See public static Task Phone_GetCallConfig(this Client client) => client.Invoke(new Phone_GetCallConfig @@ -6018,6 +6148,31 @@ public static Task Stats_GetStoryPublicForwards(this Clien limit = limit, }); + /// See + public static Task Stats_GetBroadcastRevenueStats(this Client client, InputChannelBase channel, bool dark = false) + => client.Invoke(new Stats_GetBroadcastRevenueStats + { + flags = (Stats_GetBroadcastRevenueStats.Flags)(dark ? 0x1 : 0), + channel = channel, + }); + + /// See + public static Task Stats_GetBroadcastRevenueWithdrawalUrl(this Client client, InputChannelBase channel, InputCheckPasswordSRP password) + => client.Invoke(new Stats_GetBroadcastRevenueWithdrawalUrl + { + channel = channel, + password = password, + }); + + /// See + public static Task Stats_GetBroadcastRevenueTransactions(this Client client, InputChannelBase channel, int offset = default, int limit = int.MaxValue) + => client.Invoke(new Stats_GetBroadcastRevenueTransactions + { + channel = channel, + offset = offset, + limit = limit, + }); + /// Export a folder », creating a chat folder deep link ». See Possible codes: 400 (details) /// The folder to export /// An optional name for the link @@ -6507,6 +6662,13 @@ public static Task Smsjobs_FinishJob(this Client client, string job_id, st job_id = job_id, error = error, }); + + /// See + public static Task Fragment_GetCollectibleInfo(this Client client, InputCollectible collectible) + => client.Invoke(new Fragment_GetCollectibleInfo + { + collectible = collectible, + }); } } @@ -6576,6 +6738,13 @@ public sealed partial class InvokeWithTakeout : IMethod public IMethod query; } + [TLDef(0xDD289F8E)] + public sealed partial class InvokeWithBusinessConnection : IMethod + { + public string connection_id; + public IMethod query; + } + [TLDef(0xA677244F)] public sealed partial class Auth_SendCode : IMethod { @@ -7479,12 +7648,12 @@ public sealed partial class Account_UpdateBusinessAwayMessage : IMethod } } - [TLDef(0x9C2D527D)] + [TLDef(0x43D8521D)] public sealed partial class Account_UpdateConnectedBot : IMethod { public Flags flags; public InputUserBase bot; - public InputBusinessRecipients recipients; + public InputBusinessBotRecipients recipients; [Flags] public enum Flags : uint { @@ -7496,6 +7665,83 @@ public sealed partial class Account_UpdateConnectedBot : IMethod [TLDef(0x4EA4C80F)] public sealed partial class Account_GetConnectedBots : IMethod { } + [TLDef(0x76A86270)] + public sealed partial class Account_GetBotBusinessConnection : IMethod + { + public string connection_id; + } + + [TLDef(0xA614D034)] + public sealed partial class Account_UpdateBusinessIntro : IMethod + { + public Flags flags; + [IfFlag(0)] public InputBusinessIntro intro; + + [Flags] public enum Flags : uint + { + has_intro = 0x1, + } + } + + [TLDef(0x646E1097)] + public sealed partial class Account_ToggleConnectedBotPaused : IMethod + { + public InputPeer peer; + public bool paused; + } + + [TLDef(0x5E437ED9)] + public sealed partial class Account_DisablePeerConnectedBot : IMethod + { + public InputPeer peer; + } + + [TLDef(0xCC6E0C11)] + public sealed partial class Account_UpdateBirthday : IMethod + { + public Flags flags; + [IfFlag(0)] public Birthday birthday; + + [Flags] public enum Flags : uint + { + has_birthday = 0x1, + } + } + + [TLDef(0x8851E68E)] + public sealed partial class Account_CreateBusinessChatLink : IMethod + { + public InputBusinessChatLink link; + } + + [TLDef(0x8C3410AF)] + public sealed partial class Account_EditBusinessChatLink : IMethod + { + public string slug; + public InputBusinessChatLink link; + } + + [TLDef(0x60073674)] + public sealed partial class Account_DeleteBusinessChatLink : IMethod + { + public string slug; + } + + [TLDef(0x6F70DDE1)] + public sealed partial class Account_GetBusinessChatLinks : IMethod { } + + [TLDef(0x5492E5EE)] + public sealed partial class Account_ResolveBusinessChatLink : IMethod + { + public string slug; + } + + [TLDef(0xD94305E0)] + public sealed partial class Account_UpdatePersonalChannel : IMethod + { + public InputChannelBase channel; + } + [TLDef(0x0D91A548)] public sealed partial class Users_GetUsers : IMethod { @@ -7727,6 +7973,9 @@ public sealed partial class Contacts_SetBlocked : IMethod } } + [TLDef(0xDAEDA864)] + public sealed partial class Contacts_GetBirthdays : IMethod { } + [TLDef(0x63C66506)] public sealed partial class Messages_GetMessages : IMethod { @@ -7989,8 +8238,8 @@ public sealed partial class Messages_EditChatPhoto : IMethod public InputChatPhotoBase photo; } - [TLDef(0xF24753E3)] - public sealed partial class Messages_AddChatUser : IMethod + [TLDef(0xCBC6D107)] + public sealed partial class Messages_AddChatUser : IMethod { public long chat_id; public InputUserBase user_id; @@ -8010,8 +8259,8 @@ public sealed partial class Messages_DeleteChatUser : IMethod } } - [TLDef(0x0034A818)] - public sealed partial class Messages_CreateChat : IMethod + [TLDef(0x92CEDDD4)] + public sealed partial class Messages_CreateChat : IMethod { public Flags flags; public InputUserBase[] users; @@ -8665,11 +8914,18 @@ public sealed partial class Messages_SetBotPrecheckoutResults : IMethod } } - [TLDef(0x519BC2B1)] + [TLDef(0x14967978)] public sealed partial class Messages_UploadMedia : IMethod { + public Flags flags; + [IfFlag(0)] public string business_connection_id; public InputPeer peer; public InputMedia media; + + [Flags] public enum Flags : uint + { + has_business_connection_id = 0x1, + } } [TLDef(0xA1405817)] @@ -9846,11 +10102,13 @@ public sealed partial class Messages_GetQuickReplyMessages : IMethod { public InputPeer peer; public int shortcut_id; + public int[] id; + public long[] random_id; } [TLDef(0xE105E910)] @@ -9866,6 +10124,13 @@ public sealed partial class Messages_ToggleDialogFilterTags : IMethod public bool enabled; } + [TLDef(0xD0B5E1FC)] + public sealed partial class Messages_GetMyStickers : IMethod + { + public long offset_id; + public int limit; + } + [TLDef(0xEDD4882A)] public sealed partial class Updates_GetState : IMethod { } @@ -10299,8 +10564,8 @@ public sealed partial class Channels_LeaveChannel : IMethod public InputChannelBase channel; } - [TLDef(0x199F3A6C)] - public sealed partial class Channels_InviteToChannel : IMethod + [TLDef(0xC9E33D54)] + public sealed partial class Channels_InviteToChannel : IMethod { public InputChannelBase channel; public InputUserBase[] users; @@ -10342,6 +10607,7 @@ public sealed partial class Channels_GetAdminedPublicChannels : IMethod public InputStickerSet stickerset; } + [TLDef(0xAF8FF6B9)] + public sealed partial class Channels_ReportSponsoredMessage : IMethod + { + public InputChannelBase channel; + public byte[] random_id; + public byte[] option; + } + + [TLDef(0x9AE91519)] + public sealed partial class Channels_RestrictSponsoredMessages : IMethod + { + public InputChannelBase channel; + public bool restricted; + } + [TLDef(0xAA2769ED)] public sealed partial class Bots_SendCustomRequest : IMethod { @@ -10971,10 +11252,8 @@ public sealed partial class Stickers_CreateStickerSet : IMethod public InputStickerSet stickerset; } + [TLDef(0x4696459A)] + public sealed partial class Stickers_ReplaceSticker : IMethod + { + public InputDocument sticker; + public InputStickerSetItem new_sticker; + } + [TLDef(0x55451FA9)] public sealed partial class Phone_GetCallConfig : IMethod { } @@ -11474,6 +11760,33 @@ public sealed partial class Stats_GetStoryPublicForwards : IMethod + { + public Flags flags; + public InputChannelBase channel; + + [Flags] public enum Flags : uint + { + dark = 0x1, + } + } + + [TLDef(0x2A65EF73)] + public sealed partial class Stats_GetBroadcastRevenueWithdrawalUrl : IMethod + { + public InputChannelBase channel; + public InputCheckPasswordSRP password; + } + + [TLDef(0x0069280F)] + public sealed partial class Stats_GetBroadcastRevenueTransactions : IMethod + { + public InputChannelBase channel; + public int offset; + public int limit; + } + [TLDef(0x8472478E)] public sealed partial class Chatlists_ExportChatlistInvite : IMethod { @@ -11878,4 +12191,10 @@ public sealed partial class Smsjobs_FinishJob : IMethod has_error = 0x1, } } + + [TLDef(0xBE1E85BA)] + public sealed partial class Fragment_GetCollectibleInfo : IMethod + { + public InputCollectible collectible; + } } diff --git a/src/TL.Table.cs b/src/TL.Table.cs index e68173d..e4c5faf 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 = 176; // fetched 08/03/2024 11:12:00 + public const int Version = 177; // fetched 03/04/2024 02:27:33 internal const int SecretChats = 144; internal const int MTProto2 = 73; internal const uint VectorCtor = 0x1CB5C415; @@ -145,7 +145,7 @@ public static partial class Layer [0x37C1011C] = null,//ChatPhotoEmpty [0x1C6E1C11] = typeof(ChatPhoto), [0x90A6CA84] = typeof(MessageEmpty), - [0xA66C7EFC] = typeof(Message), + [0x2357BF25] = typeof(Message), [0x2B085862] = typeof(MessageService), [0x3DED6320] = null,//MessageMediaEmpty [0x695150D7] = typeof(MessageMediaPhoto), @@ -205,6 +205,7 @@ public static partial class Layer [0x332BA9ED] = typeof(MessageActionGiveawayLaunch), [0x2A9FADC5] = typeof(MessageActionGiveawayResults), [0xCC02AA6D] = typeof(MessageActionBoostApply), + [0x93B31848] = typeof(MessageActionRequestedPeerSentMe), [0xD58A08C6] = typeof(Dialog), [0x71BD134C] = typeof(DialogFolder), [0x2331B22D] = typeof(PhotoEmpty), @@ -229,10 +230,10 @@ public static partial class Layer [0x5C467992] = typeof(InputNotifyForumTopic), [0xCACB6AE2] = typeof(InputPeerNotifySettings), [0x99622C0C] = typeof(PeerNotifySettings), - [0xA518110D] = typeof(PeerSettings), + [0xACD66C5E] = typeof(PeerSettings), [0xA437C3ED] = typeof(WallPaper), [0xE0804116] = typeof(WallPaperNoFile), - [0x22FF3E85] = typeof(UserFull), + [0xCC997720] = typeof(UserFull), [0x145ADE0B] = typeof(Contact), [0xC13E3C50] = typeof(ImportedContact), [0x16D9703B] = typeof(ContactStatus), @@ -380,7 +381,6 @@ public static partial class Layer [0xFE198602] = typeof(UpdateChannelPinnedTopics), [0x20529438] = typeof(UpdateUser), [0xEC05B097] = typeof(UpdateAutoSaveSettings), - [0xCCF08AD6] = typeof(UpdateGroupInvitePrivacyForbidden), [0x75B3B798] = typeof(UpdateStory), [0xF74E932B] = typeof(UpdateReadStories), [0x1BF335B9] = typeof(UpdateStoryID), @@ -400,6 +400,10 @@ public static partial class Layer [0x53E6F1EC] = typeof(UpdateDeleteQuickReply), [0x3E050D0F] = typeof(UpdateQuickReplyMessage), [0x566FE7CD] = typeof(UpdateDeleteQuickReplyMessages), + [0x8AE5C97A] = typeof(UpdateBotBusinessConnect), + [0x9DDB347C] = typeof(UpdateBotNewBusinessMessage), + [0x07DF587C] = typeof(UpdateBotEditBusinessMessage), + [0xA02A982E] = typeof(UpdateBotDeleteBusinessMessage), [0xA56C2A3E] = typeof(Updates_State), [0x5D75A138] = typeof(Updates_DifferenceEmpty), [0x00F49CA0] = typeof(Updates_Difference), @@ -479,6 +483,7 @@ public static partial class Layer [0x840649CF] = typeof(InputPrivacyValueAllowChatParticipants), [0xE94F0F86] = typeof(InputPrivacyValueDisallowChatParticipants), [0x2F453E49] = typeof(InputPrivacyValueAllowCloseFriends), + [0x77CDC9F1] = typeof(InputPrivacyValueAllowPremium), [0xFFFE1BAC] = typeof(PrivacyValueAllowContacts), [0x65427B82] = typeof(PrivacyValueAllowAll), [0xB8905FB2] = typeof(PrivacyValueAllowUsers), @@ -488,6 +493,7 @@ public static partial class Layer [0x6B134E8E] = typeof(PrivacyValueAllowChatParticipants), [0x41C87565] = typeof(PrivacyValueDisallowChatParticipants), [0xF7E8D89B] = typeof(PrivacyValueAllowCloseFriends), + [0xECE9814B] = typeof(PrivacyValueAllowPremium), [0x50A04E45] = typeof(Account_PrivacyRules), [0xB8D0AFDF] = typeof(AccountDaysTTL), [0x6C37C15C] = typeof(DocumentAttributeImageSize), @@ -552,6 +558,7 @@ public static partial class Layer [0x13767230] = typeof(KeyboardButtonWebView), [0xA0C0505C] = typeof(KeyboardButtonSimpleWebView), [0x53D7BFD8] = typeof(KeyboardButtonRequestPeer), + [0xC9662D05] = typeof(InputKeyboardButtonRequestPeer), [0x77608B83] = typeof(KeyboardButtonRow), [0xA03E5B85] = typeof(ReplyKeyboardHide), [0x86B40B08] = typeof(ReplyKeyboardForceReply), @@ -750,7 +757,7 @@ public static partial class Layer [0xC5226F17] = typeof(PhoneCallWaiting), [0x14B0ED0C] = typeof(PhoneCallRequested), [0x3660C311] = typeof(PhoneCallAccepted), - [0x967F7C67] = typeof(PhoneCall), + [0x30535AF5] = typeof(PhoneCall), [0x50CA4DE1] = typeof(PhoneCallDiscarded), [0x9CC123C7] = typeof(PhoneConnection), [0x635FE375] = typeof(PhoneConnectionWebrtc), @@ -1220,9 +1227,40 @@ public static partial class Layer [0x01190CF1] = typeof(InputQuickReplyShortcutId), [0xC68D6695] = typeof(Messages_QuickReplies), [0x5F91EB5B] = null,//Messages_QuickRepliesNotModified - [0xE7E999E7] = typeof(ConnectedBot), + [0xBD068601] = typeof(ConnectedBot), [0x17D7F87B] = typeof(Account_ConnectedBots), [0x2AD93719] = typeof(Messages_DialogFilters), + [0x6C8E1E06] = typeof(Birthday), + [0x896433B4] = typeof(BotBusinessConnection), + [0x09C469CD] = typeof(InputBusinessIntro), + [0x5A0A066D] = typeof(BusinessIntro), + [0xFAFF629D] = typeof(Messages_MyStickers), + [0xE39460A9] = typeof(InputCollectibleUsername), + [0xA2E214A4] = typeof(InputCollectiblePhone), + [0x6EBDFF91] = typeof(Fragment_CollectibleInfo), + [0xC4E5921E] = typeof(InputBusinessBotRecipients), + [0xB88CF373] = typeof(BusinessBotRecipients), + [0x1D998733] = typeof(ContactBirthday), + [0x114FF30D] = typeof(Contacts_ContactBirthdays), + [0x628C9224] = typeof(MissingInvitee), + [0x7F5DEFA6] = typeof(Messages_InvitedUsers), + [0x11679FA7] = typeof(InputBusinessChatLink), + [0xB4AE666F] = typeof(BusinessChatLink), + [0xEC43A2D1] = typeof(Account_BusinessChatLinks), + [0x9A23AF21] = typeof(Account_ResolvedBusinessChatLinks), + [0xD62FF46A] = typeof(RequestedPeerUser), + [0x7307544F] = typeof(RequestedPeerChat), + [0x8BA403E4] = typeof(RequestedPeerChannel), + [0x430D3150] = typeof(SponsoredMessageReportOption), + [0x846F9E42] = typeof(Channels_SponsoredMessageReportResultChooseOption), + [0x3E3BCF2F] = typeof(Channels_SponsoredMessageReportResultAdsHidden), + [0xAD798849] = typeof(Channels_SponsoredMessageReportResultReported), + [0xD07B4BAD] = typeof(Stats_BroadcastRevenueStats), + [0xEC659737] = typeof(Stats_BroadcastRevenueWithdrawalUrl), + [0x557E2CC4] = typeof(BroadcastRevenueTransactionProceeds), + [0x5A590978] = typeof(BroadcastRevenueTransactionWithdrawal), + [0x42D30D2E] = typeof(BroadcastRevenueTransactionRefund), + [0x87158466] = typeof(Stats_BroadcastRevenueTransactions), // from TL.Secret: [0x6ABD9782] = typeof(Layer143.DecryptedMessageMediaDocument), [0x91CC4674] = typeof(Layer73.DecryptedMessage), diff --git a/src/WTelegramClient.csproj b/src/WTelegramClient.csproj index 694692f..b528e74 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: 176 Release Notes: $(ReleaseNotes.Replace("|", "%0D%0A").Replace(" - ","%0D%0A- ").Replace(" ", "%0D%0A%0D%0A")) + Telegram Client API (MTProto) library written 100% in C# and .NET Standard | Latest API layer: 177 Release Notes: $(ReleaseNotes.Replace("|", "%0D%0A").Replace(" - ","%0D%0A- ").Replace(" ", "%0D%0A%0D%0A")) Copyright © Olivier Marcoux 2021-2024 MIT https://github.com/wiz0u/WTelegramClient