diff --git a/.github/release.yml b/.github/release.yml
index cdaee87..bf2f148 100644
--- a/.github/release.yml
+++ b/.github/release.yml
@@ -14,6 +14,9 @@ stages:
jobs:
- job: publish
steps:
+ - checkout: self
+ persistCredentials: true
+
- task: UseDotNet@2
displayName: 'Use .NET Core sdk'
inputs:
@@ -37,6 +40,12 @@ stages:
nuGetFeedType: 'external'
publishFeedCredentials: 'nuget.org'
+ - script: |
+ git tag $(Build.BuildNumber)
+ git push --tags
+ workingDirectory: $(Build.SourcesDirectory)
+ displayName: Git Tag
+
- stage: notify
jobs:
- job: notify
diff --git a/src/TL.Helpers.cs b/src/TL.Helpers.cs
index 0d40938..05a2338 100644
--- a/src/TL.Helpers.cs
+++ b/src/TL.Helpers.cs
@@ -279,6 +279,7 @@ namespace TL
public override long ID => id;
protected override InputDocument ToInputDocument() => new() { id = id, access_hash = access_hash, file_reference = file_reference };
public InputDocumentFileLocation ToFileLocation(PhotoSizeBase thumbSize = null) => new() { id = id, access_hash = access_hash, file_reference = file_reference, thumb_size = thumbSize?.Type };
+ public PhotoSizeBase LargestThumbSize => thumbs.Aggregate((agg, next) => (long)next.Width * next.Height > (long)agg.Width * agg.Height ? next : agg);
}
partial class SendMessageAction
diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs
index 4c97de8..ab27783 100644
--- a/src/TL.Schema.cs
+++ b/src/TL.Schema.cs
@@ -1062,9 +1062,10 @@ namespace TL
public abstract string ThemeEmoticon { get; }
public abstract int RequestsPending { get; }
public abstract long[] RecentRequesters { get; }
+ public abstract string[] AvailableReactions { get; }
}
/// Detailed chat info See
- [TLDef(0x46A6FFB4)]
+ [TLDef(0xD18EE226)]
public class ChatFull : ChatFullBase
{
/// Flags, see TL conditional fields
@@ -1097,6 +1098,7 @@ namespace TL
[IfFlag(16)] public string theme_emoticon;
[IfFlag(17)] public int requests_pending;
[IfFlag(17)] public long[] recent_requesters;
+ [IfFlag(18)] public string[] available_reactions;
[Flags] public enum Flags
{
@@ -1124,6 +1126,8 @@ namespace TL
has_theme_emoticon = 0x10000,
/// Field has a value
has_requests_pending = 0x20000,
+ /// Field has a value
+ has_available_reactions = 0x40000,
}
/// ID of the chat
@@ -1152,9 +1156,10 @@ namespace TL
public override string ThemeEmoticon => theme_emoticon;
public override int RequestsPending => requests_pending;
public override long[] RecentRequesters => recent_requesters;
+ public override string[] AvailableReactions => available_reactions;
}
/// Full info about a channel/supergroup See
- [TLDef(0x56662E2E)]
+ [TLDef(0xE13C3D20)]
public class ChannelFull : ChatFullBase
{
/// Flags, see TL conditional fields
@@ -1224,6 +1229,7 @@ namespace TL
[IfFlag(28)] public int requests_pending;
[IfFlag(28)] public long[] recent_requesters;
[IfFlag(29)] public Peer default_send_as;
+ [IfFlag(30)] public string[] available_reactions;
[Flags] public enum Flags
{
@@ -1287,6 +1293,8 @@ namespace TL
has_requests_pending = 0x10000000,
/// Field has a value
has_default_send_as = 0x20000000,
+ /// Field has a value
+ has_available_reactions = 0x40000000,
}
/// ID of the channel
@@ -1315,6 +1323,7 @@ namespace TL
public override string ThemeEmoticon => theme_emoticon;
public override int RequestsPending => requests_pending;
public override long[] RecentRequesters => recent_requesters;
+ public override string[] AvailableReactions => available_reactions;
}
/// Details of a group member. Derived classes: , , See
@@ -1460,7 +1469,7 @@ namespace TL
public override int TtlPeriod => default;
}
/// A message See
- [TLDef(0x85D6CBE2)]
+ [TLDef(0x38116EE0)]
public class Message : MessageBase
{
/// Flags, see TL conditional fields
@@ -1499,6 +1508,7 @@ namespace TL
[IfFlag(16)] public string post_author;
/// Multiple media messages sent using messages.sendMultiMedia with the same grouped ID indicate an album or media group
[IfFlag(17)] public long grouped_id;
+ [IfFlag(20)] public MessageReactions reactions;
/// Contains the reason why access to this message must be restricted.
[IfFlag(22)] public RestrictionReason[] restriction_reason;
/// Time To Live of the message, once message.date+message.ttl_period === time(), the message will be deleted on the server, and must be deleted locally as well.
@@ -1542,6 +1552,8 @@ namespace TL
from_scheduled = 0x40000,
/// This is a legacy message: it has to be refetched with the new layer
legacy = 0x80000,
+ /// Field has a value
+ has_reactions = 0x100000,
/// Whether the message should be shown as not modified to the user, even if an edit date is present
edit_hide = 0x200000,
/// Field has a value
@@ -4053,6 +4065,14 @@ namespace TL
public ExportedChatInvite invite;
public int qts;
}
+ /// See
+ [TLDef(0x154798C3)]
+ public class UpdateMessageReactions : Update
+ {
+ public Peer peer;
+ public int msg_id;
+ public MessageReactions reactions;
+ }
/// Updates state. See
[TLDef(0xA56C2A3E)]
@@ -6218,6 +6238,9 @@ namespace TL
/// Indicates a credit card number See
[TLDef(0x761E6AF4)]
public class MessageEntityBankCard : MessageEntity { }
+ /// See
+ [TLDef(0x32CA960F)]
+ public class MessageEntitySpoiler : MessageEntity { }
/// Represents a channel Derived classes: , See
/// a null value means inputChannelEmpty
@@ -9323,6 +9346,13 @@ namespace TL
{
public MessageBase message;
}
+ /// See
+ [TLDef(0x9CF7F76A)]
+ public class ChannelAdminLogEventActionChangeAvailableReactions : ChannelAdminLogEventAction
+ {
+ public string[] prev_value;
+ public string[] new_value;
+ }
/// Admin log event See
[TLDef(0x1FAD68CD)]
@@ -12260,7 +12290,7 @@ namespace TL
public class Account_ResetPasswordOk : Account_ResetPasswordResult { }
/// A sponsored message. See
- [TLDef(0xD151E19A)]
+ [TLDef(0x3A836DF8)]
public class SponsoredMessage : IObject
{
/// Flags, see TL conditional fields
@@ -12268,7 +12298,9 @@ namespace TL
/// Message ID
public byte[] random_id;
/// ID of the sender of the message
- public Peer from_id;
+ [IfFlag(3)] public Peer from_id;
+ [IfFlag(4)] public ChatInviteBase chat_invite;
+ [IfFlag(4)] public string chat_invite_hash;
[IfFlag(2)] public int channel_post;
/// Parameter for the bot start message if the sponsored chat is a chat with a bot.
[IfFlag(0)] public string start_param;
@@ -12285,6 +12317,10 @@ namespace TL
has_entities = 0x2,
/// Field has a value
has_channel_post = 0x4,
+ /// Field has a value
+ has_from_id = 0x8,
+ /// Field has a value
+ has_chat_invite = 0x10,
}
}
@@ -12402,6 +12438,90 @@ namespace TL
}
}
+ /// See
+ [TLDef(0x6FB250D1)]
+ public class ReactionCount : IObject
+ {
+ public Flags flags;
+ public string reaction;
+ public int count;
+
+ [Flags] public enum Flags
+ {
+ chosen = 0x1,
+ }
+ }
+
+ /// See
+ [TLDef(0x087B6E36)]
+ public class MessageReactions : IObject
+ {
+ public Flags flags;
+ public ReactionCount[] results;
+ [IfFlag(1)] public MessageUserReaction[] recent_reactons;
+
+ [Flags] public enum Flags
+ {
+ min = 0x1,
+ /// Field has a value
+ has_recent_reactons = 0x2,
+ can_see_list = 0x4,
+ }
+ }
+
+ /// See
+ [TLDef(0x932844FA)]
+ public class MessageUserReaction : IObject
+ {
+ public long user_id;
+ public string reaction;
+ }
+
+ /// See
+ [TLDef(0xA366923C)]
+ public class Messages_MessageReactionsList : IObject
+ {
+ public Flags flags;
+ public int count;
+ public MessageUserReaction[] reactions;
+ public Dictionary users;
+ [IfFlag(0)] public string next_offset;
+
+ [Flags] public enum Flags
+ {
+ /// Field has a value
+ has_next_offset = 0x1,
+ }
+ }
+
+ /// See
+ [TLDef(0x021D7C4B)]
+ public class AvailableReaction : IObject
+ {
+ public Flags flags;
+ public string reaction;
+ public string title;
+ public DocumentBase static_icon;
+ public DocumentBase appear_animation;
+ public DocumentBase select_animation;
+ public DocumentBase activate_animation;
+ public DocumentBase effect_animation;
+
+ [Flags] public enum Flags
+ {
+ inactive = 0x1,
+ }
+ }
+
+ /// See
+ /// a null value means messages.availableReactionsNotModified
+ [TLDef(0x768E3AAD)]
+ public class Messages_AvailableReactions : IObject
+ {
+ public int hash;
+ public AvailableReaction[] reactions;
+ }
+
// ---functions---
public static class SchemaExtensions
@@ -13599,10 +13719,10 @@ namespace TL
/// Reply markup for sending bot buttons
/// Message entities for sending styled text
/// Scheduled message date for scheduled messages
- 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, 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, 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) | (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) | (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,
@@ -13624,10 +13744,10 @@ namespace TL
/// Reply markup for bot keyboards
/// Message entities for styled text
/// Scheduled message date for scheduled messages
- 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, 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, 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) | (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) | (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,
@@ -13649,10 +13769,10 @@ namespace TL
/// Random ID to prevent resending of messages
/// Destination peer
/// Scheduled message date for scheduled messages
- public static Task Messages_ForwardMessages(this Client client, InputPeer from_peer, int[] id, long[] random_id, InputPeer to_peer, bool silent = false, bool background = false, bool with_my_score = false, bool drop_author = false, bool drop_media_captions = false, DateTime? schedule_date = null, InputPeer send_as = null)
+ public static Task Messages_ForwardMessages(this Client client, InputPeer from_peer, int[] id, long[] random_id, InputPeer to_peer, bool silent = false, bool background = false, bool with_my_score = false, bool drop_author = false, bool drop_media_captions = false, bool noforwards = false, DateTime? schedule_date = null, InputPeer send_as = null)
=> client.Invoke(new Messages_ForwardMessages
{
- flags = (Messages_ForwardMessages.Flags)((silent ? 0x20 : 0) | (background ? 0x40 : 0) | (with_my_score ? 0x100 : 0) | (drop_author ? 0x800 : 0) | (drop_media_captions ? 0x1000 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0)),
+ flags = (Messages_ForwardMessages.Flags)((silent ? 0x20 : 0) | (background ? 0x40 : 0) | (with_my_score ? 0x100 : 0) | (drop_author ? 0x800 : 0) | (drop_media_captions ? 0x1000 : 0) | (noforwards ? 0x4000 : 0) | (schedule_date != null ? 0x400 : 0) | (send_as != null ? 0x2000 : 0)),
from_peer = from_peer,
id = id,
random_id = random_id,
@@ -14490,10 +14610,10 @@ namespace TL
/// The message to reply to
/// The medias to send
/// Scheduled message date for scheduled messages
- public static Task Messages_SendMultiMedia(this Client client, InputPeer peer, InputSingleMedia[] multi_media, bool silent = false, bool background = false, bool clear_draft = 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, 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) | (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) | (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,
@@ -15052,6 +15172,63 @@ namespace TL
peer = peer,
send_as = send_as,
});
+ /// Send reaction to message See [bots: ✓] Possible codes: 400 (details)
+ /// Peer
+ /// Message ID to react to
+ /// Reaction (a UTF8 emoji)
+ public static Task Messages_SendReaction(this Client client, InputPeer peer, int msg_id, string reaction = null)
+ => client.Invoke(new Messages_SendReaction
+ {
+ flags = (Messages_SendReaction.Flags)(reaction != null ? 0x1 : 0),
+ peer = peer,
+ msg_id = msg_id,
+ reaction = reaction,
+ });
+ /// Get message reactions See [bots: ✓]
+ /// Peer
+ /// Message IDs
+ public static Task Messages_GetMessagesReactions(this Client client, InputPeer peer, int[] id)
+ => client.Invoke(new Messages_GetMessagesReactions
+ {
+ peer = peer,
+ id = id,
+ });
+ /// Get full message reaction list See [bots: ✓]
+ /// Peer
+ /// Message ID
+ /// 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, string reaction = null, string offset = null)
+ => client.Invoke(new Messages_GetMessageReactionsList
+ {
+ flags = (Messages_GetMessageReactionsList.Flags)((reaction != null ? 0x1 : 0) | (offset != null ? 0x2 : 0)),
+ peer = peer,
+ id = id,
+ reaction = reaction,
+ offset = offset,
+ limit = limit,
+ });
+ /// See
+ public static Task Messages_SetChatAvailableReactions(this Client client, InputPeer peer, string[] available_reactions)
+ => client.Invoke(new Messages_SetChatAvailableReactions
+ {
+ peer = peer,
+ available_reactions = available_reactions,
+ });
+ /// See
+ /// a null value means messages.availableReactionsNotModified
+ public static Task Messages_GetAvailableReactions(this Client client, int hash)
+ => client.Invoke(new Messages_GetAvailableReactions
+ {
+ hash = hash,
+ });
+ /// See
+ public static Task Messages_SetDefaultReaction(this Client client, string reaction)
+ => client.Invoke(new Messages_SetDefaultReaction
+ {
+ reaction = reaction,
+ });
/// Returns a current state of updates. See [bots: ✓]
public static Task Updates_GetState(this Client client)
=> client.Invoke(new Updates_GetState
@@ -17414,6 +17591,7 @@ namespace TL.Methods
has_schedule_date = 0x400,
/// Field has a value
has_send_as = 0x2000,
+ noforwards = 0x4000,
}
}
@@ -17446,6 +17624,7 @@ namespace TL.Methods
has_schedule_date = 0x400,
/// Field has a value
has_send_as = 0x2000,
+ noforwards = 0x4000,
}
}
@@ -17471,6 +17650,7 @@ namespace TL.Methods
drop_media_captions = 0x1000,
/// Field has a value
has_send_as = 0x2000,
+ noforwards = 0x4000,
}
}
@@ -18286,6 +18466,7 @@ namespace TL.Methods
has_schedule_date = 0x400,
/// Field has a value
has_send_as = 0x2000,
+ noforwards = 0x4000,
}
}
@@ -18810,6 +18991,66 @@ namespace TL.Methods
public InputPeer send_as;
}
+ [TLDef(0x25690CE4)]
+ public class Messages_SendReaction : IMethod
+ {
+ public Flags flags;
+ public InputPeer peer;
+ public int msg_id;
+ [IfFlag(0)] public string reaction;
+
+ [Flags] public enum Flags
+ {
+ /// Field has a value
+ has_reaction = 0x1,
+ }
+ }
+
+ [TLDef(0x8BBA90E6)]
+ public class Messages_GetMessagesReactions : IMethod
+ {
+ public InputPeer peer;
+ public int[] id;
+ }
+
+ [TLDef(0xE0EE6B77)]
+ public class Messages_GetMessageReactionsList : IMethod
+ {
+ public Flags flags;
+ public InputPeer peer;
+ public int id;
+ [IfFlag(0)] public string reaction;
+ [IfFlag(1)] public string offset;
+ public int limit;
+
+ [Flags] public enum Flags
+ {
+ /// Field has a value
+ has_reaction = 0x1,
+ /// Field has a value
+ has_offset = 0x2,
+ }
+ }
+
+ [TLDef(0x14050EA6)]
+ public class Messages_SetChatAvailableReactions : IMethod
+ {
+ public InputPeer peer;
+ public string[] available_reactions;
+ }
+
+ [TLDef(0x18DEA0AC)]
+ public class Messages_GetAvailableReactions : IMethod
+ {
+ public int hash;
+ }
+
+ [TLDef(0xD960C4D4)]
+ public class Messages_SetDefaultReaction : IMethod
+ {
+ public string reaction;
+ }
+
[TLDef(0xEDD4882A)]
public class Updates_GetState : IMethod { }
diff --git a/src/TL.Table.cs b/src/TL.Table.cs
index 6856fa3..a624f11 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 = 135; // fetched 27/11/2021 01:12:30
+ public const int Version = 136; // fetched 30/12/2021 11:11:54
internal const uint VectorCtor = 0x1CB5C415;
internal const uint NullCtor = 0x56730BCC;
internal const uint RpcResultCtor = 0xF35C6D01;
@@ -127,8 +127,8 @@ namespace TL
[0x6592A1A7] = typeof(ChatForbidden),
[0x8261AC61] = typeof(Channel),
[0x17D493D5] = typeof(ChannelForbidden),
- [0x46A6FFB4] = typeof(ChatFull),
- [0x56662E2E] = typeof(ChannelFull),
+ [0xD18EE226] = typeof(ChatFull),
+ [0xE13C3D20] = typeof(ChannelFull),
[0xC02D4007] = typeof(ChatParticipant),
[0xE46BCEE4] = typeof(ChatParticipantCreator),
[0xA0933F5B] = typeof(ChatParticipantAdmin),
@@ -137,7 +137,7 @@ namespace TL
[0x37C1011C] = null,//ChatPhotoEmpty
[0x1C6E1C11] = typeof(ChatPhoto),
[0x90A6CA84] = typeof(MessageEmpty),
- [0x85D6CBE2] = typeof(Message),
+ [0x38116EE0] = typeof(Message),
[0x2B085862] = typeof(MessageService),
[0x3DED6320] = null,//MessageMediaEmpty
[0x695150D7] = typeof(MessageMediaPhoto),
@@ -339,6 +339,7 @@ namespace TL
[0x4D712F2E] = typeof(UpdateBotCommands),
[0x7063C3DB] = typeof(UpdatePendingJoinRequests),
[0x11DFA986] = typeof(UpdateBotChatInviteRequester),
+ [0x154798C3] = typeof(UpdateMessageReactions),
[0xA56C2A3E] = typeof(Updates_State),
[0x5D75A138] = typeof(Updates_DifferenceEmpty),
[0x00F49CA0] = typeof(Updates_Difference),
@@ -502,6 +503,7 @@ namespace TL
[0xBF0693D4] = typeof(MessageEntityStrike),
[0x020DF5D0] = typeof(MessageEntityBlockquote),
[0x761E6AF4] = typeof(MessageEntityBankCard),
+ [0x32CA960F] = typeof(MessageEntitySpoiler),
[0xEE8C1E86] = null,//InputChannelEmpty
[0xF35AEC28] = typeof(InputChannel),
[0x5B934F9D] = typeof(InputChannelFromMessage),
@@ -715,6 +717,7 @@ namespace TL
[0xAFB6144A] = typeof(ChannelAdminLogEventActionParticipantJoinByRequest),
[0xCB2AC766] = typeof(ChannelAdminLogEventActionToggleNoForwards),
[0x278F2868] = typeof(ChannelAdminLogEventActionSendMessage),
+ [0x9CF7F76A] = typeof(ChannelAdminLogEventActionChangeAvailableReactions),
[0x1FAD68CD] = typeof(ChannelAdminLogEvent),
[0xED8AF74D] = typeof(Channels_AdminLogResults),
[0xEA107AE4] = typeof(ChannelAdminLogEventsFilter),
@@ -916,7 +919,7 @@ namespace TL
[0xE3779861] = typeof(Account_ResetPasswordFailedWait),
[0xE9EFFC7D] = typeof(Account_ResetPasswordRequestedWait),
[0xE926D63E] = typeof(Account_ResetPasswordOk),
- [0xD151E19A] = typeof(SponsoredMessage),
+ [0x3A836DF8] = typeof(SponsoredMessage),
[0x65A4C7D5] = typeof(Messages_SponsoredMessages),
[0xC9B0539F] = typeof(SearchResultsCalendarPeriod),
[0x147EE23C] = typeof(Messages_SearchResultsCalendar),
@@ -926,6 +929,13 @@ namespace TL
[0x3B6D152E] = typeof(Users_UserFull),
[0x6880B94D] = typeof(Messages_PeerSettings),
[0xC3A2835F] = typeof(Auth_LoggedOut),
+ [0x6FB250D1] = typeof(ReactionCount),
+ [0x087B6E36] = typeof(MessageReactions),
+ [0x932844FA] = typeof(MessageUserReaction),
+ [0xA366923C] = typeof(Messages_MessageReactionsList),
+ [0x021D7C4B] = typeof(AvailableReaction),
+ [0x9F071957] = null,//Messages_AvailableReactionsNotModified
+ [0x768E3AAD] = typeof(Messages_AvailableReactions),
// from TL.Secret:
[0xBB718624] = typeof(Layer66.SendMessageUploadRoundAction),
[0xE50511D8] = typeof(Layer45.DecryptedMessageMediaWebPage),
@@ -1026,6 +1036,7 @@ namespace TL
[typeof(ChannelLocation)] = 0xBFB5AD8B, //channelLocationEmpty
[typeof(Account_Themes)] = 0xF41EB622, //account.themesNotModified
[typeof(Help_CountriesList)] = 0x93CC1F32, //help.countriesListNotModified
+ [typeof(Messages_AvailableReactions)] = 0x9F071957, //messages.availableReactionsNotModified
// from TL.Secret:
[typeof(DecryptedMessageMedia)] = 0x089F5C4A, //decryptedMessageMediaEmpty
// The End