From 545e73680868464a969f000ea683d7e85be685b9 Mon Sep 17 00:00:00 2001 From: unn4m3d Date: Sun, 27 Nov 2016 19:37:15 +1000 Subject: [PATCH] Catch PhoneMigrationException in IsPhoneRegisteredAsync --- TLSharp.Core/TelegramClient.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/TLSharp.Core/TelegramClient.cs b/TLSharp.Core/TelegramClient.cs index 8ce1d6a..f8f05a3 100644 --- a/TLSharp.Core/TelegramClient.cs +++ b/TLSharp.Core/TelegramClient.cs @@ -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; }