diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs index 25049dd..285b091 100644 --- a/src/TL.Schema.cs +++ b/src/TL.Schema.cs @@ -455,11 +455,13 @@ namespace TL /// The emoji, for now ๐Ÿ€, ๐ŸŽฒ and ๐ŸŽฏ are supported public string emoticon; } - /// See + /// Forwarded story See [TLDef(0x89FDD778)] public class InputMediaStory : InputMedia { + /// Peer where the story was posted public InputPeer peer; + /// Story ID public int id; } /// See @@ -1348,6 +1350,7 @@ namespace TL [IfFlag(29)] public Peer default_send_as; /// Allowed message reactions ยป [IfFlag(30)] public ChatReactions available_reactions; + /// Channel stories [IfFlag(36)] public PeerStories stories; [Flags] public enum Flags : uint @@ -1830,6 +1833,7 @@ namespace TL public Flags flags; /// Attached document [IfFlag(0)] public DocumentBase document; + /// Currently only used for story videos, may contain an alternative version of the story video, explicitly encoded using H.264 (in MPEG4 transport) at a lower resolution than document. [IfFlag(5)] public DocumentBase alt_document; /// Time to live of self-destructing document [IfFlag(2)] public int ttl_seconds; @@ -2184,7 +2188,7 @@ namespace TL public Flags flags; /// We have authorized the bot to send us messages by logging into a website via Telegram Login ยป; this field contains the domain name of the website on which the user has logged in. [IfFlag(0)] public string domain; - /// We have authorized the bot to send us messages by opening the specified bot web app. + /// We have authorized the bot to send us messages by opening the specified bot mini app. [IfFlag(2)] public BotApp app; [Flags] public enum Flags : uint @@ -2290,14 +2294,14 @@ namespace TL /// A user was accepted into the group by an admin See [TLDef(0xEBBCA3CB)] public class MessageActionChatJoinedByRequest : MessageAction { } - /// Data from an opened reply keyboard bot web app was relayed to the bot that owns it (bot side service message). See + /// Data from an opened reply keyboard bot mini app was relayed to the bot that owns it (bot side service message). See [TLDef(0x47DD8079, inheritBefore = true)] public class MessageActionWebViewDataSentMe : MessageActionWebViewDataSent { /// Relayed data. public string data; } - /// Data from an opened reply keyboard bot web app was relayed to the bot that owns it (user side service message). See + /// Data from an opened reply keyboard bot mini app was relayed to the bot that owns it (user side service message). See [TLDef(0xB4C38CB5)] public class MessageActionWebViewDataSent : MessageAction { @@ -2789,10 +2793,13 @@ namespace TL [IfFlag(1)] public bool silent; /// Date until which all notifications shall be switched off [IfFlag(2)] public int mute_until; - /// Name of an audio file for notification + /// Identifier of an audio file to play for notifications. [IfFlag(3)] public NotificationSound sound; + /// Whether story notifications should be disabled. [IfFlag(6)] public bool stories_muted; + /// Whether the sender name should be displayed in story notifications. [IfFlag(7)] public bool stories_hide_sender; + /// Identifier of an audio file to play for story notifications. [IfFlag(8)] public NotificationSound stories_sound; [Flags] public enum Flags : uint @@ -2832,10 +2839,15 @@ namespace TL [IfFlag(4)] public NotificationSound android_sound; /// Notification sound for other applications [IfFlag(5)] public NotificationSound other_sound; + /// Whether story notifications should be disabled. [IfFlag(6)] public bool stories_muted; + /// Whether the sender name should be displayed in story notifications. [IfFlag(7)] public bool stories_hide_sender; + /// Sound for story notifications on the official iOS application [IfFlag(8)] public NotificationSound stories_ios_sound; + /// Sound for story notifications on the official Android application [IfFlag(9)] public NotificationSound stories_android_sound; + /// Sound for story notifications on other applications [IfFlag(10)] public NotificationSound stories_other_sound; [Flags] public enum Flags : uint @@ -3491,7 +3503,7 @@ namespace TL /// Usernames. public Username[] usernames; } - /// Authorized to the current user's account through an unknown device. See + /// A new session logged into the current user's account through an unknown device. See [TLDef(0x8951ABEF)] public class UpdateNewAuthorization : Update { @@ -3508,6 +3520,7 @@ namespace TL [Flags] public enum Flags : uint { + /// Whether the session is unconfirmed, see here ยป for more info. unconfirmed = 0x1, } } @@ -4232,12 +4245,13 @@ namespace TL /// A login token (for login via QR code) was accepted. See [TLDef(0x564FE691)] public class UpdateLoginToken : Update { } - /// A specific user has voted in a poll See + /// A specific peer has voted in a poll See [TLDef(0x24F40E77)] public class UpdateMessagePollVote : Update { /// Poll ID public long poll_id; + /// The peer that voted in the poll public Peer peer; /// Chosen option(s) public byte[][] options; @@ -4741,25 +4755,31 @@ namespace TL /// ID of the user we couldn't add. public long user_id; } - /// See + /// A new story was posted. See [TLDef(0x75B3B798)] public class UpdateStory : Update { + /// ID of the poster. public Peer peer; + /// The story that was posted. public StoryItemBase story; } - /// See + /// Stories of a specific peer were marked as read. See [TLDef(0xF74E932B)] public class UpdateReadStories : Update { + /// The peer public Peer peer; + /// ID of the last story that was marked as read public int max_id; } - /// See + /// A story was successfully uploaded. See [TLDef(0x1BF335B9)] public class UpdateStoryID : Update { + /// The id that was attributed to the story. public int id; + /// The random_id that was passed to Stories_SendStory. public long random_id; } /// Indicates that stories stealth mode was activated. See @@ -4769,12 +4789,15 @@ namespace TL /// Information about the current stealth mode session. public StoriesStealthMode stealth_mode; } - /// See + /// Indicates we reacted to a story ยป. See [TLDef(0x7D627683)] public class UpdateSentStoryReaction : Update { + /// The peer that sent the story public Peer peer; + /// ID of the story we reacted to public int story_id; + /// The reaction that was sent public Reaction reaction; } /// See @@ -5921,7 +5944,7 @@ namespace TL AddedByPhone = 0xD1219BDD, ///Whether people can send you voice messages VoiceMessages = 0xAEE69D68, - ///See + ///Whether people can see your bio About = 0x3823CC40, } @@ -5946,7 +5969,7 @@ namespace TL AddedByPhone = 0x42FFD42B, ///Whether the user accepts voice messages VoiceMessages = 0x0697F414, - ///See + ///Whether people can see your bio About = 0xA486B761, } @@ -5992,7 +6015,7 @@ namespace TL /// Disallowed chat IDs public long[] chats; } - /// See + /// Allow only close friends ยป See [TLDef(0x2F453E49)] public class InputPrivacyValueAllowCloseFriends : InputPrivacyRule { } @@ -6038,7 +6061,7 @@ namespace TL /// Disallowed chats public long[] chats; } - /// See + /// Allow only close friends ยป See [TLDef(0xF7E8D89B)] public class PrivacyValueAllowCloseFriends : PrivacyRule { } @@ -6111,6 +6134,7 @@ namespace TL public int w; /// Video height public int h; + /// Number of bytes to preload when preloading videos (particularly video stories). [IfFlag(2)] public int preload_prefix_size; [Flags] public enum Flags : uint @@ -6121,6 +6145,7 @@ namespace TL supports_streaming = 0x2, /// Field has a value has_preload_prefix_size = 0x4, + /// Whether the specified document is a video file with no audio tracks (a GIF animation (even as MPEG4), for example) nosound = 0x8, } } @@ -6406,6 +6431,7 @@ namespace TL encrypted_requests_disabled = 0x8, /// Whether this session will accept phone calls call_requests_disabled = 0x10, + /// Whether the session is unconfirmed, see here ยป for more info. unconfirmed = 0x20, } } @@ -6628,8 +6654,11 @@ namespace TL has_about = 0x20, /// Whether the join request ยป must be first approved by an administrator request_needed = 0x40, + /// Is this chat or channel verified by Telegram? verified = 0x80, + /// This chat is probably a scam scam = 0x100, + /// If set, this chat was reported by many users as a fake or scam: be careful when interacting with it. fake = 0x200, } } @@ -6973,14 +7002,14 @@ namespace TL /// User ID public long user_id; } - /// Button to open a bot web app using Messages_RequestWebView, sending over user information after user confirmation. See + /// Button to open a bot mini app using Messages_RequestWebView, sending over user information after user confirmation. See [TLDef(0x13767230, inheritBefore = true)] public class KeyboardButtonWebView : KeyboardButton { /// Web app url public string url; } - /// Button to open a bot web app using Messages_RequestSimpleWebView, without sending user information to the web app. See + /// Button to open a bot mini app using Messages_RequestSimpleWebView, without sending user information to the web app. See [TLDef(0xA0C0505C)] public class KeyboardButtonSimpleWebView : KeyboardButtonWebView { @@ -8163,7 +8192,7 @@ namespace TL [IfFlag(1)] public string next_offset; /// Shown as a button on top of the remaining inline result list; if clicked, redirects the user to a private chat with the bot with the specified start parameter. [IfFlag(2)] public InlineBotSwitchPM switch_pm; - /// Shown as a button on top of the remaining inline result list; if clicked, opens the specified bot web app. + /// Shown as a button on top of the remaining inline result list; if clicked, opens the specified bot mini app. [IfFlag(3)] public InlineBotWebView switch_webview; /// The results public BotInlineResultBase[] results; @@ -9288,6 +9317,7 @@ namespace TL [IfFlag(8)] public long max_tip_amount; /// A vector of suggested amounts of tips in the smallest units of the currency (integer, not float/double). At most 4 suggested tip amounts can be specified. The suggested tip amounts must be positive, passed in a strictly increased order and must not exceed max_tip_amount. [IfFlag(8)] public long[] suggested_tip_amounts; + /// Terms of service URL [IfFlag(10)] public string terms_url; [Flags] public enum Flags : uint @@ -11883,11 +11913,11 @@ namespace TL other = 0x1000, /// If set, allows the admin to create, delete or modify forum topics ยป. manage_topics = 0x2000, - /// If set, allows the admin to post stories as the channel. + /// If set, allows the admin to post stories as the channel. post_stories = 0x4000, - /// If set, allows the admin to edit stories posted by the other admins of the channel. + /// If set, allows the admin to edit stories posted by the other admins of the channel. edit_stories = 0x8000, - /// If set, allows the admin to delete stories posted by the other admins of the channel. + /// If set, allows the admin to delete stories posted by the other admins of the channel. delete_stories = 0x10000, } } @@ -12080,6 +12110,7 @@ namespace TL audio_preload_next = 0x4, /// Whether to enable data saving mode in phone calls phonecalls_less_data = 0x8, + /// Whether to preload stories; in particular, the first .preload_prefix_size bytes of story videos should be preloaded. stories_preload = 0x10, } } @@ -12540,6 +12571,7 @@ namespace TL public int count; /// Vote info for each user public MessagePeerVoteBase[] votes; + /// Mentioned chats public Dictionary chats; /// Info about users that voted in the poll public Dictionary users; @@ -12975,7 +13007,9 @@ namespace TL { /// Whether to archive and mute new chats from non-contacts archive_and_mute_new_noncontact_peers = 0x1, + /// Whether unmuted chats will be kept in the Archive chat list when they get a new message. keep_archived_unmuted = 0x2, + /// Whether unmuted chats that are always included or pinned in a folder, will be kept in the Archive chat list when they get a new message. Ignored if keep_archived_unmuted is set. keep_archived_folders = 0x4, } } @@ -13151,11 +13185,13 @@ namespace TL quote = 0x200, } } - /// See + /// Represents a reply to a story See [TLDef(0x9C98BFC1)] public class MessageReplyStoryHeader : MessageReplyHeaderBase { + /// ID of the user that posted a story public long user_id; + /// Story ID public int story_id; } @@ -13716,6 +13752,7 @@ namespace TL [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; + /// Sponsored website [IfFlag(9)] public SponsoredWebPage webpage; /// Sponsored message public string message; @@ -14075,7 +14112,7 @@ namespace TL public string key; } - /// Represents an attachment menu icon color for bot web apps ยป See + /// Represents an attachment menu icon color for bot mini apps ยป See [TLDef(0x4576F3F0)] public class AttachMenuBotIconColor : IObject { @@ -14085,13 +14122,13 @@ namespace TL public int color; } - /// Represents an attachment menu icon for bot web apps ยป See + /// Represents an attachment menu icon for bot mini apps ยป See [TLDef(0xB2A7386B)] public class AttachMenuBotIcon : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; - /// One of the following values: note that animated icons must be played when the user clicks on the button, activating the bot web app.

default_static - Default attachment menu icon in SVG format
placeholder_static - Default placeholder for opened Web Apps in SVG format
ios_static - Attachment menu icon in SVG format for the official iOS app
ios_animated - Animated attachment menu icon in TGS format for the official iOS app
android_animated - Animated attachment menu icon in TGS format for the official Android app
macos_animated - Animated attachment menu icon in TGS format for the official native Mac OS app
+ /// One of the following values: note that animated icons must be played when the user clicks on the button, activating the bot mini app.

default_static - Default attachment menu icon in SVG format
placeholder_static - Default placeholder for opened Web Apps in SVG format
ios_static - Attachment menu icon in SVG format for the official iOS app
ios_animated - Animated attachment menu icon in TGS format for the official iOS app
android_animated - Animated attachment menu icon in TGS format for the official Android app
macos_animated - Animated attachment menu icon in TGS format for the official native Mac OS app
public string name; /// The actual icon file. public DocumentBase icon; @@ -14105,7 +14142,7 @@ namespace TL } } - ///
Represents a bot web app that can be launched from the attachment menu ยป See + /// Represents a bot mini app that can be launched from the attachment menu ยป See [TLDef(0xD90D8DFE)] public class AttachMenuBot : IObject { @@ -14134,24 +14171,24 @@ namespace TL } } - /// Represents a list of bot web apps that can be launched from the attachment menu ยป See + /// Represents a list of bot mini apps that can be launched from the attachment menu ยป See /// a value means attachMenuBotsNotModified [TLDef(0x3C4301C0)] public class AttachMenuBots : IObject { /// Hash for pagination, for more info click here public long hash; - /// List of bot web apps that can be launched from the attachment menu ยป + /// List of bot mini apps that can be launched from the attachment menu ยป public AttachMenuBot[] bots; /// Info about related users/bots public Dictionary users; } - /// Represents a bot web app that can be launched from the attachment menu ยป See + /// Represents a bot mini app that can be launched from the attachment menu ยป See [TLDef(0x93BF667F)] public class AttachMenuBotsBot : IObject { - /// Represents a bot web app that can be launched from the attachment menu ยป
+ /// Represents a bot mini app that can be launched from the attachment menu ยป
public AttachMenuBot bot; /// Info about related users and bots public Dictionary users; @@ -14256,7 +14293,7 @@ namespace TL public DocumentBase document; } - /// Indicates a supported peer type for a bot web app attachment menu See + /// Indicates a supported peer type for a bot mini app attachment menu See public enum AttachMenuPeerType : uint { ///The bot attachment menu entry is available in the chat with the bot that offers it @@ -14999,47 +15036,47 @@ namespace TL public JsonObject config; } - /// Used to fetch information about a named bot web app See Derived classes: , + /// Used to fetch information about a named bot mini app See Derived classes: , public abstract class InputBotApp : IObject { } - /// Used to fetch information about a named bot web app by its ID See + /// Used to fetch information about a named bot mini app by its ID See [TLDef(0xA920BD7A)] public class InputBotAppID : InputBotApp { - /// named bot web app ID. + /// named bot mini app ID. public long id; /// โš  REQUIRED FIELD. See how to obtain it
Access hash, obtained from the .
public long access_hash; } - /// Used to fetch information about a named bot web app by its short name See + /// Used to fetch information about a named bot mini app by its short name See [TLDef(0x908C0407)] public class InputBotAppShortName : InputBotApp { - /// ID of the bot that owns the bot web app + /// ID of the bot that owns the bot mini app public InputUserBase bot_id; - /// Short name, obtained from a named bot web app deep link + /// Short name, obtained from a named bot mini app deep link public string short_name; } - /// Contains information about a named bot web app. See + /// Contains information about a named bot mini app. See /// a value means botAppNotModified [TLDef(0x95FCD1D6)] public class BotApp : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; - /// Bot web app ID + /// bot mini app ID public long id; - /// Bot web app access hash + /// bot mini app access hash public long access_hash; - /// Bot web app short name, used to generate named bot web app deep links. + /// bot mini app short name, used to generate named bot mini app deep links. public string short_name; - /// Bot web app title. + /// bot mini app title. public string title; - /// Bot web app description. + /// bot mini app description. public string description; - /// Bot web app photo. + /// bot mini app photo. public PhotoBase photo; - /// Bot web app animation. + /// bot mini 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; @@ -15051,7 +15088,7 @@ namespace TL } } - /// Contains information about a named bot web app See + /// Contains information about a named bot mini app See [TLDef(0xEB50ADF5)] public class Messages_BotApp : IObject { @@ -15070,9 +15107,9 @@ namespace TL } } - /// Contains the link that must be used to open a named bot web app. See Derived classes: + /// Contains the link that must be used to open a named bot mini app. See Derived classes: public abstract class AppWebViewResult : IObject { } - /// Contains the link that must be used to open a named bot web app. See + /// Contains the link that must be used to open a named bot mini app. See [TLDef(0x3C1B4F0D)] public class AppWebViewResultUrl : AppWebViewResult { @@ -15080,7 +15117,7 @@ namespace TL public string url; } - /// Specifies a bot web app button, shown on top of the inline query results list. See + /// Specifies a bot mini app button, shown on top of the inline query results list. See [TLDef(0xB57295D5)] public class InlineBotWebView : IObject { @@ -15239,53 +15276,72 @@ namespace TL public string description; } - /// See Derived classes: , , + /// How a user voted in a poll See Derived classes: , , public abstract class MessagePeerVoteBase : IObject { + /// Peer ID public virtual Peer Peer { get; } + /// When did the peer cast the vote public virtual DateTime Date { get; } } - /// See + /// How a peer voted in a poll See [TLDef(0xB6CC2D5C)] public class MessagePeerVote : MessagePeerVoteBase { + /// Peer ID public Peer peer; + /// The option chosen by the peer public byte[] option; + /// When did the peer cast the vote public DateTime date; + /// Peer ID public override Peer Peer => peer; + /// When did the peer cast the vote public override DateTime Date => date; } - /// See + /// How a peer voted in a poll (reduced constructor, returned if an option was provided to Messages_GetPollVotes) See [TLDef(0x74CDA504)] public class MessagePeerVoteInputOption : MessagePeerVoteBase { + /// The peer that voted for the queried option public Peer peer; + /// When did the peer cast the vote public DateTime date; + /// The peer that voted for the queried option public override Peer Peer => peer; + /// When did the peer cast the vote public override DateTime Date => date; } - /// See + /// How a peer voted in a multiple-choice poll See [TLDef(0x4628F6E6)] public class MessagePeerVoteMultiple : MessagePeerVoteBase { + /// Peer ID public Peer peer; + /// Options chosen by the peer public byte[][] options; + /// When did the peer cast their votes public DateTime date; + /// Peer ID public override Peer Peer => peer; + /// When did the peer cast their votes public override DateTime Date => date; } - /// See + /// Represents a sponsored website. See [TLDef(0x3DB8EC63)] public class SponsoredWebPage : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// Web page URL. public string url; + /// Website name. public string site_name; + /// Optional image preview. [IfFlag(0)] public PhotoBase photo; [Flags] public enum Flags : uint @@ -15295,16 +15351,20 @@ namespace TL } } - /// See + /// Aggregated view and reaction information of a story. See [TLDef(0x8D595CD6)] public class StoryViews : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// View counter of the story public int views_count; + /// Forward counter of the story [IfFlag(2)] public int forwards_count; + /// All reactions sent to this story [IfFlag(3)] public ReactionCount[] reactions; [IfFlag(4)] public int reactions_count; + /// User IDs of some recent viewers of the story [IfFlag(0)] public long[] recent_viewers; [Flags] public enum Flags : uint @@ -15321,27 +15381,33 @@ namespace TL } } - /// See Derived classes: , , + /// Represents a Telegram Story See Derived classes: , , public abstract class StoryItemBase : IObject { + /// Story ID public virtual int ID { get; } } - /// See + /// Represents a previously active story, that was deleted See [TLDef(0x51E6EE4F)] public class StoryItemDeleted : StoryItemBase { + /// Story ID public int id; + /// Story ID public override int ID => id; } - /// See + /// Represents an active story, whose full information was omitted for space and performance reasons; use Stories_GetStoriesByID to fetch full info about the skipped story when and if needed. See [TLDef(0xFFADC913)] public class StoryItemSkipped : StoryItemBase { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// Story ID public int id; + /// When was the story posted. public DateTime date; + /// When does the story expire. public DateTime expire_date; [Flags] public enum Flags : uint @@ -15349,6 +15415,7 @@ namespace TL close_friends = 0x100, } + /// Story ID public override int ID => id; } /// Represents a story. See @@ -15371,7 +15438,9 @@ namespace TL public MessageMedia media; /// List of media areas, see here ยป for more info on media areas. [IfFlag(14)] public MediaArea[] media_areas; + /// Privacy rules indicating who can and can't view this story [IfFlag(2)] public PrivacyRule[] privacy; + /// View date and reaction information [IfFlag(3)] public StoryViews views; /// The reaction we sent. [IfFlag(15)] public Reaction sent_reaction; @@ -15386,7 +15455,9 @@ namespace TL has_privacy = 0x4, /// Field has a value has_views = 0x8, + /// Whether this story is pinned on the user's profile pinned = 0x20, + /// Whether this story is public public_ = 0x80, close_friends = 0x100, min = 0x200, @@ -15408,62 +15479,78 @@ namespace TL public override int ID => id; } - /// See Derived classes: , + /// Full list of active (or active and hidden) stories. See Derived classes: , public abstract class Stories_AllStoriesBase : IObject { } - /// See + /// The list of active (or active and hidden) stories has not changed. See [TLDef(0x1158FE3E)] public class Stories_AllStoriesNotModified : Stories_AllStoriesBase { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// State to use to ask for updates public string state; + /// Current stealth mode information public StoriesStealthMode stealth_mode; [Flags] public enum Flags : uint { } } - /// See + /// Full list of active (or active and hidden) stories. See [TLDef(0x6EFC5E81)] public class Stories_AllStories : Stories_AllStoriesBase, IPeerResolver { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// Total number of active (or active and hidden) stories public int count; + /// State to use for pagination public string state; + /// Stories public PeerStories[] peer_stories; + /// Mentioned chats public Dictionary chats; + /// Mentioned users public Dictionary users; + /// Current stealth mode information public StoriesStealthMode stealth_mode; [Flags] public enum Flags : uint { + /// Whether more results can be fetched as described here ยป. has_more = 0x1, } /// returns a or for the given Peer public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); } - /// See + /// List of stories See [TLDef(0x5DD8C3C8)] public class Stories_Stories : IObject, IPeerResolver { + /// Total number of stories that can be fetched public int count; + /// Stories public StoryItemBase[] stories; + /// Mentioned chats public Dictionary chats; + /// Mentioned users public Dictionary users; /// returns a or for the given Peer public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); } - /// See + /// Story view date and reaction information See [TLDef(0xB0BDEAC5)] public class StoryView : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// The user that viewed the story public long user_id; + /// When did the user view the story public DateTime date; + /// If present, contains the reaction that the user left on the story [IfFlag(2)] public Reaction reaction; [Flags] public enum Flags : uint @@ -15475,16 +15562,20 @@ namespace TL } } - /// See + /// Reaction and view counters for a story See [TLDef(0x46E9B9EC)] public class Stories_StoryViewsList : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// Total number of results that can be fetched public int count; public int reactions_count; + /// Story view date and reaction information public StoryView[] views; + /// Mentioned users public Dictionary users; + /// Offset for pagination [IfFlag(0)] public string next_offset; [Flags] public enum Flags : uint @@ -15494,11 +15585,13 @@ namespace TL } } - /// See + /// Reaction and view counters for a list of stories See [TLDef(0xDE9EED1D)] public class Stories_StoryViews : IObject { + /// View date and reaction information of multiple stories public StoryViews[] views; + /// Mentioned users public Dictionary users; } @@ -15540,10 +15633,11 @@ namespace TL public int story_id; } - /// See + /// Represents a story deep link. See [TLDef(0x3FC9053B)] public class ExportedStoryLink : IObject { + /// The story deep link. public string link; } @@ -15583,7 +15677,7 @@ namespace TL public double rotation; } - /// See Derived classes: , , , + /// Represents a story media area ยป See Derived classes: , , , public abstract class MediaArea : IObject { } /// Represents a location tag attached to a story, with additional venue information. See [TLDef(0xBE82DB9C)] @@ -15604,12 +15698,15 @@ namespace TL /// Venue type in the provider's database public string venue_type; } - /// See + /// Represents a location tag attached to a story, with additional venue information. See [TLDef(0xB282217F)] public class InputMediaAreaVenue : MediaArea { + /// The size and location of the media area corresponding to the location sticker on top of the story media. public MediaAreaCoordinates coordinates; + /// The query_id from , see here ยป for more info. public long query_id; + /// The id of the chosen result, see here ยป for more info. public string result_id; } /// Represents a geolocation tag attached to a story. See @@ -15641,14 +15738,17 @@ namespace TL } } - /// See + /// Stories associated to a peer See [TLDef(0x9A35E999)] public class PeerStories : IObject { /// Extra bits of information, use flags.HasFlag(...) to test for those public Flags flags; + /// The peer public Peer peer; + /// If set, contains the ID of the maximum read story [IfFlag(0)] public int max_read_id; + /// Stories public StoryItemBase[] stories; [Flags] public enum Flags : uint @@ -15658,12 +15758,15 @@ namespace TL } } - /// See + /// Active story list of a specific peer. See [TLDef(0xCAE68768)] public class Stories_PeerStories : IObject, IPeerResolver { + /// Stories public PeerStories stories; + /// Mentioned chats public Dictionary chats; + /// Mentioned users public Dictionary users; /// returns a or for the given Peer public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); diff --git a/src/TL.SchemaFuncs.cs b/src/TL.SchemaFuncs.cs index 5ff6817..8fc5ebf 100644 --- a/src/TL.SchemaFuncs.cs +++ b/src/TL.SchemaFuncs.cs @@ -299,7 +299,7 @@ namespace TL web_auth_token = web_auth_token, }); - /// Request an SMS code via Firebase. See [bots: โœ“] Possible codes: 400 (details) + /// Request an SMS code via Firebase. See Possible codes: 400 (details) /// Phone number /// Phone code hash returned by Auth_SendCode /// On Android, a JWS object obtained as described in the auth documentation ยป @@ -757,7 +757,8 @@ namespace TL }); /// Returns list of chats with non-default notification settings See - /// If true, chats with non-default sound will also be returned + /// If set, chats with non-default sound will be returned + /// If set, chats with non-default notification settings for stories will be returned /// If specified, only chats of the specified category will be returned public static Task Account_GetNotifyExceptions(this Client client, InputNotifyPeerBase peer = null, bool compare_sound = false, bool compare_stories = false) => client.Invoke(new Account_GetNotifyExceptions @@ -1006,7 +1007,8 @@ namespace TL authorization_ttl_days = authorization_ttl_days, }); - /// Change settings related to the current session. See Possible codes: 400 (details) + /// Change settings related to a session. See Possible codes: 400 (details) + /// If set, confirms a newly logged in session ยป. /// Session ID from the , fetchable using Account_GetAuthorizations /// Whether to enable or disable receiving encrypted chats: if the flag is not set, the previous setting is not changed /// Whether to enable or disable receiving calls: if the flag is not set, the previous setting is not changed @@ -1144,7 +1146,8 @@ namespace TL { }); - /// See + /// Invalidate the specified login codes, see here ยป for more info. See + /// The login codes to invalidate. public static Task Account_InvalidateSignInCodes(this Client client, params string[] codes) => client.Invoke(new Account_InvalidateSignInCodes { @@ -1421,7 +1424,7 @@ namespace TL id = id, }); - /// Replace the contents of an entire blocklist, see here for more info ยป. See + /// Replace the contents of an entire blocklist, see here for more info ยป. See /// Whether to edit the story blocklist; if not set, will edit the main blocklist. See here ยป for differences between the two. /// Full content of the blocklist. /// Maximum number of results to return, see pagination @@ -2125,7 +2128,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 on top of the remaining inline result list with the specified text, that switches the user to a private chat with the bot and sends the bot a start message with a certain parameter. - /// If passed, clients will display a button on top of the remaining inline result list with the specified text, that switches the user to the specified bot web app. + /// If passed, clients will display a button on top of the remaining inline result list with the specified text, that switches the user to the specified bot mini app. 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 { @@ -3359,7 +3362,7 @@ namespace TL limit = limit, }); - /// Returns installed attachment menu bot web apps ยป See + /// Returns installed attachment menu bot mini apps ยป See /// Hash for pagination, for more info click here /// a null value means attachMenuBotsNotModified public static Task Messages_GetAttachMenuBots(this Client client, long hash = default) @@ -3368,7 +3371,7 @@ namespace TL hash = hash, }); - /// Returns attachment menu entry for a bot web app that can be launched from the attachment menu ยป See Possible codes: 400 (details) + /// Returns attachment menu entry for a bot mini app that can be launched from the attachment menu ยป See Possible codes: 400 (details) /// Bot ID public static Task Messages_GetAttachMenuBot(this Client client, InputUserBase bot) => client.Invoke(new Messages_GetAttachMenuBot @@ -3388,7 +3391,7 @@ namespace TL enabled = enabled, }); - /// Open a bot web app, sending over user information after user confirmation. See + /// Open a bot mini app, sending over user information after user confirmation. See /// Whether the webview was opened by clicking on the bot's menu button ยป. /// Whether the inline message that will be sent by the bot on behalf of the user once the web app interaction is Messages_SendWebViewResultMessage should be sent silently (no notifications for the receivers). /// Dialog where the web app is being opened, and where the resulting message will be sent (see the docs for more info ยป). @@ -3431,9 +3434,9 @@ namespace TL send_as = send_as, }); - /// Open a bot web app. See + /// Open a bot mini app. See /// Whether the webapp was opened by clicking on the switch_webview button shown on top of the inline results list returned by Messages_GetInlineBotResults. - /// Bot that owns the webapp + /// Bot that owns the mini app /// Web app URL /// Theme parameters ยป /// Short name of the application; 0-64 English letters, digits, and underscores @@ -3458,7 +3461,7 @@ namespace TL result = result, }); - /// Used by the user to relay data from an opened reply keyboard bot web app to the bot that owns it. See + /// Used by the user to relay data from an opened reply keyboard bot mini app to the bot that owns it. See /// Bot that owns the web app /// Unique client message ID to prevent duplicate sending of the same event You can use /// Text of the that was pressed to open the web app. @@ -3647,8 +3650,8 @@ namespace TL peer = peer, }); - /// Obtain information about a named bot web app See Possible codes: 400 (details) - /// Bot app information obtained from a named bot web app deep link ยป. + /// Obtain information about a named bot mini app See Possible codes: 400 (details) + /// Bot app information obtained from a named bot mini 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 @@ -3657,11 +3660,11 @@ namespace TL hash = hash, }); - /// Open a bot web app from a named bot web app deep link, sending over user information after user confirmation. See - /// Set this flag if the bot is asking permission to send messages to the user as specified in the named bot web app deep link docs, and the user agreed. + /// Open a bot mini app from a named bot mini app deep link, sending over user information after user confirmation. See + /// Set this flag if the bot is asking permission to send messages to the user as specified in the named bot mini app deep link docs, and the user agreed. /// If the client has clicked on the link in a Telegram chat, pass the chat's peer information; otherwise pass the bot's peer information, instead. - /// The app obtained by invoking Messages_GetBotApp as specified in the named bot web app deep link docs. - /// If the startapp query string parameter is present in the named bot web app deep link, pass it to start_param. + /// The app obtained by invoking Messages_GetBotApp as specified in the named bot mini app deep link docs. + /// If the startapp query string parameter is present in the named bot mini app deep link, pass it to start_param. /// Theme parameters ยป /// Short name of the application; 0-64 English letters, digits, and underscores public static Task Messages_RequestAppWebView(this Client client, InputPeer peer, InputBotApp app, string platform, string start_param = null, DataJSON theme_params = null, bool write_allowed = false) @@ -4596,7 +4599,7 @@ namespace TL topics = topics, }); - /// Edit forum topic; requires manage_topics rights. See [bots: โœ“] Possible codes: 400 (details) + /// Edit forum topic; requires manage_topics rights. See [bots: โœ“] Possible codes: 400,403 (details) /// Supergroup /// Topic ID /// If present, will update the topic title (maximum UTF-8 length: 128). @@ -4679,7 +4682,9 @@ namespace TL enabled = enabled, }); - /// See Possible codes: 400 (details) + /// Informs the server that the user has either: See Possible codes: 400 (details) + /// Channel where the sponsored message was posted + /// Message ID public static Task Channels_ClickSponsoredMessage(this Client client, InputChannelBase channel, byte[] random_id) => client.Invoke(new Channels_ClickSponsoredMessage { @@ -5726,7 +5731,7 @@ namespace TL /// The story media. /// Media areas associated to the story, see here ยป for more info. /// Story caption. - /// Message entities for styled text + /// Message entities for styled text, if allowed by the stories_entities client configuration parameter ยป. /// Privacy rules for the story, indicating who can or can't view the story. /// Unique client message ID required to prevent message resending. You can use /// Period after which the story is moved to archive (and to the profile if pinned is set), in seconds; must be one of 6 * 3600, 12 * 3600, 86400, or 2 * 86400 for Telegram Premium users, and 86400 otherwise. @@ -5744,13 +5749,13 @@ namespace TL period = period.GetValueOrDefault(), }); - /// See Possible codes: 400 (details) + /// Edit an uploaded story See Possible codes: 400 (details) /// Peer where the story was posted. /// ID of story to edit. /// If specified, replaces the story media. /// Media areas associated to the story, see here ยป for more info. /// If specified, replaces the story caption. - /// Message entities for styled text in the caption + /// Message entities for styled text in the caption, if allowed by the stories_entities client configuration parameter ยป. /// If specified, alters the privacy settings ยป of the story, changing who can or can't view the story. public static Task Stories_EditStory(this Client client, InputPeer peer, int id, InputMedia media = null, string caption = null, MessageEntity[] entities = null, InputPrivacyRule[] privacy_rules = null, MediaArea[] media_areas = null) => client.Invoke(new Stories_EditStory @@ -5775,7 +5780,10 @@ namespace TL id = id, }); - /// See Possible codes: 400 (details) + /// Pin or unpin one or more stories See Possible codes: 400 (details) + /// Peer where to pin or unpin stories + /// IDs of stories to pin or unpin + /// Whether to pin or unpin the stories public static Task Stories_TogglePinned(this Client client, InputPeer peer, int[] id, bool pinned) => client.Invoke(new Stories_TogglePinned { @@ -5784,7 +5792,10 @@ namespace TL pinned = pinned, }); - /// See + /// Fetch the List of active (or active and hidden) stories, see here ยป for more info on watching stories. See + /// If next and state are both set, uses the passed state to paginate to the next results; if neither state nor next are set, fetches the initial page; if state is set and next is not set, check for changes in the active/hidden peerset, see here ยป for more info on the full flow. + /// If set, fetches the hidden active story list, otherwise fetches the active story list, see here ยป for more info on the full flow. + /// If next and state are both set, uses the passed state to paginate to the next results; if neither state nor next are set, fetches the initial page; if state is set and next is not set, check for changes in the active/hidden peerset, see here ยป for more info on the full flow. public static Task Stories_GetAllStories(this Client client, string state = null, bool next = false, bool hidden = false) => client.Invoke(new Stories_GetAllStories { @@ -5792,7 +5803,8 @@ namespace TL state = state, }); - /// See Possible codes: 400 (details) + /// Fetch the stories pinned on a peer's profile. See Possible codes: 400 (details) + /// Peer whose pinned stories should be fetched /// Offsets for pagination, for more info click here /// Maximum number of results to return, see pagination public static Task Stories_GetPinnedStories(this Client client, InputPeer peer, int offset_id = default, int limit = int.MaxValue) @@ -5803,7 +5815,8 @@ namespace TL limit = limit, }); - /// See Possible codes: 400 (details) + /// Fetch the story archive ยป of a peer we control. See Possible codes: 400 (details) + /// Peer whose archived stories should be fetched /// Offsets for pagination, for more info click here /// Maximum number of results to return, see pagination public static Task Stories_GetStoriesArchive(this Client client, InputPeer peer, int offset_id = default, int limit = int.MaxValue) @@ -5814,7 +5827,9 @@ namespace TL limit = limit, }); - /// See Possible codes: 400 (details) + /// Obtain full info about a set of stories by their IDs. See Possible codes: 400 (details) + /// Peer where the stories were posted + /// Story IDs public static Task Stories_GetStoriesByID(this Client client, InputPeer peer, params int[] id) => client.Invoke(new Stories_GetStoriesByID { @@ -5822,15 +5837,17 @@ namespace TL id = id, }); - /// See + /// Hide the active stories of a specific peer, preventing them from being displayed on the action bar on the homescreen. See + /// Whether to hide or unhide all active stories of the peer public static Task Stories_ToggleAllStoriesHidden(this Client client, bool hidden) => client.Invoke(new Stories_ToggleAllStoriesHidden { hidden = hidden, }); - /// See Possible codes: 400 (details) + /// Mark all stories up to a certain ID as read, for a given peer; will emit an update to all logged-in sessions. See Possible codes: 400 (details) /// The peer whose stories should be marked as read. + /// Mark all stories up to and including this ID as read public static Task Stories_ReadStories(this Client client, InputPeer peer, int max_id = default) => client.Invoke(new Stories_ReadStories { @@ -5840,7 +5857,7 @@ namespace TL /// Increment the view counter of one or more stories. See Possible codes: 400 (details) /// Peer where the stories were posted. - /// IDs of the stories. + /// IDs of the stories (maximum 200 at a time). public static Task Stories_IncrementStoryViews(this Client client, InputPeer peer, params int[] id) => client.Invoke(new Stories_IncrementStoryViews { @@ -5848,7 +5865,12 @@ namespace TL id = id, }); - /// See Possible codes: 400 (details) + /// Obtain the list of users that have viewed a specific story we posted See Possible codes: 400 (details) + /// Whether to only fetch view reaction/views made by our contacts + /// Peer where the story was posted + /// Search for specific peers + /// Story ID + /// Offset for pagination, obtained from .next_offset /// Maximum number of results to return, see pagination public static Task Stories_GetStoryViewsList(this Client client, InputPeer peer, int id, string offset, int limit = int.MaxValue, string q = null, bool just_contacts = false, bool reactions_first = false) => client.Invoke(new Stories_GetStoryViewsList @@ -5861,7 +5883,9 @@ namespace TL limit = limit, }); - /// See Possible codes: 400 (details) + /// Obtain info about the view count, forward count, reactions and recent viewers of one or more stories. See Possible codes: 400 (details) + /// Peer whose stories should be fetched + /// Story IDs public static Task Stories_GetStoriesViews(this Client client, InputPeer peer, params int[] id) => client.Invoke(new Stories_GetStoriesViews { @@ -5869,7 +5893,9 @@ namespace TL id = id, }); - /// See Possible codes: 400 (details) + /// Generate a story deep link for a specific story See Possible codes: 400 (details) + /// Peer where the story was posted + /// Story ID public static Task Stories_ExportStoryLink(this Client client, InputPeer peer, int id) => client.Invoke(new Stories_ExportStoryLink { @@ -5914,14 +5940,15 @@ namespace TL reaction = reaction, }); - /// See Possible codes: 400 (details) + /// Fetch the full active story list of a specific peer. See Possible codes: 400 (details) + /// Peer whose stories should be fetched public static Task Stories_GetPeerStories(this Client client, InputPeer peer) => client.Invoke(new Stories_GetPeerStories { peer = peer, }); - /// See + /// Obtain the latest read story ID for all peers when first logging in, returned as a list of updates, see here ยป for more info. See public static Task Stories_GetAllReadPeerStories(this Client client) => client.Invoke(new Stories_GetAllReadPeerStories { @@ -5934,7 +5961,7 @@ namespace TL id = id, }); - /// See + /// Obtain a list of channels where the user can post stories See public static Task Stories_GetChatsToSend(this Client client) => client.Invoke(new Stories_GetChatsToSend {