/// <summary> /// initialize and create service /// </summary> /// <param name="client"></param> /// <param name="credentials"></param> /// <returns> /// return an async task, which can be awaited /// </returns> public static async Task InitializeHandler(DiscordSocketClient client, BotCredentials credentials, WeatherApiHandler weatherApiHandler, ILog logger) { MoodHandlerService.client = client; MoodHandlerService.credentials = credentials; MoodHandlerService.weatherApiHandler = weatherApiHandler; MoodHandlerService.logger = logger; //set start to true onStart = true; //Initialize Timer Timer dailyTimer = new Timer(24 * 60 * 60 * 1000); Timer weatherTimer = new Timer(8 * 60 * 60 * 1000); //question: does this timer even run? because its not started anywhere. Timer changeMoodTimer = new Timer(2 * 60 * 1000); //hook timer events dailyTimer.Elapsed += DailyTimer_Elapsed; weatherTimer.Elapsed += WeatherTimer_Elapsed; changeMoodTimer.Elapsed += ChangeMoodTimer_Elapsed; //start timer dailyTimer.Start(); weatherTimer.Start(); changeMoodTimer.Start(); //get start values DailyTimer_Elapsed(null, null); await checkWeather(); newMood = GetMood(); await setMood(newMood).ConfigureAwait(false); onStart = false; client.MessageReceived += Client_MessageReceived; }
public static void InitializeWeatherSub(DiscordSocketClient client, BotCredentials credentials, WeatherApiHandler weatherApiHandler) { WeatherSubscriptionService.client = client; WeatherSubscriptionService.weatherApiHandler = weatherApiHandler; WeatherSubscriptionService.credentials = credentials; Timer checkWeather = new Timer(60 * 1000); checkWeather.Start(); checkWeather.Elapsed += CheckWeather_Elapsed; }
public WeatherCommands(WeatherApiHandler weatherApiHandler, ConfigManager configManager) { this.weatherApiHandler = weatherApiHandler; this.configManager = configManager; }