Improved import contact method

This commit is contained in:
Ilya Pirozhneko 2016-02-01 23:06:15 +03:00
parent d2739ba9cf
commit e281f281dd
3 changed files with 7 additions and 8 deletions

View file

@ -16,7 +16,7 @@ namespace TLSharp.Core.Requests
public override void OnSend(BinaryWriter writer) public override void OnSend(BinaryWriter writer)
{ {
writer.Write(0x39620c41); // invokeWithLayer10#39620c41, invokeWithLayer11#a6b88fdf writer.Write(0x1c900537); // invokeWithLayer18#1c900537
writer.Write(0x69796de9); // initConnection writer.Write(0x69796de9); // initConnection
writer.Write(_apiId); // api id writer.Write(_apiId); // api id
Serializers.String.write(writer, "WinPhone Emulator"); // device model Serializers.String.write(writer, "WinPhone Emulator"); // device model

View file

@ -205,9 +205,9 @@ namespace TLSharp.Core
await _sender.Send(request); await _sender.Send(request);
await _sender.Recieve(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) public async Task SendMessage(int id, string message)

View file

@ -1,6 +1,5 @@
using System; using System;
using System.Configuration; using System.Configuration;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
using TLSharp.Core; using TLSharp.Core;
@ -22,11 +21,11 @@ namespace TLSharp.Tests
// Setup your phone numbers in app.config // Setup your phone numbers in app.config
NumberToAuthenticate = ConfigurationManager.AppSettings["numberToAuthenticate"]; NumberToAuthenticate = ConfigurationManager.AppSettings["numberToAuthenticate"];
if (string.IsNullOrEmpty(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"]; NumberToSendMessage = ConfigurationManager.AppSettings["numberToSendMessage"];
if (string.IsNullOrEmpty(NumberToSendMessage)) if (string.IsNullOrEmpty(NumberToSendMessage))
throw new InvalidOperationException("NumberToSendMessage is null"); throw new InvalidOperationException("NumberToSendMessage is null. Specify number in app.config");
} }
[TestMethod] [TestMethod]
@ -38,7 +37,7 @@ namespace TLSharp.Tests
await client.Connect(); await client.Connect();
var hash = await client.SendCodeRequest(NumberToAuthenticate); 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); var user = await client.MakeAuth(NumberToAuthenticate, hash, code);
@ -49,7 +48,7 @@ namespace TLSharp.Tests
public async Task CheckPhones() public async Task CheckPhones()
{ {
var store = new FileSessionStore(); var store = new FileSessionStore();
var client = new Core.TelegramClient(store, "session"); var client = new TelegramClient(store, "session");
await client.Connect(); await client.Connect();
var result = await client.IsPhoneRegistered(NumberToAuthenticate); var result = await client.IsPhoneRegistered(NumberToAuthenticate);