Catch PhoneMigrationException in IsPhoneRegisteredAsync

This commit is contained in:
unn4m3d 2016-11-27 19:37:15 +10:00 committed by GitHub
parent 6b3c96eaa6
commit 545e736808

View file

@ -108,9 +108,20 @@ namespace TLSharp.Core
throw new InvalidOperationException("Not connected!");
var authCheckPhoneRequest = new TLRequestCheckPhone() { phone_number = phoneNumber };
await _sender.Send(authCheckPhoneRequest);
await _sender.Receive(authCheckPhoneRequest);
var completed = false;
while(!completed)
{
try
{
await _sender.Send(authCheckPhoneRequest);
await _sender.Receive(authCheckPhoneRequest);
completed = true;
}
catch(PhoneMigrationException e)
{
await ReconnectToDcAsync(e.DC);
}
}
return authCheckPhoneRequest.Response.phone_registered;
}