diff --git a/source/SOCVR.Chatbot/ChatbotActions/Commands/Stats/RoomEffectiveness.cs b/source/SOCVR.Chatbot/ChatbotActions/Commands/Stats/RoomEffectiveness.cs index 74e3e60..949c190 100644 --- a/source/SOCVR.Chatbot/ChatbotActions/Commands/Stats/RoomEffectiveness.cs +++ b/source/SOCVR.Chatbot/ChatbotActions/Commands/Stats/RoomEffectiveness.cs @@ -35,6 +35,12 @@ public override void RunAction(Message incomingChatMessage, Room chatRoom) .Where(x => x.ReviewedOn.Date == DateTimeOffset.UtcNow.Date) .ToList(); + if (reviewsInDbToday.Count == 0) + { + chatRoom.PostReplyOrThrow(incomingChatMessage, "I don't have enough data to produce those stats."); + return; + } + var reviewerCount = reviewsInDbToday .Select(x => x.ReviewerId) .Distinct() @@ -44,7 +50,9 @@ public override void RunAction(Message incomingChatMessage, Room chatRoom) var percentage = Math.Round(reviewItemCount * 1.0 / stats.ReviewsToday * 100, 2); - var message = $"{reviewerCount} members have processed {reviewItemCount} review items today, which accounts for {percentage}% of all cv reviews today."; + var usersPercentage = Math.Round((double)reviewerCount / chatRoom.PingableUsers.Count(x => x.Reputation >= 3000)); + + var message = $"{reviewerCount} members ({usersPercentage}% of this room's able reviewers) have processed {reviewItemCount} review items today, which accounts for {percentage}% of all CV reviews today."; chatRoom.PostReplyOrThrow(incomingChatMessage, message); }