diff --git a/.github/dev.yml b/.github/dev.yml index 6b18a3e..5412eb9 100644 --- a/.github/dev.yml +++ b/.github/dev.yml @@ -2,7 +2,7 @@ pr: none trigger: - master -name: 3.3.3-dev.$(Rev:r) +name: 3.3.4-dev.$(Rev:r) pool: vmImage: ubuntu-latest diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs index a86dd6f..81038fe 100644 --- a/src/TL.Schema.cs +++ b/src/TL.Schema.cs @@ -199,6 +199,7 @@ namespace TL has_stickers = 0x1, /// Field has a value has_ttl_seconds = 0x2, + /// Whether this media should be hidden behind a spoiler warning spoiler = 0x4, } } @@ -217,6 +218,7 @@ namespace TL { /// Field has a value has_ttl_seconds = 0x1, + /// Whether this media should be hidden behind a spoiler warning spoiler = 0x2, } } @@ -271,6 +273,7 @@ namespace TL nosound_video = 0x8, /// Force the media file to be uploaded as document force_file = 0x10, + /// Whether this media should be hidden behind a spoiler warning spoiler = 0x20, } } @@ -293,6 +296,7 @@ namespace TL has_ttl_seconds = 0x1, /// Field has a value has_query = 0x2, + /// Whether this media should be hidden behind a spoiler warning spoiler = 0x4, } } @@ -328,6 +332,7 @@ namespace TL { /// Field has a value has_ttl_seconds = 0x1, + /// Whether this media should be hidden behind a spoiler warning spoiler = 0x2, } } @@ -346,6 +351,7 @@ namespace TL { /// Field has a value has_ttl_seconds = 0x1, + /// Whether this media should be hidden behind a spoiler warning spoiler = 0x2, } } @@ -712,6 +718,7 @@ namespace TL { /// Flags, see TL conditional fields public Flags flags; + /// Flags, see TL conditional fields public Flags2 flags2; /// ID of the user public long id; @@ -739,6 +746,7 @@ namespace TL [IfFlag(22)] public string lang_code; /// Emoji status [IfFlag(30)] public EmojiStatus emoji_status; + /// Additional usernames [IfFlag(32)] public Username[] usernames; [Flags] public enum Flags : uint @@ -949,6 +957,7 @@ namespace TL { /// Flags, see TL conditional fields public Flags flags; + /// Flags, see TL conditional fields public Flags2 flags2; /// ID of the channel public long id; @@ -972,6 +981,7 @@ namespace TL [IfFlag(18)] public ChatBannedRights default_banned_rights; /// Participant count [IfFlag(17)] public int participants_count; + /// Additional usernames [IfFlag(32)] public Username[] usernames; [Flags] public enum Flags : uint @@ -1026,6 +1036,7 @@ namespace TL join_to_send = 0x10000000, /// Whether a user's join request will have to be approved by administrators, toggle using Channels_ToggleJoinRequest join_request = 0x20000000, + /// Whether this supergroup is a forum forum = 0x40000000, } @@ -1172,6 +1183,7 @@ namespace TL has_requests_pending = 0x20000, /// Field has a value has_available_reactions = 0x40000, + /// Whether real-time chat translation is disabled. translations_disabled = 0x80000, } @@ -1355,8 +1367,11 @@ namespace TL { /// Can we delete this channel? can_delete_channel = 0x1, + /// Whether native antispam functionality is enabled in this supergroup. antispam = 0x2, + /// Whether the participant list is hidden. participants_hidden = 0x4, + /// Whether real-time chat translation is disabled. translations_disabled = 0x8, } @@ -1721,6 +1736,7 @@ namespace TL has_photo = 0x1, /// Field has a value has_ttl_seconds = 0x4, + /// Whether this media should be hidden behind a spoiler warning spoiler = 0x8, } } @@ -1768,6 +1784,7 @@ namespace TL has_ttl_seconds = 0x4, /// Whether this is a normal sticker, if not set this is a premium sticker and a premium sticker animation must be played. nopremium = 0x8, + /// Whether this media should be hidden behind a spoiler warning spoiler = 0x10, } } @@ -2190,7 +2207,7 @@ namespace TL /// Duration of the gifted Telegram Premium subscription public int months; } - /// See + /// A forum topic was created. See [TLDef(0x0D999256)] public class MessageActionTopicCreate : MessageAction { @@ -2209,15 +2226,19 @@ namespace TL has_icon_emoji_id = 0x1, } } - /// See + /// Forum topic information was edited. See [TLDef(0xC0944820)] public class MessageActionTopicEdit : MessageAction { /// Flags, see TL conditional fields public Flags flags; + /// Topic title. [IfFlag(0)] public string title; + /// ID of the custom emoji used as topic icon. [IfFlag(1)] public long icon_emoji_id; + /// Whether the topic was closed. [IfFlag(2)] public bool closed; + /// Whether the topic was hidden. [IfFlag(3)] public bool hidden; [Flags] public enum Flags : uint @@ -2238,11 +2259,13 @@ namespace TL { public PhotoBase photo; } - /// See + /// Contains info about a peer that the user shared with the bot after clicking on a button. See [TLDef(0xFE77345D)] public class MessageActionRequestedPeer : MessageAction { + /// button_id contained in the public int button_id; + /// The shared peer public Peer peer; } @@ -2278,10 +2301,11 @@ namespace TL public PeerNotifySettings notify_settings; /// PTS [IfFlag(0)] public int pts; - /// Message draft + /// Message draft [IfFlag(1)] public DraftMessageBase draft; /// Peer folder ID, for more info click here [IfFlag(4)] public int folder_id; + /// Time-to-live of all messages sent in this dialog [IfFlag(5)] public int ttl_period; [Flags] public enum Flags : uint @@ -2533,6 +2557,7 @@ namespace TL [IfFlag(1)] public int otherwise_relogin_days; /// Temporary passport sessions [IfFlag(0)] public int tmp_sessions; + /// A future auth token [IfFlag(2)] public byte[] future_auth_token; /// Info on authorized user public UserBase user; @@ -2591,11 +2616,13 @@ namespace TL /// All channels See [TLDef(0xB1DB7C7E)] public class InputNotifyBroadcasts : InputNotifyPeerBase { } - /// See + /// Notifications generated by a topic in a forum. See [TLDef(0x5C467992)] public class InputNotifyForumTopic : InputNotifyPeerBase { + /// Forum ID public InputPeer peer; + /// Topic ID public int top_msg_id; } @@ -3070,6 +3097,7 @@ namespace TL [IfFlag(2)] public int offset_id_offset; /// Found messages public MessageBase[] messages; + /// Forum topic information public ForumTopicBase[] topics; /// Chats public Dictionary chats; @@ -3273,6 +3301,7 @@ namespace TL public string first_name; /// New last name. Corresponds to the new value of real_last_name field of the . public string last_name; + /// Usernames. public Username[] usernames; } /// New encrypted message. See @@ -3698,6 +3727,7 @@ namespace TL public Flags flags; /// The peer to which the draft is associated public Peer peer; + /// ID of the forum topic to which the draft is associated [IfFlag(0)] public int top_msg_id; /// The draft public DraftMessageBase draft; @@ -3857,6 +3887,7 @@ namespace TL public Flags flags; /// Channel/supergroup ID public long channel_id; + /// Forum topic ID. [IfFlag(0)] public int top_msg_id; /// IDs of messages that were read public int[] messages; @@ -4335,6 +4366,7 @@ namespace TL public Peer peer; /// Message ID public int msg_id; + /// Forum topic ID [IfFlag(0)] public int top_msg_id; /// Reactions public MessageReactions reactions; @@ -4429,27 +4461,32 @@ namespace TL public int msg_id; public MessageExtendedMediaBase extended_media; } - /// See + /// A forum topic » was pinned or unpinned. See [TLDef(0x192EFBE3)] public class UpdateChannelPinnedTopic : Update { /// Flags, see TL conditional fields public Flags flags; + /// The forum ID public long channel_id; + /// The topic ID public int topic_id; [Flags] public enum Flags : uint { + /// Whether the topic was pinned or unpinned pinned = 0x1, } } - /// See + /// The pinned topics of a forum have changed. See [TLDef(0xFE198602)] public class UpdateChannelPinnedTopics : Update { /// Flags, see TL conditional fields public Flags flags; + /// Forum ID. public long channel_id; + /// Ordered list containing the IDs of all pinned topics. [IfFlag(0)] public int[] order; [Flags] public enum Flags : uint @@ -4464,7 +4501,7 @@ namespace TL { public long user_id; } - /// See + /// Media autosave settings have changed and must be refetched using Account_GetAutoSaveSettings. See [TLDef(0xEC05B097)] public class UpdateAutoSaveSettings : Update { } /// See @@ -5469,11 +5506,13 @@ namespace TL /// Channel notification settings See [TLDef(0xD612E8EF)] public class NotifyBroadcasts : NotifyPeerBase { } - /// See + /// Notifications generated by a topic in a forum. See [TLDef(0x226E6308)] public class NotifyForumTopic : NotifyPeerBase { + /// Forum ID public Peer peer; + /// Topic ID public int top_msg_id; } @@ -6328,7 +6367,7 @@ namespace TL /// Default custom emoji status stickerset See [TLDef(0x29D0F5EE)] public class InputStickerSetEmojiDefaultStatuses : InputStickerSet { } - /// See + /// Default custom emoji stickerset for forum topic icons See [TLDef(0x44C1F8E9)] public class InputStickerSetEmojiDefaultTopicIcons : InputStickerSet { } @@ -6623,11 +6662,13 @@ namespace TL public class KeyboardButtonSimpleWebView : KeyboardButtonWebView { } - /// See + /// Prompts the user to select and share a peer with the bot using Messages_SendBotRequestedPeer See [TLDef(0x0D0B468C, inheritBefore = true)] public class KeyboardButtonRequestPeer : KeyboardButton { + /// Button ID, to be passed to Messages_SendBotRequestedPeer. public int button_id; + /// Filtering criteria to use for the peer selection list shown to the user. public RequestPeerType peer_type; } @@ -7757,7 +7798,7 @@ namespace TL /// The results public BotInlineResultBase[] results; /// Caching validity of the results - public DateTime cache_time; + public int cache_time; /// Users mentioned in the results public Dictionary users; @@ -7837,7 +7878,7 @@ namespace TL FlashCall = 0x226CCEFB, ///The next time, the authentication code will be delivered via an immediately canceled incoming call, handled manually by the user. MissedCall = 0xD61AD6EE, - ///See + ///The next time, the authentication code will be delivered via fragment.com FragmentSms = 0x06ED998C, } @@ -7954,7 +7995,7 @@ namespace TL /// URL to open [IfFlag(2)] public string url; /// For how long should this answer be cached - public DateTime cache_time; + public int cache_time; [Flags] public enum Flags : uint { @@ -9334,6 +9375,7 @@ namespace TL public string emoji; /// Coordinates for mask sticker [IfFlag(0)] public MaskCoords mask_coords; + /// Set of keywords, separated by commas [IfFlag(1)] public string keywords; [Flags] public enum Flags : uint @@ -10125,45 +10167,54 @@ namespace TL /// New allowed reaction emojis public ChatReactions new_value; } - /// See + /// The list of usernames associated with the channel was changed See [TLDef(0xF04FB3A9)] public class ChannelAdminLogEventActionChangeUsernames : ChannelAdminLogEventAction { + /// Previous set of usernames public string[] prev_value; + /// New set of usernames public string[] new_value; } - /// See + /// Forum functionality was enabled or disabled. See [TLDef(0x02CC6383)] public class ChannelAdminLogEventActionToggleForum : ChannelAdminLogEventAction { + /// Whether forum functionality was enabled or disabled. public bool new_value; } - /// See + /// A forum topic was created See [TLDef(0x58707D28)] public class ChannelAdminLogEventActionCreateTopic : ChannelAdminLogEventAction { + /// The forum topic that was created public ForumTopicBase topic; } - /// See + /// A forum topic was edited See [TLDef(0xF06FE208)] public class ChannelAdminLogEventActionEditTopic : ChannelAdminLogEventAction { + /// Previous topic information public ForumTopicBase prev_topic; + /// New topic information public ForumTopicBase new_topic; } - /// See + /// A forum topic was deleted See [TLDef(0xAE168909)] public class ChannelAdminLogEventActionDeleteTopic : ChannelAdminLogEventAction { + /// The forum topic that was deleted public ForumTopicBase topic; } - /// See + /// A forum topic was pinned or unpinned See [TLDef(0x5D8D353B)] public class ChannelAdminLogEventActionPinTopic : ChannelAdminLogEventAction { /// Flags, see TL conditional fields public Flags flags; + /// Previous topic information [IfFlag(0)] public ForumTopicBase prev_topic; + /// New topic information [IfFlag(1)] public ForumTopicBase new_topic; [Flags] public enum Flags : uint @@ -10174,10 +10225,11 @@ namespace TL has_new_topic = 0x2, } } - /// See + /// Native antispam functionality was enabled or disabled. See [TLDef(0x64F36DFC)] public class ChannelAdminLogEventActionToggleAntiSpam : ChannelAdminLogEventAction { + /// Whether antispam functionality was enabled or disabled. public bool new_value; } @@ -10252,6 +10304,7 @@ namespace TL invites = 0x8000, /// A message was posted in a channel send = 0x10000, + /// Forum-related events forums = 0x20000, } } @@ -11525,7 +11578,7 @@ namespace TL { /// Flags, see TL conditional fields public Flags flags; - /// Previously stored logout tokens, see the documentation for more info » + /// Previously stored future auth tokens, see the documentation for more info » [IfFlag(6)] public byte[][] logout_tokens; [IfFlag(8)] public string token; [IfFlag(8)] public bool app_sandbox; @@ -13355,13 +13408,13 @@ namespace TL public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); } - /// Logout token » to be used on subsequent authorizations See + /// Future auth token » to be used on subsequent authorizations See [TLDef(0xC3A2835F)] public class Auth_LoggedOut : IObject { /// Flags, see TL conditional fields public Flags flags; - /// Logout token » to be used on subsequent authorizations + /// Future auth token » to be used on subsequent authorizations [IfFlag(0)] public byte[] future_auth_token; [Flags] public enum Flags : uint @@ -13494,6 +13547,7 @@ namespace TL public Flags flags; /// Peer that reacted to the message public Peer peer_id; + /// When was this reaction added public DateTime date; /// Reaction emoji public Reaction reaction; @@ -13588,6 +13642,7 @@ namespace TL inactive = 0x1, /// True, if the bot supports the "settings_button_pressed" event » has_settings = 0x2, + /// Whether the bot would like to send messages to the user. request_write_access = 0x4, } } @@ -14066,92 +14121,119 @@ namespace TL public MessageMedia media; } - /// See + /// Keywords for a certain sticker See [TLDef(0xFCFEB29C)] public class StickerKeyword : IObject { + /// Sticker ID public long document_id; + /// Keywords public string[] keyword; } - /// See + /// Contains information about a username. See [TLDef(0xB4073647)] public class Username : IObject { /// Flags, see TL conditional fields public Flags flags; + /// The username. public string username; [Flags] public enum Flags : uint { + /// Whether the username is editable, meaning it wasn't bought on fragment. editable = 0x1, + /// Whether the username is active. active = 0x2, } } - /// See Derived classes: , + /// Contains information about a forum topic See Derived classes: , public abstract class ForumTopicBase : IObject { + /// The ID of the deleted forum topic. public virtual int ID { get; } } - /// See + /// Represents a deleted forum topic. See [TLDef(0x023F109B)] public class ForumTopicDeleted : ForumTopicBase { + /// The ID of the deleted forum topic. public int id; + /// The ID of the deleted forum topic. public override int ID => id; } - /// See + /// Represents a forum topic. See [TLDef(0x71701DA9)] public class ForumTopic : ForumTopicBase { /// Flags, see TL conditional fields public Flags flags; + /// Topic ID public int id; + /// Topic creation date public DateTime date; + /// Topic title public string title; /// If no custom emoji icon is specified, specifies the color of the fallback topic icon (RGB), one of 0x6FB9F0, 0xFFD67E, 0xCB86DB, 0x8EEE98, 0xFF93B2, or 0xFB6F5F. public int icon_color; /// ID of the custom emoji used as topic icon. [IfFlag(0)] public long icon_emoji_id; + /// ID of the last message that was sent to this topic public int top_message; + /// Position up to which all incoming messages are read. public int read_inbox_max_id; + /// Position up to which all outgoing messages are read. public int read_outbox_max_id; + /// Number of unread messages public int unread_count; + /// Number of unread mentions public int unread_mentions_count; + /// Number of unread reactions to messages you sent public int unread_reactions_count; + /// ID of the peer that created the topic public Peer from_id; + /// Notification settings public PeerNotifySettings notify_settings; + /// Message draft [IfFlag(4)] public DraftMessageBase draft; [Flags] public enum Flags : uint { /// Field has a value has_icon_emoji_id = 0x1, + /// Whether the topic was created by the current user my = 0x2, + /// Whether the topic is closed (no messages can be sent to it) closed = 0x4, + /// Whether the topic is pinned pinned = 0x8, /// Field has a value has_draft = 0x10, short_ = 0x20, + /// Whether the topic is hidden (only valid for the "General" topic, id=1) hidden = 0x40, } + /// Topic ID public override int ID => id; } - /// See + /// Contains information about multiple forum topics See [TLDef(0x367617D3)] public class Messages_ForumTopics : IObject, IPeerResolver { /// Flags, see TL conditional fields public Flags flags; public int count; + /// Forum topics public ForumTopicBase[] topics; public MessageBase[] messages; public Dictionary chats; public Dictionary users; + /// Event count after generation public int pts; [Flags] public enum Flags : uint @@ -14162,10 +14244,11 @@ namespace TL public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); } - /// See + /// Contains info about the default value of the Time-To-Live setting, applied to all new chats. See [TLDef(0x43B46B20)] public class DefaultHistoryTTL : IObject { + /// Time-To-Live setting applied to all new chats. public int period; } @@ -14179,15 +14262,17 @@ namespace TL public DateTime expires; } - /// See Derived classes: , , + /// Filtering criteria to use for the peer selection list shown to the user. See Derived classes: , , public abstract class RequestPeerType : IObject { } - /// See + /// Choose a user. See [TLDef(0x5F3B8A00)] public class RequestPeerTypeUser : RequestPeerType { /// Flags, see TL conditional fields public Flags flags; + /// Whether to allow choosing only bots. [IfFlag(0)] public bool bot; + /// Whether to allow choosing only Premium users. [IfFlag(1)] public bool premium; [Flags] public enum Flags : uint @@ -14198,19 +14283,24 @@ namespace TL has_premium = 0x2, } } - /// See + /// Choose a chat or supergroup See [TLDef(0xC9F06E1B)] public class RequestPeerTypeChat : RequestPeerType { /// Flags, see TL conditional fields public Flags flags; + /// If specified, allows only choosing channels with or without a username, according to the value of . [IfFlag(3)] public bool has_username; + /// If specified, allows only choosing chats or supergroups that are or aren't forums, according to the value of . [IfFlag(4)] public bool forum; + /// If specified, allows only choosing chats or supergroups where the current user is an admin with at least the specified admin rights. [IfFlag(1)] public ChatAdminRights user_admin_rights; + /// If specified, allows only choosing chats or supergroups where the bot is an admin with at least the specified admin rights. [IfFlag(2)] public ChatAdminRights bot_admin_rights; [Flags] public enum Flags : uint { + /// Whether to allow only choosing chats or supergroups that were created by the current user. creator = 0x1, /// Field has a value has_user_admin_rights = 0x2, @@ -14220,21 +14310,26 @@ namespace TL has_has_username = 0x8, /// Field has a value has_forum = 0x10, + /// Whether to allow only choosing chats or supergroups where the bot is a participant. bot_participant = 0x20, } } - /// See + /// Choose a channel See [TLDef(0x339BEF6C)] public class RequestPeerTypeBroadcast : RequestPeerType { /// Flags, see TL conditional fields public Flags flags; + /// If specified, allows only choosing channels with or without a username, according to the value of . [IfFlag(3)] public bool has_username; + /// If specified, allows only choosing channels where the current user is an admin with at least the specified admin rights. [IfFlag(1)] public ChatAdminRights user_admin_rights; + /// If specified, allows only choosing channels where the bot is an admin with at least the specified admin rights. [IfFlag(2)] public ChatAdminRights bot_admin_rights; [Flags] public enum Flags : uint { + /// Whether to allow only choosing channels that were created by the current user. creator = 0x1, /// Field has a value has_user_admin_rights = 0x2, @@ -14272,11 +14367,13 @@ namespace TL public EmojiGroup[] groups; } - /// See + /// Styled text with message entities See [TLDef(0x751F3146)] public class TextWithEntities : IObject { + /// Text public string text; + /// Message entities for styled text public MessageEntity[] entities; } @@ -14289,86 +14386,110 @@ namespace TL public TextWithEntities[] result; } - /// See + /// Media autosave settings See [TLDef(0xC84834CE)] public class AutoSaveSettings : IObject { /// Flags, see TL conditional fields public Flags flags; + /// If set, specifies a size limit for autosavable videos [IfFlag(2)] public long video_max_size; [Flags] public enum Flags : uint { + /// Whether photos should be autosaved to the gallery. photos = 0x1, + /// Whether videos should be autosaved to the gallery. videos = 0x2, /// Field has a value has_video_max_size = 0x4, } } - /// See + /// Peer-specific media autosave settings See [TLDef(0x81602D47)] public class AutoSaveException : IObject { + /// The peer public Peer peer; + /// Media autosave settings public AutoSaveSettings settings; } - /// See + /// Contains media autosave settings See [TLDef(0x4C3E069D)] public class Account_AutoSaveSettings : IObject, IPeerResolver { + /// Default media autosave settings for private chats public AutoSaveSettings users_settings; + /// Default media autosave settings for groups and supergroups public AutoSaveSettings chats_settings; + /// Default media autosave settings for channels public AutoSaveSettings broadcasts_settings; + /// Peer-specific granular autosave settings public AutoSaveException[] exceptions; + /// Chats mentioned in the peer-specific granular autosave settings public Dictionary chats; + /// Users mentioned in the peer-specific granular autosave settings public Dictionary users; /// returns a or for the given Peer public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); } - /// See + /// Contains various client configuration parameters See /// a value means help.appConfigNotModified [TLDef(0xDD18782E)] public class Help_AppConfig : IObject { + /// Hash for pagination, for more info click here public int hash; + /// Client configuration parameters public JsonObject config; } - /// See Derived classes: , + /// Used to fetch information about a bot web app See Derived classes: , public abstract class InputBotApp : IObject { } - /// See + /// Used to fetch information about a bot web app by its ID See [TLDef(0xA920BD7A)] public class InputBotAppID : InputBotApp { + /// Bot web app ID. public long id; - /// REQUIRED FIELD. See how to obtain it
+ /// REQUIRED FIELD. See how to obtain it
Access hash, obtained from the .
public long access_hash; } - /// See + /// Used to fetch information about a bot web app by its short name See [TLDef(0x908C0407)] public class InputBotAppShortName : InputBotApp { + /// ID of the bot that owns the bot web app public InputUserBase bot_id; + /// Short name, obtained from a bot web app deep link public string short_name; } - /// See + /// Contains information about a bot web app. See /// a value means botAppNotModified [TLDef(0x95FCD1D6)] public class BotApp : IObject { /// Flags, see TL conditional fields public Flags flags; + /// Bot web app ID public long id; + /// Bot web app access hash public long access_hash; + /// Bot web app short name, used to generate bot web app deep links. public string short_name; + /// Bot web app title. public string title; + /// Bot web app description. public string description; + /// Bot web app photo. public PhotoBase photo; + /// Bot web app animation. [IfFlag(0)] public DocumentBase document; + /// Hash to pass to Messages_GetBotApp, to avoid refetching bot app info if it hasn't changed. public long hash; [Flags] public enum Flags : uint @@ -14378,27 +14499,31 @@ namespace TL } } - /// See + /// Contains information about a bot web app See [TLDef(0xEB50ADF5)] public class Messages_BotApp : IObject { /// Flags, see TL conditional fields public Flags flags; + /// Bot app information public BotApp app; [Flags] public enum Flags : uint { + /// Whether the web app was never used by the user, and confirmation must be asked from the user before opening it. inactive = 0x1, + /// The bot is asking permission to send messages to the user: if the user agrees, set the write_allowed flag when invoking Messages_RequestAppWebView. request_write_access = 0x2, } } - /// See Derived classes: + /// Contains the link that must be used to open a bot web app. See Derived classes: public abstract class AppWebViewResult : IObject { } - /// See + /// Contains the link that must be used to open a bot web app. See [TLDef(0x3C1B4F0D)] public class AppWebViewResultUrl : AppWebViewResult { + /// The URL to open public string url; } @@ -14410,11 +14535,13 @@ namespace TL public string url; } - /// See + /// Contains info about when a certain participant has read a message See [TLDef(0x4A4FF172)] public class ReadParticipantDate : IObject { + /// User ID public long user_id; + /// When the user read the message public DateTime date; } } diff --git a/src/TL.SchemaFuncs.cs b/src/TL.SchemaFuncs.cs index 9c343e8..979e3e7 100644 --- a/src/TL.SchemaFuncs.cs +++ b/src/TL.SchemaFuncs.cs @@ -1124,7 +1124,7 @@ namespace TL settings = settings, }); - /// See + /// Clear all peer-specific autosave settings. See public static Task Account_DeleteAutoSaveExceptions(this Client client) => client.Invoke(new Account_DeleteAutoSaveExceptions { @@ -2065,7 +2065,7 @@ namespace TL /// The maximum amount of time in seconds that the result of the inline query may be cached on the server. Defaults to 300. /// Pass the offset that a client should send in the next query with the same text to receive more results. Pass an empty string if there are no more results or if you don't support pagination. Offset length can't exceed 64 bytes. /// If passed, clients will display a button with specified text that switches the user to a private chat with the bot and sends the bot a start message with a certain parameter. - public static Task Messages_SetInlineBotResults(this Client client, long query_id, InputBotInlineResultBase[] results, DateTime cache_time, string next_offset = null, InlineBotSwitchPM switch_pm = null, InlineBotWebView switch_webview = null, bool gallery = false, bool private_ = false) + public static Task Messages_SetInlineBotResults(this Client client, long query_id, InputBotInlineResultBase[] results, int cache_time, string next_offset = null, InlineBotSwitchPM switch_pm = null, InlineBotWebView switch_webview = null, bool gallery = false, bool private_ = false) => client.Invoke(new Messages_SetInlineBotResults { flags = (Messages_SetInlineBotResults.Flags)((next_offset != null ? 0x4 : 0) | (switch_pm != null ? 0x8 : 0) | (switch_webview != null ? 0x10 : 0) | (gallery ? 0x1 : 0) | (private_ ? 0x2 : 0)), @@ -2176,7 +2176,7 @@ namespace TL /// Popup to show /// URL to open /// Cache validity - public static Task Messages_SetBotCallbackAnswer(this Client client, long query_id, DateTime cache_time, string message = null, string url = null, bool alert = false) + public static Task Messages_SetBotCallbackAnswer(this Client client, long query_id, int cache_time, string message = null, string url = null, bool alert = false) => client.Invoke(new Messages_SetBotCallbackAnswer { flags = (Messages_SetBotCallbackAnswer.Flags)((message != null ? 0x1 : 0) | (url != null ? 0x4 : 0) | (alert ? 0x2 : 0)), @@ -3330,6 +3330,7 @@ namespace TL }); /// Enable or disable web bot attachment menu » See + /// Whether the user authorizes the bot to write messages to them, if requested by .request_write_access /// Bot ID /// Toggle public static Task Messages_ToggleBotInAttachMenu(this Client client, InputUserBase bot, bool enabled, bool write_allowed = false) @@ -3523,20 +3524,25 @@ namespace TL id = id, }); - /// See [bots: ✓] + /// Changes the default value of the Time-To-Live setting, applied to all new chats. See [bots: ✓] + /// The new default Time-To-Live of all messages sent in new chats. public static Task Messages_SetDefaultHistoryTTL(this Client client, int period) => client.Invoke(new Messages_SetDefaultHistoryTTL { period = period, }); - /// See [bots: ✓] + /// Gets the default value of the Time-To-Live setting, applied to all new chats. See [bots: ✓] public static Task Messages_GetDefaultHistoryTTL(this Client client) => client.Invoke(new Messages_GetDefaultHistoryTTL { }); - /// See [bots: ✓] + /// Send a chosen peer, as requested by a button. See [bots: ✓] + /// The bot that sent the button. + /// ID of the message that contained the reply keyboard with the button. + /// The button_id field from the . + /// The chosen peer. public static Task Messages_SendBotRequestedPeer(this Client client, InputPeer peer, int msg_id, int button_id, InputPeer requested_peer) => client.Invoke(new Messages_SendBotRequestedPeer { @@ -3591,7 +3597,9 @@ namespace TL peer = peer, }); - /// See [bots: ✓] Possible codes: 400 (details) + /// Obtain information about a bot web app See [bots: ✓] Possible codes: 400 (details) + /// Bot app information obtained from a bot web app deep link ». + /// Hash for pagination, for more info click here public static Task Messages_GetBotApp(this Client client, InputBotApp app, long hash = default) => client.Invoke(new Messages_GetBotApp { @@ -4510,7 +4518,7 @@ namespace TL topics = topics, }); - /// Edit forum topic; requires manage_topics rights. See [bots: ✓] + /// Edit forum topic; requires manage_topics rights. See [bots: ✓] Possible codes: 400 (details) /// Supergroup /// Topic ID /// If present, will update the topic title (maximum UTF-8 length: 128). @@ -4869,7 +4877,8 @@ namespace TL /// Set stickerset thumbnail See [bots: ✓] Possible codes: 400 (details) /// Stickerset - /// Thumbnail + /// Thumbnail (only for normal stickersets, not custom emoji stickersets). + /// Only for custom emoji stickersets, ID of a custom emoji present in the set to use as thumbnail; pass 0 to fallback to the first custom emoji of the set. /// a null value means messages.stickerSetNotModified public static Task Stickers_SetStickerSetThumb(this Client client, InputStickerSet stickerset, InputDocument thumb = null, long? thumb_document_id = null) => client.Invoke(new Stickers_SetStickerSetThumb @@ -4896,7 +4905,7 @@ namespace TL title = title, }); - /// Update the keywords, emojis or mask coordinates of a sticker See [bots: ✓] Possible codes: 400 (details) + /// Update the keywords, emojis or mask coordinates of a sticker, bots only. See [bots: ✓] Possible codes: 400 (details) /// The sticker /// If set, updates the emoji list associated to the sticker /// If set, updates the mask coordinates @@ -7047,7 +7056,7 @@ namespace TL.Methods public Flags flags; public long query_id; public InputBotInlineResultBase[] results; - public DateTime cache_time; + public int cache_time; [IfFlag(2)] public string next_offset; [IfFlag(3)] public InlineBotSwitchPM switch_pm; [IfFlag(4)] public InlineBotWebView switch_webview; @@ -7162,7 +7171,7 @@ namespace TL.Methods public long query_id; [IfFlag(0)] public string message; [IfFlag(2)] public string url; - public DateTime cache_time; + public int cache_time; [Flags] public enum Flags : uint { diff --git a/src/TL.Table.cs b/src/TL.Table.cs index 9f5eb29..f993e3c 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 = 156; // fetched 26/03/2023 15:54:09 + public const int Version = 156; // fetched 26/03/2023 17:25:51 internal const int SecretChats = 144; internal const int MTProto2 = 73; internal const uint VectorCtor = 0x1CB5C415;