async void loginB_Click(object sender, RoutedEventArgs e) { if (codeTB.IsEnabled) { loginB.Content = "Logging in..."; loginB.IsEnabled = codeTB.IsEnabled = false; await Telestat.LoginCode(codeTB.Text); } else { loginB.Content = "Logging in..."; loginB.IsEnabled = countryCodeCB.IsEnabled = countryNameCB.IsEnabled = phoneTB.IsEnabled = false; Telestat.SetPhoneNumber(countryCodeCB.Text, phoneTB.Text); Timer timer = null; timer = new Timer((obj) => { if (!loggedIn) { File.Delete("session.dat"); Dispatcher.Invoke(() => { loginB.Content = "Login"; loginB.IsEnabled = true; }); } timer.Dispose(); }, null, 5000, Timeout.Infinite); await Telestat.Login(); } }
async Task BeginBackup() { await Task.Factory.StartNew(() => { while (backuping) { var msgs = Telestat.GetMessages(offset).Result; // Downloaded var addedCount = Telestat.Conversation.AddMessages(msgs); totalDownloaded += msgs.Count; offset += msgs.Count; Telestat.Conversation.Save(msgs); var percentage = GetPercentage(Telestat.Conversation.GetMessagesCount(), Telestat.TotalMessages); Dispatcher.Invoke(() => { messageTB.Content = "Retrieving messages... " + percentage.ToString("0.00") + "%"; percentagePB.Value = (int)(percentage * 100f); // * 100 because maximum value is 10000 (more precission) }); if (addedCount == 0) // we retrieved the first messages, get back where we left it { offset = Telestat.Conversation.GetMessagesCount(); } if (msgs.Count == 0) { Success(); Dispatcher.Invoke(() => { backupB.IsEnabled = false; messageTB.Content = "Messages retrieved: " + totalDownloaded; }); MessageBox.Show("You successfully generated a backup of " + Telestat.ContactToBackup.FullName, "Success", MessageBoxButton.OK, MessageBoxImage.Information); break; } if (totalDownloaded % 10000 == 0) { Dispatcher.Invoke(() => messageTB.Content = "10 seconds pause to prevent «flood wait»..."); Thread.Sleep(10000); } else if (totalDownloaded % 1000 == 0) { Thread.Sleep(5000); } else { Thread.Sleep(1000); } } }); }
async void UserControl_Loaded(object sender, RoutedEventArgs e) { await Telestat.Conversation.Save(); cardGrid.Children.Add(await Telestat.GetBigCard()); await LoadInformation(); }
public async Task <BitmapImage> GetSmallProfilePhoto() { try { if (SmallImage == null) { SmallImage = await Telestat.DownloadImage(ifl_small); } } catch (InvalidOperationException) { } // File migrate return(SmallImage); }
async void UserControl_Loaded(object sender, RoutedEventArgs e) { Telestat.Conversation = new Conversation(Telestat.ContactToBackup.ID, Telestat.ContactToBackup.FullName); // TODO check if group, if it is NOT, "Chat with", else, group title on html cardGrid.Children.Add(await Telestat.GetBigCard()); Telestat.Conversation.LoadProgress += Conversation_LoadProgress; await Telestat.Conversation.Load(); Telestat.Conversation.LoadProgress -= Conversation_LoadProgress; backupB.Content = "Begin backup!"; backupB.IsEnabled = true; }
async void step2_Loaded(object sender, RoutedEventArgs e) { start(); await Telestat.GetDialogs(); }
async void logoutB_Click(object sender, RoutedEventArgs e) { await Telestat.Logout(); Application.Current.Shutdown(); }