public Corrigendum(ChatboxConnector connector, JObject config) : base(connector) { _config = new CorrigConfig(config); _wordLists = new Dictionary <string, HashSet <string> >(); // read the dictionaries foreach (var item in _config.Items) { if (_wordLists.ContainsKey(item.WordListFilename)) { // done already continue; } using (var dictFile = new StreamReader(item.WordListFilename, Encoding.UTF8)) { var wordSet = new HashSet <string>(); string line; while ((line = dictFile.ReadLine()) != null) { var trimmedLine = line.Trim().ToLower(); if (trimmedLine.Length > 0) { wordSet.Add(trimmedLine); } } _wordLists[item.WordListFilename] = wordSet; } } }
public Echelon(ChatboxConnector connector, JObject config) : base(connector) { _config = new EchelonConfig(config); _regexCache = new Dictionary <string, Regex>(); _wordLists = new Dictionary <string, HashSet <string> >(); // read the dictionaries foreach (var wordList in _config.WordLists) { using (var dictFile = new StreamReader(wordList, Encoding.UTF8)) { var wordSet = new HashSet <string>(); string line; while ((line = dictFile.ReadLine()) != null) { var trimmedLine = line.Trim().ToLower(); if (trimmedLine.Length > 0) { wordSet.Add(trimmedLine); } } _wordLists[wordList] = wordSet; } } }
public HttpInterface(ChatboxConnector connector, JObject config) : base(connector) { Config = new InterfaceConfig(config); MessageList = new LinkedList <ChatboxMessage>(); _responder = new Responder(this); _responder.Start(); }
public Stfu(ChatboxConnector connector, JObject cfg) : base(connector) { _config = new StfuConfig(cfg); // clear out old bans using (var context = GetNewContext()) { foreach (var expiredBan in context.Bans.Where(b => b.Deadline.HasValue && b.Deadline.Value < DateTime.Now)) { context.Bans.Remove(expiredBan); } } }
static void Main(string[] args) { // log to console var repo = (Hierarchy)LogManager.GetRepository(); repo.Root.Level = Level.Debug; repo.Configured = true; var layout = new PatternLayout { ConversionPattern = "%-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline" }; layout.ActivateOptions(); var conApp = new ConsoleAppender { Layout = layout }; conApp.ActivateOptions(); repo.Root.AddAppender(conApp); // load configuration Config config; var configPath = Path.Combine(Util.ProgramDirectory, "Config.json"); using (var reader = new StreamReader(configPath, Encoding.UTF8)) { config = new Config(reader.ReadToEnd()); } // initialize HTML decompiler and chatbox connector var decompiler = new HtmlDecompiler(config.HtmlDecompiler.SmileyUrlToSymbol, config.HtmlDecompiler.TeXPrefix); var connector = new ChatboxConnector(config.Forum, decompiler); // load modules ModuleLoader.LoadModules(config, connector); // launch connector connector.Start(); }
public Messenger(ChatboxConnector connector, JObject config) : base(connector) { _config = new MessengerConfig(config); }
public IsTuwelDown(ChatboxConnector connector, JObject cfg) : base(connector) { _config = new TuwelDownConfig(cfg); }
public LinkInfo(ChatboxConnector connector, JObject config) : base(connector) { }
public LastSeenApi(ChatboxConnector connector, JObject cfg) : base(connector) { _config = new SeenConfig(cfg); }
public Motivator(ChatboxConnector connector, JObject config) : base(connector) { _config = new MotivatorConfig(config); _random = new Random(); }
public Thanks(ChatboxConnector connector, JObject config) : base(connector) { _config = new ThanksConfig(config); }
public BinAdmin(ChatboxConnector connector, JObject cfg) : base(connector) { _config = new BinAdminConfig(cfg); }
public Allograph(ChatboxConnector connector, JObject config) : base(connector) { _config = new AllographConfig(config); _random = new Random(); }
public GroupPressure(ChatboxConnector connector, JObject cfg) : base(connector) { _backlog = new Queue <BacklogMessage>(); _config = new PressureConfig(cfg); }