Beispiel #1
0
        //auth.checkPhone#6fe51dfb phone_number:string = auth.CheckedPhone;
        public async Task <AuthCheckedPhoneConstructor> CheckPhone(string phoneNumber)
        {
            var authCheckPhoneRequest = new AuthCheckPhoneRequest(phoneNumber);

            await SendRpcRequest(authCheckPhoneRequest);

            // only single implementation available
            return((AuthCheckedPhoneConstructor)authCheckPhoneRequest.checkedPhone);
        }
Beispiel #2
0
        public async Task <bool> IsPhoneRegistered(string phoneNumber)
        {
            if (_sender == null)
            {
                throw new InvalidOperationException("Not connected!");
            }

            var authCheckPhoneRequest = new AuthCheckPhoneRequest(phoneNumber);
            await _sender.Send(authCheckPhoneRequest);

            await _sender.Recieve(authCheckPhoneRequest);

            return(authCheckPhoneRequest._phoneRegistered);
        }
Beispiel #3
0
        public async Task <bool> IsPhoneRegistered(string phoneNumber)
        {
            if (_sender == null)
            {
                throw new InvalidOperationException("Not connected!");
            }

            bool completed = false;
            AuthCheckPhoneRequest authCheckPhoneRequest = null;

            while (!completed)
            {
                authCheckPhoneRequest = new AuthCheckPhoneRequest(phoneNumber);

                try
                {
                    await _sender.Send(authCheckPhoneRequest);

                    await _sender.Recieve(authCheckPhoneRequest);

                    completed = true;
                }
                catch (InvalidOperationException e)
                {
                    if (e.Message.StartsWith("Your phone number registered to") && e.Data["dcId"] != null)
                    {
                        await ReconnectToDc((int)e.Data["dcId"]);
                    }
                    else
                    {
                        throw;
                    }
                }
            }

            return(authCheckPhoneRequest._phoneRegistered);
        }