Skip to content

Commit c21ece3

Browse files
Include guild count in /debug messagecache stats
1 parent 88032e8 commit c21ece3

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

Commands/DebugCommands.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,10 +295,11 @@ public static async Task DebugCachedMessageStatsCommandAsync(SlashCommandContext
295295

296296
var cachedMessagesCount = Setup.State.Caches.MessageCache.Count();
297297
var uniqueChannelsCount = Setup.State.Caches.MessageCache.GetUniqueChannelCount();
298+
var uniqueGuildsCount = Setup.State.Caches.MessageCache.GetUniqueGuildCount();
298299
var uniqueAuthorsCount = Setup.State.Caches.MessageCache.GetUniqueAuthorCount();
299300

300301
await ctx.FollowupAsync(new DiscordFollowupMessageBuilder()
301-
.WithContent($"{cachedMessagesCount} messages in cache, from {uniqueAuthorsCount} author{(uniqueAuthorsCount == 1 ? "" : "s")} across {uniqueChannelsCount} channels.")
302+
.WithContent($"{cachedMessagesCount} messages in cache, from {uniqueAuthorsCount} author{(uniqueAuthorsCount == 1 ? "" : "s")}, {uniqueChannelsCount} channel{(uniqueChannelsCount == 1 ? "" : "s")}, {uniqueGuildsCount} guild{(uniqueGuildsCount == 1 ? "" : "s")}.")
302303
.AsEphemeral(ephemeral: ctx.Interaction.ShouldUseEphemeralResponse(false)));
303304
}
304305

Setup/Types/MessageCache.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,20 @@ internal int GetUniqueChannelCount()
7878
return uniqueChannelIds.Count;
7979
}
8080

81+
internal int GetUniqueGuildCount()
82+
{
83+
List<ulong> uniqueGuildIds = [];
84+
85+
foreach (var cachedMessage in GetAllMessages())
86+
{
87+
var guildId = Setup.State.Discord.Client.Guilds.Values.First(g => g.Channels.Any(c => c.Value.Id == cachedMessage.ChannelId)).Id;
88+
if (!uniqueGuildIds.Contains(guildId))
89+
uniqueGuildIds.Add(guildId);
90+
}
91+
92+
return uniqueGuildIds.Count;
93+
}
94+
8195
internal int GetUniqueAuthorCount()
8296
{
8397
List<ulong> uniqueAuthorIds = [];

0 commit comments

Comments
 (0)