diff --git a/README.md b/README.md
index be93df3..8f056d5 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
[](https://www.nuget.org/packages/WTelegramClient/)
[](https://dev.azure.com/wiz0u/WTelegramClient/_build?definitionId=7)
-[](https://corefork.telegram.org/methods)
+[](https://corefork.telegram.org/methods)
[](https://dev.azure.com/wiz0u/WTelegramClient/_artifacts/feed/WTelegramClient/NuGet/WTelegramClient)
[](https://t.me/WTelegramClient)
[](http://t.me/WTelegramBot?start=donate)
diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs
index 7323773..a6e8f7b 100644
--- a/src/TL.Schema.cs
+++ b/src/TL.Schema.cs
@@ -695,7 +695,7 @@ namespace TL
public long id;
}
/// Indicates info about a certain user See
- [TLDef(0x3FF6ECB0)]
+ [TLDef(0x5D99ADEE)]
public partial class User : UserBase
{
/// Flags, see TL conditional fields
@@ -724,6 +724,7 @@ namespace TL
[IfFlag(19)] public string bot_inline_placeholder;
/// Language code of the user
[IfFlag(22)] public string lang_code;
+ [IfFlag(30)] public EmojiStatus emoji_status;
[Flags] public enum Flags : uint
{
@@ -781,6 +782,8 @@ namespace TL
premium = 0x10000000,
/// Whether we installed the attachment menu web app offered by this bot
attach_menu_enabled = 0x20000000,
+ /// Field has a value
+ has_emoji_status = 0x40000000,
}
}
@@ -1070,10 +1073,10 @@ namespace TL
/// IDs of users who requested to join recently
public abstract long[] RecentRequesters { get; }
/// Allowed message reactions »
- public abstract string[] AvailableReactions { get; }
+ public abstract ChatReactions AvailableReactions { get; }
}
/// Full info about a basic group. See
- [TLDef(0xD18EE226)]
+ [TLDef(0xC9D31138)]
public partial class ChatFull : ChatFullBase
{
/// Flags, see TL conditional fields
@@ -1109,7 +1112,7 @@ namespace TL
/// IDs of users who requested to join recently
[IfFlag(17)] public long[] recent_requesters;
/// Allowed message reactions »
- [IfFlag(18)] public string[] available_reactions;
+ [IfFlag(18)] public ChatReactions available_reactions;
[Flags] public enum Flags : uint
{
@@ -1170,10 +1173,10 @@ namespace TL
/// IDs of users who requested to join recently
public override long[] RecentRequesters => recent_requesters;
/// Allowed message reactions »
- public override string[] AvailableReactions => available_reactions;
+ public override ChatReactions AvailableReactions => available_reactions;
}
/// Full info about a channel, supergroup or gigagroup. See
- [TLDef(0xEA68A619)]
+ [TLDef(0xF2355507)]
public partial class ChannelFull : ChatFullBase
{
/// Flags, see TL conditional fields
@@ -1249,7 +1252,7 @@ namespace TL
/// Default peer used for sending messages to this channel
[IfFlag(29)] public Peer default_send_as;
/// Allowed message reactions »
- [IfFlag(30)] public string[] available_reactions;
+ [IfFlag(30)] public ChatReactions available_reactions;
[Flags] public enum Flags : uint
{
@@ -1352,7 +1355,7 @@ namespace TL
/// IDs of users who requested to join recently
public override long[] RecentRequesters => recent_requesters;
/// Allowed message reactions »
- public override string[] AvailableReactions => available_reactions;
+ public override ChatReactions AvailableReactions => available_reactions;
}
/// Details of a group member. Derived classes: , , See
@@ -3250,7 +3253,7 @@ namespace TL
[Flags] public enum Flags : uint
{
- /// (boolTrue) if the message must be displayed in a popup.
+ /// If set, the message must be displayed in a popup.
popup = 0x1,
/// Field has a value
has_inbox_date = 0x2,
@@ -3419,25 +3422,24 @@ namespace TL
public Messages_StickerSet stickerset;
}
/// The order of stickersets was changed See
- [TLDef(0x0BB2D201)]
- public class UpdateStickerSetsOrder : Update
+ [TLDef(0x0BB2D201, inheritBefore = true)]
+ public class UpdateStickerSetsOrder : UpdateStickerSets
{
- /// Flags, see TL conditional fields
- public Flags flags;
/// New sticker order by sticker ID
public long[] order;
+ }
+ /// Installed stickersets have changed, the client should refetch them using messages.getAllStickers See
+ [TLDef(0x31C24808)]
+ public class UpdateStickerSets : Update
+ {
+ public Flags flags;
[Flags] public enum Flags : uint
{
- /// Whether the updated stickers are mask stickers
masks = 0x1,
- /// Whether the updated stickers are custom emoji stickers
emojis = 0x2,
}
}
- /// Installed stickersets have changed, the client should refetch them using messages.getAllStickers See
- [TLDef(0x43AE3DEC)]
- public class UpdateStickerSets : Update { }
/// The saved gif list has changed, the client should refetch it using messages.getSavedGifs See
[TLDef(0x9375341E)]
public class UpdateSavedGifs : Update { }
@@ -4244,6 +4246,32 @@ namespace TL
/// Some featured emoji stickers were marked as read See
[TLDef(0xFB4C496C)]
public class UpdateReadFeaturedEmojiStickers : Update { }
+ /// See
+ [TLDef(0x28373599)]
+ public class UpdateUserEmojiStatus : Update
+ {
+ public long user_id;
+ public EmojiStatus emoji_status;
+ }
+ /// See
+ [TLDef(0x30F443DB)]
+ public class UpdateRecentEmojiStatuses : Update { }
+ /// See
+ [TLDef(0x6F7863F4)]
+ public class UpdateRecentReactions : Update { }
+ /// See
+ [TLDef(0x86FCCF85)]
+ public class UpdateMoveStickerSetToTop : Update
+ {
+ public Flags flags;
+ public long stickerset;
+
+ [Flags] public enum Flags : uint
+ {
+ masks = 0x1,
+ emojis = 0x2,
+ }
+ }
/// Updates state. See
[TLDef(0xA56C2A3E)]
@@ -4669,7 +4697,7 @@ namespace TL
}
/// Current configuration See
- [TLDef(0x330B4067)]
+ [TLDef(0x232566AC)]
public class Config : IObject
{
/// Flags, see TL conditional fields
@@ -4762,6 +4790,7 @@ namespace TL
[IfFlag(2)] public int lang_pack_version;
/// Basic language pack version
[IfFlag(2)] public int base_lang_pack_version;
+ [IfFlag(15)] public Reaction reactions_default;
[Flags] public enum Flags : uint
{
@@ -4795,6 +4824,8 @@ namespace TL
pfs_enabled = 0x2000,
/// Whether to forcefully try connecting using IPv6
force_try_ipv6 = 0x4000,
+ /// Field has a value
+ has_reactions_default = 0x8000,
}
}
@@ -5812,7 +5843,7 @@ namespace TL
}
/// Configuration for two-factor authorization See
- [TLDef(0x185B184F)]
+ [TLDef(0x957B50FB)]
public class Account_Password : IObject
{
/// Flags, see TL conditional fields
@@ -5835,6 +5866,7 @@ namespace TL
public byte[] secure_random;
/// The 2FA password will be automatically removed at this date, unless the user cancels the operation
[IfFlag(5)] public DateTime pending_reset_date;
+ [IfFlag(6)] public string login_email_pattern;
[Flags] public enum Flags : uint
{
@@ -5850,6 +5882,8 @@ namespace TL
has_email_unconfirmed_pattern = 0x10,
/// Field has a value
has_pending_reset_date = 0x20,
+ /// Field has a value
+ has_login_email_pattern = 0x40,
}
}
@@ -6061,6 +6095,12 @@ namespace TL
/// Stickers to show when receiving a gifted Telegram Premium subscription See
[TLDef(0xC88B3B02)]
public class InputStickerSetPremiumGifts : InputStickerSet { }
+ /// See
+ [TLDef(0x04C4D4CE)]
+ public class InputStickerSetEmojiGenericAnimations : InputStickerSet { }
+ /// See
+ [TLDef(0x29D0F5EE)]
+ public class InputStickerSetEmojiDefaultStatuses : InputStickerSet { }
/// Represents a stickerset (stickerpack) See
[TLDef(0x2DD14EDC)]
@@ -7594,6 +7634,34 @@ namespace TL
/// Prefix of the phone number from which the call will be made
public string prefix;
}
+ /// See
+ [TLDef(0x5A159841)]
+ public class Auth_SentCodeTypeEmailCode : Auth_SentCodeType
+ {
+ public Flags flags;
+ public string email_pattern;
+ public int length;
+ [IfFlag(2)] public DateTime next_phone_login_date;
+
+ [Flags] public enum Flags : uint
+ {
+ apple_signin_allowed = 0x1,
+ google_signin_allowed = 0x2,
+ has_next_phone_login_date = 0x4,
+ }
+ }
+ /// See
+ [TLDef(0xA5491DEA)]
+ public class Auth_SentCodeTypeSetUpEmailRequired : Auth_SentCodeType
+ {
+ public Flags flags;
+
+ [Flags] public enum Flags : uint
+ {
+ apple_signin_allowed = 0x1,
+ google_signin_allowed = 0x2,
+ }
+ }
/// Callback answer sent by the bot in response to a button press See
[TLDef(0x36585EA4)]
@@ -9707,13 +9775,13 @@ namespace TL
public MessageBase message;
}
/// The set of allowed message reactions » for this channel has changed See
- [TLDef(0x9CF7F76A)]
+ [TLDef(0xBE4E0EF8)]
public class ChannelAdminLogEventActionChangeAvailableReactions : ChannelAdminLogEventAction
{
/// Previously allowed reaction emojis
- public string[] prev_value;
+ public ChatReactions prev_value;
/// New allowed reaction emojis
- public string[] new_value;
+ public ChatReactions new_value;
}
/// Admin log event See
@@ -11487,7 +11555,7 @@ namespace TL
[IfFlag(3)] public int outbox_accent_color;
/// The fill to be used as a background for outgoing messages, in RGB24 format.
If just one or two equal colors are provided, describes a solid fill of a background.
If two different colors are provided, describes the top and bottom colors of a 0-degree gradient.
If three or four colors are provided, describes a freeform gradient fill of a background.
[IfFlag(0)] public int[] message_colors;
- /// Wallpaper
+ /// or when passing wallpaper files for image or pattern wallpapers, with id=0 otherwise.
[IfFlag(1)] public InputWallPaperBase wallpaper;
/// Wallpaper settings.
[IfFlag(1)] public WallPaperSettings wallpaper_settings;
@@ -12797,11 +12865,11 @@ namespace TL
}
/// A list of peers that can be used to send messages in a specific group See
- [TLDef(0x8356CDA9)]
+ [TLDef(0xF496B0C6)]
public class Channels_SendAsPeers : IObject, IPeerResolver
{
/// Peers that can be used to send messages to the group
- public Peer[] peers;
+ public SendAsPeer[] peers;
/// Mentioned chats
public Dictionary chats;
/// Mentioned users
@@ -12855,20 +12923,21 @@ namespace TL
}
/// Reactions See
- [TLDef(0x6FB250D1)]
+ [TLDef(0xA3D1CB80)]
public class ReactionCount : IObject
{
/// Flags, see TL conditional fields
public Flags flags;
+ [IfFlag(0)] public int chosen_order;
/// Reaction (a UTF8 emoji)
- public string reaction;
+ public Reaction reaction;
/// NUmber of users that reacted with this emoji
public int count;
[Flags] public enum Flags : uint
{
- /// Whether the current user sent this reaction
- chosen = 0x1,
+ /// Field has a value
+ has_chosen_order = 0x1,
}
}
@@ -12981,7 +13050,7 @@ namespace TL
}
/// How a certain peer reacted to the message See
- [TLDef(0x51B67EFF)]
+ [TLDef(0xB156FE9C)]
public class MessagePeerReaction : IObject
{
/// Flags, see TL conditional fields
@@ -12989,7 +13058,7 @@ namespace TL
/// Peer that reacted to the message
public Peer peer_id;
/// Reaction emoji
- public string reaction;
+ public Reaction reaction;
[Flags] public enum Flags : uint
{
@@ -13271,7 +13340,7 @@ namespace TL
}
/// Telegram Premium promotion information See
- [TLDef(0x8A4F3C29)]
+ [TLDef(0x5334759C)]
public class Help_PremiumPromo : IObject
{
/// Description of the current state of the user's Telegram Premium subscription
@@ -13282,10 +13351,7 @@ namespace TL
public string[] video_sections;
/// A list of videos
public DocumentBase[] videos;
- /// Three-letter ISO 4217 currency code
- public string currency;
- /// Monthly price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).
- public long monthly_amount;
+ public PremiumSubscriptionOption[] period_options;
/// Related user information
public Dictionary users;
}
@@ -13350,4 +13416,157 @@ namespace TL
/// Payment method description
public string title;
}
+
+ /// See
+ /// a null value means emojiStatusEmpty
+ [TLDef(0x929B619D)]
+ public class EmojiStatus : IObject
+ {
+ public long document_id;
+ }
+ /// See
+ [TLDef(0xFA30A8C7, inheritBefore = true)]
+ public class EmojiStatusUntil : EmojiStatus
+ {
+ public int until;
+ }
+
+ /// See
+ /// a null value means account.emojiStatusesNotModified
+ [TLDef(0x90C467D1)]
+ public class Account_EmojiStatuses : IObject
+ {
+ public long hash;
+ public EmojiStatus[] statuses;
+ }
+
+ /// See
+ /// a null value means reactionEmpty
+ public abstract class Reaction : IObject { }
+ /// See
+ [TLDef(0x1B2286B8)]
+ public class ReactionEmoji : Reaction
+ {
+ public string emoticon;
+ }
+ /// See
+ [TLDef(0x8935FC73)]
+ public class ReactionCustomEmoji : Reaction
+ {
+ public long document_id;
+ }
+
+ /// See
+ public abstract class ChatReactions : IObject { }
+ /// See
+ [TLDef(0xEAFC32BC)]
+ public class ChatReactionsNone : ChatReactions { }
+ /// See
+ [TLDef(0x52928BCA)]
+ public class ChatReactionsAll : ChatReactions
+ {
+ public Flags flags;
+
+ [Flags] public enum Flags : uint
+ {
+ allow_custom = 0x1,
+ }
+ }
+ /// See
+ [TLDef(0x661D4037)]
+ public class ChatReactionsSome : ChatReactions
+ {
+ public Reaction[] reactions;
+ }
+
+ /// See
+ /// a null value means messages.reactionsNotModified
+ [TLDef(0xEAFDF716)]
+ public class Messages_Reactions : IObject
+ {
+ public long hash;
+ public Reaction[] reactions;
+ }
+
+ /// See
+ public abstract class EmailVerifyPurpose : IObject { }
+ /// See
+ [TLDef(0x4345BE73)]
+ public class EmailVerifyPurposeLoginSetup : EmailVerifyPurpose
+ {
+ public string phone_number;
+ public string phone_code_hash;
+ }
+ /// See
+ [TLDef(0x527D22EB)]
+ public class EmailVerifyPurposeLoginChange : EmailVerifyPurpose { }
+ /// See
+ [TLDef(0xBBF51685)]
+ public class EmailVerifyPurposePassport : EmailVerifyPurpose { }
+
+ /// See
+ public abstract class EmailVerification : IObject { }
+ /// See
+ [TLDef(0x922E55A9)]
+ public class EmailVerificationCode : EmailVerification
+ {
+ public string code;
+ }
+ /// See
+ [TLDef(0xDB909EC2)]
+ public class EmailVerificationGoogle : EmailVerification
+ {
+ public string token;
+ }
+ /// See
+ [TLDef(0x96D074FD)]
+ public class EmailVerificationApple : EmailVerification
+ {
+ public string token;
+ }
+
+ /// See
+ [TLDef(0x2B96CD1B)]
+ public class Account_EmailVerified : IObject
+ {
+ public string email;
+ }
+ /// See
+ [TLDef(0xE1BB0D61, inheritBefore = true)]
+ public class Account_EmailVerifiedLogin : Account_EmailVerified
+ {
+ public Auth_SentCode sent_code;
+ }
+
+ /// See
+ [TLDef(0xB6F11EBE)]
+ public class PremiumSubscriptionOption : 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,
+ current = 0x2,
+ can_purchase_upgrade = 0x4,
+ }
+ }
+
+ /// See
+ [TLDef(0xB81C7034)]
+ public class SendAsPeer : IObject
+ {
+ public Flags flags;
+ public Peer peer;
+
+ [Flags] public enum Flags : uint
+ {
+ premium_required = 0x1,
+ }
+ }
}
diff --git a/src/TL.SchemaFuncs.cs b/src/TL.SchemaFuncs.cs
index b09d00b..3a9a410 100644
--- a/src/TL.SchemaFuncs.cs
+++ b/src/TL.SchemaFuncs.cs
@@ -127,12 +127,14 @@ namespace TL
/// SMS-message ID, obtained from auth.sendCode
/// Valid numerical code from the SMS-message
[Obsolete("Use LoginUserIfNeeded instead of this method. See https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#tlsharp")]
- public static Task Auth_SignIn(this Client client, string phone_number, string phone_code_hash, string phone_code)
+ public static Task Auth_SignIn(this Client client, string phone_number, string phone_code_hash, string phone_code = null, EmailVerification email_verification = null)
=> client.Invoke(new Auth_SignIn
{
+ flags = (Auth_SignIn.Flags)((phone_code != null ? 0x1 : 0) | (email_verification != null ? 0x2 : 0)),
phone_number = phone_number,
phone_code_hash = phone_code_hash,
phone_code = phone_code,
+ email_verification = email_verification,
});
/// Logs out the user. See [bots: ✓]
@@ -640,20 +642,19 @@ namespace TL
/// Send the verification email code for telegram passport. See Possible codes: 400 (details)
/// The email where to send the code
- public static Task Account_SendVerifyEmailCode(this Client client, string email)
+ public static Task Account_SendVerifyEmailCode(this Client client, EmailVerifyPurpose purpose, string email)
=> client.Invoke(new Account_SendVerifyEmailCode
{
+ purpose = purpose,
email = email,
});
/// Verify an email address for telegram passport. See Possible codes: 400 (details)
- /// The email to verify
- /// The verification code that was received
- public static Task Account_VerifyEmail(this Client client, string email, string code)
+ public static Task Account_VerifyEmail(this Client client, EmailVerifyPurpose purpose, EmailVerification verification)
=> client.Invoke(new Account_VerifyEmail
{
- email = email,
- code = code,
+ purpose = purpose,
+ verification = verification,
});
/// Initialize account takeout session See Possible codes: 420 (details)
@@ -789,7 +790,7 @@ namespace TL
});
/// Upload theme See Possible codes: 400 (details)
- /// Theme file uploaded as described in files »
+ /// Previously uploaded theme file with platform-specific colors for UI components, can be left unset when creating themes that only modify the wallpaper or accent colors.
/// Thumbnail
/// File name
/// MIME type, must be application/x-tgtheme-{format}, where format depends on the client
@@ -804,7 +805,7 @@ namespace TL
});
/// Create a theme See Possible codes: 400 (details)
- /// Unique theme ID
+ /// Unique theme ID used to generate theme deep links, can be empty to autogenerate a random ID.
/// Theme name
/// Theme file
/// Theme settings
@@ -1007,6 +1008,35 @@ namespace TL
mime_type = mime_type,
});
+ /// See
+ public static Task Account_UpdateEmojiStatus(this Client client, EmojiStatus emoji_status)
+ => client.Invoke(new Account_UpdateEmojiStatus
+ {
+ emoji_status = emoji_status,
+ });
+
+ /// See
+ /// a null value means account.emojiStatusesNotModified
+ public static Task Account_GetDefaultEmojiStatuses(this Client client, long hash = default)
+ => client.Invoke(new Account_GetDefaultEmojiStatuses
+ {
+ hash = hash,
+ });
+
+ /// See
+ /// a null value means account.emojiStatusesNotModified
+ public static Task Account_GetRecentEmojiStatuses(this Client client, long hash = default)
+ => client.Invoke(new Account_GetRecentEmojiStatuses
+ {
+ hash = hash,
+ });
+
+ /// See
+ public static Task Account_ClearRecentEmojiStatuses(this Client client)
+ => client.Invoke(new Account_ClearRecentEmojiStatuses
+ {
+ });
+
/// 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)
@@ -1387,10 +1417,10 @@ namespace TL
/// Message entities for sending styled text
/// Scheduled message date for scheduled messages
/// Send this message as the specified peer
- public static Task Messages_SendMessage(this Client client, InputPeer peer, string message, long random_id, bool no_webpage = false, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, int? reply_to_msg_id = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, InputPeer send_as = null)
+ public static Task Messages_SendMessage(this Client client, InputPeer peer, string message, long random_id, bool no_webpage = false, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, bool update_stickersets_order = false, int? reply_to_msg_id = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, InputPeer send_as = null)
=> client.Invoke(new Messages_SendMessage
{
- flags = (Messages_SendMessage.Flags)((no_webpage ? 0x2 : 0) | (silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (reply_to_msg_id != null ? 0x1 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0)),
+ flags = (Messages_SendMessage.Flags)((no_webpage ? 0x2 : 0) | (silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (update_stickersets_order ? 0x8000 : 0) | (reply_to_msg_id != null ? 0x1 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0)),
peer = peer,
reply_to_msg_id = reply_to_msg_id.GetValueOrDefault(),
message = message,
@@ -1415,10 +1445,10 @@ namespace TL
/// Message entities for styled text
/// Scheduled message date for scheduled messages
/// Send this message as the specified peer
- public static Task Messages_SendMedia(this Client client, InputPeer peer, InputMedia media, string message, long random_id, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, int? reply_to_msg_id = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, InputPeer send_as = null)
+ public static Task Messages_SendMedia(this Client client, InputPeer peer, InputMedia media, string message, long random_id, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, bool update_stickersets_order = false, int? reply_to_msg_id = null, ReplyMarkup reply_markup = null, MessageEntity[] entities = null, DateTime? schedule_date = null, InputPeer send_as = null)
=> client.Invoke(new Messages_SendMedia
{
- flags = (Messages_SendMedia.Flags)((silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (reply_to_msg_id != null ? 0x1 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0)),
+ flags = (Messages_SendMedia.Flags)((silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (update_stickersets_order ? 0x8000 : 0) | (reply_to_msg_id != null ? 0x1 : 0) | (reply_markup != null ? 0x4 : 0) | (entities != null ? 0x8 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0)),
peer = peer,
reply_to_msg_id = reply_to_msg_id.GetValueOrDefault(),
media = media,
@@ -2371,10 +2401,10 @@ namespace TL
/// The medias to send
/// Scheduled message date for scheduled messages
/// Send this message as the specified peer
- public static Task Messages_SendMultiMedia(this Client client, InputPeer peer, InputSingleMedia[] multi_media, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, int? reply_to_msg_id = null, DateTime? schedule_date = null, InputPeer send_as = null)
+ public static Task Messages_SendMultiMedia(this Client client, InputPeer peer, InputSingleMedia[] multi_media, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, bool update_stickersets_order = false, int? reply_to_msg_id = null, DateTime? schedule_date = null, InputPeer send_as = null)
=> client.Invoke(new Messages_SendMultiMedia
{
- flags = (Messages_SendMultiMedia.Flags)((silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (reply_to_msg_id != null ? 0x1 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0)),
+ flags = (Messages_SendMultiMedia.Flags)((silent ? 0x20 : 0) | (background ? 0x40 : 0) | (clear_draft ? 0x80 : 0) | (noforwards ? 0x4000 : 0) | (update_stickersets_order ? 0x8000 : 0) | (reply_to_msg_id != null ? 0x1 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0)),
peer = peer,
reply_to_msg_id = reply_to_msg_id.GetValueOrDefault(),
multi_media = multi_media,
@@ -3019,10 +3049,10 @@ namespace TL
/// Peer
/// Message ID to react to
/// Reaction (a UTF8 emoji)
- public static Task Messages_SendReaction(this Client client, InputPeer peer, int msg_id, bool big = false, string reaction = null)
+ public static Task Messages_SendReaction(this Client client, InputPeer peer, int msg_id, bool big = false, bool add_to_recent = false, Reaction[] reaction = null)
=> client.Invoke(new Messages_SendReaction
{
- flags = (Messages_SendReaction.Flags)((big ? 0x2 : 0) | (reaction != null ? 0x1 : 0)),
+ flags = (Messages_SendReaction.Flags)((big ? 0x2 : 0) | (add_to_recent ? 0x4 : 0) | (reaction != null ? 0x1 : 0)),
peer = peer,
msg_id = msg_id,
reaction = reaction,
@@ -3044,7 +3074,7 @@ namespace TL
/// Get only reactions of this type (UTF8 emoji)
/// Offset (typically taken from the next_offset field of the returned )
/// Maximum number of results to return, see pagination
- public static Task Messages_GetMessageReactionsList(this Client client, InputPeer peer, int id, int limit = int.MaxValue, string reaction = null, string offset = null)
+ public static Task Messages_GetMessageReactionsList(this Client client, InputPeer peer, int id, int limit = int.MaxValue, Reaction reaction = null, string offset = null)
=> client.Invoke(new Messages_GetMessageReactionsList
{
flags = (Messages_GetMessageReactionsList.Flags)((reaction != null ? 0x1 : 0) | (offset != null ? 0x2 : 0)),
@@ -3058,7 +3088,7 @@ namespace TL
/// Change the set of message reactions » that can be used in a certain group, supergroup or channel See Possible codes: 400 (details)
/// Group where to apply changes
/// Allowed reaction emojis
- public static Task Messages_SetChatAvailableReactions(this Client client, InputPeer peer, string[] available_reactions)
+ public static Task Messages_SetChatAvailableReactions(this Client client, InputPeer peer, ChatReactions available_reactions)
=> client.Invoke(new Messages_SetChatAvailableReactions
{
peer = peer,
@@ -3076,7 +3106,7 @@ namespace TL
/// Change default emoji reaction to use in the quick reaction menu: the value is synced across devices and can be fetched using help.getAppConfig, reactions_default field. See
/// New emoji reaction
- public static Task Messages_SetDefaultReaction(this Client client, string reaction)
+ public static Task Messages_SetDefaultReaction(this Client client, Reaction reaction)
=> client.Invoke(new Messages_SetDefaultReaction
{
reaction = reaction,
@@ -3174,7 +3204,7 @@ namespace TL
/// Theme parameters for the web app
/// Whether the inline message that will be sent by the bot on behalf of the user once the web app interaction is terminated should be sent in reply to this message ID.
/// Open the web app as the specified peer, sending the resulting the message as the specified peer.
- public static Task Messages_RequestWebView(this Client client, InputPeer peer, InputUserBase bot, bool from_bot_menu = false, bool silent = false, string url = null, string start_param = null, DataJSON theme_params = null, int? reply_to_msg_id = null, InputPeer send_as = null)
+ public static Task Messages_RequestWebView(this Client client, InputPeer peer, InputUserBase bot, string platform, bool from_bot_menu = false, bool silent = false, string url = null, string start_param = null, DataJSON theme_params = null, int? reply_to_msg_id = null, InputPeer send_as = null)
=> client.Invoke(new Messages_RequestWebView
{
flags = (Messages_RequestWebView.Flags)((from_bot_menu ? 0x10 : 0) | (silent ? 0x20 : 0) | (url != null ? 0x2 : 0) | (start_param != null ? 0x8 : 0) | (theme_params != null ? 0x4 : 0) | (reply_to_msg_id != null ? 0x1 : 0) | (send_as != null ? 0x2000 : 0)),
@@ -3183,6 +3213,7 @@ namespace TL
url = url,
start_param = start_param,
theme_params = theme_params,
+ platform = platform,
reply_to_msg_id = reply_to_msg_id.GetValueOrDefault(),
send_as = send_as,
});
@@ -3209,13 +3240,14 @@ namespace TL
/// Bot that owns the webapp
/// Web app URL
/// Theme parameters
- public static Task Messages_RequestSimpleWebView(this Client client, InputUserBase bot, string url, DataJSON theme_params = null)
+ public static Task Messages_RequestSimpleWebView(this Client client, InputUserBase bot, string url, string platform, DataJSON theme_params = null)
=> client.Invoke(new Messages_RequestSimpleWebView
{
flags = (Messages_RequestSimpleWebView.Flags)(theme_params != null ? 0x1 : 0),
bot = bot,
url = url,
theme_params = theme_params,
+ platform = platform,
});
/// ⚠ This method is only for basic Chat. See Terminology to understand what this means
Search for a similar method name starting with Channels_ if you're dealing with a Terminate webview interaction started with messages.requestWebView, sending the specified message to the chat on behalf of the user. See [bots: ✓] Possible codes: 400 (details)
@@ -3291,6 +3323,39 @@ namespace TL
hash = hash,
});
+ /// See
+ public static Task Messages_ReportReaction(this Client client, InputPeer peer, int id, InputPeer reaction_peer)
+ => client.Invoke(new Messages_ReportReaction
+ {
+ peer = peer,
+ id = id,
+ reaction_peer = reaction_peer,
+ });
+
+ /// See
+ /// a null value means messages.reactionsNotModified
+ public static Task Messages_GetTopReactions(this Client client, int limit = int.MaxValue, long hash = default)
+ => client.Invoke(new Messages_GetTopReactions
+ {
+ limit = limit,
+ hash = hash,
+ });
+
+ /// See
+ /// a null value means messages.reactionsNotModified
+ public static Task Messages_GetRecentReactions(this Client client, int limit = int.MaxValue, long hash = default)
+ => client.Invoke(new Messages_GetRecentReactions
+ {
+ limit = limit,
+ hash = hash,
+ });
+
+ /// See
+ public static Task Messages_ClearRecentReactions(this Client client)
+ => client.Invoke(new Messages_ClearRecentReactions
+ {
+ });
+
/// Returns a current state of updates. See [bots: ✓]
public static Task Updates_GetState(this Client client)
=> client.Invoke(new Updates_GetState
@@ -4269,15 +4334,6 @@ namespace TL
purpose = purpose,
});
- /// See
- public static Task Payments_RequestRecurringPayment(this Client client, InputUserBase user_id, string recurring_init_charge, InputMedia invoice_media)
- => client.Invoke(new Payments_RequestRecurringPayment
- {
- user_id = user_id,
- recurring_init_charge = recurring_init_charge,
- invoice_media = invoice_media,
- });
-
/// Create a stickerset, bots only. See [bots: ✓] Possible codes: 400 (details)
/// Whether this is a mask stickerset
/// Whether this is an animated stickerset
@@ -4928,12 +4984,20 @@ namespace TL.Methods
public string last_name;
}
- [TLDef(0xBCD51581)]
+ [TLDef(0x8D52A951)]
public class Auth_SignIn : IMethod
{
+ public Flags flags;
public string phone_number;
public string phone_code_hash;
- public string phone_code;
+ [IfFlag(0)] public string phone_code;
+ [IfFlag(1)] public EmailVerification email_verification;
+
+ [Flags] public enum Flags : uint
+ {
+ has_phone_code = 0x1,
+ has_email_verification = 0x2,
+ }
}
[TLDef(0x3E72BA19)]
@@ -5298,17 +5362,18 @@ namespace TL.Methods
public string phone_code;
}
- [TLDef(0x7011509F)]
+ [TLDef(0x98E037BB)]
public class Account_SendVerifyEmailCode : IMethod
{
+ public EmailVerifyPurpose purpose;
public string email;
}
- [TLDef(0xECBA39DB)]
- public class Account_VerifyEmail : IMethod
+ [TLDef(0x032DA4CF)]
+ public class Account_VerifyEmail : IMethod
{
- public string email;
- public string code;
+ public EmailVerifyPurpose purpose;
+ public EmailVerification verification;
}
[TLDef(0x8EF3EAB0)]
@@ -5603,6 +5668,27 @@ namespace TL.Methods
public string mime_type;
}
+ [TLDef(0xFBD3DE6B)]
+ public class Account_UpdateEmojiStatus : IMethod
+ {
+ public EmojiStatus emoji_status;
+ }
+
+ [TLDef(0xD6753386)]
+ public class Account_GetDefaultEmojiStatuses : IMethod
+ {
+ public long hash;
+ }
+
+ [TLDef(0x0F578105)]
+ public class Account_GetRecentEmojiStatuses : IMethod
+ {
+ public long hash;
+ }
+
+ [TLDef(0x18201AAE)]
+ public class Account_ClearRecentEmojiStatuses : IMethod { }
+
[TLDef(0x0D91A548)]
public class Users_GetUsers : IMethod
{
@@ -5926,6 +6012,7 @@ namespace TL.Methods
has_schedule_date = 0x400,
has_send_as = 0x2000,
noforwards = 0x4000,
+ update_stickersets_order = 0x8000,
}
}
@@ -5954,6 +6041,7 @@ namespace TL.Methods
has_schedule_date = 0x400,
has_send_as = 0x2000,
noforwards = 0x4000,
+ update_stickersets_order = 0x8000,
}
}
@@ -6764,6 +6852,7 @@ namespace TL.Methods
has_schedule_date = 0x400,
has_send_as = 0x2000,
noforwards = 0x4000,
+ update_stickersets_order = 0x8000,
}
}
@@ -7273,18 +7362,19 @@ namespace TL.Methods
public InputPeer send_as;
}
- [TLDef(0x25690CE4)]
+ [TLDef(0xD30D78D4)]
public class Messages_SendReaction : IMethod
{
public Flags flags;
public InputPeer peer;
public int msg_id;
- [IfFlag(0)] public string reaction;
+ [IfFlag(0)] public Reaction[] reaction;
[Flags] public enum Flags : uint
{
has_reaction = 0x1,
big = 0x2,
+ add_to_recent = 0x4,
}
}
@@ -7295,13 +7385,13 @@ namespace TL.Methods
public int[] id;
}
- [TLDef(0xE0EE6B77)]
+ [TLDef(0x461B3F48)]
public class Messages_GetMessageReactionsList : IMethod
{
public Flags flags;
public InputPeer peer;
public int id;
- [IfFlag(0)] public string reaction;
+ [IfFlag(0)] public Reaction reaction;
[IfFlag(1)] public string offset;
public int limit;
@@ -7312,11 +7402,11 @@ namespace TL.Methods
}
}
- [TLDef(0x14050EA6)]
+ [TLDef(0xFEB16771)]
public class Messages_SetChatAvailableReactions : IMethod
{
public InputPeer peer;
- public string[] available_reactions;
+ public ChatReactions available_reactions;
}
[TLDef(0x18DEA0AC)]
@@ -7325,10 +7415,10 @@ namespace TL.Methods
public int hash;
}
- [TLDef(0xD960C4D4)]
+ [TLDef(0x4F47A016)]
public class Messages_SetDefaultReaction : IMethod
{
- public string reaction;
+ public Reaction reaction;
}
[TLDef(0x24CE6DEE)]
@@ -7393,7 +7483,7 @@ namespace TL.Methods
public bool enabled;
}
- [TLDef(0x91B15831)]
+ [TLDef(0xFC87A53C)]
public class Messages_RequestWebView : IMethod
{
public Flags flags;
@@ -7402,6 +7492,7 @@ namespace TL.Methods
[IfFlag(1)] public string url;
[IfFlag(3)] public string start_param;
[IfFlag(2)] public DataJSON theme_params;
+ public string platform;
[IfFlag(0)] public int reply_to_msg_id;
[IfFlag(13)] public InputPeer send_as;
@@ -7435,13 +7526,14 @@ namespace TL.Methods
}
}
- [TLDef(0x6ABB2F73)]
+ [TLDef(0x299BEC8E)]
public class Messages_RequestSimpleWebView : IMethod
{
public Flags flags;
public InputUserBase bot;
public string url;
[IfFlag(0)] public DataJSON theme_params;
+ public string platform;
[Flags] public enum Flags : uint
{
@@ -7499,6 +7591,31 @@ namespace TL.Methods
public long hash;
}
+ [TLDef(0x3F64C076)]
+ public class Messages_ReportReaction : IMethod
+ {
+ public InputPeer peer;
+ public int id;
+ public InputPeer reaction_peer;
+ }
+
+ [TLDef(0xBB8125BA)]
+ public class Messages_GetTopReactions : IMethod
+ {
+ public int limit;
+ public long hash;
+ }
+
+ [TLDef(0x39461DB2)]
+ public class Messages_GetRecentReactions : IMethod
+ {
+ public int limit;
+ public long hash;
+ }
+
+ [TLDef(0x9DFEEFB4)]
+ public class Messages_ClearRecentReactions : IMethod { }
+
[TLDef(0xEDD4882A)]
public class Updates_GetState : IMethod { }
@@ -8231,14 +8348,6 @@ namespace TL.Methods
public InputStorePaymentPurpose purpose;
}
- [TLDef(0x146E958D)]
- public class Payments_RequestRecurringPayment : IMethod
- {
- public InputUserBase user_id;
- public string recurring_init_charge;
- public InputMedia invoice_media;
- }
-
[TLDef(0x9021AB67)]
public class Stickers_CreateStickerSet : IMethod
{
diff --git a/src/TL.Table.cs b/src/TL.Table.cs
index 52a1fbd..fba7357 100644
--- a/src/TL.Table.cs
+++ b/src/TL.Table.cs
@@ -6,7 +6,7 @@ namespace TL
{
public static class Layer
{
- public const int Version = 144; // fetched 03/08/2022 22:13:22
+ public const int Version = 145; // fetched 02/09/2022 20:50:42
internal const uint VectorCtor = 0x1CB5C415;
internal const uint NullCtor = 0x56730BCC;
internal const uint RpcResultCtor = 0xF35C6D01;
@@ -116,7 +116,7 @@ namespace TL
[0x36C6019A] = typeof(PeerChat),
[0xA2A5371E] = typeof(PeerChannel),
[0xD3BC4B7A] = typeof(UserEmpty),
- [0x3FF6ECB0] = typeof(User),
+ [0x5D99ADEE] = typeof(User),
[0x4F11BAE1] = null,//UserProfilePhotoEmpty
[0x82D1F706] = typeof(UserProfilePhoto),
[0x09D05049] = null,//UserStatusEmpty
@@ -130,8 +130,8 @@ namespace TL
[0x6592A1A7] = typeof(ChatForbidden),
[0x8261AC61] = typeof(Channel),
[0x17D493D5] = typeof(ChannelForbidden),
- [0xD18EE226] = typeof(ChatFull),
- [0xEA68A619] = typeof(ChannelFull),
+ [0xC9D31138] = typeof(ChatFull),
+ [0xF2355507] = typeof(ChannelFull),
[0xC02D4007] = typeof(ChatParticipant),
[0xE46BCEE4] = typeof(ChatParticipantCreator),
[0xA0933F5B] = typeof(ChatParticipantAdmin),
@@ -283,7 +283,7 @@ namespace TL
[0xD7CA61A2] = typeof(UpdateChatParticipantAdmin),
[0x688A30AA] = typeof(UpdateNewStickerSet),
[0x0BB2D201] = typeof(UpdateStickerSetsOrder),
- [0x43AE3DEC] = typeof(UpdateStickerSets),
+ [0x31C24808] = typeof(UpdateStickerSets),
[0x9375341E] = typeof(UpdateSavedGifs),
[0x496F379C] = typeof(UpdateBotInlineQuery),
[0x12F12A07] = typeof(UpdateBotInlineSend),
@@ -352,6 +352,10 @@ namespace TL
[0x74D8BE99] = typeof(UpdateSavedRingtones),
[0x0084CD5A] = typeof(UpdateTranscribedAudio),
[0xFB4C496C] = typeof(UpdateReadFeaturedEmojiStickers),
+ [0x28373599] = typeof(UpdateUserEmojiStatus),
+ [0x30F443DB] = typeof(UpdateRecentEmojiStatuses),
+ [0x6F7863F4] = typeof(UpdateRecentReactions),
+ [0x86FCCF85] = typeof(UpdateMoveStickerSetToTop),
[0xA56C2A3E] = typeof(Updates_State),
[0x5D75A138] = typeof(Updates_DifferenceEmpty),
[0x00F49CA0] = typeof(Updates_Difference),
@@ -370,7 +374,7 @@ namespace TL
[0x096A18D5] = typeof(Upload_File),
[0xF18CDA44] = typeof(Upload_FileCdnRedirect),
[0x18B7A10D] = typeof(DcOption),
- [0x330B4067] = typeof(Config),
+ [0x232566AC] = typeof(Config),
[0x8E1A1775] = typeof(NearestDc),
[0xCCBBCE30] = typeof(Help_AppUpdate),
[0xC45A6536] = null,//Help_NoAppUpdate
@@ -459,7 +463,7 @@ namespace TL
[0x7311CA11] = typeof(WebPageNotModified),
[0xAD01D61D] = typeof(Authorization),
[0x4BFF8EA0] = typeof(Account_Authorizations),
- [0x185B184F] = typeof(Account_Password),
+ [0x957B50FB] = typeof(Account_Password),
[0x9A5C33E5] = typeof(Account_PasswordSettings),
[0xC23727C9] = typeof(Account_PasswordInputSettings),
[0x137948A5] = typeof(Auth_PasswordRecovery),
@@ -476,6 +480,8 @@ namespace TL
[0xE67F520E] = typeof(InputStickerSetDice),
[0x0CDE3739] = typeof(InputStickerSetAnimatedEmojiAnimations),
[0xC88B3B02] = typeof(InputStickerSetPremiumGifts),
+ [0x04C4D4CE] = typeof(InputStickerSetEmojiGenericAnimations),
+ [0x29D0F5EE] = typeof(InputStickerSetEmojiDefaultStatuses),
[0x2DD14EDC] = typeof(StickerSet),
[0xB60A24A6] = typeof(Messages_StickerSet),
[0xD3F924EB] = null,//Messages_StickerSetNotModified
@@ -579,6 +585,8 @@ namespace TL
[0x5353E5A7] = typeof(Auth_SentCodeTypeCall),
[0xAB03C6D9] = typeof(Auth_SentCodeTypeFlashCall),
[0x82006484] = typeof(Auth_SentCodeTypeMissedCall),
+ [0x5A159841] = typeof(Auth_SentCodeTypeEmailCode),
+ [0xA5491DEA] = typeof(Auth_SentCodeTypeSetUpEmailRequired),
[0x36585EA4] = typeof(Messages_BotCallbackAnswer),
[0x26B5DDE6] = typeof(Messages_MessageEditData),
[0x890C3D89] = typeof(InputBotInlineMessageID),
@@ -737,7 +745,7 @@ namespace TL
[0xAFB6144A] = typeof(ChannelAdminLogEventActionParticipantJoinByRequest),
[0xCB2AC766] = typeof(ChannelAdminLogEventActionToggleNoForwards),
[0x278F2868] = typeof(ChannelAdminLogEventActionSendMessage),
- [0x9CF7F76A] = typeof(ChannelAdminLogEventActionChangeAvailableReactions),
+ [0xBE4E0EF8] = typeof(ChannelAdminLogEventActionChangeAvailableReactions),
[0x1FAD68CD] = typeof(ChannelAdminLogEvent),
[0xED8AF74D] = typeof(Channels_AdminLogResults),
[0xEA107AE4] = typeof(ChannelAdminLogEventsFilter),
@@ -946,11 +954,11 @@ namespace TL
[0x147EE23C] = typeof(Messages_SearchResultsCalendar),
[0x7F648B67] = typeof(SearchResultPosition),
[0x53B22BAF] = typeof(Messages_SearchResultsPositions),
- [0x8356CDA9] = typeof(Channels_SendAsPeers),
+ [0xF496B0C6] = typeof(Channels_SendAsPeers),
[0x3B6D152E] = typeof(Users_UserFull),
[0x6880B94D] = typeof(Messages_PeerSettings),
[0xC3A2835F] = typeof(Auth_LoggedOut),
- [0x6FB250D1] = typeof(ReactionCount),
+ [0xA3D1CB80] = typeof(ReactionCount),
[0x4F2B9479] = typeof(MessageReactions),
[0x31BD492D] = typeof(Messages_MessageReactionsList),
[0xC077EC01] = typeof(AvailableReaction),
@@ -958,7 +966,7 @@ namespace TL
[0x768E3AAD] = typeof(Messages_AvailableReactions),
[0x67CA4737] = typeof(Messages_TranslateNoResult),
[0xA214F7D0] = typeof(Messages_TranslateResultText),
- [0x51B67EFF] = typeof(MessagePeerReaction),
+ [0xB156FE9C] = typeof(MessagePeerReaction),
[0x80EB48AF] = typeof(GroupCallStreamChannel),
[0xD0E482B2] = typeof(Phone_GroupCallStreamChannels),
[0x2DBF3432] = typeof(Phone_GroupCallStreamRtmpUrl),
@@ -986,11 +994,34 @@ namespace TL
[0xC326CAEF] = typeof(InputInvoiceSlug),
[0xAED0CBD9] = typeof(Payments_ExportedInvoice),
[0x93752C52] = typeof(Messages_TranscribedAudio),
- [0x8A4F3C29] = typeof(Help_PremiumPromo),
+ [0x5334759C] = typeof(Help_PremiumPromo),
[0xA6751E66] = typeof(InputStorePaymentPremiumSubscription),
[0x616F7FE8] = typeof(InputStorePaymentGiftPremium),
[0x74C34319] = typeof(PremiumGiftOption),
[0x88F8F21B] = typeof(PaymentFormMethod),
+ [0x2DE11AAE] = null,//EmojiStatusEmpty
+ [0x929B619D] = typeof(EmojiStatus),
+ [0xFA30A8C7] = typeof(EmojiStatusUntil),
+ [0xD08CE645] = null,//Account_EmojiStatusesNotModified
+ [0x90C467D1] = typeof(Account_EmojiStatuses),
+ [0x79F5D419] = null,//ReactionEmpty
+ [0x1B2286B8] = typeof(ReactionEmoji),
+ [0x8935FC73] = typeof(ReactionCustomEmoji),
+ [0xEAFC32BC] = typeof(ChatReactionsNone),
+ [0x52928BCA] = typeof(ChatReactionsAll),
+ [0x661D4037] = typeof(ChatReactionsSome),
+ [0xB06FDBDF] = null,//Messages_ReactionsNotModified
+ [0xEAFDF716] = typeof(Messages_Reactions),
+ [0x4345BE73] = typeof(EmailVerifyPurposeLoginSetup),
+ [0x527D22EB] = typeof(EmailVerifyPurposeLoginChange),
+ [0xBBF51685] = typeof(EmailVerifyPurposePassport),
+ [0x922E55A9] = typeof(EmailVerificationCode),
+ [0xDB909EC2] = typeof(EmailVerificationGoogle),
+ [0x96D074FD] = typeof(EmailVerificationApple),
+ [0x2B96CD1B] = typeof(Account_EmailVerified),
+ [0xE1BB0D61] = typeof(Account_EmailVerifiedLogin),
+ [0xB6F11EBE] = typeof(PremiumSubscriptionOption),
+ [0xB81C7034] = typeof(SendAsPeer),
// from TL.Secret:
[0xBB718624] = typeof(Layer66.SendMessageUploadRoundAction),
[0xE50511D8] = typeof(Layer45.DecryptedMessageMediaWebPage),
@@ -1094,6 +1125,10 @@ namespace TL
[typeof(Messages_AvailableReactions)] = 0x9F071957, //messages.availableReactionsNotModified
[typeof(AttachMenuBots)] = 0xF1D88A5C, //attachMenuBotsNotModified
[typeof(Account_SavedRingtones)] = 0xFBF6E8B1, //account.savedRingtonesNotModified
+ [typeof(EmojiStatus)] = 0x2DE11AAE, //emojiStatusEmpty
+ [typeof(Account_EmojiStatuses)] = 0xD08CE645, //account.emojiStatusesNotModified
+ [typeof(Reaction)] = 0x79F5D419, //reactionEmpty
+ [typeof(Messages_Reactions)] = 0xB06FDBDF, //messages.reactionsNotModified
// from TL.Secret:
[typeof(DecryptedMessageMedia)] = 0x089F5C4A, //decryptedMessageMediaEmpty
// The End