From aa9c4b532cad7a01e5f50c09a52ccc1866ab2e97 Mon Sep 17 00:00:00 2001 From: Wizou <11647984+wiz0u@users.noreply.github.com> Date: Mon, 12 Dec 2022 10:07:07 +0100 Subject: [PATCH] Improved documentation --- .github/dev.yml | 2 +- EXAMPLES.md | 17 ++-- README.md | 2 +- src/TL.Extensions.cs | 8 +- src/TL.Helpers.cs | 2 +- src/TL.Schema.cs | 186 +++++++++++++++++++++--------------------- src/TL.SchemaFuncs.cs | 86 +++++++++---------- 7 files changed, 148 insertions(+), 155 deletions(-) diff --git a/.github/dev.yml b/.github/dev.yml index 31ee239..da0ac65 100644 --- a/.github/dev.yml +++ b/.github/dev.yml @@ -2,7 +2,7 @@ pr: none trigger: - master -name: 3.1.4-dev.$(Rev:r) +name: 3.1.6-dev.$(Rev:r) pool: vmImage: ubuntu-latest diff --git a/EXAMPLES.md b/EXAMPLES.md index f62efda..de51ccf 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -352,7 +352,7 @@ var messages = await client.Messages_Search(chat, lim foreach (var msg in messages.Messages) await client.Messages_SendReaction(chat, msg.ID, reaction: new[] { reaction }); ``` -*Note: you can find custom emoji document IDs via API methods like [Messages_GetFeaturedEmojiStickers](https://corefork.telegram.org/methods#working-with-custom-animated-emojis) or inspecting incoming messages. Access hash is not required* +*Note: you can find custom emoji document IDs via API methods like [Messages_GetFeaturedEmojiStickers](https://corefork.telegram.org/methods#working-with-custom-animated-emojis) or inspecting messages entities. Access hash is not required* @@ -371,7 +371,7 @@ To use them, you need to extract the `HASH` part from the URL and then you can u ```csharp var chatInvite = await client.Messages_CheckChatInvite("HASH"); // optional: get information before joining await client.Messages_ImportChatInvite("HASH"); // join the channel/group -// Note: This works also with hash invite links of public channel/group +// Note: This works also with HASH invite links from public channel/group ``` @@ -452,29 +452,22 @@ See [Examples/Program_CollectAccessHash.cs](https://github.com/wiz0u/WTelegramCl ## Use a proxy or MTProxy to connect to Telegram -SOCKS/HTTPS proxies can be used through the `client.TcpHandler` delegate and a proxy library like [StarkSoftProxy](https://www.nuget.org/packages/StarkSoftProxy/): +SOCKS/HTTPS proxies can be used through the `client.TcpHandler` delegate and a proxy library like [StarkSoftProxy](https://www.nuget.org/packages/StarkSoftProxy/) or [xNetStandard](https://www.nuget.org/packages/xNetStandard/): ```csharp using var client = new WTelegram.Client(Environment.GetEnvironmentVariable); client.TcpHandler = async (address, port) => { var proxy = new Socks5ProxyClient(ProxyHost, ProxyPort, ProxyUsername, ProxyPassword); + //var proxy = xNet.Socks5ProxyClient.Parse("host:port:username:password"); return proxy.CreateConnection(address, port); }; await client.LoginUserIfNeeded(); ``` -or with [xNetStandard](https://www.nuget.org/packages/xNetStandard/): -```csharp -client.TcpHandler = async (address, port) => -{ - var proxy = xNet.Socks5ProxyClient.Parse("host:port:username:password"); - return proxy.CreateConnection(address, port); -}; -``` MTProxy (MTProto proxy) can be used to prevent ISP blocking Telegram servers, through the `client.MTProxyUrl` property: ```csharp using var client = new WTelegram.Client(Environment.GetEnvironmentVariable); -client.MTProxyUrl = "http://t.me/proxy?server=...&port=...&secret=..."; +client.MTProxyUrl = "https://t.me/proxy?server=...&port=...&secret=..."; await client.LoginUserIfNeeded(); ``` You can find a list of working MTProxies in channels like [@ProxyMTProto](https://t.me/ProxyMTProto) or [@MTProxyT](https://t.me/MTProxyT) *(right-click the "Connect" buttons)* diff --git a/README.md b/README.md index ccb1edf..caa4f31 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ If you run this program again, you will notice that only **api_hash** is request This is because WTelegramClient saves (typically in the encrypted file **bin\WTelegram.session**) its state and the authentication keys that were negotiated with Telegram so that you needn't sign-in again every time. -That file path is configurable (session_pathname), and under various circumstances (changing user or server address) +That file path is configurable (**session_pathname**), and under various circumstances (changing user or server address) you may want to change it or simply delete the existing session file in order to restart the authentification process. # Non-interactive configuration diff --git a/src/TL.Extensions.cs b/src/TL.Extensions.cs index fb18172..2c6f5b8 100644 --- a/src/TL.Extensions.cs +++ b/src/TL.Extensions.cs @@ -142,8 +142,8 @@ namespace TL /// Converts the (plain text + entities) format used by Telegram messages into a Markdown text /// Client, used only for getting current user ID in case of InputMessageEntityMentionName+InputUserSelf - /// The plain text, typically obtained from - /// The array of formatting entities, typically obtained from + /// The plain text, typically obtained from + /// The array of formatting entities, typically obtained from /// Convert premium entities (might lead to non-standard markdown) /// The message text with MarkdownV2 formattings public static string EntitiesToMarkdown(this WTelegram.Client client, string message, MessageEntity[] entities, bool premium = false) @@ -329,8 +329,8 @@ namespace TL /// Converts the (plain text + entities) format used by Telegram messages into an HTML-formatted text /// Client, used only for getting current user ID in case of InputMessageEntityMentionName+InputUserSelf - /// The plain text, typically obtained from - /// The array of formatting entities, typically obtained from + /// The plain text, typically obtained from + /// The array of formatting entities, typically obtained from /// Convert premium entities /// The message text with HTML formatting tags public static string EntitiesToHtml(this WTelegram.Client client, string message, MessageEntity[] entities, bool premium = false) diff --git a/src/TL.Helpers.cs b/src/TL.Helpers.cs index b0abb38..21adbde 100644 --- a/src/TL.Helpers.cs +++ b/src/TL.Helpers.cs @@ -113,7 +113,7 @@ namespace TL public static implicit operator InputMediaPhoto(InputPhoto photo) => new() { id = photo }; } - /// Use the UserOrChat(peer) method from the root class you received, in order to convert this to a more useful or + /// Use the UserOrChat(peer) method from the root class you received, in order to convert this to a more useful or partial class Peer { public abstract long ID { get; } diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs index 908cd31..72c0a58 100644 --- a/src/TL.Schema.cs +++ b/src/TL.Schema.cs @@ -114,7 +114,7 @@ namespace TL /// Object defines a contact from the user's phone book. See Derived classes: public abstract class InputContact : IObject { } - /// Phone contact. The client_id is just an arbitrary contact ID: it should be set, for example, to an incremental number when using contacts.importContacts, in order to retry importing only the contacts that weren't imported successfully. See + /// Phone contact. The client_id is just an arbitrary contact ID: it should be set, for example, to an incremental number when using Contacts_ImportContacts, in order to retry importing only the contacts that weren't imported successfully. See [TLDef(0xF392B7F4)] public class InputPhoneContact : InputContact { @@ -138,7 +138,7 @@ namespace TL /// Full name of the file public virtual string Name { get; } } - /// Defines a file saved in parts using the method upload.saveFilePart. See + /// Defines a file saved in parts using the method Upload_SaveFilePart. See [TLDef(0xF52FF27F)] public partial class InputFile : InputFileBase { @@ -158,7 +158,7 @@ namespace TL /// Full name of the file public override string Name => name; } - /// Assigns a big file (over 10 MB in size), saved in part using the method upload.saveBigFilePart. See + /// Assigns a big file (over 10 MB in size), saved in part using the method Upload_SaveBigFilePart. See [TLDef(0xFA4F0BB5)] public partial class InputFileBig : InputFileBase { @@ -451,7 +451,7 @@ namespace TL { /// Flags, see TL conditional fields public Flags flags; - /// File saved in parts using the method upload.saveFilePart + /// File saved in parts using the method Upload_SaveFilePart [IfFlag(0)] public InputFileBase file; /// Square video for animated profile picture [IfFlag(1)] public InputFileBase video; @@ -559,7 +559,7 @@ namespace TL /// Empty constructor for takeout See [TLDef(0x29BE5899)] public class InputTakeoutFileLocation : InputFileLocationBase { } - /// Use this object to download a photo with upload.getFile method See + /// Use this object to download a photo with Upload_GetFile method See [TLDef(0x40181FFE)] public class InputPhotoFileLocation : InputFileLocationBase { @@ -720,7 +720,7 @@ namespace TL [IfFlag(5)] public UserProfilePhoto photo; /// Online status of user [IfFlag(6)] public UserStatus status; - /// Version of the , incremented every time it changes + /// Version of the bot_info field in userFull, incremented every time it changes [IfFlag(14)] public int bot_info_version; /// Contains the reason why access to this user must be restricted. [IfFlag(18)] public RestrictionReason[] restriction_reason; @@ -1012,9 +1012,9 @@ namespace TL gigagroup = 0x4000000, /// Whether this channel or group is protected, thus does not allow forwarding messages from it noforwards = 0x8000000, - /// Whether a user needs to join the supergroup before they can send messages: can be false only for discussion groups », toggle using channels.toggleJoinToSend + /// Whether a user needs to join the supergroup before they can send messages: can be false only for discussion groups », toggle using Channels_ToggleJoinToSend join_to_send = 0x10000000, - /// Whether a user's join request will have to be approved by administrators, toggle using channels.toggleJoinToSend + /// Whether a user's join request will have to be approved by administrators, toggle using Channels_ToggleJoinRequest join_request = 0x20000000, forum = 0x40000000, } @@ -1084,7 +1084,7 @@ namespace TL public virtual InputGroupCall Call { get; } /// Time-To-Live of messages sent by the current user to this chat public virtual int TtlPeriod { get; } - /// When using phone.getGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. + /// When using Phone_GetGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. public virtual Peer GroupcallDefaultJoinAs { get; } /// Emoji representing a specific chat theme public virtual string ThemeEmoticon { get; } @@ -1123,7 +1123,7 @@ namespace TL [IfFlag(12)] public InputGroupCall call; /// Time-To-Live of messages sent by the current user to this chat [IfFlag(14)] public int ttl_period; - /// When using phone.getGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. + /// When using Phone_GetGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. [IfFlag(15)] public Peer groupcall_default_join_as; /// Emoji representing a specific chat theme [IfFlag(16)] public string theme_emoticon; @@ -1184,7 +1184,7 @@ namespace TL public override InputGroupCall Call => call; /// Time-To-Live of messages sent by the current user to this chat public override int TtlPeriod => ttl_period; - /// When using phone.getGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. + /// When using Phone_GetGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. public override Peer GroupcallDefaultJoinAs => groupcall_default_join_as; /// Emoji representing a specific chat theme public override string ThemeEmoticon => theme_emoticon; @@ -1261,7 +1261,7 @@ namespace TL [IfFlag(24)] public int ttl_period; /// A list of suggested actions for the supergroup admin, see here for more info ». [IfFlag(25)] public string[] pending_suggestions; - /// When using phone.getGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. + /// When using Phone_GetGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. [IfFlag(26)] public Peer groupcall_default_join_as; /// Emoji representing a specific chat theme [IfFlag(27)] public string theme_emoticon; @@ -1290,7 +1290,7 @@ namespace TL has_pinned_msg_id = 0x20, /// Can we set the channel's username? can_set_username = 0x40, - /// Can we associate a stickerpack to the supergroup? + /// Can we Channels_SetStickers a stickerpack to the supergroup? can_set_stickers = 0x80, /// Field has a value has_stickerset = 0x100, @@ -1367,7 +1367,7 @@ namespace TL public override InputGroupCall Call => call; /// Time-To-Live of messages in this channel or supergroup public override int TtlPeriod => ttl_period; - /// When using phone.getGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. + /// When using Phone_GetGroupCallJoinAs to get a list of peers that can be used to join a group call, this field indicates the peer that should be selected by default. public override Peer GroupcallDefaultJoinAs => groupcall_default_join_as; /// Emoji representing a specific chat theme public override string ThemeEmoticon => theme_emoticon; @@ -1555,7 +1555,7 @@ namespace TL [IfFlag(15)] public DateTime edit_date; /// Name of the author of this message for channel posts (with signatures enabled) [IfFlag(16)] public string post_author; - /// Multiple media messages sent using messages.sendMultiMedia with the same grouped ID indicate an album or media group + /// Multiple media messages sent using Messages_SendMultiMedia with the same grouped ID indicate an album or media group [IfFlag(17)] public long grouped_id; /// Reactions to this message [IfFlag(20)] public MessageReactions reactions; @@ -2446,9 +2446,9 @@ namespace TL public Flags flags; /// Phone code type public Auth_SentCodeType type; - /// Phone code hash, to be stored and later re-used with auth.signIn + /// Phone code hash, to be stored and later re-used with Auth_SignIn public string phone_code_hash; - /// Phone code type that will be sent next, if the phone code is not received within timeout seconds: to send it use auth.resendCode + /// Phone code type that will be sent next, if the phone code is not received within timeout seconds: to send it use Auth_ResendCode [IfFlag(1)] public Auth_CodeType next_type; /// Timeout for reception of the phone code [IfFlag(2)] public int timeout; @@ -2630,7 +2630,7 @@ namespace TL report_geo = 0x20, /// Field has a value has_geo_distance = 0x40, - /// Whether this peer was automatically archived according to and can be unarchived + /// Whether this peer was automatically archived according to privacy settings and can be unarchived autoarchived = 0x80, /// If set, this is a recently created group chat to which new members can be invited invite_members = 0x100, @@ -2972,7 +2972,7 @@ namespace TL public Flags flags; /// Total number of messages in the list public int count; - /// Rate to use in the offset_rate parameter in the next call to messages.searchGlobal + /// Rate to use in the offset_rate parameter in the next call to Messages_SearchGlobal [IfFlag(0)] public int next_rate; /// Indicates the absolute position of messages[0] within the total result set with count count.
This is useful, for example, if the result was fetched using offset_id, and we need to display a progress/total counter (like photo 134 of 200, for all media in a chat, we could simply use photo ${offset_id_offset} of ${count}.
[IfFlag(2)] public int offset_id_offset; @@ -3135,7 +3135,7 @@ namespace TL /// Object contains info on events occurred. See Derived classes: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , public abstract class Update : IObject { } - /// New message in a private chat or in a basic group. See + /// New message in a private chat or in a basic group. See [TLDef(0x1F2B0AFD)] public class UpdateNewMessage : Update { @@ -3508,7 +3508,7 @@ namespace TL emojis = 0x2, } } - /// The saved gif list has changed, the client should refetch it using messages.getSavedGifs See + /// The saved gif list has changed, the client should refetch it using Messages_GetSavedGifs See [TLDef(0x9375341E)] public class UpdateSavedGifs : Update { } /// An incoming inline query See @@ -3538,7 +3538,7 @@ namespace TL has_peer_type = 0x2, } } - /// The result of an inline query that was chosen by a user and sent to their chat partner. Please see our documentation on the feedback collecting for details on how to enable these updates for your bot. See + /// The result of an inline query that was chosen by a user and sent to their chat partner. Please see our documentation on the feedback collecting for details on how to enable these updates for your bot. See [TLDef(0x12F12A07)] public class UpdateBotInlineSend : Update { @@ -3665,7 +3665,7 @@ namespace TL /// The recent sticker list was updated See [TLDef(0x9A422C20)] public class UpdateRecentStickers : Update { } - /// The server-side configuration has changed; the client should re-fetch the config using help.getConfig See + /// The server-side configuration has changed; the client should re-fetch the config using Help_GetConfig See [TLDef(0xA229DD06)] public class UpdateConfig : Update { } /// Common message box sequence PTS has changed, state has to be refetched using updates.getState See @@ -3783,7 +3783,7 @@ namespace TL /// Phone call public PhoneCallBase phone_call; } - /// A language pack has changed, the client should manually fetch the changed strings using langpack.getDifference See + /// A language pack has changed, the client should manually fetch the changed strings using Langpack_GetDifference See [TLDef(0x46560264)] public class UpdateLangPackTooLong : Update { @@ -3797,7 +3797,7 @@ namespace TL /// Changed strings public LangPackDifference difference; } - /// The list of favorited stickers was changed, the client should call messages.getFavedStickers to refetch the new list See + /// The list of favorited stickers was changed, the client should call Messages_GetFavedStickers to refetch the new list See [TLDef(0xE511996D)] public class UpdateFavedStickers : Update { } /// The specified channel/supergroup messages were read See @@ -4294,10 +4294,10 @@ namespace TL has_top_msg_id = 0x1, } } - /// The list of installed attachment menu entries » has changed, use messages.getAttachMenuBots to fetch the updated list. See + /// The list of installed attachment menu entries » has changed, use Messages_GetAttachMenuBots to fetch the updated list. See [TLDef(0x17B7A20B)] public class UpdateAttachMenuBots : Update { } - /// Indicates to a bot that a webview was closed and an inline message was sent on behalf of the user using messages.sendWebViewResultMessage See + /// Indicates to a bot that a webview was closed and an inline message was sent on behalf of the user using Messages_SendWebViewResultMessage See [TLDef(0x1592B79D)] public class UpdateWebViewResultSent : Update { @@ -4313,10 +4313,10 @@ namespace TL /// New menu button public BotMenuButtonBase button; } - /// The list of saved notification sounds has changed, use account.getSavedRingtones to fetch the new list. See + /// The list of saved notification sounds has changed, use Account_GetSavedRingtones to fetch the new list. See [TLDef(0x74D8BE99)] public class UpdateSavedRingtones : Update { } - /// A pending voice message transcription » initiated with messages.transcribeAudio was updated. See + /// A pending voice message transcription » initiated with Messages_TranscribeAudio was updated. See [TLDef(0x0084CD5A)] public class UpdateTranscribedAudio : Update { @@ -4520,7 +4520,7 @@ namespace TL /// returns a or for the given Peer public abstract IPeerInfo UserOrChat(Peer peer); } - /// Too many updates, it is necessary to execute updates.getDifference. See + /// Too many updates, it is necessary to execute Updates_GetDifference. See [TLDef(0xE317AF7E)] public partial class UpdatesTooLong : UpdatesBase, IPeerResolver { @@ -4834,7 +4834,7 @@ namespace TL public Flags flags; /// Current date at the server public DateTime date; - /// Expiration date of this config: when it expires it'll have to be refetched using help.getConfig + /// Expiration date of this config: when it expires it'll have to be refetched using Help_GetConfig public DateTime expires; /// Whether we're connected to the test DCs public bool test_mode; @@ -4848,9 +4848,9 @@ namespace TL public int chat_size_max; /// Maximum member count for supergroups public int megagroup_size_max; - /// Maximum number of messages that can be forwarded at once using messages.forwardMessages. + /// Maximum number of messages that can be forwarded at once using Messages_ForwardMessages. public int forwarded_count_max; - /// The client should update its online status every N milliseconds + /// The client should Account_UpdateStatus every N milliseconds public int online_update_period_ms; /// Delay before offline status needs to be sent to the server public int offline_blur_timeout_ms; @@ -5214,7 +5214,7 @@ namespace TL /// File ID, value of id parameter from public override long ID => id; } - /// Assigns a new big encrypted file (over 10 MB in size), saved in parts using the method upload.saveBigFilePart. See + /// Assigns a new big encrypted file (over 10 MB in size), saved in parts using the method Upload_SaveBigFilePart. See [TLDef(0x2DC173C8)] public class InputEncryptedFileBigUploaded : InputEncryptedFileBase { @@ -6296,7 +6296,7 @@ namespace TL [IfFlag(4)] public int thumb_dc_id; /// Thumbnail version [IfFlag(4)] public int thumb_version; - /// Document ID of custom emoji thumbnail, fetch the document using messages.getCustomEmojiDocuments + /// Document ID of custom emoji thumbnail, fetch the document using Messages_GetCustomEmojiDocuments [IfFlag(8)] public long thumb_document_id; /// Number of stickers in pack public int count; @@ -6422,7 +6422,7 @@ namespace TL [Flags] public enum Flags : uint { - /// Whether the user should verify his identity by entering his 2FA SRP parameters to the messages.getBotCallbackAnswer method. NOTE: telegram and the bot WILL NOT have access to the plaintext password, thanks to SRP. This button is mainly used by the official @botfather bot, for verifying the user's identity before transferring ownership of a bot to another user. + /// Whether the user should verify his identity by entering his 2FA SRP parameters to the Messages_GetBotCallbackAnswer method. NOTE: telegram and the bot WILL NOT have access to the plaintext password, thanks to SRP. This button is mainly used by the official @botfather bot, for verifying the user's identity before transferring ownership of a bot to another user. requires_password = 0x1, } @@ -6469,7 +6469,7 @@ namespace TL public class KeyboardButtonBuy : KeyboardButton { } - /// Button to request a user to authorize via URL using Seamless Telegram Login. When the user clicks on such a button, messages.requestUrlAuth should be called, providing the button_id and the ID of the container message. The returned object will contain more details about the authorization request (request_write_access if the bot would like to send messages to the user along with the username of the bot which will be used for user authorization). Finally, the user can choose to call messages.acceptUrlAuth to get a with the URL to open instead of the url of this constructor, or a , in which case the url of this constructor must be opened, instead. If the user refuses the authorization request but still wants to open the link, the url of this constructor must be used. See + /// Button to request a user to authorize via URL using Seamless Telegram Login. When the user clicks on such a button, Messages_RequestUrlAuth should be called, providing the button_id and the ID of the container message. The returned object will contain more details about the authorization request (request_write_access if the bot would like to send messages to the user along with the username of the bot which will be used for user authorization). Finally, the user can choose to call Messages_AcceptUrlAuth to get a with the URL to open instead of the url of this constructor, or a , in which case the url of this constructor must be opened, instead. If the user refuses the authorization request but still wants to open the link, the url of this constructor must be used. See [TLDef(0x10B78D29)] public class KeyboardButtonUrlAuth : KeyboardButtonBase { @@ -6481,7 +6481,7 @@ namespace TL [IfFlag(0)] public string fwd_text; /// An HTTP URL to be opened with user authorization data added to the query string when the button is pressed. If the user refuses to provide authorization data, the original URL without information about the user will be opened. The data added is the same as described in Receiving authorization data.

NOTE: Services must always check the hash of the received data to verify the authentication and the integrity of the data as described in Checking authorization.
public string url; - /// ID of the button to pass to messages.requestUrlAuth + /// ID of the button to pass to Messages_RequestUrlAuth public int button_id; [Flags] public enum Flags : uint @@ -6493,7 +6493,7 @@ namespace TL /// Button label public override string Text => text; } - /// Button to request a user to authorize via URL using Seamless Telegram Login. See + /// Button to request a user to Messages_AcceptUrlAuth via URL using Seamless Telegram Login. See [TLDef(0xD02E7FD4)] public class InputKeyboardButtonUrlAuth : KeyboardButtonBase { @@ -6553,14 +6553,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 web 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 web app using Messages_RequestSimpleWebView, without sending user information to the web app. See [TLDef(0xA0C0505C)] public class KeyboardButtonSimpleWebView : KeyboardButtonWebView { @@ -6727,7 +6727,7 @@ namespace TL [TLDef(0xC8CF05F8, inheritBefore = true)] public class MessageEntityCustomEmoji : MessageEntity { - /// Document ID of the custom emoji, use messages.getCustomEmojiDocuments to fetch the emoji animation and the actual emoji it represents. + /// Document ID of the custom emoji, use Messages_GetCustomEmojiDocuments to fetch the emoji animation and the actual emoji it represents. public long document_id; } @@ -8172,7 +8172,7 @@ namespace TL /// Stickerset public override StickerSet Set => set; } - /// Stickerset preview with all stickers of the stickerset included.
Currently used only for custom emoji stickersets, to avoid a further call to messages.getStickerSet. See
+ /// Stickerset preview with all stickers of the stickerset included.
Currently used only for
custom emoji stickersets, to avoid a further call to Messages_GetStickerSet. See
[TLDef(0x40D13C0E)] public class StickerSetFullCovered : StickerSetCoveredBase { @@ -8965,7 +8965,7 @@ namespace TL /// Map scale; 1-3 public int scale; } - /// Used to download an album cover for any music file using upload.getWebFile, see the webfile docs for more info ». See + /// Used to download an album cover for any music file using Upload_GetWebFile, see the webfile docs for more info ». See [TLDef(0xF46FE924)] public class InputWebFileAudioAlbumThumbLocation : InputWebFileLocationBase { @@ -9470,9 +9470,9 @@ namespace TL has_reason = 0x1, /// Field has a value has_duration = 0x2, - /// Whether the server required the user to rate the call + /// Whether the server required the user to Phone_SetCallRating the call need_rating = 0x4, - /// Whether the server required the client to send the libtgvoip call debug data + /// Whether the server required the client to Phone_SaveCallDebug the libtgvoip call debug data need_debug = 0x8, /// Whether the call was a video call video = 0x40, @@ -9573,7 +9573,7 @@ namespace TL public int min_layer; /// Maximum layer for remote libtgvoip public int max_layer; - /// When using phone.requestCall and phone.acceptCall, specify all library versions supported by the client.
The server will merge and choose the best library version supported by both peers, returning only the best value in the result of the callee's phone.acceptCall and in the update received by the caller.
+ /// When using Phone_RequestCall and Phone_AcceptCall, specify all library versions supported by the client.
The server will merge and choose the best library version supported by both peers, returning only the best value in the result of the callee's Phone_AcceptCall and in the update received by the caller.
public string[] library_versions; [Flags] public enum Flags : uint @@ -9862,7 +9862,7 @@ namespace TL /// New stickerset public InputStickerSet new_stickerset; } - /// The hidden prehistory setting was changed See + /// The hidden prehistory setting was Channels_TogglePreHistoryHidden See [TLDef(0x5F5C95F1)] public class ChannelAdminLogEventActionTogglePreHistoryHidden : ChannelAdminLogEventAction { @@ -9903,7 +9903,7 @@ namespace TL /// New location public ChannelLocation new_value; } - /// Slow mode setting for supergroups was changed See + /// Channels_ToggleSlowMode See [TLDef(0x53909779)] public class ChannelAdminLogEventActionToggleSlowMode : ChannelAdminLogEventAction { @@ -10115,33 +10115,33 @@ namespace TL [Flags] public enum Flags : uint { - /// + /// Join events join = 0x1, - /// + /// Leave events leave = 0x2, - /// + /// Invite events invite = 0x4, - /// + /// Ban events ban = 0x8, - /// + /// Unban events unban = 0x10, - /// + /// Kick events kick = 0x20, - /// + /// Unkick events unkick = 0x40, - /// + /// Admin promotion events promote = 0x80, - /// + /// Admin demotion events demote = 0x100, - /// Info change events (when , , , , , or data of a channel gets modified) + /// Info change events (when about, linked chat, location, photo, stickerset, title or username data of a channel gets modified) info = 0x200, - /// Settings change events (, , , ) + /// Settings change events (invites, hidden prehistory, signatures, default banned rights) settings = 0x400, - /// + /// Message pin events pinned = 0x800, - /// + /// Message edit events edit = 0x1000, - /// + /// Message deletion events delete = 0x2000, /// Group call events group_call = 0x4000, @@ -10228,7 +10228,7 @@ namespace TL public IPeerInfo UserOrChat(Peer peer) => peer?.UserOrChat(users, chats); } - /// A single media in an album or grouped media sent with messages.sendMultiMedia. See + /// A single media in an album or grouped media sent with Messages_SendMultiMedia. See [TLDef(0x1CC6E91F)] public class InputSingleMedia : IObject { @@ -10386,14 +10386,14 @@ namespace TL [TLDef(0xE3309F7F)] public class Help_TermsOfServiceUpdateEmpty : Help_TermsOfServiceUpdateBase { - /// New TOS updates will have to be queried using help.getTermsOfServiceUpdate in expires seconds + /// New TOS updates will have to be queried using Help_GetTermsOfServiceUpdate in expires seconds public DateTime expires; } - /// Info about an update of telegram's terms of service. If the terms of service are declined, then the account.deleteAccount method should be called with the reason "Decline ToS update" See + /// Info about an update of telegram's terms of service. If the terms of service are declined, then the Account_DeleteAccount method should be called with the reason "Decline ToS update" See [TLDef(0x28ECF961)] public class Help_TermsOfServiceUpdate : Help_TermsOfServiceUpdateBase { - /// New TOS updates will have to be queried using help.getTermsOfServiceUpdate in expires seconds + /// New TOS updates will have to be queried using Help_GetTermsOfServiceUpdate in expires seconds public DateTime expires; /// New terms of service public Help_TermsOfService terms_of_service; @@ -11143,7 +11143,7 @@ namespace TL [Flags] public enum Flags : uint { - /// Indicates that not full page preview is available to the client and it will need to fetch full Instant View from the server using messages.getWebPagePreview. + /// Indicates that not full page preview is available to the client and it will need to fetch full Instant View from the server using Messages_GetWebPagePreview. part = 0x1, /// Whether the page contains RTL text rtl = 0x2, @@ -11183,7 +11183,7 @@ namespace TL { /// Textual representation of the answer public string text; - /// The param that has to be passed to messages.sendVote. + /// The param that has to be passed to Messages_SendVote. public byte[] option; } @@ -11197,7 +11197,7 @@ namespace TL public Flags flags; /// The question of the poll public string question; - /// The possible answers, vote using messages.sendVote. + /// The possible answers, vote using Messages_SendVote. public PollAnswer[] answers; /// Amount of time in seconds the poll will be active after creation, 5-600. Can't be used together with close_date. [IfFlag(4)] public int close_period; @@ -11227,7 +11227,7 @@ namespace TL { /// Flags, see TL conditional fields public Flags flags; - /// The param that has to be passed to messages.sendVote. + /// The param that has to be passed to Messages_SendVote. public byte[] option; /// How many users voted for this option public int voters; @@ -11260,7 +11260,7 @@ namespace TL [Flags] public enum Flags : uint { - /// Similar to min objects, used for poll constructors that are the same for all users so they don't have the option chosen by the current user (you can use messages.getPollResults to get the full poll results). + /// Similar to min objects, used for poll constructors that are the same for all users so they don't have the option chosen by the current user (you can use Messages_GetPollResults to get the full poll results). min = 0x1, /// Field has a value has_results = 0x2, @@ -11381,7 +11381,7 @@ namespace TL /// Unique wallpaper ID public string slug; } - /// Wallpaper with no file access hash, used for example when deleting (unsave=true) wallpapers using account.saveWallPaper, specifying just the wallpaper ID. See + /// Wallpaper with no file access hash, used for example when deleting (unsave=true) wallpapers using Account_SaveWallPaper, specifying just the wallpaper ID. See [TLDef(0x967A462E)] public class InputWallPaperNoFile : InputWallPaperBase { @@ -11591,7 +11591,7 @@ namespace TL public int folder_id; } - /// Indicates how many results would be found by a messages.search call with the same parameters See + /// Indicates how many results would be found by a Messages_Search call with the same parameters See [TLDef(0xE844EBFF)] public class Messages_SearchCounter : IObject { @@ -11618,7 +11618,7 @@ namespace TL { /// Flags, see TL conditional fields public Flags flags; - /// Username of a bot, which will be used for user authorization. If not specified, the current bot's username will be assumed. The url's domain must be the same as the domain linked with the bot. See Linking your domain to the bot for more details. + /// Username of a bot, which will be used for user authorization. If not specified, the current bot's username will be assumed. The url's domain must be the same as the domain linked with the bot. See Linking your domain to the bot for more details. public UserBase bot; /// The domain name of the website on which the user will log in. public string domain; @@ -11850,7 +11850,7 @@ namespace TL [IfFlag(3)] public int outbox_accent_color; /// The fill to be used as a background for outgoing messages, in RGB24 format.
If just one or two equal colors are provided, describes a solid fill of a background.
If two different colors are provided, describes the top and bottom colors of a 0-degree gradient.
If three or four colors are provided, describes a freeform gradient fill of a background.
[IfFlag(0)] public int[] message_colors; - /// or when passing wallpaper files for image or pattern wallpapers, with id=0 otherwise. + /// or inputWallPaperSlug when passing wallpaper files for image or pattern wallpapers, with id=0 otherwise. [IfFlag(1)] public InputWallPaperBase wallpaper; /// Wallpaper settings. [IfFlag(1)] public WallPaperSettings wallpaper_settings; @@ -11944,7 +11944,7 @@ namespace TL /// When did the user cast the vote public override DateTime Date => date; } - /// How a user voted in a poll (reduced constructor, returned if an option was provided to messages.getPollVotes) See + /// How a user voted in a poll (reduced constructor, returned if an option was provided to Messages_GetPollVotes) See [TLDef(0x3CA5B0EC)] public class MessageUserVoteInputOption : MessageUserVoteBase { @@ -11981,13 +11981,13 @@ namespace TL { /// Flags, see TL conditional fields public Flags flags; - /// Total number of votes for all options (or only for the chosen option, if provided to messages.getPollVotes) + /// Total number of votes for all options (or only for the chosen option, if provided to Messages_GetPollVotes) public int count; /// Vote info for each user public MessageUserVoteBase[] votes; /// Info about users that voted in the poll public Dictionary users; - /// Offset to use with the next messages.getPollVotes request, empty string if no more results are available. + /// Offset to use with the next Messages_GetPollVotes request, empty string if no more results are available. [IfFlag(0)] public string next_offset; [Flags] public enum Flags : uint @@ -12102,7 +12102,7 @@ namespace TL /// Channel statistics graph See Derived classes: , , public abstract class StatsGraphBase : IObject { } - /// This channel statistics graph must be generated asynchronously using stats.loadAsyncGraph to reduce server load See + /// This channel statistics graph must be generated asynchronously using Stats_LoadAsyncGraph to reduce server load See [TLDef(0x4A27EB2D)] public class StatsGraphAsync : StatsGraphBase { @@ -12597,7 +12597,7 @@ namespace TL { /// Whether the user should be muted upon joining the call join_muted = 0x2, - /// Whether the current user can change the value of the join_muted flag using phone.toggleGroupCallSettings + /// Whether the current user can change the value of the join_muted flag using Phone_ToggleGroupCallSettings can_change_join_muted = 0x4, /// Field has a value has_title = 0x8, @@ -12619,7 +12619,7 @@ namespace TL record_video_active = 0x800, /// Whether RTMP streams are allowed rtmp_stream = 0x1000, - /// Whether the listeners list is hidden and cannot be fetched using phone.getGroupParticipants. The phone.groupParticipants.count and groupCall.participants_count counters will still include listeners. + /// Whether the listeners list is hidden and cannot be fetched using Phone_GetGroupParticipants. The phone.groupParticipants.count and groupCall.participants_count counters will still include listeners. listeners_hidden = 0x2000, } @@ -12676,7 +12676,7 @@ namespace TL has_active_date = 0x8, /// Whether the participant has just joined just_joined = 0x10, - /// If set, and .version < locally stored call.version, info about this participant should be ignored. If (...), and .version > call.version+1, the participant list should be refetched using phone.getGroupParticipants. + /// If set, and .version < locally stored call.version, info about this participant should be ignored. If (...), and .version > call.version+1, the participant list should be refetched using Phone_GetGroupParticipants. versioned = 0x20, /// Field has a value has_video = 0x40, @@ -12709,7 +12709,7 @@ namespace TL public GroupCallBase call; /// A partial list of participants. public GroupCallParticipant[] participants; - /// Next offset to use when fetching the remaining participants using phone.getGroupParticipants + /// Next offset to use when fetching the remaining participants using Phone_GetGroupParticipants public string participants_next_offset; /// Chats mentioned in the participants vector public Dictionary chats; @@ -12727,7 +12727,7 @@ namespace TL public int count; /// List of participants public GroupCallParticipant[] participants; - /// If not empty, the specified list of participants is partial, and more participants can be fetched specifying this parameter as offset in phone.getGroupParticipants. + /// If not empty, the specified list of participants is partial, and more participants can be fetched specifying this parameter as offset in Phone_GetGroupParticipants. public string next_offset; /// Mentioned chats public Dictionary chats; @@ -12977,7 +12977,7 @@ namespace TL public string short_name; } - /// Represents a scope where the bot commands, specified using bots.setBotCommands will be valid. See Derived classes: , , , , , + /// Represents a scope where the bot commands, specified using Bots_SetBotCommands will be valid. See Derived classes: , , , , , /// a value means botCommandScopeDefault public abstract class BotCommandScope : IObject { } /// The specified bot commands will only be valid in all private chats with users. See @@ -13007,7 +13007,7 @@ namespace TL public InputUserBase user_id; } - /// Result of an account.resetPassword request. See Derived classes: , , + /// Result of an Account_ResetPassword request. See Derived classes: , , public abstract class Account_ResetPasswordResult : IObject { } /// You recently requested a password reset that was canceled, please wait until the specified date before requesting another reset. See [TLDef(0xE3779861)] @@ -13027,7 +13027,7 @@ namespace TL [TLDef(0xE926D63E)] public class Account_ResetPasswordOk : Account_ResetPasswordResult { } - /// A sponsored message. See + /// A sponsored message. See [TLDef(0x3A836DF8)] public class SponsoredMessage : IObject { @@ -13254,11 +13254,11 @@ namespace TL [Flags] public enum Flags : uint { - /// Similar to min objects, used for message reaction » constructors that are the same for all users so they don't have the reactions sent by the current user (you can use messages.getMessagesReactions to get the full reaction info). + /// Similar to min objects, used for message reaction » constructors that are the same for all users so they don't have the reactions sent by the current user (you can use Messages_GetMessagesReactions to get the full reaction info). min = 0x1, /// Field has a value has_recent_reactions = 0x2, - /// Whether messages.getMessageReactionsList can be used to see how each specific peer reacted to the message + /// Whether Messages_GetMessageReactionsList can be used to see how each specific peer reacted to the message can_see_list = 0x4, } } @@ -13277,7 +13277,7 @@ namespace TL public Dictionary chats; /// Mentioned users public Dictionary users; - /// If set, indicates the next offset to use to load more results by invoking messages.getMessageReactionsList. + /// If set, indicates the next offset to use to load more results by invoking Messages_GetMessageReactionsList. [IfFlag(0)] public string next_offset; [Flags] public enum Flags : uint @@ -13446,7 +13446,7 @@ namespace TL [Flags] public enum Flags : uint { - /// Whether this bot attachment menu entry should be shown in the attachment menu (toggle using messages.toggleBotInAttachMenu) + /// Whether this bot attachment menu entry should be shown in the attachment menu (toggle using Messages_ToggleBotInAttachMenu) inactive = 0x1, /// True, if the bot supports the "settings_button_pressed" event » has_settings = 0x2, @@ -13560,7 +13560,7 @@ namespace TL [TLDef(0xFF6C8049)] public class NotificationSoundRingtone : NotificationSound { - /// Document ID of notification sound uploaded using account.uploadRingtone + /// Document ID of notification sound uploaded using Account_UploadRingtone public long id; } diff --git a/src/TL.SchemaFuncs.cs b/src/TL.SchemaFuncs.cs index 66f7c00..dd0ed40 100644 --- a/src/TL.SchemaFuncs.cs +++ b/src/TL.SchemaFuncs.cs @@ -124,7 +124,7 @@ namespace TL /// Signs in a user with a validated phone number. See Possible codes: 400,406,500 (details) /// Phone number in the international format - /// SMS-message ID, obtained from auth.sendCode + /// SMS-message ID, obtained from Auth_SendCode /// Valid numerical code from the SMS-message /// Email verification code or token [Obsolete("Use LoginUserIfNeeded instead of this method. See https://wiz0u.github.io/WTelegramClient/FAQ#tlsharp")] @@ -209,7 +209,7 @@ namespace TL { }); - /// Reset the 2FA password using the recovery code sent using auth.requestPasswordRecovery. See Possible codes: 400 (details) + /// Reset the 2FA password using the recovery code sent using Auth_RequestPasswordRecovery. See Possible codes: 400 (details) /// Code received via email /// New password public static Task Auth_RecoverPassword(this Client client, string code, Account_PasswordInputSettings new_settings = null) @@ -222,7 +222,7 @@ namespace TL /// Resend the login code via another medium, the phone code type is determined by the return value of the previous auth.sendCode/auth.resendCode: see login for more info. See Possible codes: 400,406 (details) /// The phone number - /// The phone code hash obtained from auth.sendCode + /// The phone code hash obtained from Auth_SendCode [Obsolete("Use LoginUserIfNeeded instead of this method. See https://wiz0u.github.io/WTelegramClient/FAQ#tlsharp")] public static Task Auth_ResendCode(this Client client, string phone_number, string phone_code_hash) => client.Invoke(new Auth_ResendCode @@ -233,7 +233,7 @@ namespace TL /// Cancel the login verification code See Possible codes: 400,406 (details) /// Phone number - /// Phone code hash from auth.sendCode + /// Phone code hash from Auth_SendCode [Obsolete("Use LoginUserIfNeeded instead of this method. See https://wiz0u.github.io/WTelegramClient/FAQ#tlsharp")] public static Task Auth_CancelCode(this Client client, string phone_number, string phone_code_hash) => client.Invoke(new Auth_CancelCode @@ -278,7 +278,7 @@ namespace TL token = token, }); - /// Check if the 2FA recovery code sent using auth.requestPasswordRecovery is valid, before passing it to auth.recoverPassword. See Possible codes: 400 (details) + /// Check if the 2FA recovery code sent using Auth_RequestPasswordRecovery is valid, before passing it to Auth_RecoverPassword. See Possible codes: 400 (details) /// Code received via email public static Task Auth_CheckRecoveryPassword(this Client client, string code) => client.Invoke(new Auth_CheckRecoveryPassword @@ -462,8 +462,8 @@ namespace TL /// Change the phone number of the current account See Possible codes: 400,406 (details) /// New phone number - /// Phone code hash received when calling account.sendChangePhoneCode - /// Phone code received when calling account.sendChangePhoneCode + /// Phone code hash received when calling Account_SendChangePhoneCode + /// Phone code received when calling Account_SendChangePhoneCode public static Task Account_ChangePhone(this Client client, string phone_number, string phone_code_hash, string phone_code) => client.Invoke(new Account_ChangePhone { @@ -555,7 +555,7 @@ namespace TL }); /// Log out an active web telegram login session See Possible codes: 400 (details) - /// hash + /// Session hash public static Task Account_ResetWebAuthorization(this Client client, long hash) => client.Invoke(new Account_ResetWebAuthorization { @@ -640,8 +640,8 @@ namespace TL /// Verify a phone number for telegram passport. See Possible codes: 400 (details) /// Phone number - /// Phone code hash received from the call to account.sendVerifyPhoneCode - /// Code received after the call to account.sendVerifyPhoneCode + /// Phone code hash received from the call to Account_SendVerifyPhoneCode + /// Code received after the call to Account_SendVerifyPhoneCode public static Task Account_VerifyPhone(this Client client, string phone_number, string phone_code_hash, string phone_code) => client.Invoke(new Account_VerifyPhone { @@ -976,7 +976,7 @@ namespace TL }); /// Change authorization settings See Possible codes: 400 (details) - /// Session ID from the , fetchable using account.getAuthorizations + /// 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 public static Task Account_ChangeAuthorizationSettings(this Client client, long hash, bool? encrypted_requests_disabled = default, bool? call_requests_disabled = default) @@ -998,7 +998,7 @@ namespace TL }); /// Save or remove saved notification sound. See - /// Notification sound uploaded using account.uploadRingtone + /// Notification sound uploaded using Account_UploadRingtone /// Whether to add or delete the notification sound public static Task Account_SaveRingtone(this Client client, InputDocument id, bool unsave) => client.Invoke(new Account_SaveRingtone @@ -1007,7 +1007,7 @@ namespace TL unsave = unsave, }); - /// Upload notification sound, use account.saveRingtone to convert it and add it to the list of saved notification sounds. See + /// Upload notification sound, use Account_SaveRingtone to convert it and add it to the list of saved notification sounds. See /// Notification sound /// File name /// MIME type of file @@ -1910,7 +1910,7 @@ namespace TL /// Global search filter /// If a positive value was specified, the method will return only messages with date bigger than min_date /// If a positive value was transferred, the method will return only messages with date smaller than max_date - /// Initially 0, then set to the + /// Initially 0, then set to the next_rate parameter of messages.messagesSlice /// Offsets for pagination, for more info click here /// Offsets for pagination, for more info click here /// Offsets for pagination, for more info click here @@ -2007,7 +2007,7 @@ namespace TL switch_pm = switch_pm, }); - /// Send a result obtained using messages.getInlineBotResults. See Possible codes: 400,403,420,500 (details) + /// Send a result obtained using Messages_GetInlineBotResults. See Possible codes: 400,403,420,500 (details) /// Whether to send the message silently (no notification will be triggered on the other client) /// Whether to send the message in background /// Whether to clear the draft @@ -2015,8 +2015,8 @@ namespace TL /// Destination /// ID of the message this message should reply to /// Random ID to avoid resending the same query - /// Query ID from messages.getInlineBotResults - /// Result ID from messages.getInlineBotResults + /// Query ID from Messages_GetInlineBotResults + /// Result ID from Messages_GetInlineBotResults /// Scheduled message date for scheduled messages /// Send this message as the specified peer public static Task Messages_SendInlineBotResult(this Client client, InputPeer peer, long random_id, long query_id, string id, bool silent = false, bool background = false, bool clear_draft = false, bool hide_via = false, int? reply_to_msg_id = null, int? top_msg_id = null, DateTime? schedule_date = null, InputPeer send_as = null) @@ -2088,7 +2088,7 @@ namespace TL /// Where was the inline keyboard sent /// ID of the Message with the inline keyboard /// Callback data - /// For buttons , the SRP payload generated using SRP. + /// For buttons requiring you to verify your identity with your 2FA password, the SRP payload generated using SRP. public static Task Messages_GetBotCallbackAnswer(this Client client, InputPeer peer, int msg_id, bool game = false, byte[] data = null, InputCheckPasswordSRP password = null) => client.Invoke(new Messages_GetBotCallbackAnswer { @@ -2454,7 +2454,7 @@ namespace TL /// Whether to move used stickersets to top, see here for more info on this flag » /// The destination chat /// The message to reply to - /// The medias to send: note that they must be separately uploaded using messages.uploadMedia first, using raw inputMediaUploaded* constructors is not supported. + /// The medias to send: note that they must be separately uploaded using Messages_UploadMedia first, using raw inputMediaUploaded* constructors is not supported. /// Scheduled message date for scheduled messages /// Send this message as the specified peer public static Task Messages_SendMultiMedia(this Client client, InputPeer peer, InputSingleMedia[] multi_media, bool silent = false, bool background = false, bool clear_draft = false, bool noforwards = false, bool update_stickersets_order = false, int? reply_to_msg_id = null, int? top_msg_id = null, DateTime? schedule_date = null, InputPeer send_as = null) @@ -2619,7 +2619,7 @@ namespace TL lang_code = lang_code, }); - /// Get the number of results that would be found by a messages.search call with the same parameters See Possible codes: 400 (details) + /// Get the number of results that would be found by a Messages_Search call with the same parameters See Possible codes: 400 (details) /// Peer where to search /// Search filters public static Task Messages_GetSearchCounters(this Client client, InputPeer peer, MessagesFilter[] filters, int? top_msg_id = null) @@ -2664,7 +2664,7 @@ namespace TL url = url, }); - /// Should be called after the user hides the report spam/add as contact bar of a new chat, effectively prevents the user from executing the actions specified in the . See + /// Should be called after the user hides the report spam/add as contact bar of a new chat, effectively prevents the user from executing the actions specified in the peer's settings. See /// Peer public static Task Messages_HidePeerSettingsBar(this Client client, InputPeer peer) => client.Invoke(new Messages_HidePeerSettingsBar @@ -2867,7 +2867,7 @@ namespace TL /// Import chat history from a foreign chat app into a specific Telegram chat, click here for more info about imported chats ». See Possible codes: 400,406 (details) /// The Telegram chat where the history should be imported. /// File with messages to import. - /// Number of media files associated with the chat that will be uploaded using messages.uploadImportedMedia. + /// Number of media files associated with the chat that will be uploaded using Messages_UploadImportedMedia. public static Task Messages_InitHistoryImport(this Client client, InputPeer peer, InputFileBase file, int media_count) => client.Invoke(new Messages_InitHistoryImport { @@ -2878,7 +2878,7 @@ namespace TL /// Upload a media file associated with an imported chat, click here for more info ». See /// The Telegram chat where the media will be imported - /// Identifier of a history import session, returned by messages.initHistoryImport + /// Identifier of a history import session, returned by Messages_InitHistoryImport /// File name /// Media metadata /// a null value means messageMediaEmpty @@ -2891,9 +2891,9 @@ namespace TL media = media, }); - /// Complete the history import process, importing all messages into the chat.
To be called only after initializing the import with messages.initHistoryImport and uploading all files using messages.uploadImportedMedia. See Possible codes: 400 (details)
+ /// Complete the history import process, importing all messages into the chat.
To be called only after initializing the import with Messages_InitHistoryImport and uploading all files using Messages_UploadImportedMedia. See Possible codes: 400 (details)
/// The Telegram chat where the messages should be imported, click here for more info » - /// Identifier of a history import session, returned by messages.initHistoryImport. + /// Identifier of a history import session, returned by Messages_InitHistoryImport. public static Task Messages_StartHistoryImport(this Client client, InputPeer peer, long import_id) => client.Invoke(new Messages_StartHistoryImport { @@ -3017,7 +3017,7 @@ namespace TL /// Change the chat theme of a certain chat See Possible codes: 400 (details) /// Private chat where to change theme - /// Emoji, identifying a specific chat theme; a list of chat themes can be fetched using account.getChatThemes + /// Emoji, identifying a specific chat theme; a list of chat themes can be fetched using Account_GetChatThemes public static Task Messages_SetChatTheme(this Client client, InputPeer peer, string emoticon) => client.Invoke(new Messages_SetChatTheme { @@ -3168,7 +3168,7 @@ namespace TL hash = hash, }); - /// Change default emoji reaction to use in the quick reaction menu: the value is synced across devices and can be fetched using help.getConfig, reactions_default field. See Possible codes: 400 (details) + /// Change default emoji reaction to use in the quick reaction menu: the value is synced across devices and can be fetched using Help_GetConfig. See Possible codes: 400 (details) /// New emoji reaction public static Task Messages_SetDefaultReaction(this Client client, Reaction reaction) => client.Invoke(new Messages_SetDefaultReaction @@ -3264,14 +3264,14 @@ namespace TL /// Open a bot web 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 terminated should be sent silently (no notifications for the receivers). + /// 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 »). /// Bot that owns the web app /// Web app URL /// If the web app was opened from the attachment menu using a attachment menu deep link, start_param should contain the data from the startattach parameter. /// Theme parameters » /// Short name of the application; 0-64 English letters, digits, and underscores - /// Whether the inline message that will be sent by the bot on behalf of the user once the web app interaction is terminated should be sent in reply to this message ID. + /// 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 in reply to this message ID. /// Open the web app as the specified peer, sending the resulting the message as the specified peer. public static Task Messages_RequestWebView(this Client client, InputPeer peer, InputUserBase bot, string platform, bool from_bot_menu = false, bool silent = false, string url = null, string start_param = null, DataJSON theme_params = null, int? reply_to_msg_id = null, int? top_msg_id = null, InputPeer send_as = null) => client.Invoke(new Messages_RequestWebView @@ -3289,11 +3289,11 @@ namespace TL }); /// Indicate to the server (from the user side) that the user is still using a web app. See - /// Whether the inline message that will be sent by the bot on behalf of the user once the web app interaction is terminated should be sent silently (no notifications for the receivers). + /// 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 was opened. /// Bot that owns the web app - /// Web app interaction ID obtained from messages.requestWebView - /// Whether the inline message that will be sent by the bot on behalf of the user once the web app interaction is terminated should be sent in reply to this message ID. + /// Web app interaction ID obtained from Messages_RequestWebView + /// 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 in reply to this message ID. /// Open the web app as the specified peer public static Task Messages_ProlongWebView(this Client client, InputPeer peer, InputUserBase bot, long query_id, bool silent = false, int? reply_to_msg_id = null, int? top_msg_id = null, InputPeer send_as = null) => client.Invoke(new Messages_ProlongWebView @@ -3322,8 +3322,8 @@ namespace TL platform = platform, }); - /// This method is only for basic Chat. See Terminology to understand what this means
Search for a similar method name starting with Channels_ if you're dealing with a
Terminate webview interaction started with messages.requestWebView, sending the specified message to the chat on behalf of the user. See [bots: ✓] Possible codes: 400 (details)
- /// Webview interaction ID obtained from messages.requestWebView + /// This method is only for basic Chat. See Terminology to understand what this means
Search for a similar method name starting with Channels_ if you're dealing with a
Terminate webview interaction started with Messages_RequestWebView, sending the specified message to the chat on behalf of the user. See [bots: ✓] Possible codes: 400 (details)
+ /// Webview interaction ID obtained from Messages_RequestWebView /// Message to send public static Task Messages_SendWebViewResultMessage(this Client client, string bot_query_id, InputBotInlineResultBase result) => client.Invoke(new Messages_SendWebViewResultMessage @@ -3502,7 +3502,7 @@ namespace TL }); /// Updates current user profile photo. See Possible codes: 400 (details) - /// File saved in parts by means of upload.saveFilePart method + /// File saved in parts by means of Upload_SaveFilePart method /// Animated profile picture video /// Floating point UNIX timestamp in seconds, indicating the frame of the video that should be used as static preview. public static Task Photos_UploadProfilePhoto(this Client client, InputFileBase file = null, InputFileBase video = null, double? video_start_ts = null) @@ -3785,7 +3785,7 @@ namespace TL }); /// Dismiss a suggestion, see here for more info ». See - /// In the case of pending suggestions in , the channel ID. + /// In the case of pending suggestions in channels, the channel ID. /// Suggestion, see here for more info ». public static Task Help_DismissSuggestion(this Client client, InputPeer peer, string suggestion) => client.Invoke(new Help_DismissSuggestion @@ -3899,7 +3899,7 @@ namespace TL /// Create a supergroup/channel. See Possible codes: 400,406 (details) /// Whether to create a channel /// Whether to create a supergroup - /// Whether the supergroup is being created to import messages from a foreign chat service using messages.initHistoryImport + /// Whether the supergroup is being created to import messages from a foreign chat service using Messages_InitHistoryImport /// Channel title /// Channel description /// Geogroup location @@ -4026,9 +4026,9 @@ namespace TL enabled = enabled, }); - /// Get channels/supergroups/geogroups we're admin in. Usually called when the user exceeds the for owned public channels/supergroups/geogroups, and the user is given the choice to remove one of his channels/supergroups/geogroups. See Possible codes: 400 (details) + /// Get channels/supergroups/geogroups we're admin in. Usually called when the user exceeds the limit for owned public channels/supergroups/geogroups, and the user is given the choice to remove one of his channels/supergroups/geogroups. See Possible codes: 400 (details) /// Get geogroups - /// If set and the user has reached the limit of owned public channels/supergroups/geogroups, instead of returning the channel list one of the specified errors will be returned.
Useful to check if a new public channel can indeed be created, even before asking the user to enter a channel username to use in channels.checkUsername/channels.updateUsername. + /// If set and the user has reached the limit of owned public channels/supergroups/geogroups, instead of returning the channel list one of the specified errors will be returned.
Useful to check if a new public channel can indeed be created, even before asking the user to enter a channel username to use in Channels_CheckUsername/Channels_UpdateUsername. public static Task Channels_GetAdminedPublicChannels(this Client client, bool by_location = false, bool check_limit = false) => client.Invoke(new Channels_GetAdminedPublicChannels { @@ -4422,7 +4422,7 @@ namespace TL button = button, }); - /// Gets the menu button action for a given user or for all users, previously set using bots.setBotMenuButton; users can see this information in the . See [bots: ✓] Possible codes: 400 (details) + /// Gets the menu button action for a given user or for all users, previously set using Bots_SetBotMenuButton; users can see this information in the . See [bots: ✓] Possible codes: 400 (details) /// User ID or empty for the default menu button. /// a null value means botMenuButtonDefault public static Task Bots_GetBotMenuButton(this Client client, InputUserBase user_id) @@ -4483,7 +4483,7 @@ namespace TL /// Send compiled payment form See Possible codes: 400 (details) /// Form ID /// Invoice - /// ID of saved and validated + /// ID of saved and validated order info /// Chosen shipping option ID /// Payment credentials /// Tip, in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies). @@ -4974,7 +4974,7 @@ namespace TL call = call, }); - /// Get RTMP URL and stream key for RTMP livestreams. Can be used even before creating the actual RTMP livestream with phone.createGroupCall (the rtmp_stream flag must be set). See Possible codes: 400 (details) + /// Get RTMP URL and stream key for RTMP livestreams. Can be used even before creating the actual RTMP livestream with Phone_CreateGroupCall (the rtmp_stream flag must be set). See Possible codes: 400 (details) /// Peer to livestream into /// Whether to revoke the previous stream key or simply return the existing one public static Task Phone_GetGroupCallStreamRtmpUrl(this Client client, InputPeer peer, bool revoke) @@ -5093,7 +5093,7 @@ namespace TL channel = channel, }); - /// Obtains a list of messages, indicating to which other public channels was a channel message forwarded.
Will return a list of with peer_id equal to the public channel to which this message was forwarded. See Possible codes: 400 (details)
+ /// Obtains a list of messages, indicating to which other public channels was a channel message forwarded.
Will return a list of messages with peer_id equal to the public channel to which this message was forwarded. See Possible codes: 400 (details)
/// Source channel /// Source message ID /// Initially 0, then set to the next_rate parameter of