Exemple #1
0
        public async Task RandomQuote()
        {
            if (GetQuotesCount() == 0)
            {
                await NoQuotes();

                return;
            }

            var embed = new EmbedBuilder();

            embed.WithColor(Colors.Get("Iodem"));
            QuoteStruct q = quoteList[(new Random()).Next(0, quoteList.Count)];

            q.name = Utilities.ToCaps(q.name);
            embed.WithAuthor(q.name);
            embed.WithThumbnailUrl(Sprites.GetImageFromName(q.name));
            embed.WithDescription(q.quote);
            if (q.quote.Contains(@"#^@%!"))
            {
                var userAccount = UserAccounts.GetAccount(Context.User);
                userAccount.ServerStats.HasQuotedMatthew = true;
                UserAccounts.SaveAccounts();
                await ServerGames.UserHasCursed((SocketGuildUser)Context.User, (SocketTextChannel)Context.Channel);
            }

            await Context.Channel.SendMessageAsync("", false, embed.Build());

            //await embed.WithDescription(Utilities.GetAlert("quote"));
        }
Exemple #2
0
            public override async Task ReactAsync(SocketUserMessage msg)
            {
                await base.ReactAsync(msg);

                var userAccount = UserAccounts.GetAccount(msg.Author);

                userAccount.ServerStats.HasWrittenCurse = true;
                UserAccounts.SaveAccounts();
                await ServerGames.UserHasCursed((SocketGuildUser)msg.Author, (SocketTextChannel)msg.Channel);
            }
Exemple #3
0
        public async Task RandomQuote([Remainder] string name)
        {
            name = name.ToLower();
            if (GetQuotesCount() == 0)
            {
                await NoQuotes();

                return;
            }
            var embed = new EmbedBuilder();

            embed.WithColor(Colors.Get("Iodem"));

            //TODO: Optimize this. This is ugly.
            List <QuoteStruct> QuotesFromName = new List <QuoteStruct>();

            foreach (QuoteStruct q in quoteList)
            {
                if (q.name.Equals(name))
                {
                    QuotesFromName.Add(q);
                }
            }
            if (QuotesFromName.Count == 0)
            {
                embed.WithDescription(Utilities.GetAlert("No_Quote_From_Name"));
            }
            else
            {
                var quote = QuotesFromName[(new Random()).Next(0, QuotesFromName.Count)];
                embed.WithThumbnailUrl(Sprites.GetImageFromName(quote.name));
                embed.WithAuthor(Utilities.ToCaps(quote.name));

                embed.WithDescription(quote.quote);
                if (quote.quote.Contains(@"#^@%!"))
                {
                    var userAccount = UserAccounts.GetAccount(Context.User);
                    userAccount.ServerStats.HasQuotedMatthew = true;
                    UserAccounts.SaveAccounts();
                    await ServerGames.UserHasCursed((SocketGuildUser)Context.User, (SocketTextChannel)Context.Channel);
                }
            }
            await Context.Channel.SendMessageAsync("", false, embed.Build());
        }