示例#1
0
        void help(ServerMessage e, String m)
        {
            /*            var eb = new EmbedBuilder();
             *          eb = eb.WithAuthor("The Overbork", this.DC.CurrentUser.GetAvatarUrl()).WithCurrentTimestamp().WithTitle("Help");
             *          const int maxFieldSize = 1024;
             *          for(int i = 0; i < ((botInfo.Length + (maxFieldSize-1)) / maxFieldSize); i++)
             *          {
             *              int remLen = botInfo.Length - i * maxFieldSize;
             *              int len = remLen < maxFieldSize ? remLen : maxFieldSize;
             *              eb = eb.AddField("help" + i, botInfo.Substring(i * maxFieldSize, len));
             *          }
             *          safeSendEmbed(e.Channel, eb.Build());*/
            /*            safeSendMessage(e.Channel,
             * "Standing by for orders, " + e.Author.Username + @"!
             *
             * " + botInfo, true);*/
            var     parts = m.Split(" ".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            Command com;

            if (parts.Length > 0 && Commandlist.TryGetValue(parts[0], out com) && shouldDisplayHelp(com, e.Author, e.Channel))
            {
                safeSendEmbed(e.Channel, com.getHelpMessageEmbed());
            }
            else
            {
                var eb = new Discord.EmbedBuilder().WithAuthor("The Overbork", this.DC.CurrentUser.GetAvatarUrl()).WithCurrentTimestamp();
                eb.WithTitle("Available commands").WithDescription("This is a list of all commands currently available to you. For help with a particular command, try !help followed by that command name. ```" + getCommandListForUser(e.Author, e.Channel) + "```");
                safeSendEmbed(e.Channel, eb.Build());
            }
        }
示例#2
0
文件: Test.cs 项目: Fasuh/bot
        public async Task info(SocketUser user = null)
        {
            if (user == null)
            {
                user = Context.Message.Author;
            }
            dbase.chkserver(Context.Guild);
            string       query = "SELECT * FROM uzytkownicy as u INNER JOIN `servery` as s ON u.Server = s.id WHERE u.user='******' AND s.nid='" + Context.Guild.Id.ToString() + "'";
            MySqlCommand cmd   = new MySqlCommand(query, dbase.connect);

            if (!dbase.HasRows(cmd))
            {
                query = "INSERT INTO `uzytkownicy`(`id`, `user`, `score`, `ranks`, `level`, `link`, `server`) VALUES (null,'" + user.Id.ToString() + "',0 ,null ,1 ,null,  '" + dbase.Chkserver(Context.Guild.Id.ToString()) + "')";
                cmd   = new MySqlCommand(query, dbase.connect);
                dbase.make(cmd);
                query = "SELECT * FROM `uzytkownicy` as u INNER JOIN `servery` as s ON u.Server = s.id WHERE u.user='******' AND s.nid='" + Context.Guild.Id.ToString() + "'";
                cmd   = new MySqlCommand(query, dbase.connect);
            }
            DataTable info    = dbase.Read(cmd);
            var       builder = new Discord.EmbedBuilder();

            builder.WithTitle("Informacje o uzytkowniku " + user.Username);
            builder.WithThumbnailUrl(user.GetAvatarUrl());
            builder.AddField("Ilość punktów:", info.Rows[0][2]);
            builder.AddInlineField("Poziom:", info.Rows[0][4]);
            if (info.Rows[0][5] != null && info.Rows[0][5].ToString() != "")
            {
                builder.AddInlineField("Deviantart:", info.Rows[0][5].ToString());
            }
            builder.WithColor(Color.DarkGreen);
            await Context.Channel.SendMessageAsync("", false, builder);
        }
示例#3
0
文件: Test.cs 项目: Fasuh/bot
        public async Task rate(string link = null)
        {
            DateTime czas = time.AddSeconds(10);

            if (link == null)
            {
                link = Context.Message.Attachments.FirstOrDefault().Url;
            }
            var builder = new Discord.EmbedBuilder();

            builder.WithTitle("Ocena");
            builder.AddInlineField("Autor: " + Context.Message.Author.Username, "Obrazek:");
            builder.WithImageUrl(link);
            builder.WithColor(Color.DarkGreen);
            dbase.chkserver(Context.Guild);
            string       query = "SELECT * FROM `servery` WHERE `nid`='" + Context.Guild.Id.ToString() + "'";
            MySqlCommand cmd   = new MySqlCommand(query, dbase.connect);
            var          msg   = await((ISocketMessageChannel)Context.Guild.GetChannel(ulong.Parse(dbase.Read(cmd).Rows[0][3].ToString()))).SendMessageAsync("", false, builder);
            await msg.AddReactionAsync(Context.Guild.Emotes.First(e => e.Name == "redbean"));

            string format = "yyyy-MM-dd HH:mm:ss";

            query = "INSERT INTO `timery` (`id`, `user`, `type`, `time`, `text`, `Server`) VALUES (NULL, '" + Context.Message.Author.Id + "', 'rate', '" + czas.ToString(format) + "', '" + msg.Id + "', '" + dbase.Chkserver(Context.Guild.Id.ToString()) + "')";
            cmd   = new MySqlCommand(query, dbase.connect);
            dbase.timer(cmd, "rate", czas, (IGuildUser)Context.Message.Author, Context.Guild.Id.ToString(), msg.Id.ToString());
            Console.WriteLine(time + "\tRozpoczeto glosowanie obrazka uzytkownika " + Context.Message.Author.Username + ".");
        }
示例#4
0
        public async Task help(string isLocal = null)
        {
            var privateEmbed = new Discord.EmbedBuilder();
            var publicEmbed  = new Discord.EmbedBuilder();

            privateEmbed.WithTitle("Lista komend:")
            .AddInlineField("!komeny", "!orbit \n!orbit2 \n!orbit3 \n!orbitmax\n!Wojownicy \n!szogun \n!pikna \n!notak \n!mioush \n!jordan_cry \n!heh \n!Gontta \n!damnwhat \n!by_the_pope \n!biiiicz \n!ALKUS")
            .AddField("usefullShiet", "!help // wysyla sms o tresci pomagam \n (-p jesli chcesz na publiczny kanal help) \n !del x //usówa x ostatnich wiadomości ");
            publicEmbed.WithTitle("Lista komend:")
            .AddInlineField("!komendy", "!orbit \n!orbit2 \n!orbit3 \n!orbitmax\n!Wojownicy \n!szogun \n!pikna \n!notak \n!mioush \n!jordan_cry \n!heh \n!Gontta \n!damnwhat \n!by_the_pope \n!biiiicz \n!ALKUS")
            .AddInlineField("Emotki", "\n\n\n :Wojownicy: \n :szogun: \n :pikna: \n <:notak:403267331264086016> \n <:mioush:425310386292523008> \n :jordan_cry: \n <:heh:333585033204072458> \n <:Gontta:417747336287223828> \n <:damnwhat:413093188178411520> \n <:by_the_pope:493411746002894864> \n :biiiicz: \n <:ALKUS:334775515263270912>")
            .AddField("usefullShiet", "!help // wysyla sms o tresci pomagam \n (-p jesli chcesz na publiczny kanal help) \n !del x //usówa x ostatnich wiadomości ");
            if (isLocal != "-p")
            {
                Discord.IDMChannel gencom = await Context.Message.Author.GetOrCreateDMChannelAsync();

                await gencom.SendMessageAsync("", false, privateEmbed);

                await gencom.CloseAsync();
            }
            else
            {
                for (int helpChannelID = 0; helpChannelID < Context.Guild.TextChannels.Count; helpChannelID++)
                {
                    var helpChannel = Context.Guild.TextChannels.ElementAt(helpChannelID);
                    if (helpChannel.Name == "help")
                    {
                        await helpChannel.SendMessageAsync("", false, publicEmbed);
                    }
                }
            }
        }
示例#5
0
    public async Task chanwoo()
    {
        var b = new Discord.EmbedBuilder();

        b.WithTitle("븅신쉑");
        b.WithColor(new Discord.Color(0, 170, 255));
        await Context.Channel.SendMessageAsync("", false, b);
    }
示例#6
0
    public async Task welcome()
    {
        var b = new Discord.EmbedBuilder();

        b.WithTitle("Welcome");
        b.WithDescription("Enjoy your time here! :smile:");
        b.WithColor(new Discord.Color(0, 170, 255));
        await Context.Channel.SendMessageAsync("", false, b);
    }
示例#7
0
        public async Task Help()
        {
            var a = new Discord.EmbedBuilder();

            a.WithTitle("Commands");
            a.WithDescription("General Commands\n-- .help // Gives list of commands to use");
            Discord.IDMChannel gencom = await Context.Message.Author.GetOrCreateDMChannelAsync();

            await gencom.CloseAsync();
        }
示例#8
0
    public async Task Lord()
    {
        var b = new Discord.EmbedBuilder();

        b.WithTitle("AND LOADED!");
        b.WithColor(new Discord.Color(0, 170, 255));
        await Context.Channel.SendMessageAsync("", false, b);

        await Context.Channel.SendMessageAsync("https://ubistatic19-a.akamaihd.net/resource/en-us/game/rainbow6/siege/r6-operator-tachanka_229936.png", false);
    }
示例#9
0
        public async Task Kick(Discord.IGuildUser user, [Remainder] string reason)
        {
            var b = new Discord.EmbedBuilder();

            b.WithTitle("User Kicked").WithDescription(user.Username + " was kicked because " + reason).WithColor(25, 25, 112);

            await Context.Channel.SendMessageAsync("", false, b);

            await user.KickAsync();
        }
示例#10
0
    public async Task rules()
    {
        var b = new Discord.EmbedBuilder();

        b.WithTitle("Rules");
        b.WithDescription("-WOAH");

        b.WithColor(new Discord.Color(0, 170, 255));
        await Context.Channel.SendMessageAsync("", false, b);
    }
示例#11
0
        public async Task RevIp()
        {
            var b = new Discord.EmbedBuilder();

            b.WithTitle("Here's the ip for the FTB Revelations server!");
            b.WithDescription("rev.gameoutnetwork.com");
            b.WithColor(new Discord.Color(0, 170, 255));

            await Context.Channel.SendMessageAsync("", false, b);
        }
示例#12
0
        public async Task Vote()
        {
            var b = new Discord.EmbedBuilder();

            b.WithTitle("Don't Forget To Vote For Amazing Rewards At The Following Websites!");
            b.WithDescription("Vote Link 1 : \n https://ftbservers.com/server/dzZfMJNd/vote \n" +
                              "Vote Link 2 : \n https://www.planetminecraft.com/server/game-out-network/vote/ \n" +
                              "Vote Link 3 : \n http://minecraft-mp.com/server/191690/vote/");
            b.WithColor(new Discord.Color(0, 170, 255));

            await Context.Channel.SendMessageAsync("", false, b);
        }
示例#13
0
        public async Task KickUserAsync(string mention = null, [Remainder] string reason = null)
        {
            IGuildUser user;

            user = Context.Guild.GetUser(MentionUtils.ParseUser(mention));
            var b = new Discord.EmbedBuilder();

            b.WithTitle("User Kicked");
            b.WithDescription(user.Username + "was kicked.");
            await Context.Channel.SendMessageAsync("", false, b.Build());

            await user.KickAsync();
        }
示例#14
0
    public async Task KickAsync(Discord.IGuildUser user, [Remainder] string reason)
    {
        if (user.GuildPermissions.KickMembers)
        {
            var b = new Discord.EmbedBuilder();
            b.WithTitle("User Kicked");
            b.WithDescription(user.Username + "was kicked.");
            b.WithColor(new Discord.Color(0, 170, 255));
            await Context.Channel.SendMessageAsync("", false, b);

            await user.KickAsync();
        }
    }
示例#15
0
    public async Task help()
    {
        var a = new Discord.EmbedBuilder();

        a.WithTitle("Commands");
        a.WithDescription("General Commands\n!help // Gives list of commands to use");
        a.WithColor(new Discord.Color(0, 170, 255));
        Discord.IDMChannel gencom = await Context.Message.Author.GetOrCreateDMChannelAsync();

        await gencom.SendMessageAsync("", false, a);

        await gencom.CloseAsync();
    }
示例#16
0
        public async Task help()
        {
            var a = new Discord.EmbedBuilder();

            a.WithTitle("Commands");
            a.WithDescription("``<<help`` - Gives list of commands to use" +
                              "\n``<<invite`` - Sends you bot invite link in DMs" +
                              "\n``<<search [your request]`` - Information about artist/album/track" +
                              "\n``<<listen [minutes]`` - Listens to your Spotify activity and gives statistics" +
                              "\n``<<listen [minutes] [@mention]`` - Listens to custom user's Spotify activity");
            a.WithColor(Color.Magenta);
            await Context.Channel.SendMessageAsync("", false, a.Build());
        }
示例#17
0
文件: Test.cs 项目: Fasuh/bot
        public async Task help()
        {
            var builder = new Discord.EmbedBuilder();

            builder.WithTitle("Komendy");
            builder.AddInlineField("Memy", "`.dmem <nazwa> <link>` - Dodaje mema na serwer,\n\u200b`.dmemnsfw <nazwa> <link>` - Dodaje mema na serwer **tylko nsfw**,\n\u200b`.umem <nazwa>` - Usuwa mem z serwera,\n\u200b`.memelist` - Pokazuje listę memów");
            builder.AddInlineField("Warny", "`.warn <osoba> <powód>` - Daje warna osobie,\n\u200b`.delwarn <osoba> <numer warna>` - Usuwa wybrany warn,\n\u200b`.clearwarns <osoba>` - Czysci wszystkie warny osoby,\n\u200b`.listwarns <[opcjonalnie]osoba>` - pokazuje twoje/czyjes warny.");
            builder.AddInlineField("Rangi", "`.drank <nazwa>` - range o podanej nazwie.,\n\u200b`.urank <nazwa>` - usuwa range podanej nazwie,\n\u200b`.ranga <nazwa>` - nadaje range o podanej nazwie,\n\u200b`.rangi` - pokazuje spis rang dostępnych na serwerze");
            builder.AddInlineField("Fun", "`.patyk <osoba>` - narzędzie wzajemnej motywacji,\n\u200b`.rate <link/zlacznik>` - postuje obrazek na wyznaczonym kanale do oceny przez innych uzytkownikow,\n\u200b`.info <[opcjonalnie]osoba>` - podaje informacje z twojego profilu\n\u200b`.da <link>` - zapisuje link do twojego Deviantartu\n\u200b`.pokazda <[opcjonalnie]osoba>` - podaje link do twojego lub czyjegoś Deviantartu.");
            builder.AddInlineField("Powitania", "`.welmsg <wiadomosc>` - wiadomosc powitalna,\n\u200b`.welchan <kanal>` - kanal na którym wysyłana będzie wiadomość.");
            builder.WithColor(Color.DarkGreen);
            await Context.Channel.SendMessageAsync("", false, builder);
        }
示例#18
0
文件: Test.cs 项目: Fasuh/bot
        public async Task listwarns(SocketUser user = null)
        {
            if (user == null)
            {
                user = Context.Message.Author;
            }
            dbase.chkserver(Context.Guild);
            string       query = "SELECT  w.reason, DATE_FORMAT(w.date, '%M %e %Y'), w.wanner FROM warny as w INNER JOIN `servery` as s ON w.Server = s.id WHERE w.user='******' AND s.nid='" + Context.Guild.Id.ToString() + "'";
            MySqlCommand cmd   = new MySqlCommand(query, dbase.connect);

            if (dbase.HasRows(cmd))
            {
                string a = "";
                cmd = new MySqlCommand(query, dbase.connect);
                foreach (DataRow row in dbase.Read(cmd).Rows)
                {
                    UInt64             g    = Convert.ToUInt64(row[2]);
                    Discord.IGuildUser nick = Context.Guild.GetUser(g);
                    try
                    {
                        if (nick.Username != "")
                        {
                            a += "**Data:** " + row[1] + "\t**Warnujacy:** " + nick + "\n**Powod:** " + row[0] + "\n\n";
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(time + "\t Bledny warnujacy " + g + " Na serwerze " + Context.Guild.Name + ".");
                        a += "**Data:** " + row[1] + "\t**Warnujacy:** " + row[2] + "\n**Powod:** " + row[0] + "\n\n";
                    }
                }
                var b = new Discord.EmbedBuilder();
                b.WithTitle("Lista warnow");
                b.WithDescription(a);
                b.WithColor(new Discord.Color(0, 170, 255));
                await Context.Channel.SendMessageAsync("", false, b);
            }
            else
            {
                await Context.Channel.SendMessageAsync("brak warnow! :D");
            }
        }
示例#19
0
        public async Task UserAvatarAsync(string mention = null)
        {
            IUser user;

            if (mention == null)
            {
                user = Context.User;
            }
            else
            {
                user = Context.Guild.GetUser(MentionUtils.ParseUser(mention));
            }

            var b = new Discord.EmbedBuilder();

            b.WithTitle(user.Username + "'s Avatar");
            b.WithImageUrl(user.GetAvatarUrl());
            await Context.Channel.SendMessageAsync("", false, b.Build());

            //await Context.Channel.SendMessageAsync(user.Username);
        }
示例#20
0
//        public static Embed CurrentUserEmbed(ICommandContext Context)
//        {
//            Mock database = DatabaseManager.GetMock();
//            DiscordUser atlasAccount = null;
//            try
//            {
//                atlasAccount =
//                    database.Users.FirstOrDefault(x => (x as DiscordUser).Discordid == (long)Context.User.Id);
//
//            }
//            catch
//            {
//                //Log user not registed
//            }
//            Discord.EmbedBuilder eb = BaseBuilder("", "", ColorPicker.UserModule,
//                new EmbedAuthorBuilder().WithName("Information about " + Context.User.Username),
//                Context.User.GetAvatarUrl());
//            if (atlasAccount != null)
//            {
//                eb.Description = "Displaying user information for the " + Names.Systemname + " account";
//                eb.AddField(new EmbedFieldBuilder().WithName(Names.Systemname + " Information").WithValue(
//                    "**Name:** " + atlasAccount.Name + "\n"+
//                    "**Account created:** " + atlasAccount.CreationDate.ToLongDateString()));
//            }
//            else
//            {
//                eb.AddField(new EmbedFieldBuilder()
//                    .WithValue("User is not registed, use -user register to register now.")
//                    .WithName(Names.Systemname + " Account"));
//            }
//            //eb.WithUrl("http://placeholder.com/user/id/111020301023");
//            string discordInformation = "";
//            try
//            {
//                var user = Context.User as IGuildUser;
//                discordInformation += "**Joined at: **" + user.JoinedAt.Value.Date.ToLongDateString() + "\n";
//            }
//            catch
//            {
//                //Log User not in guild
//            }
//            discordInformation += "**Status:** " + Context.User.Status + "\n";
//
//            if (Context.User.Game != null)
//            {
//                discordInformation += "**Currently Playing: **" + Context.User.Game.Value.Name + "\n";
//            }
//            eb.AddField(new EmbedFieldBuilder().WithName("Discord information").WithValue(discordInformation));
//            //if (atlasAccount != null)
//            //{
//            //    if (atlasAccount.Summoners.Count > 0)
//            //    {
//            //        string summoners = "";
//            //        foreach (var summoner in atlasAccount.Summoners)
//            //        {
//            //            summoners += summoner.Region + ": " + summoner.SummonerId; //TODO Make this a Tier
//            //        }
//            //        eb.AddField(new EmbedFieldBuilder().WithName("Summoner Information").WithValue(summoners));
//            //    }
//            //    else
//            //    {
//            //        eb.AddField(new EmbedFieldBuilder().WithName("Summoner Information")
//            //            .WithValue("This user has no summoners."));
//            //    }
//            //}
//            if (atlasAccount != null)
//            {
//                string accountinfo = "User does not have accounts linked\nUser **-HELPCOMMAND** to get started.";
//                if (atlasAccount.SmashAccount.Username != null && (bool)atlasAccount.SmashAccount.IsVerified)
//                {
//                    accountinfo = "**" + Names.SmashLadder + " account:**\n" + atlasAccount.SmashAccount.Username + " "+
//                                   atlasAccount.SmashAccount.Rank;
//                }
//                eb.AddField("Accounts", accountinfo);
//            }
//
//            return eb.Build();
//        }

//        public static Embed CurrentServerEmbed(IGuild guild)
//        {
//            DiscordServer server;
//            var database = DatabaseManager.GetMock();
//            try
//            {
//                server = database.Servers.FirstOrDefault(x => x.ServerId == guild.Id);
//            }
//            catch
//            {
//                server = null;
//            }
//
//            Discord.EmbedBuilder builder = BaseBuilder("", "Information about this server known to " + Names.BotName, ColorPicker.ServerModule, new EmbedAuthorBuilder().WithName(guild.Name), guild.IconUrl);
//            builder.AddField(new EmbedFieldBuilder().WithName("Discord Information")
//                .WithValue("**Name:** " + guild.Name + "\n"
//                           + "**Users:** " + (guild as SocketGuild).Users.Count + "\n"
//                           + "**Created at:** " + guild.CreatedAt.DateTime.ToLongDateString() + "\n"
//                           + "**Owner:** " + guild.GetOwnerAsync().Result.Username));
//            if (server == null)
//            {
//                builder.AddField(new EmbedFieldBuilder().WithName(Names.Systemname + " Information")
//                    .WithValue(
//                        "Server is not linked to an account. Let the owner use -server register *<Tier>* to start"));
//            }
//            else
//            {
//                builder.AddField(new EmbedFieldBuilder().WithName(Names.Systemname + " Information").WithValue(
//                    "**Name: **" + server.Name+"\n"+
//                    "**Description: **"+ server.Description+"\n"+
//                    "**Joined at: **" + server.JoinDateTime.ToLongDateString()+"\n"+
//                    "**Votes: **" + server.Votes));
//            }
//            return builder.Build();
//        }
//
//        public static Embed ServerList(string filter)
//        {
//            Discord.EmbedBuilder builder = BaseBuilder("", "All servers known ordered by votes.", ColorPicker.ServerModule, new EmbedAuthorBuilder().WithName(Names.Systemname + " server list"), null);
//            if (string.IsNullOrEmpty(filter)) //No parameter is given and we should display the full server list
//            {
//                List<DiscordServer> servers = DatabaseManager.GetMock().Servers.ToList();
//                //Add servers from other sources
//                var orderedServers = servers.OrderBy(x => x.Votes).ToList();
//                int maxservers = 5; //Maximal servers to display
//                if (maxservers > orderedServers.Count()) maxservers = orderedServers.Count;
//
//                for (int i = 0; i < maxservers; i++)
//                {
//
//                    builder.AddField(new EmbedFieldBuilder().WithName(orderedServers[i].Name)
//                        .WithValue("**Votes:** " + orderedServers[i].Votes + "\n" +
//                                   "**Description: **" + orderedServers[i].Description));
//                }
//            }
//            return builder.Build();
//        }
        //Base Builder
        public static Discord.EmbedBuilder BaseBuilder(string title, string description, Color color,
                                                       EmbedAuthorBuilder authorBuilder, string thumbnailurl)
        {
            Discord.EmbedBuilder builder = new Discord.EmbedBuilder().WithColor(color).WithFooter(Names.BotName).WithCurrentTimestamp();
            if (!string.IsNullOrEmpty(description))
            {
                builder.WithDescription(description);
            }
            if (!string.IsNullOrEmpty(title))
            {
                builder.WithTitle(title);
            }
            if (authorBuilder != null)
            {
                builder.WithAuthor(authorBuilder);
            }
            if (!string.IsNullOrEmpty(thumbnailurl))
            {
                builder.WithThumbnailUrl(thumbnailurl);
            }
            return(builder);
        }
示例#21
0
        public async Task UserInfoAsync(string mention = null)
        {
            IUser user;

            if (mention == null)
            {
                user = Context.User;
            }
            else
            {
                user = Context.Guild.GetUser(MentionUtils.ParseUser(mention));
            }

            var b = new Discord.EmbedBuilder();

            b.WithTitle("User Info");
            b.WithDescription("Name: " + user.Username + "\n" +
                              "ID: " + user.ToString() + "\n" +
                              "UID: " + user.Id + "\n" +
                              "Status: " + user.Status + "\n" +
                              "Current Activity: " + user.Activity + "\n");
            await Context.Channel.SendMessageAsync("", false, b.Build());
        }
示例#22
0
        public async Task PlayerPerformance(string playerName, [Remainder] string tournamentName)
        {
            var message = await ReplyAsync("Getting data...");

            var tournament = RequestHandler.GetTournamentRoot(tournamentName);

            if (tournament.entities == null)
            {
                var embed = Builders.BaseBuilder("Tournament not found", "", Color.Red, null, "");
                await ReplyAsync("", embed : embed.Build());
            }
            var bracketPhases = tournament.entities.phase.Where(x => x.groupCount == 1).ToList();

            Discord.EmbedBuilder builder = Builders.BaseBuilder(playerName + " Results For " + tournament.entities.tournament.name, "", Color.Red, null, "");
            bool   playerFound           = false;
            double wins   = 0;
            double losses = 0;

            foreach (var bracketPhase in bracketPhases)
            {
                var phaseId = bracketPhase.id;
                var group   = tournament.entities.groups.FirstOrDefault(x => x.phaseId == phaseId);
                var result  = RequestHandler.GetResultSets(group.id);
                var players = result.Entities.Player;
                var player  = players.Where(x => x.GamerTag.ToLower().Trim().Contains(playerName.ToLower().Trim()))
                              .ToList();
                if (player.Count == 1) //player is found, lets go
                {
                    playerFound = true;
                    builder.WithTitle($"{player[0].GamerTag} Results at {tournament.entities.tournament.name}");
                    var sets = result.Entities.Sets.Where(x =>
                                                          x.Entrant1Id == Convert.ToInt64(player[0].EntrantId) ||
                                                          x.Entrant2Id == Convert.ToInt64(player[0].EntrantId)).ToList();
                    string setinfo = "";
                    sets = sets.OrderBy(x => x.CompletedAt).ToList();
                    var characters = new List <string>()
                    {
                        "Bowser",
                        "Captain Falcon",
                        "Donkey Kong",
                        "Dr. Mario",
                        "Falco",
                        "Fox",
                        "Ganondorf",
                        "Ice Climbers",
                        "Jigglypuff",
                        "Kirby",
                        "Link",
                        "Luigi",
                        "Mario",
                        "Marth",
                        "Mewtwo",
                        "Mr. Game And Watch",
                        "Ness",
                        "Peach",
                        "Pichu",
                        "Pikachu",
                        "Roy",
                        "Samus",
                        "Sheik",
                        "Yoshi",
                        "Young Link",
                        "Zelda"
                    };
                    Event  prevEvent = null;
                    string eventInfo = "";
                    foreach (var set in sets)
                    {
                        var setEvent = tournament.entities.Event.FirstOrDefault(x => x.id == set.EventId);
                        if (prevEvent == null)
                        {
                            prevEvent = setEvent;
                        }
                        if (prevEvent.id != setEvent.id)
                        {
                            builder.AddInlineField(prevEvent.name, eventInfo);
                            prevEvent = setEvent;
                            eventInfo = "";
                        }
                        int    playerPlace = 1;
                        Player player2     = null;
                        if (Convert.ToInt64(player[0].EntrantId) == set.Entrant1Id)
                        {
                            player2 = players.FirstOrDefault(x => set.Entrant2Id == Convert.ToInt64(x.EntrantId));
                        }
                        else
                        {
                            player2     = players.FirstOrDefault(x => set.Entrant1Id == Convert.ToInt64(x.EntrantId));
                            playerPlace = 2;
                        }
                        if (player2 != null)
                        {
                            string gameinfo = "";
                            foreach (var game in set.Games)
                            {
                                gameinfo +=
                                    $"{characters[(int) game.Entrant1P1CharacterId - 1]} {game.Entrant1P1Stocks} - {game.Entrant2P1Stocks} {characters[(int) game.Entrant2P1CharacterId - 1]}\n";
                            }
                            if (gameinfo == "")
                            {
                                gameinfo = "Nothing available\n";
                            }
                            if (playerPlace == 1 && set.Entrant1Score != null && set.Entrant2Score != null)
                            {
                                eventInfo +=
                                    $"**{set.FullRoundText}:**\n{player[0].GamerTag} - {player2.GamerTag}: {set.Entrant1Score} - {set.Entrant2Score}\n" +
                                    gameinfo + "\n";
                                if (set.Entrant1Score != null)
                                {
                                    wins += (double)set.Entrant1Score;
                                }
                                if (set.Entrant2Score != null)
                                {
                                    losses += (double)set.Entrant2Score;
                                }
                            }
                            else if (set.Entrant1Score != null && set.Entrant2Score != null)
                            {
                                eventInfo +=
                                    $"**{set.FullRoundText}:**\n{player2.GamerTag} - {player[0].GamerTag}: {set.Entrant1Score} - {set.Entrant2Score}\n" +
                                    $"{gameinfo}\n";
                                if (set.Entrant2Score != null)
                                {
                                    wins += (double)set.Entrant1Score;
                                }
                                if (set.Entrant1Score != null)
                                {
                                    losses += (double)set.Entrant2Score;
                                }
                            }
                        }
                    }
                    //builder.AddField("Results", ssetinfo);
                    var imageurl = player[0].Images.FirstOrDefault(x => x.Type == "profile");
                    if (imageurl != null)
                    {
                        builder.WithThumbnailUrl(imageurl.Url);
                    }
                    if (wins != 0 && losses != 0)
                    {
                        eventInfo += $"\n" +
                                     $"***Overall performance***\n" +
                                     $"**Games Won: **{wins}\n" +
                                     $"**Games Lost: **{losses}\n" +
                                     $"**Winrate: **{Math.Round((wins / (wins + losses) * 100), 2)}%";
                    }

                    builder.AddInlineField(prevEvent.name, eventInfo);
                }
            }
            if (!playerFound)
            {
                builder = Builders.BaseBuilder("Player not found", "", Color.Red, null, "");
            }
            await ReplyAsync("", embed : builder.Build());

            await message.DeleteAsync();
        }