public async Task RemovePrinterAsync(string printerName) { int count = 0; if (printerName == "") { return; } if (PermissionManager.GetPerms(Context.Message.Author.Id) < PermissionConfig.Admin) { await Context.Channel.SendMessageAsync("Not authorised to run this command."); return; } else { string[] currPrinters = File.ReadAllLines("Items/printers.json"); foreach (var printer in currPrinters) { count++; SSRPItems.Printer p = SSRPItems.ReadFromJsonFile <SSRPItems.Printer>(printer); if (p.printerName == printerName) { var file = new List <string>(System.IO.File.ReadAllLines("Items/printers.json")); file.RemoveAt(count - 1); File.WriteAllLines("Items/printers.json", file.ToArray()); await Context.Channel.SendMessageAsync($"Removed {printerName} printer."); await Utilities.StatusMessage("removeprinter", Context); return; } } await Context.Channel.SendMessageAsync($"Printer not found."); await Utilities.StatusMessage("removeprinter", Context); } }
public async Task AddPrinterAsync(string printerName, string colour, double perSecond, string aliases) { if (PermissionManager.GetPerms(Context.Message.Author.Id) < PermissionConfig.Admin) { await Context.Channel.SendMessageAsync("Not authorised to run this command."); return; } if (printerName == "" | aliases == "") { return; } string[] aliasList = aliases.Split(','); SSRPItems.Printer newPrinter = new SSRPItems.Printer { printerName = printerName, perSecond = perSecond, aliases = aliasList, color = colour }; SSRPItems.WriteToJsonFile <SSRPItems.Printer>("Items/printers.json", newPrinter, true); SSRPItems.printerList.Add(newPrinter); await Context.Channel.SendMessageAsync($"New Printer Has Been Added. Name: {printerName} | Per Second: {perSecond.ToString("#,##0")}"); await Utilities.StatusMessage("addprinter", Context); }
public async Task SendPrinter(string item, int boost = 1, int time = 1) { if (PermissionManager.GetPerms(Context.Message.Author.Id) < PermissionConfig.User) { await Context.Channel.SendMessageAsync("Not authorised to run this command."); return; } SSRPItems.Printer p = await SSRPItems.GetPrinter(item); Discord.Color c = new Discord.Color(ColorTranslator.FromHtml($"#{p.color}").R, ColorTranslator.FromHtml($"#{p.color}").G, ColorTranslator.FromHtml($"#{p.color}").B); if (p == null) { await Context.Channel.SendMessageAsync("Printer not found. Please enclose the printer name in quotes: `\"name\"`"); await Utilities.StatusMessage("printer", Context); } else { //If loot/gem/uranium if (p.printerName == "Uranium" || p.printerName == "Loot" || p.printerName == "Gem") { //If 1, don't print the plural if (time == 1) { EmbedBuilder eb = new EmbedBuilder(); EmbedFooterBuilder fb = new EmbedFooterBuilder(); fb.WithText($"Called by {Context.Message.Author.Username}"); fb.WithIconUrl(Context.Message.Author.GetAvatarUrl()); eb.WithTitle($"{p.printerName}"); eb.AddField("Per Second", $"{((p.perSecond * boost) * time).ToString("#,##0")}"); eb.AddField("Per Minute", $"{(((p.perSecond * 60) * boost) * time).ToString("#,##0")}"); eb.AddField("Per Hour", $"{(((p.perSecond * 60) * 60) * boost).ToString("#,##0")}"); eb.AddField("With Boost", $"x{boost}"); eb.WithColor(c); eb.WithFooter(fb); await ReplyAsync("", false, eb.Build()); await Utilities.StatusMessage("printer", Context); } else { EmbedBuilder eb = new EmbedBuilder(); EmbedFooterBuilder fb = new EmbedFooterBuilder(); fb.WithText($"Called by {Context.Message.Author.Username}"); fb.WithIconUrl(Context.Message.Author.GetAvatarUrl()); eb.WithTitle($"{p.printerName}"); eb.AddField($"Per {time} Seconds", $"{((p.perSecond * boost) * time).ToString("#,##0")}"); eb.AddField($"Per {time} Minutes", $"{(((p.perSecond * 60) * boost) * time).ToString("#,##0")}"); eb.AddField($"Per {time} Hours", $"{((((p.perSecond * 60) * 60) * boost) * time).ToString("#,##0")}"); eb.AddField($"With Boost", $"x{boost}"); eb.WithColor(c); eb.WithFooter(fb); await ReplyAsync("", false, eb.Build()); await Utilities.StatusMessage("printer", Context); } } //If normal printer else { //If 1, don't print the plural if (time == 1) { EmbedBuilder eb = new EmbedBuilder(); EmbedFooterBuilder fb = new EmbedFooterBuilder(); fb.WithText($"Called by {Context.Message.Author.Username}"); fb.WithIconUrl(Context.Message.Author.GetAvatarUrl()); eb.WithTitle($"{p.printerName}"); eb.AddField("Per Second", $"${((p.perSecond * boost) * time).ToString("#,##0")}"); eb.AddField("Per Minute", $"${(((p.perSecond * 60) * boost) * time).ToString("#,##0")}"); eb.AddField("Per Hour", $"${(((p.perSecond * 60) * 60) * boost).ToString("#,##0")}"); eb.AddField("With Boost", $"x{boost}"); eb.WithColor(c); eb.WithFooter(fb); await ReplyAsync("", false, eb.Build()); await Utilities.StatusMessage("printer", Context); } else { EmbedBuilder eb = new EmbedBuilder(); EmbedFooterBuilder fb = new EmbedFooterBuilder(); fb.WithText($"Called by {Context.Message.Author.Username}"); fb.WithIconUrl(Context.Message.Author.GetAvatarUrl()); eb.WithTitle($"{p.printerName}"); eb.AddField($"Per {time} Seconds", $"${((p.perSecond * boost) * time).ToString("#,##0")}"); eb.AddField($"Per {time} Minutes", $"${(((p.perSecond * 60) * boost) * time).ToString("#,##0")}"); eb.AddField($"Per {time} Hours", $"${((((p.perSecond * 60) * 60) * boost)* time).ToString("#,##0")}"); eb.AddField($"With Boost", $"x{boost}"); eb.WithColor(c); eb.WithFooter(fb); await ReplyAsync("", false, eb.Build()); await Utilities.StatusMessage("printer", Context); } } } }