public UsersManager(BotDataManager botDataManager) { _logger = Logging.GetLogger <UsersManager>(); _botDataManager = botDataManager; OnlineUsers = new List <User>(); UserBlacklist = _botDataManager.LoadUsersBlacklist(); }
public CommandsHandler(UsersManager usersManager, BotDataManager botDataManager, ExperienceManager experienceManager, PointsManager pointsManager) { _logger = Logging.GetLogger <CommandsHandler>(); _followersManager = new FollowersManager(); _usersManager = usersManager; _botDataManager = botDataManager; _experienceManager = experienceManager; _pointsManager = pointsManager; InitializeCommands(); }
/// <summary> /// Manages point awarding and timer ticking /// </summary> /// <param name="botDataManager">Bot data manager instance to get access to bot information</param> /// <param name="usersManager">User manager instance to get access to user information</param> /// <param name="autostart">Bool value if the time should start immediately</param> internal PointsManager(BotDataManager botDataManager, UsersManager usersManager, bool autostart = false) { _logger = Logging.GetLogger <PointsManager>(); _usersManager = usersManager; _currencySettings = botDataManager.CurrencySettings; this.IsTimerRunning = false; if (autostart) { StartPointsTimer(); } else { _timer = new Timer(AwardPoints_TimerTick, null, Timeout.Infinite, this.TimerIntervalMs); } }
/// <summary> /// Experiences class manages exp awarding and timer ticking /// </summary> /// <param name="usersManager">User manager instance to get access to user information</param> /// <param name="botDataManager">Bot data manager instance to get access to bot information</param> /// <param name="autostart">Bool value if timer should start immediately</param> internal ExperienceManager(BotDataManager botDataManager, UsersManager usersManager, bool autostart = false) { _logger = Logging.GetLogger <ExperienceManager>(); _usersManager = usersManager; _botDataManager = botDataManager; _experienceSettings = _botDataManager.ExperienceSettings; this.TimerRunning = false; RankList = _botDataManager.LoadRanks(); if (autostart) { StartExperienceTimer(); } else { _timer = new Timer(AwardExperience_TimerTick, null, Timeout.Infinite, this.ExperienceTickIntervalMs); } }
public BotClient() { _logger = Logging.GetLogger <BotClient>(); _botDataManager = new BotDataManager(); _usersManager = new UsersManager(_botDataManager); throttler = new MessageThrottling(_botDataManager); chatMessagePrefix = string.Format(":{0}!{0}@{0}.tmi.twitch.tv PRIVMSG #{1} :", _botDataManager.Login.BotName, _botDataManager.Login.Channel); _pointsManager = new PointsManager(_botDataManager, _usersManager, false); _experienceManager = new ExperienceManager(_botDataManager, _usersManager, false); _commandsHandler = new CommandsHandler(_usersManager, _botDataManager, _experienceManager, _pointsManager); _commandsHandler.OnCommandResponse += CommandsHandler_OnCommandResponse; this.readingTimer = new Timer(Reader_Timer_Tick, null, Timeout.Infinite, 200); this.uptimeTimer = new Timer(Uptime_Timer_Tick, null, Timeout.Infinite, 1000); this.uptime = new Stopwatch(); SetupEvents(); // Task.Run(() => TestAPI()).Wait(); }