Upgrade to layer 144: Premium gifts, custom emoji stickers...

This commit is contained in:
Wizou 2022-07-29 02:21:05 +02:00
parent cf53520e02
commit 6977641b2d
6 changed files with 206 additions and 47 deletions

2
.github/dev.yml vendored
View file

@ -2,7 +2,7 @@ pr: none
trigger:
- master
name: 2.5.3-dev.$(Rev:r)
name: 2.6.1-dev.$(Rev:r)
pool:
vmImage: ubuntu-latest

2
.github/release.yml vendored
View file

@ -1,7 +1,7 @@
pr: none
trigger: none
name: 2.5.$(Rev:r)
name: 2.6.$(Rev:r)
pool:
vmImage: ubuntu-latest

View file

@ -1,6 +1,6 @@
[![NuGet version](https://img.shields.io/nuget/v/WTelegramClient)](https://www.nuget.org/packages/WTelegramClient/)
[![Build Status](https://img.shields.io/azure-devops/build/wiz0u/WTelegramClient/7)](https://dev.azure.com/wiz0u/WTelegramClient/_build?definitionId=7)
[![API Layer](https://img.shields.io/badge/API_Layer-143-blueviolet)](https://corefork.telegram.org/methods)
[![API Layer](https://img.shields.io/badge/API_Layer-144-blueviolet)](https://corefork.telegram.org/methods)
[![dev nuget](https://img.shields.io/badge/dynamic/json?color=ffc040&label=dev%20nuget&query=%24.versions%5B0%5D&url=https%3A%2F%2Fpkgs.dev.azure.com%2Fwiz0u%2F81bd92b7-0bb9-4701-b426-09090b27e037%2F_packaging%2F46ce0497-7803-4bd4-8c6c-030583e7c371%2Fnuget%2Fv3%2Fflat2%2Fwtelegramclient%2Findex.json)](https://dev.azure.com/wiz0u/WTelegramClient/_artifacts/feed/WTelegramClient/NuGet/WTelegramClient)
[![Support Chat](https://img.shields.io/badge/Chat_with_us-on_Telegram-0088cc)](https://t.me/WTelegramClient)
[![Donate](https://img.shields.io/badge/Help_this_project:-Donate-ff4444)](http://wizou.fr/donate.html)

View file

@ -2104,6 +2104,14 @@ namespace TL
{
public string text;
}
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/messageActionGiftPremium"/></para></summary>
[TLDef(0xABA0F5C6)]
public class MessageActionGiftPremium : MessageAction
{
public string currency;
public long amount;
public int months;
}
/// <summary>Chat info. <para>Derived classes: <see cref="Dialog"/>, <see cref="DialogFolder"/></para> <para>See <a href="https://corefork.telegram.org/type/Dialog"/></para></summary>
public abstract class DialogBase : IObject
@ -2635,7 +2643,7 @@ namespace TL
}
/// <summary>Extended user info <para>See <a href="https://corefork.telegram.org/constructor/userFull"/></para></summary>
[TLDef(0x8C72EA81)]
[TLDef(0xC4B1FC3F)]
public class UserFull : IObject
{
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
@ -2666,6 +2674,7 @@ namespace TL
[IfFlag(16)] public string private_forward_name;
[IfFlag(17)] public ChatAdminRights bot_group_admin_rights;
[IfFlag(18)] public ChatAdminRights bot_broadcast_admin_rights;
[IfFlag(19)] public PremiumGiftOption[] premium_gifts;
[Flags] public enum Flags : uint
{
@ -2701,6 +2710,9 @@ namespace TL
has_bot_group_admin_rights = 0x20000,
/// <summary>Field <see cref="bot_broadcast_admin_rights"/> has a value</summary>
has_bot_broadcast_admin_rights = 0x40000,
/// <summary>Field <see cref="premium_gifts"/> has a value</summary>
has_premium_gifts = 0x80000,
voice_messages_forbidden = 0x100000,
}
}
@ -3393,6 +3405,7 @@ namespace TL
{
/// <summary>Whether the updated stickers are mask stickers</summary>
masks = 0x1,
emojis = 0x2,
}
}
/// <summary>Installed stickersets have changed, the client should refetch them using <a href="https://core.telegram.org/method/messages.getAllStickers">messages.getAllStickers</a> <para>See <a href="https://corefork.telegram.org/constructor/updateStickerSets"/></para></summary>
@ -4192,6 +4205,9 @@ namespace TL
pending = 0x1,
}
}
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/updateReadFeaturedEmojiStickers"/></para></summary>
[TLDef(0xFB4C496C)]
public class UpdateReadFeaturedEmojiStickers : Update { }
/// <summary>Updates state. <para>See <a href="https://corefork.telegram.org/constructor/updates.state"/></para></summary>
[TLDef(0xA56C2A3E)]
@ -5294,6 +5310,8 @@ namespace TL
PhoneNumber = 0x0352DAFA,
///<summary>Whether people can add you to their contact list by your phone number</summary>
AddedByPhone = 0xD1219BDD,
///<summary>See <a href="https://corefork.telegram.org/constructor/inputPrivacyKeyVoiceMessages"/></summary>
VoiceMessages = 0xAEE69D68,
}
/// <summary>Privacy key <para>See <a href="https://corefork.telegram.org/type/PrivacyKey"/></para></summary>
@ -5315,6 +5333,8 @@ namespace TL
PhoneNumber = 0xD19AE46D,
///<summary>Whether people can add you to their contact list by your phone number</summary>
AddedByPhone = 0x42FFD42B,
///<summary>See <a href="https://corefork.telegram.org/constructor/privacyKeyVoiceMessages"/></summary>
VoiceMessages = 0x0697F414,
}
/// <summary>Privacy rule <para>Derived classes: <see cref="InputPrivacyValueAllowContacts"/>, <see cref="InputPrivacyValueAllowAll"/>, <see cref="InputPrivacyValueAllowUsers"/>, <see cref="InputPrivacyValueDisallowContacts"/>, <see cref="InputPrivacyValueDisallowAll"/>, <see cref="InputPrivacyValueDisallowUsers"/>, <see cref="InputPrivacyValueAllowChatParticipants"/>, <see cref="InputPrivacyValueDisallowChatParticipants"/></para> <para>See <a href="https://corefork.telegram.org/type/InputPrivacyRule"/></para></summary>
@ -5518,6 +5538,19 @@ namespace TL
/// <summary>Whether the current document has stickers attached <para>See <a href="https://corefork.telegram.org/constructor/documentAttributeHasStickers"/></para></summary>
[TLDef(0x9801D2F7)]
public class DocumentAttributeHasStickers : DocumentAttribute { }
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/documentAttributeCustomEmoji"/></para></summary>
[TLDef(0xFD149899)]
public class DocumentAttributeCustomEmoji : DocumentAttribute
{
public Flags flags;
public string alt;
public InputStickerSet stickerset;
[Flags] public enum Flags : uint
{
free = 0x1,
}
}
/// <summary>Found stickers <para>See <a href="https://corefork.telegram.org/constructor/messages.stickers"/></para></summary>
/// <remarks>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/messages.stickersNotModified">messages.stickersNotModified</a></remarks>
@ -5984,9 +6017,12 @@ namespace TL
/// <summary>Animated emoji reaction stickerset (contains animations to play when a user clicks on a given animated emoji) <para>See <a href="https://corefork.telegram.org/constructor/inputStickerSetAnimatedEmojiAnimations"/></para></summary>
[TLDef(0x0CDE3739)]
public class InputStickerSetAnimatedEmojiAnimations : InputStickerSet { }
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/inputStickerSetPremiumGifts"/></para></summary>
[TLDef(0xC88B3B02)]
public class InputStickerSetPremiumGifts : InputStickerSet { }
/// <summary>Represents a stickerset (stickerpack) <para>See <a href="https://corefork.telegram.org/constructor/stickerSet"/></para></summary>
[TLDef(0xD7DF217A)]
[TLDef(0x2DD14EDC)]
public partial class StickerSet : IObject
{
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
@ -6007,6 +6043,7 @@ namespace TL
[IfFlag(4)] public int thumb_dc_id;
/// <summary>Thumbnail version</summary>
[IfFlag(4)] public int thumb_version;
[IfFlag(8)] public long thumb_document_id;
/// <summary>Number of stickers in pack</summary>
public int count;
/// <summary>Hash</summary>
@ -6028,6 +6065,9 @@ namespace TL
animated = 0x20,
/// <summary>Is this a video stickerpack</summary>
videos = 0x40,
emojis = 0x80,
/// <summary>Field <see cref="thumb_document_id"/> has a value</summary>
has_thumb_document_id = 0x100,
}
}
@ -6422,6 +6462,12 @@ namespace TL
/// <summary>Message entity representing a spoiler <para>See <a href="https://corefork.telegram.org/constructor/messageEntitySpoiler"/></para></summary>
[TLDef(0x32CA960F)]
public class MessageEntitySpoiler : MessageEntity { }
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/messageEntityCustomEmoji"/></para></summary>
[TLDef(0xC8CF05F8, inheritBefore = true)]
public class MessageEntityCustomEmoji : MessageEntity
{
public long document_id;
}
/// <summary>Represents a channel <para>Derived classes: <see cref="InputChannel"/>, <see cref="InputChannelFromMessage"/></para> <para>See <a href="https://corefork.telegram.org/type/InputChannel"/></para></summary>
/// <remarks>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/inputChannelEmpty">inputChannelEmpty</a></remarks>
@ -7729,9 +7775,10 @@ namespace TL
public int count;
}
/// <summary>Featured stickersets <para>See <a href="https://corefork.telegram.org/constructor/messages.featuredStickers"/></para></summary>
[TLDef(0x84C02310)]
[TLDef(0xBE382906)]
public class Messages_FeaturedStickers : Messages_FeaturedStickersBase
{
public Flags flags;
/// <summary><a href="https://corefork.telegram.org/api/offsets#hash-generation">Hash for pagination, for more info click here</a></summary>
public long hash;
/// <summary>Total number of featured stickers</summary>
@ -7740,6 +7787,11 @@ namespace TL
public StickerSetCoveredBase[] sets;
/// <summary>IDs of new featured stickersets</summary>
public long[] unread;
[Flags] public enum Flags : uint
{
premium = 0x1,
}
}
/// <summary>Recently used stickers <para>See <a href="https://corefork.telegram.org/constructor/messages.recentStickers"/></para></summary>
@ -7810,6 +7862,16 @@ namespace TL
/// <summary>Stickerset</summary>
public override StickerSet Set => set;
}
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/stickerSetFullCovered"/></para></summary>
[TLDef(0x1AED5EE5)]
public class StickerSetFullCovered : StickerSetCoveredBase
{
public StickerSet set;
public StickerPack[] packs;
public DocumentBase[] documents;
public override StickerSet Set => set;
}
/// <summary>Position on a photo where a mask should be placed <para>See <a href="https://corefork.telegram.org/constructor/maskCoords"/></para></summary>
[TLDef(0xAED6DBB2)]
@ -8614,7 +8676,7 @@ namespace TL
}
/// <summary>Payment form <para>See <a href="https://corefork.telegram.org/constructor/payments.paymentForm"/></para></summary>
[TLDef(0xB0133B37)]
[TLDef(0xA0058751)]
public class Payments_PaymentForm : IObject
{
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
@ -8636,10 +8698,11 @@ namespace TL
[IfFlag(4)] public string native_provider;
/// <summary>Contains information about the payment provider, if available, to support it natively without the need for opening the URL.<br/>A JSON object that can contain the following fields:<br/><br/>- <c>apple_pay_merchant_id</c>: Apple Pay merchant ID<br/>- <c>google_pay_public_key</c>: Google Pay public key<br/>- <c>need_country</c>: True, if the user country must be provided,<br/>- <c>need_zip</c>: True, if the user ZIP/postal code must be provided,<br/>- <c>need_cardholder_name</c>: True, if the cardholder name must be provided<br/></summary>
[IfFlag(4)] public DataJSON native_params;
[IfFlag(6)] public PaymentFormMethod[] additional_methods;
/// <summary>Saved server-side order information</summary>
[IfFlag(0)] public PaymentRequestedInfo saved_info;
/// <summary>Contains information about saved card credentials</summary>
[IfFlag(1)] public PaymentSavedCredentials saved_credentials;
[IfFlag(1)] public PaymentSavedCredentials[] saved_credentials;
/// <summary>Users</summary>
public Dictionary<long, User> users;
@ -8657,6 +8720,8 @@ namespace TL
has_native_provider = 0x10,
/// <summary>Field <see cref="photo"/> has a value</summary>
has_photo = 0x20,
/// <summary>Field <see cref="additional_methods"/> has a value</summary>
has_additional_methods = 0x40,
}
}
@ -13097,4 +13162,51 @@ namespace TL
public long monthly_amount;
public Dictionary<long, User> users;
}
/// <summary><para>See <a href="https://corefork.telegram.org/type/InputStorePaymentPurpose"/></para></summary>
public abstract class InputStorePaymentPurpose : IObject { }
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/inputStorePaymentPremiumSubscription"/></para></summary>
[TLDef(0xA6751E66)]
public class InputStorePaymentPremiumSubscription : InputStorePaymentPurpose
{
public Flags flags;
[Flags] public enum Flags : uint
{
restore = 0x1,
}
}
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/inputStorePaymentGiftPremium"/></para></summary>
[TLDef(0x616F7FE8)]
public class InputStorePaymentGiftPremium : InputStorePaymentPurpose
{
public InputUserBase user_id;
public string currency;
public long amount;
}
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/premiumGiftOption"/></para></summary>
[TLDef(0x74C34319)]
public class PremiumGiftOption : IObject
{
public Flags flags;
public int months;
public string currency;
public long amount;
public string bot_url;
[IfFlag(0)] public string store_product;
[Flags] public enum Flags : uint
{
has_store_product = 0x1,
}
}
/// <summary><para>See <a href="https://corefork.telegram.org/constructor/paymentFormMethod"/></para></summary>
[TLDef(0x88F8F21B)]
public class PaymentFormMethod : IObject
{
public string url;
public string title;
}
}

View file

@ -415,10 +415,12 @@ namespace TL
/// <summary>Delete the user's account from the telegram servers. Can be used, for example, to delete the account of a user that provided the login code, but forgot the <a href="https://corefork.telegram.org/api/srp">2FA password and no recovery method is configured</a>. <para>See <a href="https://corefork.telegram.org/method/account.deleteAccount"/></para> <para>Possible <see cref="RpcException"/> codes: 420 (<a href="https://corefork.telegram.org/method/account.deleteAccount#possible-errors">details</a>)</para></summary>
/// <param name="reason">Why is the account being deleted, can be empty</param>
public static Task<bool> Account_DeleteAccount(this Client client, string reason)
public static Task<bool> Account_DeleteAccount(this Client client, string reason, InputCheckPasswordSRP password = null)
=> client.Invoke(new Account_DeleteAccount
{
flags = (Account_DeleteAccount.Flags)(password != null ? 0x1 : 0),
reason = reason,
password = password,
});
/// <summary>Get days to live of account <para>See <a href="https://corefork.telegram.org/method/account.getAccountTTL"/></para></summary>
@ -1844,10 +1846,10 @@ namespace TL
/// <summary>Reorder installed stickersets <para>See <a href="https://corefork.telegram.org/method/messages.reorderStickerSets"/></para></summary>
/// <param name="masks">Reorder mask stickersets</param>
/// <param name="order">New stickerset order by stickerset IDs</param>
public static Task<bool> Messages_ReorderStickerSets(this Client client, long[] order, bool masks = false)
public static Task<bool> Messages_ReorderStickerSets(this Client client, long[] order, bool masks = false, bool emojis = false)
=> client.Invoke(new Messages_ReorderStickerSets
{
flags = (Messages_ReorderStickerSets.Flags)(masks ? 0x1 : 0),
flags = (Messages_ReorderStickerSets.Flags)((masks ? 0x1 : 0) | (emojis ? 0x2 : 0)),
order = order,
});
@ -2106,10 +2108,10 @@ namespace TL
/// <param name="masks">Get mask stickers</param>
/// <param name="offset_id"><a href="https://corefork.telegram.org/api/offsets">Offsets for pagination, for more info click here</a></param>
/// <param name="limit">Maximum number of results to return, <a href="https://corefork.telegram.org/api/offsets">see pagination</a></param>
public static Task<Messages_ArchivedStickers> Messages_GetArchivedStickers(this Client client, long offset_id = default, int limit = int.MaxValue, bool masks = false)
public static Task<Messages_ArchivedStickers> Messages_GetArchivedStickers(this Client client, long offset_id = default, int limit = int.MaxValue, bool masks = false, bool emojis = false)
=> client.Invoke(new Messages_GetArchivedStickers
{
flags = (Messages_GetArchivedStickers.Flags)(masks ? 0x1 : 0),
flags = (Messages_GetArchivedStickers.Flags)((masks ? 0x1 : 0) | (emojis ? 0x2 : 0)),
offset_id = offset_id,
limit = limit,
});
@ -3221,6 +3223,28 @@ namespace TL
good = good,
});
/// <summary><para>See <a href="https://corefork.telegram.org/method/messages.getCustomEmojiDocuments"/></para></summary>
public static Task<DocumentBase[]> Messages_GetCustomEmojiDocuments(this Client client, long[] document_id)
=> client.Invoke(new Messages_GetCustomEmojiDocuments
{
document_id = document_id,
});
/// <summary><para>See <a href="https://corefork.telegram.org/method/messages.getEmojiStickers"/></para></summary>
/// <returns>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/messages.allStickersNotModified">messages.allStickersNotModified</a></returns>
public static Task<Messages_AllStickers> Messages_GetEmojiStickers(this Client client, long hash = default)
=> client.Invoke(new Messages_GetEmojiStickers
{
hash = hash,
});
/// <summary><para>See <a href="https://corefork.telegram.org/method/messages.getFeaturedEmojiStickers"/></para></summary>
public static Task<Messages_FeaturedStickersBase> Messages_GetFeaturedEmojiStickers(this Client client, long hash = default)
=> client.Invoke(new Messages_GetFeaturedEmojiStickers
{
hash = hash,
});
/// <summary>Returns a current state of updates. <para>See <a href="https://corefork.telegram.org/method/updates.getState"/> [bots: ✓]</para></summary>
public static Task<Updates_State> Updates_GetState(this Client client)
=> client.Invoke(new Updates_GetState
@ -4158,32 +4182,26 @@ namespace TL
});
/// <summary><para>See <a href="https://corefork.telegram.org/method/payments.assignAppStoreTransaction"/></para></summary>
public static Task<UpdatesBase> Payments_AssignAppStoreTransaction(this Client client, string transaction_id, byte[] receipt, bool restore = false)
public static Task<UpdatesBase> Payments_AssignAppStoreTransaction(this Client client, byte[] receipt, InputStorePaymentPurpose purpose)
=> client.Invoke(new Payments_AssignAppStoreTransaction
{
flags = (Payments_AssignAppStoreTransaction.Flags)(restore ? 0x1 : 0),
transaction_id = transaction_id,
receipt = receipt,
purpose = purpose,
});
/// <summary><para>See <a href="https://corefork.telegram.org/method/payments.assignPlayMarketTransaction"/></para></summary>
public static Task<UpdatesBase> Payments_AssignPlayMarketTransaction(this Client client, string purchase_token)
public static Task<UpdatesBase> Payments_AssignPlayMarketTransaction(this Client client, DataJSON receipt, InputStorePaymentPurpose purpose)
=> client.Invoke(new Payments_AssignPlayMarketTransaction
{
purchase_token = purchase_token,
});
/// <summary><para>See <a href="https://corefork.telegram.org/method/payments.restorePlayMarketReceipt"/></para></summary>
public static Task<UpdatesBase> Payments_RestorePlayMarketReceipt(this Client client, byte[] receipt)
=> client.Invoke(new Payments_RestorePlayMarketReceipt
{
receipt = receipt,
purpose = purpose,
});
/// <summary><para>See <a href="https://corefork.telegram.org/method/payments.canPurchasePremium"/></para></summary>
public static Task<bool> Payments_CanPurchasePremium(this Client client)
public static Task<bool> Payments_CanPurchasePremium(this Client client, InputStorePaymentPurpose purpose)
=> client.Invoke(new Payments_CanPurchasePremium
{
purpose = purpose,
});
/// <summary><para>See <a href="https://corefork.telegram.org/method/payments.requestRecurringPayment"/></para></summary>
@ -5057,10 +5075,17 @@ namespace TL.Methods
public InputPrivacyRule[] rules;
}
[TLDef(0x418D4E0B)]
[TLDef(0xA2C0CF74)]
public class Account_DeleteAccount : IMethod<bool>
{
public Flags flags;
public string reason;
[IfFlag(0)] public InputCheckPasswordSRP password;
[Flags] public enum Flags : uint
{
has_password = 0x1,
}
}
[TLDef(0x08FC711D)]
@ -6205,6 +6230,7 @@ namespace TL.Methods
[Flags] public enum Flags : uint
{
masks = 0x1,
emojis = 0x2,
}
}
@ -6456,6 +6482,7 @@ namespace TL.Methods
[Flags] public enum Flags : uint
{
masks = 0x1,
emojis = 0x2,
}
}
@ -7387,6 +7414,24 @@ namespace TL.Methods
public bool good;
}
[TLDef(0xD9AB0F54)]
public class Messages_GetCustomEmojiDocuments : IMethod<DocumentBase[]>
{
public long[] document_id;
}
[TLDef(0xFBFCA18F)]
public class Messages_GetEmojiStickers : IMethod<Messages_AllStickers>
{
public long hash;
}
[TLDef(0x0ECF6736)]
public class Messages_GetFeaturedEmojiStickers : IMethod<Messages_FeaturedStickersBase>
{
public long hash;
}
[TLDef(0xEDD4882A)]
public class Updates_GetState : IMethod<Updates_State> { }
@ -8099,34 +8144,26 @@ namespace TL.Methods
public InputMedia invoice_media;
}
[TLDef(0x0FEC13C6)]
[TLDef(0x80ED747D)]
public class Payments_AssignAppStoreTransaction : IMethod<UpdatesBase>
{
public Flags flags;
public string transaction_id;
public byte[] receipt;
[Flags] public enum Flags : uint
{
restore = 0x1,
}
public InputStorePaymentPurpose purpose;
}
[TLDef(0x4FAA4AED)]
[TLDef(0xDFFD50D3)]
public class Payments_AssignPlayMarketTransaction : IMethod<UpdatesBase>
{
public string purchase_token;
public DataJSON receipt;
public InputStorePaymentPurpose purpose;
}
[TLDef(0xD164E36A)]
public class Payments_RestorePlayMarketReceipt : IMethod<UpdatesBase>
[TLDef(0x9FC19EB6)]
public class Payments_CanPurchasePremium : IMethod<bool>
{
public byte[] receipt;
public InputStorePaymentPurpose purpose;
}
[TLDef(0xAA6A90C8)]
public class Payments_CanPurchasePremium : IMethod<bool> { }
[TLDef(0x146E958D)]
public class Payments_RequestRecurringPayment : IMethod<UpdatesBase>
{

View file

@ -6,7 +6,7 @@ namespace TL
{
public static class Layer
{
public const int Version = 143; // fetched 14/06/2022 23:30:05
public const int Version = 144; // fetched 28/07/2022 23:41:51
internal const uint VectorCtor = 0x1CB5C415;
internal const uint NullCtor = 0x56730BCC;
internal const uint RpcResultCtor = 0xF35C6D01;
@ -187,6 +187,7 @@ namespace TL
[0xEBBCA3CB] = typeof(MessageActionChatJoinedByRequest),
[0x47DD8079] = typeof(MessageActionWebViewDataSentMe),
[0xB4C38CB5] = typeof(MessageActionWebViewDataSent),
[0xABA0F5C6] = typeof(MessageActionGiftPremium),
[0xA8EDD0F5] = typeof(Dialog),
[0x71BD134C] = typeof(DialogFolder),
[0x2331B22D] = typeof(PhotoEmpty),
@ -212,7 +213,7 @@ namespace TL
[0xA518110D] = typeof(PeerSettings),
[0xA437C3ED] = typeof(WallPaper),
[0xE0804116] = typeof(WallPaperNoFile),
[0x8C72EA81] = typeof(UserFull),
[0xC4B1FC3F] = typeof(UserFull),
[0x145ADE0B] = typeof(Contact),
[0xC13E3C50] = typeof(ImportedContact),
[0x16D9703B] = typeof(ContactStatus),
@ -350,6 +351,7 @@ namespace TL
[0x14B85813] = typeof(UpdateBotMenuButton),
[0x74D8BE99] = typeof(UpdateSavedRingtones),
[0x0084CD5A] = typeof(UpdateTranscribedAudio),
[0xFB4C496C] = typeof(UpdateReadFeaturedEmojiStickers),
[0xA56C2A3E] = typeof(Updates_State),
[0x5D75A138] = typeof(Updates_DifferenceEmpty),
[0x00F49CA0] = typeof(Updates_Difference),
@ -444,6 +446,7 @@ namespace TL
[0x9852F9C6] = typeof(DocumentAttributeAudio),
[0x15590068] = typeof(DocumentAttributeFilename),
[0x9801D2F7] = typeof(DocumentAttributeHasStickers),
[0xFD149899] = typeof(DocumentAttributeCustomEmoji),
[0xF1749A22] = null,//Messages_StickersNotModified
[0x30A6EC7E] = typeof(Messages_Stickers),
[0x12B299D4] = typeof(StickerPack),
@ -472,7 +475,8 @@ namespace TL
[0x028703C8] = typeof(InputStickerSetAnimatedEmoji),
[0xE67F520E] = typeof(InputStickerSetDice),
[0x0CDE3739] = typeof(InputStickerSetAnimatedEmojiAnimations),
[0xD7DF217A] = typeof(StickerSet),
[0xC88B3B02] = typeof(InputStickerSetPremiumGifts),
[0x2DD14EDC] = typeof(StickerSet),
[0xB60A24A6] = typeof(Messages_StickerSet),
[0xD3F924EB] = null,//Messages_StickerSetNotModified
[0xC27AC8C7] = typeof(BotCommand),
@ -517,6 +521,7 @@ namespace TL
[0x020DF5D0] = typeof(MessageEntityBlockquote),
[0x761E6AF4] = typeof(MessageEntityBankCard),
[0x32CA960F] = typeof(MessageEntitySpoiler),
[0xC8CF05F8] = typeof(MessageEntityCustomEmoji),
[0xEE8C1E86] = null,//InputChannelEmpty
[0xF35AEC28] = typeof(InputChannel),
[0x5B934F9D] = typeof(InputChannelFromMessage),
@ -588,7 +593,7 @@ namespace TL
[0x1B0C841A] = typeof(DraftMessageEmpty),
[0xFD8E711F] = typeof(DraftMessage),
[0xC6DC0C66] = typeof(Messages_FeaturedStickersNotModified),
[0x84C02310] = typeof(Messages_FeaturedStickers),
[0xBE382906] = typeof(Messages_FeaturedStickers),
[0x0B17F890] = null,//Messages_RecentStickersNotModified
[0x88D37C56] = typeof(Messages_RecentStickers),
[0x4FCBA9C8] = typeof(Messages_ArchivedStickers),
@ -596,6 +601,7 @@ namespace TL
[0x35E410A8] = typeof(Messages_StickerSetInstallResultArchive),
[0x6410A5D2] = typeof(StickerSetCovered),
[0x3407E51B] = typeof(StickerSetMultiCovered),
[0x1AED5EE5] = typeof(StickerSetFullCovered),
[0xAED6DBB2] = typeof(MaskCoords),
[0x4A992157] = typeof(InputStickeredMediaPhoto),
[0x0438865B] = typeof(InputStickeredMediaDocument),
@ -662,7 +668,7 @@ namespace TL
[0xC239D686] = typeof(InputWebFileLocation),
[0x9F2221C9] = typeof(InputWebFileGeoPointLocation),
[0x21E753BC] = typeof(Upload_WebFile),
[0xB0133B37] = typeof(Payments_PaymentForm),
[0xA0058751] = typeof(Payments_PaymentForm),
[0xD1451883] = typeof(Payments_ValidatedRequestedInfo),
[0x4E5F810D] = typeof(Payments_PaymentResult),
[0xD8411139] = typeof(Payments_PaymentVerificationNeeded),
@ -980,6 +986,10 @@ namespace TL
[0xAED0CBD9] = typeof(Payments_ExportedInvoice),
[0x93752C52] = typeof(Messages_TranscribedAudio),
[0x8A4F3C29] = typeof(Help_PremiumPromo),
[0xA6751E66] = typeof(InputStorePaymentPremiumSubscription),
[0x616F7FE8] = typeof(InputStorePaymentGiftPremium),
[0x74C34319] = typeof(PremiumGiftOption),
[0x88F8F21B] = typeof(PaymentFormMethod),
// from TL.Secret:
[0xBB718624] = typeof(Layer66.SendMessageUploadRoundAction),
[0xE50511D8] = typeof(Layer45.DecryptedMessageMediaWebPage),