sochix / TLSharp

Telegram client library implemented in C#
1k stars 380 forks source link

System.OverflowException #805

Closed ACrYoZ closed 6 years ago

ACrYoZ commented 6 years ago

I need your help in TLSharp. So, i have following exception: System.OverflowException: "Overflow due to an arithmetic operation."

The StackTrace:

в TLSharp.Core.Network.TcpTransport.d4.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() в TLSharp.Core.Network.MtProtoSender.d8.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в System.Runtime.CompilerServices.TaskAwaiter1.GetResult() в TLSharp.Core.TelegramClient.<RequestWithDcMigration>d__11.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в System.Runtime.CompilerServices.TaskAwaiter.GetResult() в TLSharp.Core.TelegramClient.<SendCodeRequestAsync>d__14.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в System.Runtime.CompilerServices.TaskAwaiter1.GetResult() в Application.MainWindow.d__17.MoveNext() в A:\Work\Application\Application\Application\MainWindow.xaml.cs:строка 118

This is my code:

    public MainWindow()
    {
        InitializeComponent();

        //Создаем клиента используя API_ID и API_HASH
        client = new TelegramClient(API_ID, API_HASH);
        ConnectToTelegram();
    }

    //Выполняет асинхронное подключение к Telegram
    private async void ConnectToTelegram()
    {
        await client.ConnectAsync();
    }

    private void Btn_Exit_Click(object sender, RoutedEventArgs e)
    {
        this.Close();
    }

    private async void Btn_Auth_Click(object sender, RoutedEventArgs e)
    {
        if (Txb_Code1.Text.Length > 0 )
        {

            if (hash_1 != null )
            {
                //Создаем сессии
                user_1 = await client.MakeAuthAsync(Txb_Phone1.Text, hash_1, Txb_Code1.Text);

            }
            else
            {
                MessageBox.Show("Try later", 
                                "Exception", 
                                MessageBoxButton.OK, 
                                MessageBoxImage.Warning, 
                                MessageBoxResult.OK);
            }
        }
    }

    private async void Btn_SendCodes_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show(client.IsConnected.ToString());

        if (Txb_Phone1.Text.Length > 0 )
        {
            var hash1 = await client.SendCodeRequestAsync(Txb_Phone1.Text);
        }
    }
}