public Task AdminQuotes() { Random rand = new Random(); List <Admin> admins = new List <Admin>(); using (StreamReader r = new StreamReader(Admins.PhrasePath)) { string json = r.ReadToEnd(); admins = JsonConvert.DeserializeObject <List <Admin> >(json); } Admin ranUser = admins[rand.Next(0, admins.Count)]; SocketGuildUser user = Context.Guild.GetUser(ranUser.Id); AdminQuoteModel quote = new AdminQuoteModel() { Id = ranUser.Id, Nickname = ranUser.Nickname, Username = ranUser.Username, Phrase = ranUser.Phrases[rand.Next(0, ranUser.Phrases.Count)], Counter = 5, }; using (StreamWriter file = File.CreateText(answerPath)) { JsonSerializer serializer = new JsonSerializer(); serializer.Serialize(file, quote); } var embed = new EmbedBuilder() { Title = "User Quote Game", Description = quote.Phrase, Color = Color.Gold, }; return(ReplyAsync(embed: embed.Build())); }
public Task AnswerQuote([Remainder] string guess = "") { AdminQuoteModel quoteModel = new AdminQuoteModel(); using (StreamReader r = new StreamReader(answerPath)) { string json = r.ReadToEnd(); quoteModel = JsonConvert.DeserializeObject <AdminQuoteModel>(json); } if (quoteModel != null) { quoteModel.Counter--; if (guess.ToLower() == quoteModel.Nickname.ToLower() || CycleNames(guess, quoteModel.Nickname) || guess.ToLower() == quoteModel.Username.ToLower() || CycleNames(guess, quoteModel.Username)) { using (StreamWriter file = File.CreateText(answerPath)) { file.WriteLine(String.Empty); } var embed = new EmbedBuilder() { Title = $"#1 Victory Royal!\nQuote Has Been Reset!!", ImageUrl = Context.User.GetAvatarUrl(), Color = Color.Green, }; embed.AddField("Quote: ", quoteModel.Phrase); embed.AddField("From: ", quoteModel.Nickname); return(ReplyAsync(embed: embed.Build())); } else if (quoteModel.Counter <= 0) { using (StreamWriter file = File.CreateText(answerPath)) { file.WriteLine(String.Empty); } var embed = new EmbedBuilder() { Title = $"No one got it :confused:", Color = Color.Blue, }; embed.AddField("Quote: ", quoteModel.Phrase); embed.AddField("From: ", quoteModel.Nickname); return(ReplyAsync(embed: embed.Build())); } else { using (StreamWriter file = File.CreateText(answerPath)) { JsonSerializer serializer = new JsonSerializer(); serializer.Serialize(file, quoteModel); } var embed = new EmbedBuilder() { Title = "Try Again :clown:", Color = Color.Red, ThumbnailUrl = Context.User.GetAvatarUrl() }; embed.AddField("Guess: ", guess); embed.AddField("Quote: ", quoteModel.Phrase); embed.AddField("Attempts Left: ", quoteModel.Counter); return(ReplyAsync(embed: embed.Build())); } } else { var embed = new EmbedBuilder() { Title = "There is no Quote to Guess", Color = Color.Red }; return(ReplyAsync(embed: embed.Build())); } }