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