diff --git a/.github/dev.yml b/.github/dev.yml
index 994f6ad..31ee239 100644
--- a/.github/dev.yml
+++ b/.github/dev.yml
@@ -2,7 +2,7 @@ pr: none
trigger:
- master
-name: 3.1.3-dev.$(Rev:r)
+name: 3.1.4-dev.$(Rev:r)
pool:
vmImage: ubuntu-latest
diff --git a/EXAMPLES.md b/EXAMPLES.md
index c777b70..2fcc816 100644
--- a/EXAMPLES.md
+++ b/EXAMPLES.md
@@ -379,7 +379,7 @@ await client.Messages_ImportChatInvite("HASH"); // join the channel/group
var chats = await client.Messages_GetAllChats();
var chat = chats.chats[1234567890]; // the target chat
```
-After the above code, once you [have obtained](https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#access-hash) an `InputUser` or `User`, you can:
+After the above code, once you [have obtained](FAQ.md#access-hash) an `InputUser` or `User`, you can:
```csharp
// • Directly add the user to a Chat/Channel/group:
await client.AddChatUser(chat, user);
diff --git a/FAQ.md b/FAQ.md
index b703c0b..36f03c5 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -45,7 +45,7 @@ and when the user has provided the verification_code through your app, you "set"
Another solution is to use the [alternative login method](README.md#alternative-simplified-configuration--login),
calling `client.Login(...)` as the user provides the requested configuration elements.
-You can download such full example apps [for WinForms](https://github.com/wiz0u/WTelegramClient/raw/master/Examples/WinForms_app.zip) and [for ASP.NET](https://github.com/wiz0u/WTelegramClient/raw/master/Examples/ASPnet_webapp.zip)
+You can download such full example apps [for WinForms](Examples/WinForms_app.zip) and [for ASP.NET](Examples/ASPnet_webapp.zip)
#### 4. How to use IDs? Where to get the access_hash? Why the error `CHANNEL_INVALID` or `USER_ID_INVALID`?
@@ -301,7 +301,7 @@ Here is a list of common issues and how to fix them so that your program work co
It is not recommended to copy/compile the source code of the library for a normal usage.
When built in DEBUG mode, the source code connects to Telegram test servers (see also [FAQ #6](#wrong-server)).
So you can either:
- - **Recommended:** Use the [official Nuget package](https://www.nuget.org/packages/WTelegramClient) or the [private nuget feed of development builds](https://dev.azure.com/wiz0u/WTelegramClient/_artifacts/feed/WTelegramClient/NuGet/WTelegramClient)
+ - **Recommended:** Use the [official Nuget package](https://www.nuget.org/packages/WTelegramClient)
- Build your code in RELEASE mode
- Modify your config callback to reply to "server_address" with the IP address of Telegram production servers (as found on your API development tools)
diff --git a/README.md b/README.md
index 1db4148..88d7368 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
+[](https://corefork.telegram.org/methods)
[](https://www.nuget.org/packages/WTelegramClient/)
[](https://dev.azure.com/wiz0u/WTelegramClient/_build?definitionId=7)
-[](https://corefork.telegram.org/methods)
[](http://t.me/WTelegramBot?start=donate)
## _Telegram Client API library written 100% in C# and .NET Standard_
@@ -76,7 +76,7 @@ There are other configuration items that are queried to your method but returnin
Those shown above are the only ones that have no default values and should be provided by your method.
Returning `null` for verification_code or password will show a prompt for console apps, or an error otherwise
-*(see [FAQ #3](https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#GUI) for WinForms)*
+*(see [FAQ #3](https://wiz0u.github.io/WTelegramClient/FAQ#GUI) for WinForms)*
Returning `""` for verification_code requests the resending of the code through another system (SMS or Call).
Another simple approach is to pass `Environment.GetEnvironmentVariable` as the config callback and define the configuration items as environment variables
@@ -108,7 +108,7 @@ async Task DoLogin(string loginInfo) // (add this method to your code)
With this method, you can choose in some cases to interrupt the login loop via a `return` instead of `break`, and resume it later
by calling `DoLogin(requestedCode)` again once you've obtained the requested code/password/etc...
-See [WinForms example](https://github.com/wiz0u/WTelegramClient/raw/master/Examples/WinForms_app.zip) and [ASP.NET example](https://github.com/wiz0u/WTelegramClient/raw/master/Examples/ASPnet_webapp.zip)
+See [WinForms example](https://wiz0u.github.io/WTelegramClient/Examples/WinForms_app.zip) and [ASP.NET example](https://wiz0u.github.io/WTelegramClient/Examples/ASPnet_webapp.zip)
# Example of API call
@@ -148,9 +148,9 @@ Console.WriteLine($"Sending a message in chat {chatId}: {target.Title}");
await client.SendMessageAsync(target, "Hello, World");
```
-➡️ You can find lots of useful code snippets in [EXAMPLES.md](https://github.com/wiz0u/WTelegramClient/blob/master/EXAMPLES.md)
+➡️ You can find lots of useful code snippets in [EXAMPLES](https://wiz0u.github.io/WTelegramClient/EXAMPLES)
and in the [Examples subdirectory](https://github.com/wiz0u/WTelegramClient/tree/master/Examples).
-➡️ Check [the FAQ](https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#compile) if example codes doesn't compile correctly on your machine, or other troubleshooting.
+➡️ Check [the FAQ](https://wiz0u.github.io/WTelegramClient/FAQ#compile) if example codes doesn't compile correctly on your machine, or other troubleshooting.
# Terminology in Telegram Client API
@@ -165,14 +165,14 @@ or a [broadcast channel](https://corefork.telegram.org/api/channel#channels) (th
- `Peer` : Either a `Chat`, a `Channel` or a `User`
- Dialog : Status of chat with a `Peer` *(draft, last message, unread count, pinned...)*. It represents each line from your Telegram chat list.
- Access Hash : Telegram requires you to provide a specific `access_hash` for users, channels, and other resources before interacting with them.
-See [FAQ #4](https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#access-hash) to learn more about it.
+See [FAQ #4](https://wiz0u.github.io/WTelegramClient/FAQ#access-hash) to learn more about it.
- DC (DataCenter) : There are a few datacenters depending on where in the world the user (or an uploaded media file) is from.
- Session or Authorization : Pairing between a device and a phone number. You can have several active sessions for the same phone number.
# Other things to know
The Client class also offers an `OnUpdate` event that is triggered when Telegram servers sends Updates (like new messages or status), independently of your API requests.
-See [Examples/Program_ListenUpdates.cs](https://github.com/wiz0u/WTelegramClient/blob/master/Examples/Program_ListenUpdates.cs)
+See [Examples/Program_ListenUpdates.cs](https://wiz0u.github.io/WTelegramClient/Examples/Program_ListenUpdates.cs)
An invalid API request can result in a `RpcException` being raised, reflecting the [error code and status text](https://revgram.github.io/errors.html) of the problem.
@@ -191,18 +191,18 @@ This library works best with **.NET 5.0+** (faster, no dependencies) and is also
# Library uses and limitations
This library can be used for any Telegram scenarios including:
- Sequential or parallel automated steps based on API requests/responses
-- Real-time [monitoring](https://github.com/wiz0u/WTelegramClient/blob/master/EXAMPLES.md#updates) of incoming Updates/Messages
+- Real-time [monitoring](https://wiz0u.github.io/WTelegramClient/EXAMPLES#updates) of incoming Updates/Messages
- Download/upload of files/media
-- Exchange end-to-end encrypted messages/files in [Secret Chats](https://github.com/wiz0u/WTelegramClient/blob/master/EXAMPLES.md#e2e)
+- Exchange end-to-end encrypted messages/files in [Secret Chats](https://wiz0u.github.io/WTelegramClient/EXAMPLES#e2e)
- Building a full-featured interactive client
-It has been tested in a Console app, [in Windows Forms](https://github.com/wiz0u/WTelegramClient/raw/master/Examples/WinForms_app.zip),
-[in ASP.NET webservice](https://github.com/wiz0u/WTelegramClient/raw/master/Examples/ASPnet_webapp.zip), and in Xamarin/Android.
+It has been tested in a Console app, [in Windows Forms](https://wiz0u.github.io/WTelegramClient/Examples/WinForms_app.zip),
+[in ASP.NET webservice](https://wiz0u.github.io/WTelegramClient/Examples/ASPnet_webapp.zip), and in Xamarin/Android.
Don't use this library for Spam or Scam. Respect Telegram [Terms of Service](https://telegram.org/tos)
as well as the [API Terms of Service](https://core.telegram.org/api/terms) or you might get banned from Telegram servers.
-If you read all this ReadMe, the [Frequently Asked Questions](https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md),
-the [Examples codes](https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md) and still have questions, feedback is welcome in our Telegram group [@WTelegramClient](https://t.me/WTelegramClient)
+If you read all this ReadMe, the [Frequently Asked Questions](https://wiz0u.github.io/WTelegramClient/FAQ),
+the [Examples codes](https://wiz0u.github.io/WTelegramClient/EXAMPLES) and still have questions, feedback is welcome in our Telegram group [@WTelegramClient](https://t.me/WTelegramClient)
If you like this library, please [consider a donation](http://t.me/WTelegramBot?start=donate) ❤ This will help the project keep going.
diff --git a/src/TL.Helpers.cs b/src/TL.Helpers.cs
index 506b52d..baa60d3 100644
--- a/src/TL.Helpers.cs
+++ b/src/TL.Helpers.cs
@@ -148,6 +148,7 @@ namespace TL
{
public override long ID => id;
public override bool IsActive => (flags & Flags.deleted) == 0;
+ public bool IsBot => (flags & Flags.bot) != 0;
public string MainUsername => username ?? usernames?.FirstOrDefault(u => u.flags.HasFlag(Username.Flags.active))?.username;
public override string ToString() => username != null ? '@' + username : last_name == null ? first_name : $"{first_name} {last_name}";
public override InputPeer ToInputPeer() => new InputPeerUser(id, access_hash);
@@ -156,18 +157,16 @@ namespace TL
public TimeSpan LastSeenAgo => status?.LastSeenAgo ?? TimeSpan.FromDays(150);
}
-
- /// a null value means userStatusEmpty = last seen a long time ago, more than a month (this is also always shown for blocked/deleted users)
- partial class UserStatus { /// An estimation of the number of days ago the user was last seen (online=0, recently=1, lastWeek=5, lastMonth=20)
= null means a long time ago, more than a month (this is also always shown for blocked/deleted users)
- public abstract TimeSpan LastSeenAgo { get; } }
- partial class UserStatusOnline { public override TimeSpan LastSeenAgo => TimeSpan.Zero; }
- partial class UserStatusOffline { public override TimeSpan LastSeenAgo => DateTime.UtcNow - new DateTime((was_online + 62135596800L) * 10000000, DateTimeKind.Utc); }
+ /// a null value means userStatusEmpty = last seen a long time ago, more than a month (or blocked/deleted users)
+ partial class UserStatus { internal abstract TimeSpan LastSeenAgo { get; } }
+ partial class UserStatusOnline { internal override TimeSpan LastSeenAgo => TimeSpan.Zero; }
+ partial class UserStatusOffline { internal override TimeSpan LastSeenAgo => DateTime.UtcNow - new DateTime((was_online + 62135596800L) * 10000000, DateTimeKind.Utc); }
/// covers anything between 1 second and 2-3 days
- partial class UserStatusRecently { public override TimeSpan LastSeenAgo => TimeSpan.FromDays(1); }
+ partial class UserStatusRecently { internal override TimeSpan LastSeenAgo => TimeSpan.FromDays(1); }
/// between 2-3 and seven days
- partial class UserStatusLastWeek { public override TimeSpan LastSeenAgo => TimeSpan.FromDays(5); }
+ partial class UserStatusLastWeek { internal override TimeSpan LastSeenAgo => TimeSpan.FromDays(5); }
/// between 6-7 days and a month
- partial class UserStatusLastMonth { public override TimeSpan LastSeenAgo => TimeSpan.FromDays(20); }
+ partial class UserStatusLastMonth { internal override TimeSpan LastSeenAgo => TimeSpan.FromDays(20); }
partial class ChatBase : IPeerInfo
{
diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs
index 8a7851b..1177959 100644
--- a/src/TL.Schema.cs
+++ b/src/TL.Schema.cs
@@ -50,7 +50,7 @@ namespace TL
{
/// User identifier
public long user_id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash value from the
+ /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash value from the
public long access_hash;
}
/// Defines a channel for further interaction. See
@@ -59,7 +59,7 @@ namespace TL
{
/// Channel identifier
public long channel_id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash value from the
+ /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash value from the
public long access_hash;
}
/// Defines a min user that was seen in a certain message of a certain chat. See
@@ -97,7 +97,7 @@ namespace TL
{
/// User identifier
public long user_id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash value from the
+ /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash value from the
public long access_hash;
}
/// Defines a min user that was seen in a certain message of a certain chat. See
@@ -504,7 +504,7 @@ namespace TL
{
/// Photo identifier
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash value from the
+ /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash value from the
public long access_hash;
/// File reference
public byte[] file_reference;
@@ -531,7 +531,7 @@ namespace TL
{
/// File ID, id parameter value from
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Checksum, access_hash parameter value from
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Checksum, access_hash parameter value from
public long access_hash;
}
/// Document location (video, voice, audio, basically every type except photo) See
@@ -540,7 +540,7 @@ namespace TL
{
/// Document ID
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash parameter from the
+ /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash parameter from the
public long access_hash;
/// File reference
public byte[] file_reference;
@@ -553,7 +553,7 @@ namespace TL
{
/// File ID, id parameter value from
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Checksum, access_hash parameter value from
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Checksum, access_hash parameter value from
public long access_hash;
}
/// Empty constructor for takeout See
@@ -565,7 +565,7 @@ namespace TL
{
/// Photo ID, obtained from the object
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Photo's access hash, obtained from the object
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Photo's access hash, obtained from the object
public long access_hash;
/// File reference
public byte[] file_reference;
@@ -578,7 +578,7 @@ namespace TL
{
/// Photo ID
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
public long access_hash;
/// File reference
public byte[] file_reference;
@@ -5112,7 +5112,7 @@ namespace TL
{
/// Chat ID
public int chat_id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Checking sum from constructor , or
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Checking sum from constructor , or
public long access_hash;
}
@@ -5162,7 +5162,7 @@ namespace TL
{
/// File ID, value of id parameter from
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Checking sum, value of access_hash parameter from
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Checking sum, value of access_hash parameter from
public long access_hash;
/// File ID, value of id parameter from
@@ -5287,7 +5287,7 @@ namespace TL
{
/// Document ID
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash parameter from the
+ /// ⚠ REQUIRED FIELD. See how to obtain it
access_hash parameter from the
public long access_hash;
/// File reference
public byte[] file_reference;
@@ -6192,7 +6192,7 @@ namespace TL
{
/// ID
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
public long access_hash;
}
/// Stickerset by short name, from a stickerset deep link » See
@@ -6698,7 +6698,7 @@ namespace TL
{
/// Channel ID
public long channel_id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash taken from the
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash taken from the
public long access_hash;
/// Channel ID
@@ -7858,7 +7858,7 @@ namespace TL
public int dc_id;
/// ID of message, contains both the (32-bit, legacy) owner ID and the message ID, used only for Bot API backwards compatibility with 32-bit user ID.
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash of message
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash of message
public long access_hash;
/// DC ID to use when working with this inline message
@@ -7876,7 +7876,7 @@ namespace TL
public long owner_id;
/// ID of message
public int id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash of message
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash of message
public long access_hash;
/// DC ID to use when working with this inline message
@@ -8201,7 +8201,7 @@ namespace TL
{
/// game ID from constructor
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
access hash from constructor
+ /// ⚠ REQUIRED FIELD. See how to obtain it
access hash from constructor
public long access_hash;
}
/// Game by short name See
@@ -8891,7 +8891,7 @@ namespace TL
{
/// HTTP URL of file
public string url;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
public long access_hash;
}
/// Used to download a server-generated image with the map preview from a , see the webfile docs for more info ». See
@@ -8900,7 +8900,7 @@ namespace TL
{
/// Generated from the lat, long and accuracy_radius parameters of the
public InputGeoPoint geo_point;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash of the
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash of the
public long access_hash;
/// Map width in pixels before applying scale; 16-1024
public int w;
@@ -9197,7 +9197,7 @@ namespace TL
{
/// Call ID
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
public long access_hash;
}
@@ -10319,7 +10319,7 @@ namespace TL
{
/// Secure file ID
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Secure file access hash
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Secure file access hash
public long access_hash;
/// Secure file ID
@@ -11261,7 +11261,7 @@ namespace TL
{
/// Wallpaper ID
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
public long access_hash;
}
/// Wallpaper by slug (a unique ID, obtained from a wallpaper link ») See
@@ -11589,7 +11589,7 @@ namespace TL
{
/// ID
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Access hash
public long access_hash;
}
/// Theme by theme ID See
@@ -12525,7 +12525,7 @@ namespace TL
{
/// Group call ID
public long id;
- /// ⚠ REQUIRED FIELD. See how to obtain it
Group call access hash
+ /// ⚠ REQUIRED FIELD. See how to obtain it
Group call access hash
public long access_hash;
}
diff --git a/src/TL.SchemaFuncs.cs b/src/TL.SchemaFuncs.cs
index b2d4701..93ac53c 100644
--- a/src/TL.SchemaFuncs.cs
+++ b/src/TL.SchemaFuncs.cs
@@ -97,7 +97,7 @@ namespace TL
/// Application identifier (see App configuration)
/// Application secret hash (see App configuration)
/// Settings for the code type to send
- [Obsolete("Use LoginUserIfNeeded instead of this method. See https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#tlsharp")]
+ [Obsolete("Use LoginUserIfNeeded instead of this method. See https://wiz0u.github.io/WTelegramClient/FAQ#tlsharp")]
public static Task Auth_SendCode(this Client client, string phone_number, int api_id, string api_hash, CodeSettings settings)
=> client.Invoke(new Auth_SendCode
{
@@ -112,7 +112,7 @@ namespace TL
/// SMS-message ID
/// New user first name
/// New user last name
- [Obsolete("Use LoginUserIfNeeded instead of this method. See https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#tlsharp")]
+ [Obsolete("Use LoginUserIfNeeded instead of this method. See https://wiz0u.github.io/WTelegramClient/FAQ#tlsharp")]
public static Task Auth_SignUp(this Client client, string phone_number, string phone_code_hash, string first_name, string last_name)
=> client.Invoke(new Auth_SignUp
{
@@ -127,7 +127,7 @@ namespace TL
/// 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://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#tlsharp")]
+ [Obsolete("Use LoginUserIfNeeded instead of this method. See https://wiz0u.github.io/WTelegramClient/FAQ#tlsharp")]
public static Task Auth_SignIn(this Client client, string phone_number, string phone_code_hash, string phone_code = null, EmailVerification email_verification = null)
=> client.Invoke(new Auth_SignIn
{
@@ -223,7 +223,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
- [Obsolete("Use LoginUserIfNeeded instead of this method. See https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#tlsharp")]
+ [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
{
@@ -234,7 +234,7 @@ namespace TL
/// Cancel the login verification code See Possible codes: 400,406 (details)
/// Phone number
/// Phone code hash from auth.sendCode
- [Obsolete("Use LoginUserIfNeeded instead of this method. See https://github.com/wiz0u/WTelegramClient/blob/master/FAQ.md#tlsharp")]
+ [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
{
@@ -1282,7 +1282,7 @@ namespace TL
phone = phone,
});
- /// ⚠ 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 Returns the list of messages by their IDs. See [bots: ✓]
+ /// ⚠ 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 Returns the list of messages by their IDs. See [bots: ✓]
/// Message ID list
public static Task Messages_GetMessages(this Client client, params InputMessage[] id)
=> client.Invoke(new Messages_GetMessages
@@ -1392,7 +1392,7 @@ namespace TL
max_date = max_date.GetValueOrDefault(),
});
- /// ⚠ 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 Deletes messages by their identifiers. See [bots: ✓] Possible codes: 400,403 (details)
+ /// ⚠ 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 Deletes messages by their identifiers. See [bots: ✓] Possible codes: 400,403 (details)
/// Whether to delete messages for all participants of the chat
/// Message ID list
public static Task Messages_DeleteMessages(this Client client, int[] id, bool revoke = false)
@@ -1402,7 +1402,7 @@ namespace TL
id = id,
});
- /// ⚠ 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 Confirms receipt of messages by a client, cancels PUSH-notification sending. See
+ /// ⚠ 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 Confirms receipt of messages by a client, cancels PUSH-notification sending. See
/// Maximum message ID available in a client.
public static Task Messages_ReceivedMessages(this Client client, int max_id = default)
=> client.Invoke(new Messages_ReceivedMessages
@@ -1540,7 +1540,7 @@ namespace TL
message = message,
});
- /// ⚠ 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 Returns chat basic info on their IDs. See [bots: ✓] Possible codes: 400 (details)
+ /// ⚠ 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 Returns chat basic info on their IDs. See [bots: ✓] Possible codes: 400 (details)
/// List of chat IDs
public static Task Messages_GetChats(this Client client, params long[] id)
=> client.Invoke(new Messages_GetChats
@@ -1548,7 +1548,7 @@ namespace TL
id = id,
});
- /// ⚠ 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 Get full info about a basic group. See [bots: ✓] Possible codes: 400 (details)
+ /// ⚠ 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 Get full info about a basic group. See [bots: ✓] Possible codes: 400 (details)
/// Basic group ID.
public static Task Messages_GetFullChat(this Client client, long chat_id)
=> client.Invoke(new Messages_GetFullChat
@@ -1556,7 +1556,7 @@ namespace TL
chat_id = chat_id,
});
- /// ⚠ 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 Changes chat name and sends a service message on it. See [bots: ✓] Possible codes: 400 (details)
+ /// ⚠ 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 Changes chat name and sends a service message on it. See [bots: ✓] Possible codes: 400 (details)
/// Chat ID
/// New chat name, different from the old one
public static Task Messages_EditChatTitle(this Client client, long chat_id, string title)
@@ -1566,7 +1566,7 @@ namespace TL
title = title,
});
- /// ⚠ 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 Changes chat photo and sends a service message on it See [bots: ✓] Possible codes: 400 (details)
+ /// ⚠ 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 Changes chat photo and sends a service message on it See [bots: ✓] Possible codes: 400 (details)
/// Chat ID
/// Photo to be set
public static Task Messages_EditChatPhoto(this Client client, long chat_id, InputChatPhotoBase photo)
@@ -1576,7 +1576,7 @@ namespace TL
photo = photo,
});
- /// ⚠ 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 Adds a user to a chat and sends a service message on it. See Possible codes: 400,403 (details)
+ /// ⚠ 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 Adds a user to a chat and sends a service message on it. See Possible codes: 400,403 (details)
/// Chat ID
/// User ID to be added
/// Number of last messages to be forwarded
@@ -1588,7 +1588,7 @@ namespace TL
fwd_limit = fwd_limit,
});
- /// ⚠ 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 Deletes a user from a chat and sends a service message on it. See [bots: ✓] Possible codes: 400 (details)
+ /// ⚠ 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 Deletes a user from a chat and sends a service message on it. See [bots: ✓] Possible codes: 400 (details)
/// Remove the entire chat history of the specified user in this chat.
/// Chat ID
/// User ID to be deleted
@@ -1732,7 +1732,7 @@ namespace TL
peer = peer,
});
- /// ⚠ 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 Notifies the sender about the recipient having listened a voice message or watched a video. See
+ /// ⚠ 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 Notifies the sender about the recipient having listened a voice message or watched a video. See
/// Message ID list
public static Task Messages_ReadMessageContents(this Client client, params int[] id)
=> client.Invoke(new Messages_ReadMessageContents
@@ -1860,7 +1860,7 @@ namespace TL
increment = increment,
});
- /// ⚠ 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 Make a user admin in a basic group. See Possible codes: 400 (details)
+ /// ⚠ 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 Make a user admin in a basic group. See Possible codes: 400 (details)
/// The ID of the group
/// The user to make admin
/// Whether to make them admin
@@ -1872,7 +1872,7 @@ namespace TL
is_admin = is_admin,
});
- /// ⚠ 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 Turn a basic group into a supergroup See Possible codes: 400,403 (details)
+ /// ⚠ 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 Turn a basic group into a supergroup See Possible codes: 400,403 (details)
/// Basic group to migrate
public static Task Messages_MigrateChat(this Client client, long chat_id)
=> client.Invoke(new Messages_MigrateChat
@@ -2816,7 +2816,7 @@ namespace TL
top_msg_id = top_msg_id.GetValueOrDefault(),
});
- /// ⚠ 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 Delete a chat See Possible codes: 400 (details)
+ /// ⚠ 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 Delete a chat See Possible codes: 400 (details)
/// Chat ID
public static Task Messages_DeleteChat(this Client client, long chat_id)
=> client.Invoke(new Messages_DeleteChat
@@ -3298,7 +3298,7 @@ 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)
+ /// ⚠ 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)