/// <summary> /// Initializes a new instance of the <see cref="IrcEvents"/> class. /// </summary> /// <param name="ircSettings">The irc settings.</param> /// <param name="ircCommandProcessor">The irc command processor.</param> public IrcEvents(IrcOptions ircSettings, IrcCommandProcessor ircCommandProcessor) { _ircSettings = ircSettings; _ircCommandProcessor = ircCommandProcessor; }
/// <summary> /// Restores the default configuration. /// </summary> public Configuration RestoreDefaultConfiguration() { // Load these fail-safe defaults and save as the new configuration var acctDateOptions = new AccountDateOptions(); acctDateOptions.SetDefaults(); var accuracyOptions = new AccuracyOptions(); accuracyOptions.SetDefaults(); var autoVoterOptions = new AutoVoterOptions(); autoVoterOptions.SetDefaults(); var coreOptions = new CoreOptions(); coreOptions.SetDefaults(); var earlyQuitOptions = new EarlyQuitOptions(); earlyQuitOptions.SetDefaults(); var eloLimitOptions = new EloLimitOptions(); eloLimitOptions.SetDefaults(); var ircOptions = new IrcOptions(); ircOptions.SetDefaults(); var motdOptions = new MotdOptions(); motdOptions.SetDefaults(); var pickupOptions = new PickupOptions(); pickupOptions.SetDefaults(); var serversOptions = new ServersOptions(); serversOptions.SetDefaults(); var cfg = new Configuration { AccountDateOptions = acctDateOptions, AccuracyOptions = accuracyOptions, AutoVoterOptions = autoVoterOptions, CoreOptions = coreOptions, EarlyQuitOptions = earlyQuitOptions, EloLimitOptions = eloLimitOptions, IrcOptions = ircOptions, MotdOptions = motdOptions, PickupOptions = pickupOptions, ServersOptions = serversOptions }; try { var json = JsonConvert.SerializeObject(cfg); using (var fs = File.Create(Filepaths.ConfigurationFilePath)) using (TextWriter writer = new StreamWriter(fs)) { writer.WriteLine(json); Log.WriteCritical( "Restored fail-safe, default configuration to: " + Filepaths.ConfigurationFilePath, _logClassType, _logPrefix); return(cfg); } } catch (Exception) { Log.WriteCritical( "Fatal error, unable to restore fail-safe default configuration. Verify that SST data folder" + " and/or .cfg is not read only!", _logClassType, _logPrefix); return(null); } }