public static async Task <string> RunPipeAsync(ICommandSender sender, Server core, string body, params char[] split) { var lines = body.Replace("\r", "\n").Replace("\r\n", "\n").Split(split).Where(l => !string.IsNullOrWhiteSpace(l)).Select(l => l.Trim()); var output = ""; foreach (var line in lines) { output = await core.ExecCommand(sender, line + " " + output); output = output.Trim(); } return(output); }
public override async Task <string> OnActivatedAsync(ICommandSender sender, Server core, IShell shell, string[] args, string body) { if (args.Length < 2) { throw new CommandException(); } var count = int.TryParse(args[0], out var c) ? c : throw new CommandException(); var cmd = string.Join(' ', args.Skip(1)); var output = ""; for (var _ = 0; _ < count; _++) { output += await core.ExecCommand(InternalCommandSender.Instance, cmd) + "\n"; } return(output); }