public BlockMonitoringService( ILogger logger, ILinkerService linkerService, IUrlShorteningService urlShorteningService, ISession globalSession, IMediaWikiApiHelper apiHelper, BotConfiguration botConfiguration, IWebServiceClient webServiceClient, IIrcClient client, ITrollMonitoringService trollMonitoringService) { this.logger = logger; this.linkerService = linkerService; this.urlShorteningService = urlShorteningService; this.globalSession = globalSession; this.apiHelper = apiHelper; this.botConfiguration = botConfiguration; this.webServiceClient = webServiceClient; this.client = client; this.trollMonitoringService = trollMonitoringService; this.trollMonitoringService.BlockMonitoringService = this; // initialise the store foreach (var blockMonitor in globalSession.CreateCriteria <BlockMonitor>().List <BlockMonitor>()) { if (!this.monitors.ContainsKey(blockMonitor.MonitorChannel)) { this.monitors[blockMonitor.MonitorChannel] = new HashSet <string>(); } this.monitors[blockMonitor.MonitorChannel].Add(blockMonitor.ReportChannel); } }
public EnactBanCommand( string commandSource, IUser user, IList <string> arguments, ILogger logger, IFlagService flagService, IConfigurationProvider configurationProvider, IIrcClient client, ITrollMonitoringService trollMonitoringService ) : base( commandSource, user, arguments, logger, flagService, configurationProvider, client) { this.trollMonitoringService = trollMonitoringService; }
public TrackCommand( string commandSource, IUser user, IList <string> arguments, ILogger logger, IFlagService flagService, IConfigurationProvider configurationProvider, IIrcClient client, ITrollMonitoringService trollMonitoringService, IResponder responder) : base( commandSource, user, arguments, logger, flagService, configurationProvider, client) { this.trollMonitoringService = trollMonitoringService; this.responder = responder; }