예제 #1
0
        public static void INIT(SocketMessage arg, string CommandWant)
        {
            var AllCMDs = CommandInfoHolder.RetAllCMDInfoNEW();

            foreach (string CMD in AllCMDs.Keys.ToList())
            {
                if (AllCMDs[CMD].ToLower() != CommandWant.ToLower())
                {
                    AllCMDs.Remove(CMD);
                }
            }
            PrintOut.INIT(arg, AllCMDs.Keys.ToArray(), CommandWant);
        }
예제 #2
0
        public static async Task Maindo(SocketMessage arg)
        {
            try
            {
                if (arg.Content.ToLower().Contains(" "))
                {
                    string OptArg = arg.Content.ToLower().Split(' ')[1].Trim();
                    grab.INIT(arg, OptArg);
                }
                else
                {
                    var Builder = new EmbedBuilder()
                    {
                        Color       = Color.DarkMagenta,
                        Description = "**MGX Commands**",
                        Footer      = new EmbedFooterBuilder()
                        {
                            Text = $"Use {Program.Prefix}setup for assistance!"
                        },
                        Timestamp = DateTime.UtcNow
                    };

                    List <string> Used  = new List <string>();
                    var           FList = CommandInfoHolder.RetAllCMDInfoNEW();
                    foreach (string TypeName in FList.Keys.ToList())
                    {
                        if (!Used.Contains(FList[TypeName]))
                        {
                            Used.Add(FList[TypeName]);
                            string CategoryFirstUpper = FList[TypeName].ToCharArray().First().ToString().ToUpper() + FList[TypeName].Substring(1);
                            Builder.AddField($"{CommandInfoHolder.ReturnEmojiAssociatedWithCategory(FList[TypeName])} {CategoryFirstUpper}", $"`{Program.Prefix}cmds {FList[TypeName].ToLower()}`", true);
                        }
                    }

                    await arg.Channel.SendMessageAsync("", false, Builder.Build());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
예제 #3
0
        public static bool INIT(SocketMessage arg, string[] ToPrint, string Title)
        {
            if (ToPrint.Count() >= 1)
            {
                string FinTitle = Title.ToCharArray().First().ToString().ToUpper() + Title.Substring(1);

                var Builder = new EmbedBuilder()
                {
                    Color        = Color.DarkMagenta,
                    Description  = $"**{CommandInfoHolder.ReturnEmojiAssociatedWithCategory(FinTitle)} {FinTitle} Commands**",
                    ThumbnailUrl = Program.Client.CurrentUser.GetAvatarUrl(),
                };

                string CompiledCmds        = string.Empty;
                string CompiledPremiumCmds = string.Empty;
                foreach (string Cmd in ToPrint)
                {
                    CommandInformation Info = (CommandInformation)Type.GetType($"{NamespaceForCommands}.{Cmd}").GetField("Info").GetValue(null);
                    if (!Info.Alias)
                    {
                        if (Info.Premium)
                        {
                            CompiledPremiumCmds = $"{CompiledPremiumCmds}\n`{Program.Prefix}{Cmd}`";
                        }
                        else
                        {
                            CompiledCmds = $"{CompiledCmds}\n`{Program.Prefix}{Cmd}`";
                        }
                    }
                }
                Builder.AddField($"*Regular*", CompiledCmds, true);
                if (CompiledPremiumCmds.Length > 0)
                {
                    Builder.AddField($"*Premium*", CompiledPremiumCmds, true);
                }
                arg.Channel.SendMessageAsync("", false, Builder.Build());
            }
            return(true);
        }