TLSharp Telegram API.Проверьте телефон зарегистрирован - PullRequest
0 голосов
/ 25 сентября 2018

У меня проблема с методом TLSharp IsPhoneRegisteredAsync(...).

Всегда возвращается true , независимо от номера, который я пытаюсь проверить.Даже для ввода типа asdhbqaihbqwieuashdq23934327940scj0 он возвращает true.

Спасибо за вашу помощь.

Мой код:

 private void button1_Click(object sender, EventArgs e)
    {
        connectClient(SETS.API_ID, SETS.API_HASH);
    }

    private async void connectClient(int api_id, string api_hash)
    {
        client = new TelegramClient(api_id, api_hash);

        api_ID_tb.Text = api_id.ToString();
        api_hash_tb.Text = api_hash;
        await client.ConnectAsync();

        if (client.IsConnected)
        {
            MessageBox.Show("Connect Succefull");

        }
    }

    async void CheckNumber(string number)
    { 

        bool q = await client.IsPhoneRegisteredAsync(number);

        MessageBox.Show(q.ToString());
    }

    private void numberCheckBtn_Click(object sender, EventArgs e)
    {
        CheckNumber(number_tb.Text);
    }

1 Ответ

0 голосов
/ 21 августа 2019

У меня такая же проблема.Вот как я это решил:

var req = new Auth.TLRequestSendCode
{
    PhoneNumber = myPhone,
    ApiId = ApiID,
    ApiHash = ApiHash
};
var resp = await client.SendRequestAsync<Auth.TLSentCode>(req);  
var phoneCodeHash = resp.PhoneCodeHash;
var isRegistered = resp.PhoneRegistered;

Это тот же код, что и SendCodeRequestAsync (ведь только возвращаемый хеш), но теперь у нас есть доступ к Auth.TLSentCode.PhoneRegistered

...