Exemplo n.º 1
0
        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()));
        }
Exemplo n.º 2
0
        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()));
            }
        }