diff --git a/src/EllieBot/Modules/Games/NCanvas/NCanvasCommands.cs b/src/EllieBot/Modules/Games/NCanvas/NCanvasCommands.cs index f441e11..6d37a5e 100644 --- a/src/EllieBot/Modules/Games/NCanvas/NCanvasCommands.cs +++ b/src/EllieBot/Modules/Games/NCanvas/NCanvasCommands.cs @@ -5,7 +5,6 @@ using SixLabors.ImageSharp.Advanced; using SixLabors.ImageSharp.Drawing.Processing; using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Processing; -using System.Text.RegularExpressions; using Image = SixLabors.ImageSharp.Image; namespace EllieBot.Modules.Games; @@ -172,7 +171,23 @@ public partial class Games return; } - await _service.SetPixel(position, clr.PackedValue, text, ctx.User.Id, pixel.Price); + var result = await _service.SetPixel(position, clr.PackedValue, text, ctx.User.Id, pixel.Price); + + if (result == SetPixelResult.NotEnoughMoney) + { + await Response().Error(strs.not_enough(_gcs.Data.Currency.Sign)).SendAsync(); + return; + } + else if (result == SetPixelResult.InsufficientPayment) + { + await Response().Error(strs.nc_insuff_payment).SendAsync(); + return; + } + else if (result == SetPixelResult.InvalidInput) + { + await Response().Error(strs.invalid_input).SendAsync(); + return; + } using var img = await GetZoomImage(position); await using var stream = await img.ToStreamAsync(); diff --git a/src/EllieBot/data/strings/responses/responses.en-US.json b/src/EllieBot/data/strings/responses/responses.en-US.json index eb46ed3..4135642 100644 --- a/src/EllieBot/data/strings/responses/responses.en-US.json +++ b/src/EllieBot/data/strings/responses/responses.en-US.json @@ -1109,6 +1109,7 @@ "invalid_color": "Color you've specified is invalid.", "nc_pixel_set_confirm": "Are you sure you want to set pixel {0}? It will cost you {1}", "nc_hint": "Use `{0}nczoom x y` command to zoom in. Image is {1}x{2} pixels.", + "nc_insuff_payment": "Invalid payment.", "invalid_img_size": "Image must to be {0}x{1} pixels.", "no_attach_found": "No attachment found. Please send the image along with this command." }