internal async Task UpdateAll() { if (PlayingMessageId == 0) { PlayingMessageId = await Feed.SendAll(PlayingMessage); } else { await Feed.EditAll(PlayingMessageId, PlayingMessage); } }
public async Task Tick() { if (Running != 0) { if (Points.ContainsValue(PointLimit)) { await GetWinner(); } else if (GetQuestion != null) { if (GetQuestion.IsCompleted) { var Result = GetQuestion.Result; GetQuestion = null; var Trivia = JObject.Parse(Result.Substring(1, Result.Length - 2)); var Question = Trivia["question"].ToString().Trim(); if (Question != string.Empty) { Answer = RemoveHtml.Replace(Trivia["answer"].ToString(), string.Empty).Replace("\\", "").Replace("(", "").Replace(")", "").Trim('"'); if (Answer.StartsWith("a ")) { Answer = Answer.Substring("a "); } else if (Answer.StartsWith("an ")) { Answer = Answer.Substring("an "); } await Feed.SendAll($"Trivia | {Question}"); Timer = new Stopwatch(); Timer.Start(); Bot.Log($"{Question} - {Answer}"); } } } else if (Timer == null) { if (AbortRequested) { AbortRequested = false; await GetWinner(); } else { GetQuestion = "http://jservice.io/api/random?count=1".WebResponse(); Running = 1; } } else if (Winner != null) { if (!Points.ContainsKey(Winner)) { Points.Add(Winner, 0); } Points[Winner]++; Winner = null; Timer = null; } else if (Timer.ElapsedMilliseconds > 10000) { if (Running == 1) { await Feed.SendAll($"Hint: `{HardHint}`"); Timer.Restart(); Running++; } else if (Running == 2) { await Feed.SendAll($"Hint: `{EasyHint}`"); Timer.Restart(); Running++; } else if (Running == 3) { await Feed.SendAll($"Time's up! The answer was `{Answer}`"); Timer = null; } } } }