From 90299a39ee99d8f20e5242ab432ce4019840a2d9 Mon Sep 17 00:00:00 2001 From: Runebaas Date: Sun, 30 Jul 2017 16:24:27 +0200 Subject: [PATCH] User stats now show a percentage of the users message contribution to the server --- .gitignore | 1 + Geekbot.net/Modules/UserInfo.cs | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 55ab035..bec8c02 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ Backup/ .vs/ UpgradeLog.htm .idea +.vscode diff --git a/Geekbot.net/Modules/UserInfo.cs b/Geekbot.net/Modules/UserInfo.cs index 728fb50..ce1644f 100644 --- a/Geekbot.net/Modules/UserInfo.cs +++ b/Geekbot.net/Modules/UserInfo.cs @@ -27,6 +27,11 @@ namespace Geekbot.net.Modules var messages = (int)redis.Client.StringGet(key + "-messages"); var level = LevelCalc.GetLevelAtExperience(messages); + var guildKey = Context.Guild.Id.ToString(); + var guildMessages = (int)redis.Client.StringGet(guildKey + "-messages"); + + var percent = Math.Round((double)(100 * messages) / guildMessages, 2); + var eb = new EmbedBuilder(); eb.WithAuthor(new EmbedAuthorBuilder() .WithIconUrl(userInfo.GetAvatarUrl()) @@ -36,18 +41,19 @@ namespace Geekbot.net.Modules eb.AddField("Discordian Since", $"{userInfo.CreatedAt.Day}/{userInfo.CreatedAt.Month}/{userInfo.CreatedAt.Year} ({age} days)"); eb.AddInlineField("Level", level) - .AddInlineField("Messages Sent", messages); + .AddInlineField("Messages Sent", messages) + .AddInlineField("Server Total", $"{percent}%"); var karma = redis.Client.StringGet(key + "-karma"); if (!karma.IsNullOrEmpty) { - eb.AddField("Karma", karma); + eb.AddInlineField("Karma", karma); } var correctRolls = redis.Client.StringGet($"{Context.Guild.Id}-{userInfo.Id}-correctRolls"); if (!correctRolls.IsNullOrEmpty) { - eb.AddField("Guessed Rolls", correctRolls); + eb.AddInlineField("Guessed Rolls", correctRolls); } await ReplyAsync("", false, eb.Build());