private void SafeProcessCommands(IChatMessage message)
{
IPlugin plugin = _plugins.Where( p => p.Name == message.Body.PluginName() ).Single();
var results = new List<string>();
ICommandResult result = CommandResult.None;
foreach (var commandLine in CommandsFor(message.Body))
{
_log.DebugFormat("Processing command line: {0}", commandLine);
result = ProcessCommand(message.Sender.AsUser(), plugin, commandLine, result);
results.Add(result.HumanReadable);
_log.Info(result);
if (result.Status != CommandStatus.Success) break;
}
var resultMessage = string.Join(Environment.NewLine, results.ToArray());
_log.DebugFormat("Sending result message: '{0}'", resultMessage);
message.Chat.SendMessage(resultMessage);
}