private static async Task <TextcMessageReceiverBuilder> SetupScorerAsync(IServiceProvider serviceProvider, IDictionary <string, object> settings, string scorerType, TextcMessageReceiverBuilder builder) { IExpressionScorer scorer; if (scorerType.Equals(nameof(MatchCountExpressionScorer))) { scorer = new MatchCountExpressionScorer(); } else if (scorerType.Equals(nameof(RatioExpressionScorer))) { scorer = new RatioExpressionScorer(); } else { scorer = await Bootstrapper.CreateAsync <IExpressionScorer>(scorerType, serviceProvider, settings, TypeResolver.Instance).ConfigureAwait(false); } builder = builder.WithExpressionScorer(scorer); return(builder); }
internal SyntaxTextcMessageReceiverBuilder(List <Func <IOutputProcessor, ICommandProcessor> > commandProcessorFactories, List <Syntax> syntaxes, TextcMessageReceiverBuilder textcMessageReceiverBuilder) { _commandProcessorFactories = commandProcessorFactories; _syntaxes = syntaxes; _textcMessageReceiverBuilder = textcMessageReceiverBuilder; }