public async Task<string> SendCodeRequest(string phoneNumber) { var request = new AuthSendCodeRequest(phoneNumber, 5, _apiId, _apiHash, "en"); await _sender.Send(request); await _sender.Recieve(request); return request._phoneCodeHash; }
public async Task<string> SendCodeRequest(string phoneNumber) { var completed = false; AuthSendCodeRequest request = null; while (!completed) { request = new AuthSendCodeRequest(phoneNumber, 5, _apiId, _apiHash, "en"); try { await _sender.Send(request); await _sender.Recieve(request); completed = true; } catch (InvalidOperationException ex) { if (ex.Message.StartsWith("Your phone number registered to") && ex.Data["dcId"] != null) { await ReconnectToDc((int)ex.Data["dcId"]); } else { throw; } } } return request._phoneCodeHash; }