diff --git a/Examples/Program_CollectAccessHash.cs b/Examples/Program_CollectAccessHash.cs
index e51f824..ab34217 100644
--- a/Examples/Program_CollectAccessHash.cs
+++ b/Examples/Program_CollectAccessHash.cs
@@ -17,7 +17,7 @@ namespace WTelegramClientTest
// go to Project Properties > Debug > Environment variables and add at least these: api_id, api_hash, phone_number
static async Task Main(string[] _)
{
- Console.WriteLine("The program demonstrate how load/save/use collected access hash.");
+ Console.WriteLine("The program demonstrate how to load/save/use collected access hash.");
WTelegram.Helpers.Log = (l, s) => System.Diagnostics.Debug.WriteLine(s);
using var client = new WTelegram.Client(Environment.GetEnvironmentVariable);
client.CollectAccessHash = true;
diff --git a/Examples/Program_GetAllChats.cs b/Examples/Program_GetAllChats.cs
new file mode 100644
index 0000000..0de1333
--- /dev/null
+++ b/Examples/Program_GetAllChats.cs
@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using TL;
+
+namespace WTelegramClientTest
+{
+ class Program_GetAllChats
+ {
+ // This code is similar to what you should have obtained if you followed the README introduction
+
+ // go to Project Properties > Debug > Environment variables and add at least these: api_id, api_hash, phone_number
+ static string Config(string what)
+ {
+ if (what == "api_id") return Environment.GetEnvironmentVariable("api_id");
+ if (what == "api_hash") return Environment.GetEnvironmentVariable("api_hash");
+ if (what == "phone_number") return Environment.GetEnvironmentVariable("phone_number");
+ if (what == "verification_code") return null; // let WTelegramClient ask the user with a console prompt
+ if (what == "first_name") return "John"; // if sign-up is required
+ if (what == "last_name") return "Doe"; // if sign-up is required
+ if (what == "password") return "secret!"; // if user has enabled 2FA
+ return null;
+ }
+
+ static async Task Main(string[] _)
+ {
+ using var client = new WTelegram.Client(Config);
+ await client.ConnectAsync();
+ var user = await client.LoginUserIfNeeded();
+ Console.WriteLine($"We are logged-in as {user.username ?? user.first_name + " " + user.last_name} (id {user.id})");
+
+ var chats = await client.Messages_GetAllChats(null);
+ Console.WriteLine("This user has joined the following:");
+ foreach (var chat in chats.chats)
+ switch (chat)
+ {
+ case Chat smallgroup when (smallgroup.flags & Chat.Flags.deactivated) == 0:
+ Console.WriteLine($"{smallgroup.id}: Small group: {smallgroup.title} with {smallgroup.participants_count} members");
+ break;
+ case Channel channel when (channel.flags & Channel.Flags.broadcast) != 0:
+ Console.WriteLine($"{channel.id}: Channel {channel.username}: {channel.title}");
+ //Console.WriteLine($" → access_hash = {channel.access_hash:X}");
+ break;
+ case Channel group:
+ Console.WriteLine($"{group.id}: Group {group.username}: {group.title}");
+ //Console.WriteLine($" → access_hash = {group.access_hash:X}");
+ break;
+ }
+
+ Console.Write("Type a chat ID to send a message: ");
+ long id = long.Parse(Console.ReadLine());
+ var target = chats.chats.First(chat => chat.ID == id);
+ Console.WriteLine($"Sending a message in chat {target.ID}: {target.Title}");
+ // This line implicitely creates an adequate InputPeer (with eventual access_hash) from ChatBase:
+ InputPeer peer = target;
+ await client.SendMessageAsync(peer, "Hello, World");
+ }
+ }
+}
diff --git a/README.md b/README.md
index 9dbf251..a9c513b 100644
--- a/README.md
+++ b/README.md
@@ -92,7 +92,8 @@ foreach (var chat in chats.chats)
}
Console.Write("Type a chat ID to send a message: ");
long id = long.Parse(Console.ReadLine());
-var target = chats.First(chat => chat.ID == id);
+var target = chats.chats.First(chat => chat.ID == id);
+Console.WriteLine($"Sending a message in chat {target.ID}: {target.Title}");
await client.SendMessageAsync(target, "Hello, World");
```
diff --git a/src/WTelegramClient.csproj b/src/WTelegramClient.csproj
index b4b7057..5eb4691 100644
--- a/src/WTelegramClient.csproj
+++ b/src/WTelegramClient.csproj
@@ -38,7 +38,6 @@
-