From 33a2fb02c101a06dab349085bcad5f11cdd90d07 Mon Sep 17 00:00:00 2001 From: Wizou <11647984+wiz0u@users.noreply.github.com> Date: Tue, 14 Jun 2022 00:58:51 +0200 Subject: [PATCH] minor changes --- Examples/ASPnet_webapp.zip | Bin 5037 -> 5037 bytes Examples/Program_ListenUpdates.cs | 2 +- Examples/WinForms_app.zip | Bin 10690 -> 10756 bytes FAQ.md | 2 +- src/Client.cs | 8 ++++---- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Examples/ASPnet_webapp.zip b/Examples/ASPnet_webapp.zip index 92b879079f7c93e0f7e9c9f9c78a0c01e2646846..238bda9efae3d4870b51a4d50d9e6b825fa76cf9 100644 GIT binary patch delta 760 zcmZ3hzE+(#z?+#xgaHJ;CZ3weYs724XKsix*NUejagV>k|*D2B=Kd-OM-7`~Q=&1v4VDMWsAmJcy1|QlDS_F$U%i4hE0|CIs4d zR{ ycX1oX0ZM`3n47#(C`w(+6%xw$G=RcDOE^>yx8ba8!02G$20{;31_pmV5Dx(FMGeaU delta 760 zcmZ3hzE+(#z?+#xgaHJ0PW70`Ys9PH>=800XXD2VpwOa;J~s7xxf&EiTFV!f3p{_p zI7^x~wxqP%~+`x)$QGUs8<^XEx(xIK?8FkSTgW|+dmmbZ$nybG>wY;8G` zV!AVyRYm*OGu<;gtUfLAP7OS_?DYN}(kI)elnR-$+<90XsXj5)wTv0&4h{y8111F8 zcUJ)&aDahfGCSi2=1EgLChuaj1JRp*GgdM&0~Kv9XGvpZ&YSA7`2nj36SI1+$7XE~ ze)c8?I74M8>wf%-oIu?fTEgFCjIK$o(v}N*TE`R2`T?&&` zxpn2XavW(h{x3ai&i)SW`m|lI;o-so3YX0V+^?CKfsDyEv-K{t+r0Ty$UR|-X`=SVQzW&vurAr}u0FIbo$ r!T=mKleL6H^$rzrfnx$j-<(if35gL_Hehrxa08(SD+7Z+ABYD4QP}aI diff --git a/Examples/Program_ListenUpdates.cs b/Examples/Program_ListenUpdates.cs index faaa057..673754c 100644 --- a/Examples/Program_ListenUpdates.cs +++ b/Examples/Program_ListenUpdates.cs @@ -23,7 +23,7 @@ namespace WTelegramClientTest Client.Update += Client_Update; My = await Client.LoginUserIfNeeded(); Users[My.id] = My; - // Note that on login Telegram may sends a bunch of updates/messages that happened in the past and were not acknowledged + // Note: on login, Telegram may sends a bunch of updates/messages that happened in the past and were not acknowledged Console.WriteLine($"We are logged-in as {My.username ?? My.first_name + " " + My.last_name} (id {My.id})"); // We collect all infos about the users/chats so that updates can be printed with their names var dialogs = await Client.Messages_GetAllDialogs(); // dialogs = groups/channels/users diff --git a/Examples/WinForms_app.zip b/Examples/WinForms_app.zip index ce5ab3f13c00028f96f8943efa80bbc195100476..e7cbfb3767c6a65eadc0a81b41a2ca9494fbf31a 100644 GIT binary patch delta 5096 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 diff --git a/FAQ.md b/FAQ.md index c9b2f0b..eb69319 100644 --- a/FAQ.md +++ b/FAQ.md @@ -210,7 +210,7 @@ In particular, it will detect and handle automatically and properly the various * 2FA password required (your Config needs to provide "password") * Account registration/sign-up required (your Config needs to provide "first_name", "last_name") * Request to resend the verification code through alternate ways like SMS (if your Config answer an empty "verification_code" initially) -* Transient failures, slowness to respond, checks for encryption key safety, etc.. +* Transient failures, slowness to respond, wrong code/password, checks for encryption key safety, etc.. Contrary to TLSharp, WTelegramClient supports MTProto v2.0 (more secured), transport obfuscation, protocol security checks, MTProto Proxy, real-time updates, multiple DC connections, API documentation in Intellisense... diff --git a/src/Client.cs b/src/Client.cs index f5cf015..507c351 100644 --- a/src/Client.cs +++ b/src/Client.cs @@ -24,7 +24,7 @@ namespace WTelegram { public partial class Client : IDisposable { - /// This event will be called when an unsollicited update/message is sent by Telegram servers + /// This event will be called when unsollicited updates/messages are sent by Telegram servers /// See Examples/Program_ListenUpdate.cs for how to use this public event Action Update; /// Used to create a TcpClient connected to the given address/port, or throw an exception on failure @@ -322,8 +322,8 @@ namespace WTelegram // TODO: implement an Updates gaps handling system? https://core.telegram.org/api/updates if (IsMainDC) { - var udpatesState = await this.Updates_GetState(); // this call reenables incoming Updates - OnUpdate(udpatesState); + var updatesState = await this.Updates_GetState(); // this call reenables incoming Updates + OnUpdate(updatesState); } } else @@ -669,7 +669,7 @@ namespace WTelegram } catch (Exception ex) { - Helpers.Log(4, $"Update callback on {obj.GetType().Name} raised {ex}"); + Helpers.Log(4, $"{nameof(Update)} callback on {obj.GetType().Name} raised {ex}"); } }