From da307c2dc93c986d962d3864f2f786e6526db6ec Mon Sep 17 00:00:00 2001 From: Ske Date: Mon, 15 Jul 2019 17:36:10 +0200 Subject: [PATCH] Display member count on system card --- PluralKit.Bot/Services/EmbedService.cs | 4 +++- PluralKit.Core/Stores.cs | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/PluralKit.Bot/Services/EmbedService.cs b/PluralKit.Bot/Services/EmbedService.cs index 56135252..9e5c0367 100644 --- a/PluralKit.Bot/Services/EmbedService.cs +++ b/PluralKit.Bot/Services/EmbedService.cs @@ -29,6 +29,8 @@ namespace PluralKit.Bot { // Fetch/render info for all accounts simultaneously var users = await Task.WhenAll(accounts.Select(async uid => (await _client.GetUserAsync(uid))?.NameAndMention() ?? $"(deleted account {uid})")); + var memberCount = await _members.MemberCount(system); + var eb = new EmbedBuilder() .WithColor(Color.Blue) .WithTitle(system.Name ?? null) @@ -37,7 +39,7 @@ namespace PluralKit.Bot { .WithFooter($"System ID: {system.Hid}"); eb.AddField("Linked accounts", string.Join(", ", users)); - eb.AddField("Members", $"(see `pk;system {system.Hid} list` or `pk;system {system.Hid} list full`)"); + eb.AddField($"Members ({memberCount})", $"(see `pk;system {system.Hid} list` or `pk;system {system.Hid} list full`)"); // TODO: fronter return eb.Build(); } diff --git a/PluralKit.Core/Stores.cs b/PluralKit.Core/Stores.cs index 29774848..38c40ec4 100644 --- a/PluralKit.Core/Stores.cs +++ b/PluralKit.Core/Stores.cs @@ -132,6 +132,12 @@ namespace PluralKit { using (var conn = await _conn.Obtain()) return await conn.QuerySingleAsync("select count(*) from messages where member = @Id", member); } + + public async Task MemberCount(PKSystem system) + { + using (var conn = await _conn.Obtain()) + return await conn.ExecuteScalarAsync("select count(*) from members where system = @Id", system); + } } public class MessageStore {