From 027690b3d7d0acf76c1bdd1dbf5947c272539336 Mon Sep 17 00:00:00 2001 From: Toastie Date: Wed, 7 Aug 2024 11:45:10 +1200 Subject: [PATCH] More cleanup --- src/EllieBot/Modules/Searches/Searches.cs | 70 +++++++++---------- .../data/strings/commands/commands.en-US.yml | 20 +++--- 2 files changed, 40 insertions(+), 50 deletions(-) diff --git a/src/EllieBot/Modules/Searches/Searches.cs b/src/EllieBot/Modules/Searches/Searches.cs index 14b7e79..70e2556 100644 --- a/src/EllieBot/Modules/Searches/Searches.cs +++ b/src/EllieBot/Modules/Searches/Searches.cs @@ -1,4 +1,3 @@ -#nullable disable using Microsoft.Extensions.Caching.Memory; using EllieBot.Modules.Searches.Common; using EllieBot.Modules.Searches.Services; @@ -114,7 +113,7 @@ public partial class Searches : EllieModule } [Cmd] - public async Task Movie([Leftover] string query = null) + public async Task Movie([Leftover] string query) { if (!await ValidateQuery(query)) return; @@ -166,7 +165,7 @@ public partial class Searches : EllieModule } [Cmd] - public async Task Lmgtfy([Leftover] string smh = null) + public async Task Lmgtfy([Leftover] string smh) { if (!await ValidateQuery(smh)) return; @@ -198,6 +197,7 @@ public partial class Searches : EllieModule .SendAsync(); } + [Cmd] public async Task MagicTheGathering([Leftover] string search) { @@ -255,45 +255,38 @@ public partial class Searches : EllieModule } [Cmd] - public async Task UrbanDict([Leftover] string query = null) + public async Task UrbanDict([Leftover] string query) { if (!await ValidateQuery(query)) return; await ctx.Channel.TriggerTypingAsync(); - using (var http = _httpFactory.CreateClient()) + using var http = _httpFactory.CreateClient(); + var res = await http.GetStringAsync($"https://api.urbandictionary.com/v0/define?" + + $"term={Uri.EscapeDataString(query)}"); + var allItems = JsonConvert.DeserializeObject(res)?.List; + + if (allItems is null or { Length: 0 }) { - var res = await http.GetStringAsync( - $"https://api.urbandictionary.com/v0/define?term={Uri.EscapeDataString(query)}"); - try - { - var allItems = JsonConvert.DeserializeObject(res).List; - if (allItems.Any()) - { - await Response() - .Paginated() - .Items(allItems) - .PageSize(1) - .CurrentPage(0) - .Page((items, _) => - { - var item = items[0]; - return _sender.CreateEmbed() - .WithOkColor() - .WithUrl(item.Permalink) - .WithTitle(item.Word) - .WithDescription(item.Definition); - }) - .SendAsync(); - return; - } - } - catch - { - } + await Response().Error(strs.ud_error).SendAsync(); + return; } - await Response().Error(strs.ud_error).SendAsync(); + await Response() + .Paginated() + .Items(allItems) + .PageSize(1) + .CurrentPage(0) + .Page((items, _) => + { + var item = items[0]; + return _sender.CreateEmbed() + .WithOkColor() + .WithUrl(item.Permalink) + .WithTitle(item.Word) + .WithDescription(item.Definition); + }) + .SendAsync(); } [Cmd] @@ -350,7 +343,7 @@ public partial class Searches : EllieModule [Cmd] public async Task Wiki([Leftover] string query) { - query = query?.Trim(); + query = query.Trim(); if (!await ValidateQuery(query)) return; @@ -392,16 +385,17 @@ public partial class Searches : EllieModule for (var i = 0; i < colorObjects.Length; i++) { var x = i * 50; - img.Mutate(m => m.FillPolygon(colorObjects[i], new(x, 0), new(x + 50, 0), new(x + 50, 50), new(x, 50))); + var j = i; + img.Mutate(m => m.FillPolygon(colorObjects[j], new(x, 0), new(x + 50, 0), new(x + 50, 50), new(x, 50))); } - await using var ms = img.ToStream(); + await using var ms = await img.ToStreamAsync(); await ctx.Channel.SendFileAsync(ms, "colors.png"); } [Cmd] [RequireContext(ContextType.Guild)] - public async Task Avatar([Leftover] IGuildUser usr = null) + public async Task Avatar([Leftover] IGuildUser? usr = null) { usr ??= (IGuildUser)ctx.User; diff --git a/src/EllieBot/data/strings/commands/commands.en-US.yml b/src/EllieBot/data/strings/commands/commands.en-US.yml index 8d378c7..51dba44 100644 --- a/src/EllieBot/data/strings/commands/commands.en-US.yml +++ b/src/EllieBot/data/strings/commands/commands.en-US.yml @@ -63,10 +63,8 @@ greet: greetmsg: desc: |- Sets a new join announcement message which will be shown in the current channel. - Write `%user.mention%` if you want to mention the new member. - Full list of placeholders can be found here Using this command with no message will show the current greet message. - You can use embed json from instead of regular text, if you want the message to be embedded. + Supports [placeholders](https://docs.elliebot.net/ellie/features/placeholders/) and [embeds](https://eb.elliebot.net/) ex: - Welcome, %user.mention%. params: @@ -80,11 +78,9 @@ bye: - {} byemsg: desc: |- - Sets a new leave announcement message which will be shown in the current channel. - Type `%user.name%` to show the name of the user who left. - Full list of placeholders can be found here + Sets a new leave announcement message which will be shown in the current channel. Using this command with no message will show the current bye message. - You can use embed json from instead of regular text, if you want the message to be embedded. + Supports [placeholders](https://docs.elliebot.net/ellie/features/placeholders/) and [embeds](https://eb.elliebot.net/) ex: - '%user.name% has left.' params: @@ -113,7 +109,9 @@ greettest: - user: desc: "The user to impersonate when sending the greeting, defaulting to yourself if not specified." boosttest: - desc: Sends the boost message in the current channel as if you just boosted the server. You can optionally specify a different user. + desc: |- + Sends the boost message in the current channel as if you just boosted the server. + You can optionally specify a different user. ex: - '' - '@SomeoneElse' @@ -145,10 +143,8 @@ boost: boostmsg: desc: |- Sets a new boost announcement message which will be shown in the current channel. - Type `%user.mention%` if you want to mention the booster. - Full list of placeholders can be found here Using this command with no message will show the current boost message. - You can use embed json from instead of regular text, if you want the message to be embedded. + Supports [placeholders](https://docs.elliebot.net/ellie/features/placeholders/) and [embeds](https://eb.elliebot.net/) ex: - '%user.mention% has boosted the server!!!' params: @@ -3083,7 +3079,7 @@ banmessage: - '{{ "description": "%ban.user% you have been banned from %server.name% by %ban.mod%" }}' params: - message: - desc: "The custom message to be displayed when a user is banned from the server, allowing for placeholders to be replaced with relevant information." + desc: "The custom message to be displayed when a user is banned from the server." banmessagetest: desc: If ban message is not disabled, bot will send you the message as if you were banned by yourself. Used for testing the ban message. ex: