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); }
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); }
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); }
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")}_"); }