private async Task SaveUsersAsync() { string filename = Path + Constants.userRepositoryFilename; while (true) { await Task.Delay(Constants.saveUsersDelay); IUserRepositorySaver.Save(userRepository, filename); } }
public override void SaveUsers() { IUserRepositorySaver.Save(userRepository, Path + Constants.userRepositoryFilename); }
private void AdminMessageResponse(Message message) { string messageStr = message.Text.ToUpper(); if (Constants.textHelpCommand.Contains(messageStr)) { EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userId: message.PeerId, message: Constants.adminHelp); } else if (message.Text.IndexOf("Рассылка") == 0 || message.Text.IndexOf("Distribution") == 0) { string temp = message.Text.Substring(message.Text.IndexOf(' ') + 1); string toWhom = temp.Substring(0, temp.IndexOf(' ')); if (toWhom == "всем" || toWhom == "all") { EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userIds: userRepository.GetIds(), message: temp.Substring(temp.IndexOf(' ') + 1)); EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userId: message.PeerId, message: "Выполнено"); } else if (toWhom.Length == 1) { if (int.TryParse(toWhom, out int toCourse) && toCourse >= 1 && toCourse <= 4) { --toCourse; EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userIds: userRepository.GetIds(mapper.GetGroupNames(toCourse)), message: temp.Substring(temp.IndexOf(' ') + 1)); EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userId: message.PeerId, message: "Выполнено"); return; } EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userId: message.PeerId, message: "Ошибка рассылки:\nневерный курс: " + toWhom + "\nВведите значение от 1 до 4"); } else { EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userIds: userRepository.GetIds(toWhom), message: temp.Substring(temp.IndexOf(' ') + 1)); EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userId: message.PeerId, message: "Выполнено"); } } else if (messageStr == "АПТАЙМ" || messageStr == "UPTIME") { StringBuilder sb = new StringBuilder(); sb.Append("Время запуска: "); sb.Append(StartTime.ToString()); sb.Append("\nАптайм: "); sb.Append((DateTime.Now - StartTime).ToString()); EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userId: message.PeerId, message: sb.ToString()); return; } else if (message.Text.IndexOf("Обновить") == 0 || message.Text.IndexOf("Update") == 0) { // TODO: update command EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userId: message.PeerId, message: "todo"); return; } else if (messageStr == "ПЕРЕЗАГРУЗКА" || messageStr == "REBOOT") { IUserRepositorySaver.Save(userRepository, Path + Constants.userRepositoryFilename); Environment.Exit(0); } }