Added while loop to MakeAuthAsync method.

fix PhoneMigrationException by reconnecting to DC on the error .
(fix for #458)
This commit is contained in:
Amin 2017-05-18 17:20:33 +04:30
parent 97a593e25e
commit 92f5221a89

View file

@ -165,9 +165,23 @@ namespace TLSharp.Core
if (String.IsNullOrWhiteSpace(code))
throw new ArgumentNullException(nameof(code));
var request = new TLRequestSignIn() { phone_number = phoneNumber, phone_code_hash = phoneCodeHash, phone_code = code };
await _sender.Send(request);
await _sender.Receive(request);
var request = new TLRequestSignIn() { phone_number = phoneNumber, phone_code_hash = phoneCodeHash, phone_code = code };
var completed = false;
while (!completed)
{
try
{
await _sender.Send(request);
await _sender.Receive(request);
completed = true;
}
catch (PhoneMigrationException e)
{
await ReconnectToDcAsync(e.DC);
}
}
OnUserAuthenticated(((TLUser)request.Response.user));