private async Task EditWhiteListAsync(string text, CancellationToken token) { MessageTextBox.Text = string.Join(Environment.NewLine, _whiteList); while (!token.IsCancellationRequested) { var whiteList = MessageTextBox.Text .Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList(); var current = QQChat.Find().FirstOrDefault(); if (current is null) { await Task.Delay(200); } else if (whiteList.Find(x => x == current.Name) == null) { whiteList.Add(current.Name); MessageTextBox.Text = string.Join(Environment.NewLine, whiteList); await Task.Delay(200, token); } else { await Task.Delay(200); } } _whiteList.Clear(); _whiteList.AddRange(MessageTextBox.Text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)); DefaultConfiguration.FromFile("configs.txt")["WhiteList"] = string.Join("\n", _whiteList); MessageTextBox.Text = ""; }
private async Task MultipleSendAsync(string text, CancellationToken token) { var sentChats = new List <string>(); while (!token.IsCancellationRequested) { var current = QQChat.Find().FirstOrDefault(); if (current is null) { await Task.Delay(200); } else if (sentChats.Find(x => x == current.Name) == null && (_whiteList.Count == 0 || _whiteList.Contains(current.Name))) { sentChats.Add(current.Name); CurrentSendingRun.Text = current.Name; HasSentRun.Text = (int.Parse(HasSentRun.Text) + 1).ToString(); ToSendRun.Text = (int.Parse(ToSendRun.Text) + 1).ToString(); await current.SendMessageAsync(text); } else { await Task.Delay(200); } } }
private void OnLoaded(object sender, RoutedEventArgs e) { _current = QQChat.Find().FirstOrDefault(); GroupNameTextBlock.Text = _current?.Name; var whiteList = DefaultConfiguration.FromFile("configs.txt")["WhiteList"].ToString() .Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); _whiteList.AddRange(whiteList); }