From e281f281dd9f85887f231235de2c210e32a7a6cc Mon Sep 17 00:00:00 2001 From: Ilya Pirozhneko Date: Mon, 1 Feb 2016 23:06:15 +0300 Subject: [PATCH] Improved import contact method --- TLSharp.Core/Requests/InitConnectionRequest.cs | 2 +- TLSharp.Core/TelegramClient.cs | 4 ++-- TLSharp.Tests/NotificatioClientTests.cs | 9 ++++----- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/TLSharp.Core/Requests/InitConnectionRequest.cs b/TLSharp.Core/Requests/InitConnectionRequest.cs index 5c3239f..fbeaa13 100644 --- a/TLSharp.Core/Requests/InitConnectionRequest.cs +++ b/TLSharp.Core/Requests/InitConnectionRequest.cs @@ -16,7 +16,7 @@ namespace TLSharp.Core.Requests public override void OnSend(BinaryWriter writer) { - writer.Write(0x39620c41); // invokeWithLayer10#39620c41, invokeWithLayer11#a6b88fdf + writer.Write(0x1c900537); // invokeWithLayer18#1c900537 writer.Write(0x69796de9); // initConnection writer.Write(_apiId); // api id Serializers.String.write(writer, "WinPhone Emulator"); // device model diff --git a/TLSharp.Core/TelegramClient.cs b/TLSharp.Core/TelegramClient.cs index 6a65392..10965e8 100644 --- a/TLSharp.Core/TelegramClient.cs +++ b/TLSharp.Core/TelegramClient.cs @@ -205,9 +205,9 @@ namespace TLSharp.Core await _sender.Send(request); await _sender.Recieve(request); - var importedUser = request.users.FirstOrDefault(); + var importedUser = (ImportedContactConstructor)request.imported.FirstOrDefault(); - return importedUser == null ? (int?)null : ((UserContactConstructor)importedUser).id; + return importedUser?.user_id; } public async Task SendMessage(int id, string message) diff --git a/TLSharp.Tests/NotificatioClientTests.cs b/TLSharp.Tests/NotificatioClientTests.cs index c406f58..53f2cf9 100644 --- a/TLSharp.Tests/NotificatioClientTests.cs +++ b/TLSharp.Tests/NotificatioClientTests.cs @@ -1,6 +1,5 @@ using System; using System.Configuration; -using System.Threading; using System.Threading.Tasks; using Microsoft.VisualStudio.TestTools.UnitTesting; using TLSharp.Core; @@ -22,11 +21,11 @@ namespace TLSharp.Tests // Setup your phone numbers in app.config NumberToAuthenticate = ConfigurationManager.AppSettings["numberToAuthenticate"]; if (string.IsNullOrEmpty(NumberToAuthenticate)) - throw new InvalidOperationException("NumberToAuthenticate is null"); + throw new InvalidOperationException("NumberToAuthenticate is null. Specify number in app.config"); NumberToSendMessage = ConfigurationManager.AppSettings["numberToSendMessage"]; if (string.IsNullOrEmpty(NumberToSendMessage)) - throw new InvalidOperationException("NumberToSendMessage is null"); + throw new InvalidOperationException("NumberToSendMessage is null. Specify number in app.config"); } [TestMethod] @@ -38,7 +37,7 @@ namespace TLSharp.Tests await client.Connect(); var hash = await client.SendCodeRequest(NumberToAuthenticate); - var code = "123"; // you can change code in debugger + var code = "86474"; // you can change code in debugger var user = await client.MakeAuth(NumberToAuthenticate, hash, code); @@ -49,7 +48,7 @@ namespace TLSharp.Tests public async Task CheckPhones() { var store = new FileSessionStore(); - var client = new Core.TelegramClient(store, "session"); + var client = new TelegramClient(store, "session"); await client.Connect(); var result = await client.IsPhoneRegistered(NumberToAuthenticate);