/// <summary> /// Tries to parse given line as a server command. /// </summary> /// <param name="line">The line to be parsed.</param> /// <param name="invokerClient">The invoker client if any.</param> /// <returns><see cref="bool"/></returns> public static bool TryParse(string line, MooNetClient invokerClient) { string output = string.Empty; string command; string parameters; var found = false; if (invokerClient == null) { throw new ArgumentException("invokerClient"); } if (!ExtractCommandAndParameters(line, out command, out parameters)) { return(false); } foreach (var pair in CommandGroups) { if (pair.Key.Name != command) { continue; } output = pair.Value.Handle(parameters, invokerClient); found = true; break; } if (found == false) { output = string.Format("Unknown command: {0} {1}", command, parameters); } if (output == string.Empty) { return(true); } output = "[mooege] " + output; invokerClient.SendServerWhisper(output); return(true); }