1 using Microsoft.Extensions.Logging;
3 using System.Collections.Generic;
43 this.providerFactory = providerFactory ??
throw new ArgumentNullException(nameof(providerFactory));
44 this.serverControl = serverControl ??
throw new ArgumentNullException(nameof(serverControl));
45 this.asyncDelayer = asyncDelayer ??
throw new ArgumentNullException(nameof(asyncDelayer));
46 this.loggerFactory = loggerFactory ??
throw new ArgumentNullException(nameof(loggerFactory));
50 public IChatManager CreateChatManager(
IIOManager ioManager,
ICommandFactory commandFactory, IEnumerable<Models.ChatBot> initialChatBots) =>
new ChatManager(providerFactory, ioManager, commandFactory, serverControl, asyncDelayer, loggerFactory, loggerFactory.CreateLogger<
ChatManager>(), initialChatBots);
Use server authentication
readonly IAsyncDelayer asyncDelayer
The IAsyncDelayer for the ChatManagerFactory
For waiting asynchronously
For managing connected chat services
readonly IProviderFactory providerFactory
The IProviderFactory for the ChatManagerFactory
Factory for built in ICommands
ChatManagerFactory(IProviderFactory providerFactory, IServerControl serverControl, IAsyncDelayer asyncDelayer, ILoggerFactory loggerFactory)
Construct a ChatManagerFactory
For creating IChatManagers
readonly ILoggerFactory loggerFactory
The ILoggerFactory for the ChatManagerFactory
Interface for using filesystems
readonly IServerControl serverControl
The IServerControl for the ChatManagerFactory
Represents a service that may take an updated Host assembly and run it, stopping the current assembly...