.inrole will now list users in alphabetical order

This commit is contained in:
Toastie 2025-03-09 17:16:52 +13:00
parent ec0057ad19
commit 37986ed0b2
Signed by: toastie_t0ast
GPG key ID: 0861BE54AD481DC7
2 changed files with 182 additions and 178 deletions
src/EllieBot

View file

@ -61,7 +61,7 @@
<PackageReference Include="Serilog.Sinks.Seq" Version="9.0.0" />
<PackageReference Include="SixLabors.Fonts" Version="2.1.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.6" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.7" />
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.5" />
<PackageReference Include="SixLabors.Shapes" Version="1.0.0-beta0009" />
<PackageReference Include="StackExchange.Redis" Version="2.8.24" />

View file

@ -161,9 +161,11 @@ public partial class Utility : EllieModule
CacheMode.CacheOnly
);
users = role is null
users = (role is null
? users
: users.Where(u => u.RoleIds.Contains(role.Id)).ToList();
: users.Where(u => u.RoleIds.Contains(role.Id)))
.OrderBy(x => x.DisplayName)
.ToList();
var roleUsers = new List<string>(users.Count);
@ -790,7 +792,9 @@ public partial class Utility : EllieModule
if (ctx.Message.ReferencedMessage is not { } msg)
{
var msgs = await ctx.Channel.GetMessagesAsync(ctx.Message, Direction.Before, 3).FlattenAsync();
msg = msgs.FirstOrDefault(x => !string.IsNullOrWhiteSpace(x.Content) || (x.Attachments.FirstOrDefault()?.Width is not null)) as IUserMessage;
msg = msgs.FirstOrDefault(x
=> !string.IsNullOrWhiteSpace(x.Content) ||
(x.Attachments.FirstOrDefault()?.Width is not null)) as IUserMessage;
if (msg is null)
return;