2using System.Globalization;
4using Microsoft.Extensions.Logging;
5using Microsoft.Extensions.Options;
76 ArgumentNullException.ThrowIfNull(settings);
77 return settings.Provider
switch
93 _ =>
throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture,
"Invalid ChatProvider: {0}", settings.Provider)),
IProvider for the Discord app.
IProvider for internet relay chat.
readonly IAsyncDelayer asyncDelayer
The IAsyncDelayer for the ProviderFactory.
ProviderFactory(IJobManager jobManager, IAssemblyInformationProvider assemblyInformationProvider, IAsyncDelayer asyncDelayer, ILoggerFactory loggerFactory, IOptionsMonitor< GeneralConfiguration > generalConfigurationOptions, IOptionsMonitor< FileLoggingConfiguration > loggingConfigurationOptions)
Initializes a new instance of the ProviderFactory class.
readonly IOptionsMonitor< FileLoggingConfiguration > loggingConfigurationOptions
The FileLoggingConfiguration IOptionsMonitor<TOptions> for the ProviderFactory.
IProvider CreateProvider(Models.ChatBot settings)
Create a IProvider.A new IProvider.
readonly IOptionsMonitor< GeneralConfiguration > generalConfigurationOptions
The GeneralConfiguration IOptionsMonitor<TOptions> for the ProviderFactory.
readonly ILoggerFactory loggerFactory
The ILoggerFactory for the ProviderFactory.
readonly IJobManager jobManager
The IJobManager for the ProviderFactory.
readonly IAssemblyInformationProvider assemblyInformationProvider
The IAssemblyInformationProvider for the ProviderFactory.
For interacting with a chat service.
Manages the runtime of Jobs.
For waiting asynchronously.