internal override async Task ExecuteCommand(SocketMessage message, GuildConfig guild)
        {
            ModuleBartender bartender = (ModuleBartender)parent;
            string          result    = $"Usage: {usage}.";

            string[] message_contents = message.Content.Substring(1).Split(" ");
            if (message_contents.Length == 1)
            {
                result = $"_slaps {bartender.SandwichData["bread"][Program.rand.Next(bartender.SandwichData["bread"].Count)]} down on {bartender.SandwichData["plate"][Program.rand.Next(bartender.SandwichData["plate"].Count)]}, then adds {bartender.SandwichData["filling"][Program.rand.Next(bartender.SandwichData["filling"].Count)]}, {bartender.SandwichData["filling"][Program.rand.Next(bartender.SandwichData["filling"].Count)]}, and {bartender.SandwichData["filling"][Program.rand.Next(bartender.SandwichData["filling"].Count)]} before finishing with {bartender.SandwichData["garnish"][Program.rand.Next(bartender.SandwichData["garnish"].Count)]} and slinging it down the bar to {message.Author.Mention}._";
            }
            else if (message_contents.Length >= 4)
            {
                if (message_contents[1].ToLower() == "add")
                {
                    string barKey = message_contents[2].ToLower();
                    if (bartender.validSandwichFields.Contains(barKey))
                    {
                        string barText = message.Content.Substring(15 + barKey.Length);
                        bartender.SandwichData[barKey].Add(barText);
                        result = $"_will now stock {barText} as a {barKey}._";
                        bartender.SaveSandwichData();
                    }
                }
            }
            await Program.SendReply(message.Channel, result);
        }
Example #2
0
        internal override async Task ExecuteCommand(SocketMessage message, GuildConfig guild)
        {
            ModuleBartender bartender = (ModuleBartender)parent;
            string          result    = $"Usage: {usage}";

            string[] message_contents = message.Content.Substring(1).Split(" ");
            if (message_contents.Length == 1)
            {
                List <string> drinkParts = new List <string>();
                foreach (string drinkPart in bartender.validDrinkFields)
                {
                    drinkParts.Add(bartender.BartendingData[drinkPart][Program.rand.Next(bartender.BartendingData[drinkPart].Count)]);
                }
                result = $"_slings {drinkParts[0]}, containing {drinkParts[1]} {drinkParts[2]}, down the bar to {message.Author.Mention}._";
            }
            else if (message_contents.Length >= 4)
            {
                if (message_contents[1].ToLower() == "add")
                {
                    string barKey = message_contents[2].ToLower();
                    if (bartender.validDrinkFields.Contains(barKey))
                    {
                        string barText = message.Content.Substring(12 + barKey.Length);
                        bartender.BartendingData[barKey].Add(barText);
                        result = $"_will now stock {barText} as a {barKey}._";
                        bartender.SaveBartendingData();
                    }
                }
            }
            await Program.SendReply(message.Channel, result);
        }
Example #3
0
        internal override async Task ExecuteCommand(SocketMessage message, GuildConfig guild)
        {
            List <string>   drinkParts = new List <string>();
            ModuleBartender bartender  = (ModuleBartender)parent;

            foreach (string drinkPart in bartender.validDrinkFields)
            {
                drinkParts.Add(bartender.BartendingData[drinkPart][Program.rand.Next(bartender.BartendingData[drinkPart].Count)]);
            }
            string result   = $"_slings {drinkParts[0]}, containing {drinkParts[1]} {drinkParts[2]}, down the bar to {message.Author.Mention}._";
            string owotext  = "";
            char   lastChar = '\0';

            foreach (char c in result)
            {
                switch (c)
                {
                case 'l':
                case 'r':
                    owotext += 'w';
                    break;

                case 'L':
                case 'R':
                    owotext += 'W';
                    break;

                case 'u':
                    if (lastChar == 'Q' || lastChar == 'q')
                    {
                        owotext += 'w';
                    }
                    else
                    {
                        owotext += c;
                    }
                    break;

                case 'U':
                    if (lastChar == 'Q' || lastChar == 'q')
                    {
                        owotext += 'W';
                    }
                    else
                    {
                        owotext += c;
                    }
                    break;

                default:
                    owotext += c;
                    break;
                }
                lastChar = c;
            }
            result = $"{owotext} :3c";
            await message.Channel.SendMessageAsync(result);
        }
Example #4
0
        internal override async Task ExecuteCommand(SocketMessage message, GuildConfig guild)
        {
            List <string>   drinkParts = new List <string>();
            ModuleBartender bartender  = (ModuleBartender)parent;

            foreach (string drinkPart in bartender.validDrinkFields)
            {
                drinkParts.Add(bartender.BartendingData[drinkPart][Program.rand.Next(bartender.BartendingData[drinkPart].Count)]);
            }
            string result = $"slings {drinkParts[0]}, containing {drinkParts[1]} {drinkParts[2]}, down the bar to {message.Author.Mention}.";
            await message.Channel.SendMessageAsync($"_{Program.ApplyCypher(result, "owo")}_");
        }