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!"); throw new InvalidOperationException("Not connected!");
var authCheckPhoneRequest = new TLRequestCheckPhone() { phone_number = phoneNumber }; var authCheckPhoneRequest = new TLRequestCheckPhone() { phone_number = phoneNumber };
await _sender.Send(authCheckPhoneRequest); var completed = false;
await _sender.Receive(authCheckPhoneRequest); 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; return authCheckPhoneRequest.Response.phone_registered;
} }