コード例 #1
0
        public async Task <bool> IsPhoneRegisteredAsync(string phoneNumber)
        {
            if (String.IsNullOrWhiteSpace(phoneNumber))
            {
                throw new ArgumentNullException(nameof(phoneNumber));
            }

            if (_sender == null)
            {
                throw new InvalidOperationException("Not connected!");
            }

            var authCheckPhoneRequest = new TLRequestCheckPhone()
            {
                phone_number = phoneNumber
            };
            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.ToTLCheckedPhone().phone_registered);
        }
コード例 #2
0
        public async Task <bool> IsPhoneRegisteredAsync(string phoneNumber, CancellationToken token = default(CancellationToken))
        {
            if (String.IsNullOrWhiteSpace(phoneNumber))
            {
                throw new ArgumentNullException(nameof(phoneNumber));
            }

            var authCheckPhoneRequest = new TLRequestCheckPhone()
            {
                PhoneNumber = phoneNumber
            };

            await RequestWithDcMigration(authCheckPhoneRequest, token).ConfigureAwait(false);

            return(authCheckPhoneRequest.Response.PhoneRegistered);
        }
コード例 #3
0
ファイル: TelegramClient.cs プロジェクト: xclud/Telegram
        public async Task <bool> IsPhoneRegisteredAsync(string phoneNumber)
        {
            if (String.IsNullOrWhiteSpace(phoneNumber))
            {
                throw new ArgumentNullException(nameof(phoneNumber));
            }

            var authCheckPhoneRequest = new TLRequestCheckPhone()
            {
                PhoneNumber = phoneNumber
            };

            await RequestWithDcMigration(authCheckPhoneRequest);

            return(authCheckPhoneRequest.Response.PhoneRegistered);
        }
コード例 #4
0
ファイル: TelegramClient.cs プロジェクト: ufai0005/TLSharp
        public async Task <bool> IsPhoneRegisteredAsync(string phoneNumber)
        {
            if (_sender == null)
            {
                throw new InvalidOperationException("Not connected!");
            }

            var authCheckPhoneRequest = new TLRequestCheckPhone()
            {
                phone_number = phoneNumber
            };
            await _sender.Send(authCheckPhoneRequest);

            await _sender.Receive(authCheckPhoneRequest);

            return(authCheckPhoneRequest.Response.phone_registered);
        }